|
Стаж: 12 лет
Сообщений: 567
Благодарностей: 138
Полезность: 119
|
Цитата(Bloo @ 7.8.2014, 13:11)  Redir, один кейс (скобку) не закрыли, 56 строка. Код:
#include <amxmodx> #include <hamsandwich> #include <zombieplague> #define PLUGIN "[ZP] Survivor or Nemesis Win Round or Loose" #define AUTHOR "Kiske" #define VERSION "1.0" // Cvars new CVAR[2] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) // Language files register_dictionary("Bonus_Survirov_Nema.txt") CVAR[0] = register_cvar("zp_ammos_survkill", "40") // Ammos for the killing Survivor CVAR[1] = register_cvar("zp_ammos_nemkill", "40") // Ammos for the killing Nemesis RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled") } // Ham Player Killed Forward public Ham_PlayerKilled(victim, attacker, shouldgib) { if(!is_user_connected(attacker)) { return; } static name[32] get_user_name(attacker, name, charsmax(name)) // Survivor or Nemesis Round ? if (zp_is_survivor_round() || zp_is_nemesis_round()) { // Survivor if (zp_get_user_zombie(attacker) && zp_get_user_survivor(victim)) // Survivor's loose { ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "SURV_LOOSEROUND", name, get_pcvar_num(CVAR[0]), (get_pcvar_num(CVAR[0]) == 1) ? "" : "s") zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[0])) } // Nemesis if (!zp_get_user_zombie(attacker) && zp_get_user_nemesis(victim)) // Nemesis loose { ChatColor(attacker, "!g[БОНУС] !y- %L", LANG_PLAYER, "NEM_LOOSEROUND", name, get_pcvar_num(CVAR[1]), (get_pcvar_num(CVAR[1]) == 1) ? "" : "s") zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(CVAR[1])) } } } // Stock: ChatColor! stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") // Green Color replace_all(msg, 190, "!y", "^1") // Default Color replace_all(msg, 190, "!team", "^3") // Team Color replace_all(msg, 190, "!team2", "^0") // Team2 Color if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } } }  пост отредактировал, один хороший человек подсказал что там вообще этот кейс лишний был изначально (32 строка). И действительно, дело в этой скобке было. Хотя не понимаю, как она могла пропасть. Ибо, я только добавлял эту проверку. Спасибо, скомпилировал теперь. Дабы не создавать новую тему, можете подсказать, как исправить ошибки в этом плагине ? Вот такие ошибки выдает плагин Код L 08/07/2014 - 00:58:30: Start of error session. L 08/07/2014 - 00:58:30: Info (map "zm_poligon") (file "addons/amxmodx/logs/error_20140807.log") L 08/07/2014 - 00:58:30: [AMXX] Displaying debug trace (plugin "kills_like_cso.amxx") L 08/07/2014 - 00:58:30: [AMXX] Run time error 4: index out of bounds L 08/07/2014 - 00:58:30: [AMXX] [0] phpUrQxbc.sma::show_kills (line 99) L 08/07/2014 - 00:58:30: [AMXX] [1] phpUrQxbc.sma::zp_user_infected_post (line 55) L 08/07/2014 - 00:58:38: [AMXX] Displaying debug trace (plugin "kills_like_cso.amxx") L 08/07/2014 - 00:58:38: [AMXX] Run time error 4: index out of bounds L 08/07/2014 - 00:58:38: [AMXX] [0] phpUrQxbc.sma::show_kills (line 99) L 08/07/2014 - 00:58:38: [AMXX] [1] phpUrQxbc.sma::zp_user_infected_post (line 55) L 08/07/2014 - 00:58:47: [AMXX] Displaying debug trace (plugin "kills_like_cso.amxx") L 08/07/2014 - 00:58:47: [AMXX] Run time error 4: index out of bounds L 08/07/2014 - 00:58:47: [AMXX] [0] phpUrQxbc.sma::show_kills (line 99) L 08/07/2014 - 00:58:47: [AMXX] [1] phpUrQxbc.sma::zp_user_infected_post (line 55) Вот исх этого плагина: Код:
#include <amxmodx> #include <fakemeta> #include <hamsandwich> #include <zombieplague>
new const red_color[14] = { 250, 50, 250, 250, 250, 250, 250, 50, 250, 250, 250, 250, 250, 250 } new const green_color[14] = { 250, 150, 250, 150, 0, 250, 50, 150, 150, 0, 150, 250, 150, 0 } new const blue_color[14] = { 250, 250, 50, 50, 0, 50, 250, 250, 50, 0, 250, 50, 50, 0 } new const cso_kill_headshot[] = "cso/headshot.wav" new const cso_kill_sounds[14][] = { "cso/kill1.wav", "cso/kill2.wav", "cso/kill3.wav", "cso/kill4.wav", "cso/kill5.wav", "cso/kill6.wav", "cso/kill7.wav", "cso/kill8.wav", "cso/kill9.wav", "cso/kill10.wav", "cso/kill11.wav", "cso/kill12.wav", "cso/kill13.wav", "cso/kill14.wav" }
new Float:g_iTask[33]; new g_iKills[64]; new g_center1_sync;
public plugin_init() { register_plugin("Kill's Like CS Online", "0.1", "fl0wer")
RegisterHam(Ham_Killed, "player", "Player_Killed_Post", 1) RegisterHam(Ham_Player_PostThink, "player", "Player_PostThink_Post", 1)
g_center1_sync = CreateHudSyncObj() }
public plugin_precache() { for(new i = 0; i < sizeof cso_kill_sounds; i++) precache_sound(cso_kill_sounds[i])
precache_sound(cso_kill_headshot) }
public zp_user_infected_post(id, infector) { if(!is_user_connected(id) || !is_user_connected(infector)) return;
show_kills(id, infector) }
public Player_Killed_Post(victim, attacker, shouldgib) { if(!is_user_connected(attacker)) return;
if(victim == attacker) return;
show_kills(victim, attacker) }
public Player_PostThink_Post(id) { if(!is_user_alive(id)) return;
if(g_iTask[id] + 4.0 <= get_gametime()) { g_iKills[id] = max(g_iKills[id] -= 1, 0); g_iTask[id] = get_gametime(); } }
show_kills(victim, attacker) { if(!is_user_connected(attacker)) return; if(g_iKills[attacker] < sizeof cso_kill_sounds - 1) g_iKills[attacker]++; g_iTask[attacker] = get_gametime(); g_iKills[victim] = 0; g_iTask[victim] = 0.0;
new speak_sound = g_iKills[attacker] - 1;
if(get_pdata_int(victim, 75) == HIT_HEAD) { client_cmd(attacker, "speak ^"%s^"", cso_kill_headshot) } else { client_cmd(attacker, "speak ^"%s^"", cso_kill_sounds[speak_sound]) } set_hudmessage(red_color[g_iKills[attacker]], green_color[g_iKills[attacker]], blue_color[g_iKills[attacker]], -1.0, 0.25, 0, 0.1, 3.0, 0.1, 0.1, -1) ShowSyncHudMsg(attacker, g_center1_sync, "%d KILL!", g_iKills[attacker]) }
|