Siemanko.
Chciałem zedytować plugin Ultimate Killstreak Advanced v0.8 (http://amxx.pl/topic...k-advanced-v08/).
NIestety, po przerobieniu pliku .sma plugin nie odtwarza mi żadnych dźwięków. Nie wyrzuca również żadnych błędów w konsoli.
Oto plik oryginału:
/* Ultimtate KillStreak Advanced */ #include <amxmodx> #include <amxmisc> #include <csx> #define PLUGIN "Ultimate KillStreak Advanced" #define VERSION "0.8" #define AUTHOR "SAMURAI" /*#define TASK_CLEAR_KILL 100*/ #define LEVELS 10 /*new kill[33][24];*/ new kills[33] = {0,...}; new deaths[33] = {0,...}; new hsenable, knifeenable, firstbloodenable, nadecvar, suicidecvar, /*cvardouble,*/ rnstartcvar, killstreaktype; new firstblood; new hsmessages[][] = { "%s zalozyl sie o glowe z %s i wygral !!", "Przez %s %s stracil glowe !", "%s zrobil trzecie oko dla %s!", "%s pozbyl sie %s i jego glowy!" }; new hslist[][] = { "ultimate_sounds/headshot1_ultimate", "ultimate_sounds/headshot2_ultimate" }; new knmessages[][] = { "Psychol %s wbil noz dla %s prosto w serce!", "%s dzgnol nozem %s", "%s operowal %s niestety pacjent zmarl!" }; new knlist[][] = { "ultimate_sounds/knife1_ultimate", "ultimate_sounds/knife2_ultimate" }; new fbmessages[][] = { "%s to ja będę pierwszy!!", "%s moj pierwszy frag w tej rundzie!!", "To %s spowodowal pierwszy krwotok w tej rundzie!" }; new fblist[][] = { "ultimate_sounds/firstblood1_ultimate", "ultimate_sounds/firstblood2_ultimate" }; new nademessages[][] = { "%s rzucil co nieco dla %s !", "%s zrobil wybuchowy prezent dla %s !", "%s jest dobrym granadierem!" }; new suicidemess[][] = { "%s sam sie zabil ahahahha!", "%s jest idioto!" }; new suicidelist[][] = { "ultimate_sounds/suicide1_ultimate", "ultimate_sounds/suicide2_ultimate", "ultimate_sounds/suicide3_ultimate", "ultimate_sounds/suicide4_ultimate" }; new doublelist[][] = { "ultimate_sounds/doublekill1_ultimate", "ultimate_sounds/doublekill2_ultimate" } new levels[10] = {3, 4, 6, 8, 10, 12,14,15,16,18}; new sounds[10][] = { "ultimate_sounds/triplekill_ultimate", "ultimate_sounds/multikill_ultimate", "ultimate_sounds/ultrakill_ultimate", "ultimate_sounds/killingspree_ultimate", "ultimate_sounds/megakill_ultimate", "ultimate_sounds/holyshit_ultimate", "ultimate_sounds/ludicrouskill_ultimate", "ultimate_sounds/rampage_ultimate", "ultimate_sounds/unstoppable_ultimate", "ultimate_sounds/monsterkill_ultimate" }; new messages[10][] = { "%s: Duble kill!", "%s: Multi Kill !", "%s: Ultra Kill !", "%s: Killing Spree !", "%s: Mega Kill !", "%s: Holy Shit !", "%s: Ludicrous Kill !", "%s: Rampage !", "%s: Unstoppable !", "%s: M o n s t e R K i L L ! ! !" }; new preplist[][] = { "ultimate_sounds/prepare1_ultimate", "ultimate_sounds/prepare2_ultimate", "ultimate_sounds/prepare3_ultimate" }; // remaked double kill new Float:g_doubleKill; new g_doubleKillId; new gdbcvar; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD", "reset_hud", "b"); register_event("HLTV","rnstart","a", "1=0", "2=0"); killstreaktype = register_cvar("ut_killstreak_advanced", "3"); hsenable = register_cvar("ut_killstreak_hs","1"); knifeenable = register_cvar("ut_killstreak_knife","1"); firstbloodenable = register_cvar("ut_firstblood","1"); nadecvar = register_cvar("ut_nade_events","1"); suicidecvar = register_cvar("ut_suicide_events","1"); /*cvardouble = register_cvar("ut_doublekill_events","1");*/ gdbcvar = register_cvar("ut_doublekill_events","1"); rnstartcvar = register_cvar("ut_roundcout_sounds","1"); } public client_death(killer,victim,weapon,hitplace,TK) { if(!killer || !victim) return; static kname[32], vname[32]; get_user_name(killer,kname,31); get_user_name(victim,vname,31); if(hitplace == HIT_HEAD && get_pcvar_num(hsenable) == 1 ) { set_hudmessage(0, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, hsmessages[random(sizeof hsmessages)], kname, vname); client_cmd(0,"spk %s",hslist[random(sizeof hslist)]); } if(weapon == CSW_KNIFE && get_pcvar_num(knifeenable) == 1 ) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, knmessages[random(sizeof knmessages)], kname, vname); client_cmd(0,"spk %s",knlist[random(sizeof knlist)]); } if(firstblood && killer != victim && get_pcvar_num(firstbloodenable) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, fbmessages[random(sizeof fbmessages)], kname); client_cmd(0,"spk %s",fblist[random(sizeof fblist)]); } if(weapon == CSW_HEGRENADE && get_pcvar_num(nadecvar) == 1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,nademessages[random(sizeof nademessages)],kname,vname); client_cmd(0,"spk ultimate_sounds/nade_ultimate"); } if(killer == victim && get_pcvar_num(suicidecvar) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,suicidemess[random(sizeof suicidemess)], vname); client_cmd(0,"spk %s",suicidelist[random(sizeof suicidelist)]); } /*if(kill[killer][0] && equal(kill[killer],weapon) && killer != victim && get_pcvar_num(cvardouble) == 1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,"Wow %s made a double kill", kname); kill[killer][0] = 0; client_cmd(0,"spk %s",doublelist[random(sizeof doublelist)]); } else { kill[killer] = weapon; set_task(0.1,"clear_kill",TASK_CLEAR_KILL+killer); }*/ // REMAKED DOUBLE KILL :X if(killer != victim && killer && get_pcvar_num(gdbcvar) == 1) { new Float:nowtime = get_gametime(); if (g_doubleKill == nowtime && g_doubleKillId == killer) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,"Wow %s made a double kill", kname); // play the funcking soundz client_cmd(0,"spk %s",doublelist[random(sizeof doublelist)]); } g_doubleKill = nowtime; g_doubleKillId = killer; } kills[killer] += 1; kills[victim] = 0; deaths[killer] = 0; deaths[victim] += 1; for (new i = 0; i < LEVELS; i++) { if (kills[killer] == levels[i]) { announce(killer, i); return; } } } announce(killer, level) { static name[33]; new r = random(256); new g = random(256); new b = random(256); get_user_name(killer, name, 32); set_hudmessage(r,g,b, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2); if( (get_pcvar_num(killstreaktype) <= 0 ) || get_pcvar_num(killstreaktype) > 3) return 0; switch(get_pcvar_num(killstreaktype)) { case 1: { show_hudmessage(0, messages[level], name); return 0; } case 2: { client_cmd(0, "spk %s", sounds[level]); return 0; } case 3: { show_hudmessage(0, messages[level], name); client_cmd(0, "spk %s", sounds[level]); return 0; } } return 0; } public reset_hud(id) { firstblood = 1; if (is_mode_set(16)) if (kills[id] > levels[0]) client_print(id, print_chat, "* Zabiles %d bez smierci!", kills[id]); else if (deaths[id] > 1) client_print(id, print_chat, "* Uwazaj zgineles %d rundy pod rzad!", deaths[id]); } public rnstart(id) { if(get_pcvar_num(rnstartcvar) == 1) { firstblood = 1; set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, "Prepare To Fight!"); client_cmd(0,"spk %s",preplist[random(sizeof preplist)]); } } public client_connect(id) { kills[id] = 0; deaths[id] = 0; } /*public clear_kill(taskid) { new id = taskid-TASK_CLEAR_KILL; kill[id][0] = 0; }*/ is_mode_set(bits) { new mode[9]; get_cvar_string("ut_killstreak_advanced", mode, 8); return read_flags(mode) & bits; } public plugin_precache() { precache_sound("ultimate_sounds/triplekill_ultimate.wav"); precache_sound("ultimate_sounds/multikill_ultimate.wav"); precache_sound("ultimate_sounds/ultrakill_ultimate.wav"); precache_sound("ultimate_sounds/killingspree_ultimate.wav"); precache_sound("ultimate_sounds/megakill_ultimate.wav"); precache_sound("ultimate_sounds/holyshit_ultimate.wav"); precache_sound("ultimate_sounds/ludicrouskill_ultimate.wav"); precache_sound("ultimate_sounds/rampage_ultimate.wav"); precache_sound("ultimate_sounds/unstoppable_ultimate.wav"); precache_sound("ultimate_sounds/monsterkill_ultimate.wav"); precache_sound("ultimate_sounds/headshot1_ultimate.wav"); precache_sound("ultimate_sounds/headshot2_ultimate.wav"); precache_sound("ultimate_sounds/knife1_ultimate.wav"); precache_sound("ultimate_sounds/knife2_ultimate.wav"); precache_sound("ultimate_sounds/firstblood1_ultimate.wav"); precache_sound("ultimate_sounds/firstblood2_ultimate.wav"); precache_sound("ultimate_sounds/prepare1_ultimate.wav"); precache_sound("ultimate_sounds/prepare2_ultimate.wav"); precache_sound("ultimate_sounds/prepare3_ultimate.wav"); precache_sound("ultimate_sounds/nade_ultimate.wav"); precache_sound("ultimate_sounds/suicide1_ultimate.wav"); precache_sound("ultimate_sounds/suicide2_ultimate.wav"); precache_sound("ultimate_sounds/suicide3_ultimate.wav"); precache_sound("ultimate_sounds/suicide4_ultimate.wav"); precache_sound("ultimate_sounds/doublekill1_ultimate.wav"); precache_sound("ultimate_sounds/doublekill2_ultimate.wav"); }
A tutaj przerobiony na moje potrzeby:
/* Ultimtate KillStreak Advanced */ #include <amxmodx> #include <amxmisc> #include <csx> #define PLUGIN "Ultimate KillStreak Advanced" #define VERSION "0.8" #define AUTHOR "SAMURAI" /*#define TASK_CLEAR_KILL 100*/ #define LEVELS 10 /*new kill[33][24];*/ new kills[33] = {0,...}; new deaths[33] = {0,...}; new hsenable, knifeenable, firstbloodenable, nadecvar, suicidecvar, /*cvardouble,*/ rnstartcvar, killstreaktype; new firstblood; new hsmessages[][] = { "%s zalozyl sie o glowe z %s i wygral !!", "Przez %s %s stracil glowe !", "%s zrobil trzecie oko dla %s!", "%s pozbyl sie %s i jego glowy!" }; new hslist[][] = { "mlp/strzal_w_10.mp3", "mlp/widziales_to.mp3" }; new knmessages[][] = { "Psychol %s wbil noz dla %s prosto w serce!", "%s dzgnol nozem %s", "%s operowal %s niestety pacjent zmarl!" }; new knlist[][] = { "ultimate_sounds/knife1_ultimate", "ultimate_sounds/knife2_ultimate" }; new fbmessages[][] = { "%s to ja będę pierwszy!!", "%s moj pierwszy frag w tej rundzie!!", "To %s spowodowal pierwszy krwotok w tej rundzie!" }; new fblist[][] = { "mlp/dobry_poczatek.mp3", "mlp/dobry_poczatek.mp3" }; new nademessages[][] = { "%s rzucil co nieco dla %s !", "%s zrobil wybuchowy prezent dla %s !", "%s jest dobrym granadierem!" }; new suicidemess[][] = { "%s sam sie zabil ahahahha!", "%s jest idioto!" }; new suicidelist[][] = { "mlp/co_robisz.mp3", "mlp/co_robisz.mp3", "mlp/co_robisz.mp3", "mlp/co_robisz.mp3" }; new doublelist[][] = { "ultimate_sounds/doublekill1_ultimate", "ultimate_sounds/doublekill2_ultimate" } new levels[10] = {3, 4, 6, 8, 10, 12,14,15,16,18}; new sounds[10][] = { "mlp/genialnie.mp3", "mlp/pieknie.mp3", "mlp/bulka_z_maslem.mp3", "mlp/haha.mp3", "mlp/genialnie.mp3", "mlp/pieknie.mp3", "mlp/bulka_z_maslem.mp3", "mlp/haha.mp3", "mlp/genialnie.mp3", "mlp/pieknie.mp3" }; new messages[10][] = { "%s: Duble kill!", "%s: Multi Kill !", "%s: Ultra Kill !", "%s: Killing Spree !", "%s: Mega Kill !", "%s: Holy Shit !", "%s: Ludicrous Kill !", "%s: Rampage !", "%s: Unstoppable !", "%s: M o n s t e R K i L L ! ! !" }; new preplist[][] = { "mlp/no_dalej.mp3", "mlp/no_dalej.mp3", "mlp/no_dalej.mp3" }; // remaked double kill new Float:g_doubleKill; new g_doubleKillId; new gdbcvar; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD", "reset_hud", "b"); register_event("HLTV","rnstart","a", "1=0", "2=0"); killstreaktype = register_cvar("ut_killstreak_advanced", "3"); hsenable = register_cvar("ut_killstreak_hs","1"); knifeenable = register_cvar("ut_killstreak_knife","1"); firstbloodenable = register_cvar("ut_firstblood","1"); nadecvar = register_cvar("ut_nade_events","1"); suicidecvar = register_cvar("ut_suicide_events","1"); /*cvardouble = register_cvar("ut_doublekill_events","1");*/ gdbcvar = register_cvar("ut_doublekill_events","1"); rnstartcvar = register_cvar("ut_roundcout_sounds","1"); } public client_death(killer,victim,weapon,hitplace,TK) { if(!killer || !victim) return; static kname[32], vname[32]; get_user_name(killer,kname,31); get_user_name(victim,vname,31); if(hitplace == HIT_HEAD && get_pcvar_num(hsenable) == 1 ) { set_hudmessage(0, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, hsmessages[random(sizeof hsmessages)], kname, vname); client_cmd(0,"spk %s",hslist[random(sizeof hslist)]); } if(weapon == CSW_KNIFE && get_pcvar_num(knifeenable) == 1 ) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, knmessages[random(sizeof knmessages)], kname, vname); client_cmd(0,"spk %s",knlist[random(sizeof knlist)]); } if(firstblood && killer != victim && get_pcvar_num(firstbloodenable) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, fbmessages[random(sizeof fbmessages)], kname); client_cmd(0,"spk %s",fblist[random(sizeof fblist)]); } if(weapon == CSW_HEGRENADE && get_pcvar_num(nadecvar) == 1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,nademessages[random(sizeof nademessages)],kname,vname); client_cmd(0,"spk ultimate_sounds/nade_ultimate"); } if(killer == victim && get_pcvar_num(suicidecvar) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,suicidemess[random(sizeof suicidemess)], vname); client_cmd(0,"spk %s",suicidelist[random(sizeof suicidelist)]); } /*if(kill[killer][0] && equal(kill[killer],weapon) && killer != victim && get_pcvar_num(cvardouble) == 1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,"Wow %s made a double kill", kname); kill[killer][0] = 0; client_cmd(0,"spk %s",doublelist[random(sizeof doublelist)]); } else { kill[killer] = weapon; set_task(0.1,"clear_kill",TASK_CLEAR_KILL+killer); }*/ // REMAKED DOUBLE KILL :X if(killer != victim && killer && get_pcvar_num(gdbcvar) == 1) { new Float:nowtime = get_gametime(); if (g_doubleKill == nowtime && g_doubleKillId == killer) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,"Wow %s made a double kill", kname); // play the funcking soundz client_cmd(0,"spk %s",doublelist[random(sizeof doublelist)]); } g_doubleKill = nowtime; g_doubleKillId = killer; } kills[killer] += 1; kills[victim] = 0; deaths[killer] = 0; deaths[victim] += 1; for (new i = 0; i < LEVELS; i++) { if (kills[killer] == levels[i]) { announce(killer, i); return; } } } announce(killer, level) { static name[33]; new r = random(256); new g = random(256); new b = random(256); get_user_name(killer, name, 32); set_hudmessage(r,g,b, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2); if( (get_pcvar_num(killstreaktype) <= 0 ) || get_pcvar_num(killstreaktype) > 3) return 0; switch(get_pcvar_num(killstreaktype)) { case 1: { show_hudmessage(0, messages[level], name); return 0; } case 2: { client_cmd(0, "spk %s", sounds[level]); return 0; } case 3: { show_hudmessage(0, messages[level], name); client_cmd(0, "spk %s", sounds[level]); return 0; } } return 0; } public reset_hud(id) { firstblood = 1; if (is_mode_set(16)) if (kills[id] > levels[0]) client_print(id, print_chat, "* Zabiles %d bez smierci!", kills[id]); else if (deaths[id] > 1) client_print(id, print_chat, "* Uwazaj zgineles %d rundy pod rzad!", deaths[id]); } public rnstart(id) { if(get_pcvar_num(rnstartcvar) == 1) { firstblood = 1; set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, "No, dalej!"); client_cmd(0,"spk %s",preplist[random(sizeof preplist)]); } } public client_connect(id) { kills[id] = 0; deaths[id] = 0; } /*public clear_kill(taskid) { new id = taskid-TASK_CLEAR_KILL; kill[id][0] = 0; }*/ is_mode_set(bits) { new mode[9]; get_cvar_string("ut_killstreak_advanced", mode, 8); return read_flags(mode) & bits; } public plugin_precache() { precache_sound("ultimate_sounds/triplekill_ultimate.wav"); precache_sound("ultimate_sounds/multikill_ultimate.wav"); precache_sound("ultimate_sounds/ultrakill_ultimate.wav"); precache_sound("ultimate_sounds/killingspree_ultimate.wav"); precache_sound("ultimate_sounds/megakill_ultimate.wav"); precache_sound("ultimate_sounds/holyshit_ultimate.wav"); precache_sound("ultimate_sounds/ludicrouskill_ultimate.wav"); precache_sound("ultimate_sounds/rampage_ultimate.wav"); precache_sound("ultimate_sounds/unstoppable_ultimate.wav"); precache_sound("ultimate_sounds/monsterkill_ultimate.wav"); precache_sound("ultimate_sounds/headshot1_ultimate.wav"); precache_sound("ultimate_sounds/headshot2_ultimate.wav"); precache_sound("ultimate_sounds/knife1_ultimate.wav"); precache_sound("ultimate_sounds/knife2_ultimate.wav"); precache_sound("ultimate_sounds/firstblood1_ultimate.wav"); precache_sound("ultimate_sounds/firstblood2_ultimate.wav"); precache_sound("ultimate_sounds/prepare1_ultimate.wav"); precache_sound("ultimate_sounds/prepare2_ultimate.wav"); precache_sound("ultimate_sounds/prepare3_ultimate.wav"); precache_sound("ultimate_sounds/nade_ultimate.wav"); precache_sound("ultimate_sounds/suicide1_ultimate.wav"); precache_sound("ultimate_sounds/suicide2_ultimate.wav"); precache_sound("ultimate_sounds/suicide3_ultimate.wav"); precache_sound("ultimate_sounds/suicide4_ultimate.wav"); precache_sound("ultimate_sounds/doublekill1_ultimate.wav"); precache_sound("ultimate_sounds/doublekill2_ultimate.wav"); precache_sound("mlp/co_robisz.mp3"); precache_sound("mlp/bulka_z_maslem.mp3"); precache_sound("mlp/dobry_poczatek.mp3"); precache_sound("mlp/genialnie.mp3"); precache_sound("mlp/gincie.mp3"); precache_sound("mlp/haha.mp3"); precache_sound("mlp/niech_no_cie_zlapie.mp3"); precache_sound("mlp/no_dalej.mp3"); precache_sound("mlp/pieknie.mp3"); precache_sound("mlp/strzal_w_10.mp3"); precache_sound("mlp/widziales_to.mp3"); precache_sound("mlp/zdrajca.mp3"); }
Dodam, że przy wejściu na serwer pobierają mi się w/w dźwięki, również te dodane przeze mnie.