Русское сообщество по скриптингу

Ошибки в логах

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Ошибки в логах

Сообщение Poundfiller » 27 окт 2012, 09:19

Код: Выделить всё
Displaying debug trace (plugin "zp_level_system_xp3.2.amxx")
Run time error 10: native error (native "zp_get_user_zombie")
[0] zp_level_system_xp3.2.sma::fw_TakeDamage (line 317)


сам плагин
[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <nvault>

  4. #include <fakemeta_util>

  5. #include <hamsandwich>

  6. #include <zombieplague>

  7. #include <dhudmessage>

  8.  

  9. #define PLUGIN "[ZP] Server Addon: LevelUp System XP 3.2"

  10. #define VERSION "3.2"

  11. #define AUTHOR "Re.Act!ve"

  12. #define ACCES ADMIN_CVAR

  13. #pragma tabsize 0

  14. new SayText

  15. new g_level[32], g_level_data, g_frags_level, g_ScreenFade, g_level_del[33], g_level_bonus, g_ammo

  16. new g_level_max, g_give_ammo, g_give_ammopacks, g_level_num, g_level_info, g_player_name, g_levels[32], g_h_damage

  17. new g_h_health, g_h_speed, g_z_damage, h_health[32], h_speed[32], h_damage[32], z_damage[32], level_exp[32]

  18. new g_level_exp[32], g_exp_data, g_Players, g_hud_color, red, green, blue, nameid[32]

  19. new bool:g_bonus[32], g_trime[32]

  20. new sound_level_up[] = { "misc/zp_level_up.wav"}

  21. new sound_health[] = { "items/medshot4.wav" }

  22. // Zombie Classes MUST be registered on plugin_precache

  23.  

  24. public plugin_precache()

  25. {

  26.         precache_sound( sound_level_up )

  27.         precache_sound( sound_health )

  28. }

  29.  

  30. public plugin_init()

  31. {

  32.         g_frags_level =                 register_cvar("zp_level_frags", "20")           // Сколько добавится экспы для получения след. уровня

  33.         g_level_max  =          register_cvar("zp_level_max", "50")                     // Максимальный левел

  34.         g_give_ammo =           register_cvar("zp_level_give_ammo", "1")        // Давать аммо паки при каждом полученном левле?

  35.         g_give_ammopacks = register_cvar("zp_level_ammo", "10")         // Сколько давать аммопаков? (если выше установлено 1)

  36.  

  37.         g_h_damage =            register_cvar("zp_level_h_damage", "1")         // Увеличивать с каждым уровнем урон на Х у людей

  38.         g_h_health =            register_cvar("zp_level_h_health", "10")                // Люди получают за каждый левел дополнительные Х хп

  39.         g_h_speed =             register_cvar("zp_level_h_speed", "1.0")                // На сколько величивать скорость людей с каждым уровнем?

  40.         g_z_damage =            register_cvar("zp_level_z_damage", "3")         // Увеличивать с каждым уровнем урон на Х у зомби

  41.  

  42.         g_hud_color =           register_cvar("zp_level_hud_type", "1")         // 1 - Желтый, 2 - Рандомно каждую секунду 3 - 1 раз рандомно

  43.         g_level_info =          register_cvar("zp_level_info", "1")                             // Показывать инфу о игроке, когда вы вводите в чат info <nick>

  44.         g_player_name =         register_cvar("zp_player_name", "1")            // Показывать инфу, при наведении курсором на игрока?

  45.         g_level_bonus =                 register_cvar("zp_level_bonus_on", "0")         // Можно ли будет снимать мегабонус? (за получение опр. левла)

  46.         g_level_num =           register_cvar("zp_level_number", "5")   // Каждые Х левлов будет возможность снять  мегабонус (если выше 1)

  47.         g_ammo =                        register_cvar("zp_level_bonus", "0")            // Сколько аммо паков этот мегабонус?

  48.  

  49.         g_level_data = nvault_open("Leveling_Save")

  50.         g_exp_data = nvault_open("Exp_Save")

  51.         register_clcmd("say","say_info");

  52.         register_clcmd("say_team","say_info");

  53.         register_clcmd("zp_levelexp","expa_give", ADMIN_CVAR, "use to give Exp")

  54.         register_clcmd("zp_level_is","level_give", ADMIN_CVAR, "use to give Level")

  55.         SayText = get_user_msgid("SayText")

  56.         g_Players = get_maxplayers();

  57.         register_event("HLTV", "Round_Start", "a", "1=0", "2=0")

  58.         register_event("DeathMsg", "Frags_Manager", "a", "1>0")        

  59.         RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

  60.         register_dictionary("zp_level_system_xp.txt")

  61.         register_event("StatusValue","show_status","be","1=2","2!0")

  62.         register_event("StatusValue","hide_status","be","1=1","2=0")

  63.         g_ScreenFade = get_user_msgid( "ScreenFade" )

  64.         register_plugin(PLUGIN, VERSION, AUTHOR)

  65. }

  66.  

  67. public Round_Start()

  68. {

  69.         for(new id=1;id<=g_Players;id++)

  70.         set_task(3.0, "Level", id)

  71. }

  72.  

  73. public Level(id)

  74. {

  75.         if( !zp_get_user_zombie(id) && is_user_alive(id) )

  76.         {

  77.                 g_trime[id] = false;

  78.                 new n = 1;

  79.                 while( n < g_level[id] )

  80.                 {

  81.                         h_health[id] = n * get_pcvar_num(g_h_health);

  82.                         h_speed[id] = n * get_pcvar_num(g_h_speed);

  83.                         h_damage[id] = n * get_pcvar_num(g_h_damage);

  84.                         z_damage[id] = n * get_pcvar_num(g_z_damage);

  85.                         n = n + 1

  86.                 }

  87.                 new Float:speed[32];

  88.                 speed[id] = fm_get_user_maxspeed(id) + h_speed[id];

  89.                 fm_set_user_health( id, get_user_health(id) + h_health[id] )

  90.                 set_pev(id, pev_maxspeed, speed[id] )

  91.                 emit_sound(id, CHAN_STREAM, sound_health, 1.0, ATTN_NORM, 0, PITCH_HIGH )

  92.         }

  93. }

  94.  

  95. public expa_give(id, level, cid)

  96. {

  97.         if (!cmd_access(id, level, cid, 2))

  98.         {                              

  99.                 console_print(id, "У вас нет доступа к команде")

  100.                 return PLUGIN_HANDLED

  101.         }

  102.         new target[32]

  103.         new count[32]  

  104.        

  105.         read_argv(1,target,31)

  106.         read_argv(2,count,31)

  107.         new target_id, name[32], nameid[32]

  108.         target_id = find_player("bl", target)

  109.         get_user_name(target_id, name, sizeof name - 1)

  110.         get_user_name(id, nameid, sizeof nameid - 1)

  111.         if(!target_id)

  112.         {

  113.                 console_print(id, "Can't find that player")

  114.                 return PLUGIN_HANDLED

  115.         }

  116.         if(read_argc() != 3)

  117.         return PLUGIN_HANDLED  

  118.  

  119.         if(str_to_num(count) < (g_level_exp[target_id] - level_exp[target_id]) )

  120.         {

  121.                 if(str_to_num(count) == 0)

  122.                 console_print(id, "Exp Player %s in %i / %i", name, level_exp[target_id], g_level_exp[target_id])

  123.                 else

  124.                 {

  125.                         console_print(id, "Player %s gives for %i exp, Her Maximum %i", name, str_to_num(count), g_level_exp[target_id])

  126.                         level_exp[target_id] = level_exp[target_id] + str_to_num(count);

  127.                 }

  128.                

  129.         }

  130.         else

  131.         {

  132.                 console_print(id, "Maximum Exp in player %i", g_level_exp[target_id])

  133.         }

  134.         return PLUGIN_HANDLED

  135. }

  136.  

  137. public level_give(id, level, cid)

  138. {

  139.         if (!cmd_access(id, level, cid, 2))

  140.         {                              

  141.                 console_print(id, "У вас нет доступа к команде")

  142.                 return PLUGIN_HANDLED

  143.         }

  144.         new target[32]

  145.         new count[32]  

  146.        

  147.         read_argv(1,target,31)

  148.         read_argv(2,count,31)

  149.         new target_id, name[32], level_id

  150.         level_id = str_to_num(count);

  151.         target_id = find_player("bl", target)

  152.         get_user_name(target_id, name, sizeof name - 1)

  153.         if(!target_id)

  154.         {

  155.                 console_print(id, "Can't find that player")

  156.                 return PLUGIN_HANDLED

  157.         }

  158.         if(read_argc() != 3)

  159.         return PLUGIN_HANDLED  

  160.  

  161.         if( ((g_level[target_id] + level_id) <=get_pcvar_num(g_level_max)) && (level_id != 0) && ((g_level[target_id] + level_id) > 0 ) )

  162.         {

  163.                 if(level_id > 0)

  164.                 {

  165.                         g_level[target_id] = g_level[target_id] + level_id;

  166.                         message_begin(MSG_ONE_UNRELIABLE, g_ScreenFade, _, target_id)

  167.                         write_short(1<<12) // duration

  168.                         write_short(1) // hold time

  169.                         write_short(0x0000) // fade type

  170.                         write_byte(1) // red

  171.                         write_byte(200) // green

  172.                         write_byte(0) // blue

  173.                         write_byte(205) // alpha

  174.                         message_end()

  175.                         emit_sound(target_id, CHAN_STREAM, sound_level_up, 1.0, ATTN_NORM, 0, PITCH_HIGH )

  176.                 }

  177.                 else

  178.                 {

  179.                         g_level[target_id] = g_level[target_id] + level_id;

  180.                         message_begin(MSG_ONE_UNRELIABLE, g_ScreenFade, _, target_id)

  181.                         write_short(1<<12) // duration

  182.                         write_short(1) // hold time

  183.                         write_short(0x0000) // fade type

  184.                         write_byte(200) // red

  185.                         write_byte(40) // green

  186.                         write_byte(0) // blue

  187.                         write_byte(205) // alpha

  188.                         message_end()

  189.                 }

  190.                         console_print(id, "Player %s gives add %i level", name, level_id)

  191.         }

  192.         else

  193.                 console_print(id, "Operation Invalid")

  194.         return PLUGIN_HANDLED

  195. }

  196.  

  197. public client_putinserver(id)

  198. {

  199.         Level_Load(id)

  200.         new name[32]

  201.         g_trime[id] = false;

  202.         g_bonus[id] = true;

  203.         nameid[id] = get_user_name(id, name, sizeof name - 1)

  204.         if( !zp_get_user_zombie(id) && is_user_alive(id))

  205.         {

  206.                 g_trime[id] = false;

  207.                 new n = 1;

  208.                 while( n != g_level[id] )

  209.                 {

  210.                         h_health[id] = n * get_pcvar_num(g_h_health);

  211.                         h_speed[id] = n * get_pcvar_num(g_h_speed);

  212.                         h_damage[id] = n * get_pcvar_num(g_h_damage);

  213.                         z_damage[id] = n * get_pcvar_num(g_z_damage);

  214.                         n = n + 1;

  215.                 }

  216.                 new Float:speed[32];

  217.                 speed[id] = fm_get_user_maxspeed(id) + h_speed[id];

  218.                 fm_set_user_health( id, get_user_health(id) + h_health[id] )

  219.                 set_pev(id, pev_maxspeed, speed[id] )

  220.                 emit_sound(id, CHAN_STREAM, sound_health, 1.0, ATTN_NORM, 0, PITCH_HIGH )

  221.         }

  222.  

  223.         if( g_level[id] == 0) g_level[id] = 1;

  224.         if( level_exp[id] == g_level[id] ) level_exp[id] = 0;

  225.         if(g_level[id] < get_pcvar_num(g_level_num))

  226.         g_levels[id] = get_pcvar_num(g_level_num);

  227.         else

  228.         {

  229.                 if(g_level[id] != g_levels[id])

  230.                 {

  231.                         new x = 1;

  232.                         while( g_level[id] > ( x * get_pcvar_num(g_level_num)) )

  233.                         {

  234.                                 x = x + 1;

  235.                                 g_levels[id] = x * get_pcvar_num(g_level_num);

  236.                         }

  237.                 }

  238.         }

  239.         new y = 1;

  240.         while( g_level[id] != y )

  241.         {

  242.         y = y + 1;

  243.         g_level_exp[id] = y * get_pcvar_num(g_frags_level);

  244.         }

  245.         red = random_num(10, 200)

  246.         green = random_num(10, 200)

  247.         blue = random_num(10, 200)

  248. }

  249.  

  250. public client_disconnect(id)

  251. {

  252.         new name[32], player_nick[32]

  253.         player_nick[id] = get_user_name(id, name, sizeof name - 1)

  254.         if(player_nick[id] == nameid[id])

  255.         Level_Save(id)

  256.        

  257.         g_trime[id] = false;

  258. }

  259.  

  260. public hide_status(id)

  261. {

  262.         set_hudmessage(0,0,0,0.0,0.0,0, 0.0, 0.01, 0.0, 0.0, 4)

  263.         show_hudmessage(id,"")

  264. }

  265.  

  266. public show_status(id)

  267. {

  268.         new name[32],pid = read_data(2)

  269.         get_user_name(pid,name,31)

  270.         if (!zp_get_user_zombie(pid) && !zp_get_user_zombie(id) && (get_pcvar_num(g_player_name) == 1) )

  271.         {

  272.                 set_hudmessage(0,0,255,-1.0,0.60,1, 0.01, 3.0, 0.01, 0.01, 4)

  273.                 show_hudmessage(id,"%L", LANG_PLAYER, "PLAYER_NAME_H", name, g_level[pid],                                                              get_user_health(pid),get_user_armor(pid),zp_get_user_ammo_packs(pid))

  274.         }

  275.         if(zp_get_user_zombie(id) && zp_get_user_zombie(pid) && (get_pcvar_num(g_player_name) == 1) )

  276.         {

  277.         set_hudmessage(255,0,0,-1.0,0.60,1, 0.01, 3.0, 0.01, 0.01, 4)

  278.         show_hudmessage(id,"%L", LANG_PLAYER, "PLAYER_NAME_Z", name, g_level[pid], get_user_health(pid), zp_get_user_ammo_packs(pid))

  279.         }

  280. }

  281.  

  282. public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)

  283. {

  284.         if ( !zp_get_user_zombie(attacker) && is_user_alive(attacker) )

  285.         SetHamParamFloat(4, damage + h_damage[attacker])

  286.         else

  287.         {

  288.                 if ( zp_get_user_zombie(attacker) && is_user_alive(attacker) && !zp_get_user_nemesis(attacker))

  289.                 SetHamParamFloat(4, damage + z_damage[attacker]);

  290.         }

  291. }

  292.  

  293. public say_info(id)

  294. {

  295.         new text[70], arg1[32], target[32], count[32]

  296.         read_args(text, sizeof(text)-1);

  297.         remove_quotes(text);

  298.         arg1[0] = '^0';

  299.         target[0] = '^0';

  300.         count[0] = '^0';

  301.         parse(text, arg1, sizeof(arg1)-1, target, sizeof(target)-1, count, sizeof(count)-1);

  302.         if ( equali(arg1, "info", 4) )

  303.         {

  304.                 info_player(id, target);

  305.         }

  306.         if ( equali(arg1, "bonusme", 7) && (get_pcvar_num(g_level_info) == 1))

  307.         {

  308.                 bonus_player(id);

  309.         }

  310.         if ( equali(arg1, "levelexp", 7) && (get_pcvar_num(g_level_info) == 1))

  311.         {

  312.                 expa_player(id);

  313.         }

  314.         return PLUGIN_CONTINUE;

  315. }

  316.  

  317. public zp_extra_item_selected(id, itemid)

  318. {

  319.         Level_Save(id)

  320. }

  321.  

  322. public zp_user_infected_pre(id, infector)

  323. {

  324.         if( is_user_alive(infector) && (level_exp[infector] < (g_level_exp[infector] - 1)) && zp_get_user_zombie(infector))

  325.         {

  326.                 level_exp[infector] = level_exp[infector] + 1;

  327.                 Level_Save(infector);

  328.         }

  329.         else

  330.         if (zp_get_user_zombie(infector))

  331.                 ChatColor(infector, "!g[ZP] !y Killed Zombie")

  332. }

  333.  

  334. public info_player(id, target[])

  335. {

  336.         new target_2;

  337.         target_2 = find_player("bl", target)

  338.         static name[32], nameid[32];

  339.         get_user_name(target_2, name, sizeof name - 1)

  340.         get_user_name(id, nameid, sizeof nameid - 1)

  341.         if(!target_2)

  342.         {

  343.                 ChatColor(id, "!g[ZP] !y%L", LANG_PLAYER, "LEVEL_INFO_NONAME")

  344.                 return PLUGIN_HANDLED

  345.         }

  346.  

  347.         if(zp_get_user_zombie(id))

  348.         {

  349.                 if(id != target_2)

  350.                 {

  351.                         ChatColor(id, "!g[INFO]!t %L", LANG_PLAYER, "LEVEL_INFOZM", name, g_level[target_2], z_damage[target_2], zp_get_user_ammo_packs(target_2) )

  352.                         ChatColor(target_2, "!g[INFO]!t%L ", LANG_PLAYER, "LEVEL_INFO_YOU", nameid)

  353.                 }

  354.                 else

  355.                 {

  356.                         ChatColor(id, "!g[INFOME]!t%L", LANG_PLAYER, "LEVEL_INFOME_ZM", z_damage[target_2] )

  357.                 }

  358.         }

  359.         else

  360.         {

  361.                 if(id != target_2)

  362.                 {

  363.                         ChatColor(id, "!g[INFO]!t %L", LANG_PLAYER, "LEVEL_INFO", name, g_level[target_2], h_damage[target_2],                                                  h_speed[target_2], h_health[target_2], zp_get_user_ammo_packs(target_2) )

  364.                         ChatColor(target_2, "!g[INFO]!t%L ", LANG_PLAYER, "LEVEL_INFO_YOU", nameid)

  365.                 }

  366.                 else

  367.                 {

  368.                         ChatColor(id, "!g[INFOME]!t%L", LANG_PLAYER, "LEVEL_INFOME", h_damage[target_2], h_speed[target_2],                                                     h_health[target_2] )

  369.                 }

  370.         }

  371.         return PLUGIN_HANDLED

  372. }

  373.  

  374. public bonus_player(id)

  375. {

  376.         if( (g_level[id] >= g_levels[id]) && g_bonus[id] && get_pcvar_num(g_level_bonus))

  377.         {

  378.                 g_levels[id] = g_levels[id] * 2;

  379.                 g_level_del[id] = g_level[id];

  380.                 g_bonus[id] = false;

  381.                 ChatColor(id, "!g[BONUS]%L", LANG_PLAYER, "LEVEL_MEGABONUS", g_level[id], get_pcvar_num(g_ammo) )

  382.                 zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(g_ammo) )

  383.                 Level_Save(id)

  384.         }

  385.         else

  386.         {

  387.                 if(g_level[id] < g_levels[id])

  388.                 {

  389.                         g_levels[id] = get_pcvar_num(g_level_num);

  390.                         ChatColor(id, "!g[BONUS]!y%L", LANG_PLAYER, "LEVEL_NOMEGABONUS", g_levels[id], get_pcvar_num(g_ammo) )

  391.                 }

  392.                 else

  393.                 {

  394.                         new x = 1;

  395.                         while( g_level[id] > ( x * get_pcvar_num(g_level_num)) )

  396.                         {

  397.                                 g_levels[id] = x * get_pcvar_num(g_level_num);

  398.                                 x = x + 1;

  399.                         }

  400.                         ChatColor(id, "!g[BONUS]!y%L", LANG_PLAYER, "LEVEL_NOMEGABONUS", g_levels[id], get_pcvar_num(g_ammo) )

  401.                 }

  402.  

  403.                 Level_Save(id)

  404.         }

  405.         return PLUGIN_HANDLED

  406. }

  407.  

  408. public expa_player(id)

  409. {

  410.         ChatColor(id, "!g[EXPA] %L", LANG_PLAYER, "LEVEL_EXP", level_exp[id], g_level_exp[id])

  411.         return PLUGIN_HANDLED

  412. }

  413.  

  414. public level_status(id)

  415. {

  416.         if( is_user_alive(id))

  417.         {

  418.                 switch( get_pcvar_num(g_hud_color) )

  419.                 {

  420.                         case 1:

  421.                         {

  422.                         set_dhudmessage(255, 200, 3, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)

  423.                         show_dhudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id])

  424.                         }

  425.                         case 2:

  426.                         {

  427.                         static r, g, b; r = random_num(10, 200), g = random_num(0, 200), b = random_num(0, 200);

  428.                         set_dhudmessage(r, g, b, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)

  429.                         show_dhudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id])

  430.                         }

  431.                         case 3:

  432.                         {

  433.                        

  434.                         set_dhudmessage(red, green, blue, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)

  435.                         show_dhudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id])

  436.                         }

  437.                 }

  438.         }

  439. }

  440.  

  441. public Level_Save(id)

  442. {

  443.         new key[64], data[256], data_exp[256], key_exp[64]

  444.         new name[33];

  445.         get_user_name(id,name,32)

  446.  

  447.         format(key, 63, "%s-/", name)

  448.         format(data, 255, "%i#", g_level[id])

  449.  

  450.         format(key_exp, 63, "%s-/", name)

  451.         format(data_exp, 255, "%i#", level_exp[id])

  452.  

  453.         nvault_set(g_level_data, key, data)

  454.         nvault_set(g_exp_data, key_exp, data_exp)

  455.         return PLUGIN_CONTINUE;

  456. }

  457.  

  458. public Level_Load(id)

  459. {

  460.         new key[64], data[256], data_exp[256], key_exp[64]

  461.         new name[33];

  462.         get_user_name(id,name,32)

  463.  

  464.         format(key, 63, "%s-/", name)

  465.         format(data, 255, "%i#", g_level[id])

  466.  

  467.         format(key_exp, 63, "%s-/", name)

  468.         format(data_exp, 255, "%i#", level_exp[id])

  469.  

  470.         nvault_get(g_level_data, key, data, 255)

  471.         nvault_get(g_exp_data, key_exp, data_exp, 255)

  472.         replace_all(data, 255, "#", " ")

  473.         replace_all(data_exp, 255, "#", " ")

  474.  

  475.         new givelevel[32], give_exp[32]

  476.         parse(data, givelevel, 31)

  477.         parse(data_exp, give_exp, 31)

  478.         g_level[id] = str_to_num(givelevel)

  479.         level_exp[id] = str_to_num(give_exp)

  480.  

  481.         set_task(1.0, "level_status", id, _, _, "b")

  482.         return PLUGIN_CONTINUE;

  483. }

  484.  

  485. public Frags_Manager()

  486. {

  487.         new aname[32], attacker; attacker = read_data(1)

  488.         new y; y = 1;

  489.         get_user_name(attacker, aname, sizeof aname - 1)

  490.         if( ( level_exp[attacker] >= (g_level_exp[attacker] - 1) ) && (g_level[attacker] <= get_pcvar_num(g_level_max)) && is_user_alive(attacker) )

  491.         {

  492.                 g_bonus[attacker] = true;

  493.                 g_level[attacker] = g_level[attacker] + 1;

  494.                 level_exp[attacker] = 0;

  495.                 while( g_level[attacker] != y )

  496.                 {

  497.                         y = y + 1;

  498.                         g_level_exp[attacker] = y * get_pcvar_num(g_frags_level);

  499.                 }

  500.                 message_begin(MSG_ONE_UNRELIABLE, g_ScreenFade, _, attacker)

  501.                 write_short(1<<12) // duration

  502.                 write_short(1) // hold time

  503.                 write_short(0x0000) // fade type

  504.                 write_byte(1) // red

  505.                 write_byte(200) // green

  506.                 write_byte(0) // blue

  507.                 write_byte(205) // alpha

  508.                 message_end()

  509.                 emit_sound(attacker, CHAN_STREAM, sound_level_up, 1.0, ATTN_NORM, 0, PITCH_HIGH )

  510.                 set_hudmessage(0, 200, 0, 0.65, 0.5, 0, 0.0, 3.0, 2.0, 1.0, -1)

  511.                 show_hudmessage(0, "%L", LANG_PLAYER, "LEVEL_UP", aname, g_level[attacker])

  512.                 if(get_pcvar_num(g_give_ammo) == 1)

  513.                 {

  514.                         ChatColor(attacker, "!g[LEVEL] !y %L", LANG_PLAYER, "BONUS_LEVEL", get_pcvar_num(g_give_ammopacks) )

  515.                         zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(g_give_ammopacks) )

  516.                 }

  517.                 Level_Save(attacker);

  518.         }

  519.         else

  520.         {

  521.  

  522.                 if(g_level[attacker] == get_pcvar_num(g_level_max))

  523.                 ChatColor(attacker, "!g[LEVEL]!y %L", LANG_PLAYER, "LEVEL_MAX", g_level[attacker] )

  524.                 level_exp[attacker] = level_exp[attacker] + 1;

  525.                 Level_Save(attacker);

  526.         }

  527. }

  528.  

  529. public zp_round_ended(winteam)

  530. {

  531.         for(new id=1;id<=g_Players;id++)

  532.         g_trime[id] = true;

  533. }

  534.  

  535. stock ChatColor(const id, const input[], any:...)

  536. {

  537.         new count = 1, players[32]

  538.         static msg[191]

  539.         vformat(msg, 190, input, 3)

  540.  

  541.         replace_all(msg, 190, "!g", "^4") // Green Color

  542.         replace_all(msg, 190, "!y", "^1") // Default Color

  543.         replace_all(msg, 190, "!t", "^3") // Team Color

  544.         replace_all(msg, 190, "!t2", "^0") // Team2 Color

  545.  

  546.         if (id) players[0] = id; else get_players(players, count, "ch")

  547.         {

  548.                 for (new i = 0; i < count; i++)

  549.                 {

  550.                         if (is_user_connected(players[i]))

  551.                         {

  552.                                 message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])

  553.                                 write_byte(players[i]);

  554.                                 write_string(msg);

  555.                                 message_end();

  556.                         }

  557.                 }

  558.         }

  559. }
[/pawn]

и урон неработает (

Перенесено в соответствующий раздел // Rejiser
Аватара пользователя
Poundfiller
 
Сообщения: 18
Зарегистрирован: 20 июн 2011, 11:11
Откуда: Челябинск
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 4