/* 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"


Dodatki SourceMod



Temat jest zamknięty









