#include <amxmodx>
#define KNIFFMESSAGES 4
#define LEVELS 7
#define MESSAGESNOHP 4
#define MESSAGESHP 4
new kills[33] = {0,...};
new deaths[33] = {0,...};
new alone_ann = 0
new levels[7] = {3, 5, 7, 9, 10, 13, 15};
new stksounds[7][] = {
"misc/qs/dominujesz",
"misc/qs/bestia",
"misc/qs/inponujace",
"misc/qs/kolekcjoner",
"misc/qs/niszczyciel",
"misc/qs/gniew_boga",
"misc/qs/windykator_zbrodni"};
new stkmessages[7][] = {
"%s: Dominujesz!",
"%s: Bestia!",
"%s: Inponujace!",
"%s: Kolekcjoner!",
"%s: Natchcela Niszczycielska Sila!",
"%s: Opental Gniew Boga!",
"%s: Jest Windykatorem Zbrodni!"};
new kniffmessages[KNIFFMESSAGES][] = {
"%s pokroil na plasterki %s!",
"%s odcial jaja %s!",
"%s przetestowal noz na %s!",
"%s dziabnal %s!"}
new messagesnohp[MESSAGESNOHP][] = {
"%i terrorystow vs %i CT^n%s: Wszystko zalezy od Ciebie!",
"%i terrorystow vs %i CT^n%s: Mam nadzieje ze masz apteczke?",
"%i terrorystow vs %i CT^n%s: Zostales sam. Dobrej zabawy!",
"%i terrorystow vs %i CT^n%s: Tylko Ty jestes zywy!"}
new messageshp[MESSAGESHP][] = {
"%i terrorystow vs %i CT^n%s (%i hp): Wszystko zalezy od Ciebie!",
"%i terrorystow vs %i CT^n%s (%i hp): Mam nadzieje ze masz apteczke?",
"%i terrorystow vs %i CT^n%s (%i hp): Zostales sam. Dobrej zabawy!",
"%i terrorystow vs %i CT^n%s (%i hp): Tylko Ty jestes zywy!"}
get_streak()
{
new streak[3]
get_cvar_string("streak_mode",streak,2)
return read_flags(streak)
}
public death_event(id)
{
new streak = get_streak()
if ((streak&1) || (streak&2))
{
new killer = read_data(1);
new victim = read_data(2);
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 streak = get_streak()
if (streak&1)
{
new name[32];
get_user_name(killer, name, 32);
set_hudmessage(0, 100, 200, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0, stkmessages[level], name);
}
if (streak&2){
client_cmd(0, "spk %s", stksounds[level]);
}
}
public reset_hud(id)
{
new streak = get_streak()
if (streak&1)
{
if (kills[id] > levels[0])
{
client_print(id, print_chat,
"* Twoj killstreak wynosi %d zabojstw.", kills[id]);
}
else if (deaths[id] > 1)
{
client_print(id, print_chat,
"* Twoj deathstreak wynosi %d smierci.", deaths[id]);
}
}
}
public client_connect(id)
{
new streak = get_streak()
if ((streak&1) || (streak&2))
{
kills[id] = 0;
deaths[id] = 0;
}
}
public knife_kill()
{
new kniffmode[4]
get_cvar_string("kniff_mode",kniffmode,4)
new kniffmode_bit = read_flags(kniffmode)
if (kniffmode_bit & 1)
{
new killer_id = read_data(1)
new victim_id = read_data(2)
new killer_name[33], victim_name[33]
get_user_name(killer_id,killer_name,33)
get_user_name(victim_id,victim_name,33)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(0,kniffmessages[ random_num(0,KNIFFMESSAGES-1) ],killer_name,victim_name)
}
if (kniffmode_bit & 2)
{
}
}
public roundend_msg(id)
alone_ann = 0
public death_msg(id)
{
new lmmode[8]
get_cvar_string("lastman_mode",lmmode,8)
new lmmode_bit = read_flags(lmmode)
new players_ct[32], players_t[32], ict, ite, last
get_players(players_ct,ict,"ae","CT")
get_players(players_t,ite,"ae","TERRORIST")
if (ict==1&&ite==1)
{
new name1[32], name2[32]
get_user_name(players_ct[0],name1,32)
get_user_name(players_t[0],name2,32)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
if (lmmode_bit & 1)
{
if (lmmode_bit & 2)
{
show_hudmessage(0,"%s (%i hp) vs. %s (%i hp)",name1,get_user_health(players_ct[0]),name2,get_user_health(players_t[0]))
}
else
{
show_hudmessage(0,"%s vs. %s",name1,name2)
}
if (lmmode_bit & 4)
{
}
}
}
else
{
if (ict==1&&ite>1&&alone_ann==0&&(lmmode_bit & 4))
{
last=players_ct[0]
}
else if (ite==1&&ict>1&&alone_ann==0&&(lmmode_bit & 4))
{
last=players_t[0]
}
else
{
return PLUGIN_CONTINUE
}
alone_ann = last
new name[32]
get_user_name(last,name,32)
if (lmmode_bit & 1)
{
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
if (lmmode_bit & 2)
{
show_hudmessage(0,messageshp[ random_num(0,MESSAGESHP-1) ],ite ,ict ,name,get_user_health(last))
}
else
{
show_hudmessage(0,messagesnohp[ random_num(0,MESSAGESNOHP-1) ],ite ,ict ,name )
}
}
}
return PLUGIN_CONTINUE
}
public hs()
{
new hsmode[4]
get_cvar_string("hs_mode",hsmode,4)
new hsmode_bit = read_flags(hsmode)
new rand = random_num(0,2)
if (hsmode_bit & 1)
{
new killer_id = read_data(1)
new victim_id = read_data(2)
new victim_name[33]
get_user_name(victim_id,victim_name,33)
set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 3.0, 3.0, 0.15, 0.15, 1)
switch(rand)
{
case 0: show_hudmessage(killer_id,"L e b s z o T!^n Pwn3d %s !!",victim_name)
case 1: show_hudmessage(killer_id,"P s y c h o p a t A^n Zownowales %s !!",victim_name)
case 2: show_hudmessage(killer_id,"W i e c z n y L o w c a!",victim_name)
}
}
if (hsmode_bit & 2)
{
switch(rand)
{
case 0: client_cmd(0,"spk misc/qs/lebszot")
case 1: client_cmd(0,"spk misc/qs/psychopata")
case 2: client_cmd(0,"spk misc/qs/wieczny_lowca")
}
}
}
public plugin_precache()
{
precache_sound("misc/qs/dominujesz.wav")
precache_sound("misc/qs/bestia.wav")
precache_sound("misc/qs/imponujace.wav")
precache_sound("misc/qs/kolekcjoner.wav")
precache_sound("misc/qs/niszczyciel.wav")
precache_sound("misc/qs/gniew_boga.wav")
precache_sound("misc/qs/windykator_zbrodni.wav")
precache_sound("misc/qs/lebszot.wav")
precache_sound("misc/qs/psychopata.wav")
precache_sound("misc/qs/wieczny_lowca.wav")
return PLUGIN_CONTINUE
}
public plugin_init()
{
register_plugin("Polski KillStreak","1.6","Dizzy & Sn!ff3r")
register_event("DeathMsg","hs","a","3=1")
register_event("DeathMsg","knife_kill","a","4&kni")
register_event("ResetHUD", "reset_hud", "b");
register_event("DeathMsg", "death_event", "a")
register_event("SendAudio","roundend_msg","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
register_event("TextMsg","roundend_msg","a","2&#Game_C","2&#Game_w")
register_event("DeathMsg","death_msg","a")
register_cvar("lastman_mode","abc")
register_cvar("streak_mode","ab")
register_cvar("kniff_mode","ab")
register_cvar("hs_mode","ab")
register_cvar("polish_killstreak", "1.6", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
return PLUGIN_CONTINUE
}
Użytkownik maciej916 edytował ten post 24.02.2012 18:46