/* Ultimate KillStreak Advanced ! Available Sounds for enemy kills, headshot kills, knife kills , first blood kills , double kill , round counter. 1) 10 Dźwięków dla ilości zabijanych wrogów: - Za 3 zabicia -> dźwięk TripleKill - 4 -> dźwięk MultiKill - 6 -> dźwięk UltraKill - 8 -> dźwięk KillingSpree - 10 -> dźwięk MegaKill - 12 -> dźwięk Holy Shit - 14 -> dźwięk Ludicrouskill - 15 -> dźwięk Rampage - 16 -> dźwięk Unstoppable - 18 -> dźwięk Monster Kill 2) 2 dźwięki dla Zabicia Strzałem w Głowę (losowo odtwarzane) 3) 2 dźwięki dla Zabicia Nożem (losowo odtwarzane) 4) 2 dźwięki dla Pierwszej Krwi (losowo odtwarzane) 5) 3 dźwięki dla Licznika Rund (losowo odtwarzane) 6) 1 dźwięki dla Zabicia Granatem 7) 4 dźwięki dla Samobójstwa (losowo odtwarzane) 8) 2 dźwięki dla Zabicia 2 na raz (losowo odtwarzane) * CVARs: - ut_killstreak_advanced (default 3) - włącza/wyłącza kill report, hudmessages 1 = Tylko wiadomości w hudzie 2 = Tylko dzwięki 3 = Dzwięki i wiadomości w hudzie Każda inna liczba wyłącza plugin - ut_killstreak_hs (domyślnie 1) -> włącza/wyłącza 2 dźwięki wraz wiadomością w hudzie o Zabiciu Strzałem w Głowę - ut_killstreak_knife (domyślnie 1) -> włącza/wyłącza 2 dźwięki wraz wiadomością w hudzie o Zabiciu nożem - ut_firstblood (domyślnie 1) -> włącza/wyłącza 2 dźwięki wraz wiadomością w hudzie o Pierwszej Krwi - ut_nade_events (domyślnie 1) -> włącza/wyłącza 2 dźwięki wraz wiadomością w hudzie o Zabiciu Granatem - ut_suicide_events (domyślnie 1) -> włącza/wyłącza 2 dźwięki wraz wiadomością w hudzie o Samobójstwie - ut_doublekill_events (domyślnie 1) -> włącza/wyłącza 2 dźwięki wraz wiadomością w hudzie o Podwójnym Zabiciu - ut_roundcout_sounds (domyślnie 1) -> włącza/wyłącza Licznik rund wraz z 3 dźwiękami na początku rundy,wiadomością w hudzie * [UPDATE] 0.6 - > 0.7 (10/02/2007) - Changed the ul_killstreak_advanced cvar (read on head plugin at "CVARS" - Chaged the cord of hudmessages, to be to center - Now on killstreak announce, messages will be with random colors * [UPDATE] 0.5 -> 0.6 - Fixed bugs - Added Round Counter Cvar: ut_roundcout_sounds * [UPDATE] 0.4 -> 0.5 - Added Double Kill Events Cvar : ut_doublekill_events (default 1) Sounds : 2 sounds (random play) Messages : 1 Hud Message This is only if you kill 2 players with a bullet * [UPDATE] 0.3 -> 0.4 - Added Grenade Kill Events -> Cvar : ut_nade_events (default 1) Sounds : 1 sound Messages : 4 hud messages (random display) - Added Suicide Events Cvar : ut_suicide_events (default 1) Sounds : 4 (random play) Messages : 2 hud messages (random display) * [UPDATE] 0.2 -> 0.3 - Added First Blood Events: Cvar : ut_firstblood (default 1) Sounds : 2 sounds (random play) Messages : 3 hud messages (random display) - Added Round Counter Events: Sounds : 3 sounds (random play) Messages : 1 hud message * [UPDATE] 0.1 -> 0.2 - Added new 4 headshot kill messages - Added new 3 knife kill messages This messages will displayed at random * Install: 1) Wgraj plugin 2) Skopiuj folder "ultimate_sounds" do "cstrikesound" 3) Zrestartuj Serwer * Credits: - xxAvalancheXx for double kill codes - jim_yang for some sugestion and grenade events codes - bo0m! for help me with an register event function - Duca for Streak Mode Example * Have a nice day now */ #include <amxmodx> #include <amxmisc> #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[][] = { "misc/mito/ultimatesounds/headshot1_ultimate", "misc/mito/ultimatesounds/headshot2_ultimate" }; new knmessages[][] = { "Psychol %s wbil noz %s prosto w serce!", "%s dzgnol nozem %s", "%s operowal %s niestety pacjent zmarl!" }; new knlist[][] = { "misc/mito/ultimatesounds/knife1_ultimate", "misc/mito/ultimatesounds/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[][] = { "misc/mito/ultimatesounds/firstblood1_ultimate", "misc/mito/ultimatesounds/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!", "%s jest idiotom!" }; new suicidelist[][] = { "misc/mito/ultimatesounds/suicide1_ultimate", "misc/mito/ultimatesounds/suicide2_ultimate", "misc/mito/ultimatesounds/suicide3_ultimate", "misc/mito/ultimatesounds/suicide4_ultimate" }; new doublelist[][] = { "misc/mito/ultimatesounds/doublekill1_ultimate", "misc/mito/ultimatesounds/doublekill2_ultimate" } new levels[10] = {3, 4, 6, 8, 10, 12,14,15,16,18}; new sounds[10][] = { "misc/mito/ultimatesounds/triplekill_ultimate", "misc/mito/ultimatesounds/multikill_ultimate", "misc/mito/ultimatesounds/ultrakill_ultimate", "misc/mito/ultimatesounds/killingspree_ultimate", "misc/mito/ultimatesounds/megakill_ultimate", "misc/mito/ultimatesounds/holyshit_ultimate", "misc/mito/ultimatesounds/ludicrouskill_ultimate", "misc/mito/ultimatesounds/rampage_ultimate", "misc/mito/ultimatesounds/unstoppable_ultimate", "misc/mito/ultimatesounds/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: Monster Kill!" }; new preplist[][] = { "misc/mito/ultimatesounds/prepare1_ultimate", "misc/mito/ultimatesounds/prepare2_ultimate", "misc/mito/ultimatesounds/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(255, 0, 0, -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, 0, -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, 0, -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, 0, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,nademessages[random(sizeof nademessages)],kname,vname); client_cmd(0,"spk misc/mito/ultimatesounds/nade_ultimate"); } if(killer == victim && get_pcvar_num(suicidecvar) ==1) { set_hudmessage(255, 0, 0, -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, 0, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,"WoW %s zabil 2 naraz!", 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 <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/mouthshut.gif' class='bbc_emoticon' alt=':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, 0, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0,"WoW %s zabil 2 naraz", 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, 0, -1.0, 0.30, 0, 6.0, 6.0); show_hudmessage(0, "Przygotuj sie do bitwy!"); 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("misc/mito/ultimatesounds/triplekill_ultimate.wav") precache_sound("misc/mito/ultimatesounds/multikill_ultimate.wav") precache_sound("misc/mito/ultimatesounds/ultrakill_ultimate.wav") precache_sound("misc/mito/ultimatesounds/killingspree_ultimate.wav") precache_sound("misc/mito/ultimatesounds/megakill_ultimate.wav") precache_sound("misc/mito/ultimatesounds/holyshit_ultimate.wav") precache_sound("misc/mito/ultimatesounds/ludicrouskill_ultimate.wav") precache_sound("misc/mito/ultimatesounds/rampage_ultimate.wav") precache_sound("misc/mito/ultimatesounds/unstoppable_ultimate.wav") precache_sound("misc/mito/ultimatesounds/monsterkill_ultimate.wav") precache_sound("misc/mito/ultimatesounds/headshot1_ultimate.wav") precache_sound("misc/mito/ultimatesounds/headshot2_ultimate.wav") precache_sound("misc/mito/ultimatesounds/knife1_ultimate.wav") precache_sound("misc/mito/ultimatesounds/knife2_ultimate.wav") precache_sound("misc/mito/ultimatesounds/firstblood1_ultimate.wav") precache_sound("misc/mito/ultimatesounds/firstblood2_ultimate.wav") precache_sound("misc/mito/ultimatesounds/prepare1_ultimate.wav") precache_sound("misc/mito/ultimatesounds/prepare2_ultimate.wav") precache_sound("misc/mito/ultimatesounds/prepare3_ultimate.wav") precache_sound("misc/mito/ultimatesounds/nade_ultimate.wav") precache_sound("misc/mito/ultimatesounds/suicide1_ultimate.wav") precache_sound("misc/mito/ultimatesounds/suicide2_ultimate.wav") precache_sound("misc/mito/ultimatesounds/suicide3_ultimate.wav") precache_sound("misc/mito/ultimatesounds/suicide4_ultimate.wav") precache_sound("misc/mito/ultimatesounds/doublekill1_ultimate.wav") precache_sound("misc/mito/ultimatesounds/doublekill2_ultimate.wav") }
Dam "POMOGL"