#include <amxmodx>
#include <fakemeta>
#define LEVELS 20
new kills[33] = {0,...};
new timekill[33] = {0,...};
new victims[33] = {0,...};
new levels[20] = {1, 2, 3, 4, 5, 6, 7, 8 ,9,10,11,12,13,14,15,16,17,18,19,20};
new spr_current[33] = {0,...}
new time_show_set[33] = {0,...}
new iconstatus, time_show = 3, g_firstBlood, g_lastkill
new g_maxplayers
public plugin_init() {
register_plugin("Effects Killer","1.0","NST")
register_event("TextMsg", "eRestart", "a", "2&#Game_C", "2&#Game_w")
register_event("SendAudio", "eEndRound", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
register_event("RoundTime", "eNewRound", "bc")
// register_cvar("nst_ek_time_kill","10")
//register_cvar("nst_ek_sex","1")
register_cvar("nst_ek_type","1")
register_forward(FM_PlayerPreThink,"check_spr")
iconstatus = get_user_msgid("StatusIcon")
g_maxplayers = get_maxplayers()
//return PLUGIN_CONTINUE
}
public client_death(killer, victim, wpnindex, hitplace, TK)
{
if (killer == victim) return PLUGIN_HANDLED
kills[victim] = 0
victims[victim] = killer
new headshot = (hitplace == HIT_HEAD) ? 1 : 0
/*
new sec_c = get_systime()
new timekill_cvar = get_cvar_num("nst_ek_time_kill")
new timeleft = sec_c-timekill[killer]
timekill[killer] = sec_c
if (timeleft<=timekill_cvar) kills[killer] += 1;
else kills[killer] = 1;
if (kills[killer]>LEVELS) kills[killer] = 1*/
kills[killer] += 1;
new players_ct[32], players_t[32], ict, ite
get_players(players_ct,ict,"ae","CT")
get_players(players_t,ite,"ae","TERRORIST")
if (ict == 0 || ite == 0) g_lastkill = 1
if (kills[killer] == 1 || g_lastkill == 1 || kills[killer] > 20 ) {
if (g_firstBlood)
{
g_firstBlood = 0
show_spr(killer, 21)
show_msg(killer,"FIRST KILL")
client_cmd(killer, "spk misc/MultiKill/MultiKill_1");
}
else if (g_lastkill == 1)
{
g_lastkill = 0
show_spr(killer, 26)
show_msg(killer,"LAST KILL")
client_cmd(killer, "spk misc/MultiKill/MultiKill_1");
}
else if (victim == victims[killer])
{
show_spr(killer, 27)
show_msg(killer,"PHUC THU")
client_cmd(killer,"spk misc/MultiKill/Revenge")
victims[killer] = 0
}
else if (headshot && wpnindex)
{
show_spr(killer, 23)
show_msg(killer,"HEADSHOT")
client_cmd(killer,"spk misc/MultiKill/Headshot")
}
else if (wpnindex == CSW_HEGRENADE)
{
show_spr(killer, 22)
show_msg(killer,"HEGRENADE KILL")
client_cmd(killer,"spk misc/MultiKill/Grenadekill")
}
else if (wpnindex == CSW_KNIFE)
{
show_spr(killer, 25)
show_msg(killer,"KNIFE KILL")
client_cmd(killer,"spk misc/MultiKill/Knifekill")
}
else if (kills[killer] == 1 )
{
show_spr(killer, 1)
show_msg(killer, "1 KILL");
client_cmd(killer, "spk misc/MultiKill/MultiKill_1");
}
}
else {
for (new i = 0; i <= LEVELS; i++)
{
if (kills[killer] == levels[i])
{
show_spr(killer, (i+1))
new msg[33]
format (msg ,33, "%i KILL", (i+1));
show_msg(killer, msg);
client_cmd(killer, "spk misc/MultiKill/MultiKill_%i", (i+1));
return PLUGIN_CONTINUE;
}
}
}
return PLUGIN_CONTINUE
}
public bomb_defused(defuser)
{
show_spr(defuser, 28)
client_cmd(defuser, "spk misc/MultiKill/C4_Defuse");
}
public bomb_planted(planter)
{
show_spr(planter, 29)
client_cmd(planter, "spk misc/MultiKill/C4_Set");
}
public show_msg(killer, msg[])
{
new type_cvar = get_cvar_num("nst_ek_type")
if (type_cvar == 2)
{
set_hudmessage(0, 204, 0, -1.0, 0.65, 1, 0.02, 3.0, 0.3, 0.3, 2)
show_hudmessage(killer, msg);
}
return PLUGIN_CONTINUE
}
public show_spr(id, idspr)
{
new type_cvar = get_cvar_num("nst_ek_type")
if (type_cvar == 1)
{
new sec_c = get_systime()
time_show_set[id] = sec_c
hide_spr(id, spr_current[id])
spr_current[id] = idspr
new spr_name[33]
if (idspr==1) spr_name = "kill_1"
if (idspr==2) spr_name = "kill_2"
if (idspr==3) spr_name = "kill_3"
if (idspr==4) spr_name = "kill_4"
if (idspr==5) spr_name = "kill_5"
if (idspr==6) spr_name = "kill_6"
if (idspr==7) spr_name = "kill_7"
if (idspr==8) spr_name = "kill_8"
if (idspr==9) spr_name = "kill_9"
if (idspr==10) spr_name = "kill_10"
if (idspr==11) spr_name = "kill_11"
if (idspr==12) spr_name = "kill_12"
if (idspr==13) spr_name = "kill_13"
if (idspr==14) spr_name = "kill_14"
if (idspr==15) spr_name = "kill_15"
if (idspr==16) spr_name = "kill_16"
if (idspr==17) spr_name = "kill_17"
if (idspr==18) spr_name = "kill_18"
if (idspr==19) spr_name = "kill_19"
if (idspr==20) spr_name = "kill_20"
if (idspr==21) spr_name = "kill_first"
if (idspr==22) spr_name = "kill_he"
if (idspr==23) spr_name = "kill_headshot"
if (idspr==24) spr_name = "kill_headshot_gold"
if (idspr==25) spr_name = "kill_knife"
if (idspr==26) spr_name = "kill_last"
if (idspr==27) spr_name = "kill_revenge"
if (idspr==28) spr_name = "c4_defuse"
if (idspr==29) spr_name = "c4_set"
if(!(pev(id,pev_button) & FL_ONGROUND))
{
message_begin(MSG_ONE,iconstatus,{0,0,0},id);
write_byte(1); // status (0=hide, 1=show, 2=flash)
write_string(spr_name); // sprite name
message_end();
}
}
return PLUGIN_CONTINUE
}
public hide_spr(id, idspr)
{
new spr_name[33]
if (idspr==1) spr_name = "kill_1"
if (idspr==2) spr_name = "kill_2"
if (idspr==3) spr_name = "kill_3"
if (idspr==4) spr_name = "kill_4"
if (idspr==5) spr_name = "kill_5"
if (idspr==6) spr_name = "kill_6"
if (idspr==7) spr_name = "kill_7"
if (idspr==8) spr_name = "kill_8"
if (idspr==9) spr_name = "kill_9"
if (idspr==10) spr_name = "kill_10"
if (idspr==11) spr_name = "kill_11"
if (idspr==12) spr_name = "kill_12"
if (idspr==13) spr_name = "kill_13"
if (idspr==14) spr_name = "kill_14"
if (idspr==15) spr_name = "kill_15"
if (idspr==16) spr_name = "kill_16"
if (idspr==17) spr_name = "kill_17"
if (idspr==18) spr_name = "kill_18"
if (idspr==19) spr_name = "kill_19"
if (idspr==20) spr_name = "kill_20"
if (idspr==21) spr_name = "kill_first"
if (idspr==22) spr_name = "kill_he"
if (idspr==23) spr_name = "kill_headshot"
if (idspr==24) spr_name = "kill_headshot_gold"
if (idspr==25) spr_name = "kill_knife"
if (idspr==26) spr_name = "kill_last"
if (idspr==27) spr_name = "kill_revenge"
if (idspr==28) spr_name = "c4_defuse"
if (idspr==29) spr_name = "c4_set"
if(!(pev(id,pev_button) & FL_ONGROUND))
{
message_begin(MSG_ONE,iconstatus,{0,0,0},id);
write_byte(0); // status (0=hide, 1=show, 2=flash)
write_string(spr_name); // sprite name
message_end();
spr_current[id] = 0
}
return PLUGIN_CONTINUE
}
public check_spr(id)
{
new idspr = spr_current[id]
if (idspr > 0)
{
new sec_c = get_systime()
new time_check = sec_c - time_show_set[id]
if (time_check>time_show) hide_spr(id, idspr)
}
return PLUGIN_CONTINUE
}
public eNewRound()
{
if (read_data(1) == floatround(get_cvar_float("mp_roundtime") * 60.0,floatround_floor))
{
g_firstBlood = 1
for ( new i = 1; i <= g_maxplayers; i++ )
{
kills[i] = 0
}
}
}
public eRestart()
{
eEndRound()
g_firstBlood = 1
}
public eEndRound()
{
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/