#include #include #define PLUGIN_NAME "CSO/Ultimate Sounds" #define PLUGIN_VERSION "0.7" #define PLUGIN_AUTHOR "SAMURAI" new kills[33] = {0,...}; new deaths[33] = {0,...}; new firstblood new kill[33][24]; #define LEVELS 10 #define hsounds 4 #define knsounds 4 #define fbsounds 2 #define prpsounds 3 #define suicidesounds 3 #define maxdbsounds 2 #define TASK_CLEAR_KILL 100 new hsenable new knifeenable new firstbloodenable new nadecvar new suicidecvar new cvardouble new rnstartcvar new killstreaktype new levels[10] = {3, 4, 6, 8, 10, 12,14,15,16,18}; new sounds[10][] = { "allforce_sound_ultimate/triplekill_ultimate", "allforce_sound_ultimate/multikill_ultimate", "allforce_sound_ultimate/ultrakill_ultimate", "allforce_sound_ultimate/killingspree_ultimate", "allforce_sound_ultimate/megakill_ultimate", "allforce_sound_ultimate/holyshit_ultimate", "allforce_sound_ultimate/ludicrouskill_ultimate", "allforce_sound_ultimate/rampage_ultimate", "allforce_sound_ultimate/unstoppable_ultimate", "allforce_sound_ultimate/monsterkill_ultimate" }; new messages[10][] = { "%s: Triple 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 hslist[hsounds][] = { "allforce_sound_ultimate/headshot1_ultimate" "allforce_sound_ultimate/headshot2_ultimate" "allforce_sound_ultimate/headshot3_ultimate" "allforce_sound_ultimate/headshot4_ultimate" } new fblist[fbsounds][]= { "allforce_sound_ultimate/firstblood1_ultimate" /firstblood2_ultimate" } new preplist[prpsounds][]= { "allforce_sound_ultimate/prepare1_ultimate" "allforce_sound_ultimate/prepare2_ultimate" "allforce_sound_ultimate/prepare3_ultimate" } new fbmessages[3][]= { "%s : First Blood !", "%s Drew First Blood !!!", "%s First Shot on tha Mark !" } new hsmessages[4][]= { "%s removed %s head !!", "%s had a superb aim with %s !", "%s Made a superb headshot to %s!", "%s down %s with a superb headshot !" } new knlist[knsounds][]= { "allforce_sound_ultimate/knife1_ultimate" "allforce_sound_ultimate/knife2_ultimate" "allforce_sound_ultimate/knife3_ultimate" "allforce_sound_ultimate/knife4_ultimate" } new knmessages[3][]= { "%s sliced and diced %s", "%s pulled out knife and gutted %s", "%s knifed %s" } new nademessages[3][]= { "%s got a big explosion for %s", "%s made a precision throw to %s", "%s is good grenadier ! i think he back from the war ..." } new suicidemess[2][]= { "%s knows how the kill command works!", "%s prefer to kill himself...rather than die on battle land" } new suicidelist[suicidesounds][]= { "allforce_sound_ultimate/suicide1_ultimate" "allforce_sound_ultimate/suicide2_ultimate" "allforce_sound_ultimate/suicide3_ultimate" } new doublelist[maxdbsounds][]= { "allforce_sound_ultimate/doublekill1_ultimate" "allforce_sound_ultimate/doublekill2_ultimate" } is_mode_set(bits) { new mode[9]; get_cvar_string("ut_killstreak_advanced", mode, 8); return read_flags(mode) & bits; } public plugin_init() { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR); killstreaktype = register_cvar("ut_killstreak_advanced", "3"); register_event("ResetHUD", "reset_hud", "b"); register_event("HLTV","rnstart","a", "1=0", "2=0"); register_event("DeathMsg", "event_death", "a"); 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"); rnstartcvar = register_cvar("ut_roundcout_sounds","1"); return PLUGIN_CONTINUE; } public event_death(id) { new killer = read_data(1); new victim = read_data(2); new headshot = read_data(3); new weapon[24], vicname[32], killname[32] read_data(4,weapon,23) get_user_name(victim,vicname,31) get_user_name(killer,killname,31) if(headshot == 1 && get_pcvar_num(hsenable) ==1) { set_hudmessage(0, 0, 255, -1.0, 0.30, 0, 6.0, 6.0) show_hudmessage(0, (hsmessages[random_num(0,3)]), killname, vicname) new i i = random_num(0,hsounds-1) client_cmd(0,"spk %s",hslist[i]) } if(weapon[0] == 'k' && get_pcvar_num(knifeenable) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0) show_hudmessage(0, (knmessages[random_num(0,2)]), killname, vicname) new r r = random_num(0,knsounds-1) client_cmd(0,"spk %s",knlist[r]) } if(firstblood && killer!=victim && killer>0 && get_pcvar_num(firstbloodenable) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0) show_hudmessage(0, (fbmessages[random_num(0,2)]), killname) new t t = random_num(0,fbsounds-1) client_cmd(0,"spk %s",fblist[t]) firstblood = 0 } if(weapon[1] == 'r' && get_pcvar_num(nadecvar) ==1) { set_hudmessage(255, 0, 255, -1.0, 0.30, 0, 6.0, 6.0) show_hudmessage(0,(nademessages[random_num(0,2)]),killname,vicname) client_cmd(0,"spk allforce_sound_ultimate/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_num(0,1)]), vicname) new z z = random_num(0,suicidesounds-1) client_cmd(0,"spk %s",suicidelist[z]) } if(kill[killer][0] && equal(kill[killer],weapon) && 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", killname) kill[killer][0] = 0; new q q= random_num(0,maxdbsounds-1) client_cmd(0,"spk %s",doublelist[q]) } else { kill[killer] = weapon; set_task(0.1,"clear_kill",TASK_CLEAR_KILL+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 PLUGIN_CONTINUE; } } return PLUGIN_CONTINUE; } announce(killer, level) { new 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 PLUGIN_HANDLED; if(get_pcvar_num(killstreaktype) == 1) { show_hudmessage(0, messages[level], name); } if(get_pcvar_num(killstreaktype) == 2) { client_cmd(0, "spk %s", sounds[level]); } if(get_pcvar_num(killstreaktype) == 3) { show_hudmessage(0, messages[level], name); client_cmd(0, "spk %s", sounds[level]); } return PLUGIN_CONTINUE; } public reset_hud(id) { firstblood = 1 if (is_mode_set(16)) { if (kills[id] > levels[0]) { client_print(id, print_chat, "* You are on a killstreak with %d kills.", kills[id]); } else if (deaths[id] > 1) { client_print(id, print_chat, "* Take care, you are on a deathstreak with %d deaths in a row.", 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!") new q q = random_num(0,prpsounds-1) client_cmd(0,"spk %s",preplist[q]) } } public client_connect(id) { kills[id] = 0; deaths[id] = 0; } public clear_kill(taskid) { new id = taskid-TASK_CLEAR_KILL; kill[id][0] = 0; } public plugin_precache() { precache_sound("allforce_sound_ultimate/triplekill_ultimate.wav") precache_sound("allforce_sound_ultimate/multikill_ultimate.wav") precache_sound("allforce_sound_ultimate/ultrakill_ultimate.wav") precache_sound("allforce_sound_ultimate/killingspree_ultimate.wav") precache_sound("allforce_sound_ultimate/megakill_ultimate.wav") precache_sound("allforce_sound_ultimate/holyshit_ultimate.wav") precache_sound("allforce_sound_ultimate/ludicrouskill_ultimate.wav") precache_sound("allforce_sound_ultimate/rampage_ultimate.wav") precache_sound("allforce_sound_ultimate/unstoppable_ultimate.wav") precache_sound("allforce_sound_ultimate/monsterkill_ultimate.wav") precache_sound("allforce_sound_ultimate/headshot1_ultimate.wav") precache_sound("allforce_sound_ultimate/headshot2_ultimate.wav") precache_sound("allforce_sound_ultimate/knife1_ultimate.wav") precache_sound("allforce_sound_ultimate/knife2_ultimate.wav") precache_sound("allforce_sound_ultimate/firstblood1_ultimate.wav") precache_sound("allforce_sound_ultimate/firstblood2_ultimate.wav") precache_sound("allforce_sound_ultimate/prepare1_ultimate.wav") precache_sound("allforce_sound_ultimate/prepare2_ultimate.wav") precache_sound("allforce_sound_ultimate/prepare3_ultimate.wav") precache_sound("allforce_sound_ultimate/nade_ultimate.wav") precache_sound("allforce_sound_ultimate/suicide1_ultimate.wav") precache_sound("allforce_sound_ultimate/suicide2_ultimate.wav") precache_sound("allforce_sound_ultimate/suicide3_ultimate.wav") precache_sound("allforce_sound_ultimate/suicide4_ultimate.wav") precache_sound("allforce_sound_ultimate/doublekill1_ultimate.wav") precache_sound("allforce_sound_ultimate/doublekill2_ultimate.wav") }