#include <amxmodx>
#include <amxmisc>
#include <csx>
#define PLUGIN "Ultimate KillStreak Advanced"
#define VERSION "0.7beta"
#define AUTHOR "Tal[3]nT"
new kills[33] = {0,...};
new deaths[33] = {0,...};
new knifeenable;
new knmessages[][] =
{
"%s la injunghiat pe %s"
};
new knlist[][] =
{
"sunete_server/knife1_ultimate"
};
new levels[10] = {3, 5, 7, 9, 10, 12,14,15,16,18};
new sounds[10][] =
{
"sunete_server/triplekill_ultimate",
"sunete_server/multikill_ultimate",
"sunete_server/ultrakill_ultimate",
"sunete_server/killingspree_ultimate",
"sunete_server/megakill_ultimate",
"sunete_server/holyshit_ultimate",
"sunete_server/ludicrouskill_ultimate",
"sunete_server/rampage_ultimate",
"sunete_server/unstoppable_ultimate",
"sunete_server/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 ! !"
};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("ResetHUD", "reset_hud", "b");
knifeenable = register_cvar("ut_killstreak_knife","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(weapon == CSW_KNIFE && get_pcvar_num(knifeenable) == 1 )
{
set_hudmessage(128, 0, 0, -1.0, 0.32, 0, 6.0, 6.0);
show_hudmessage(0, knmessages[random(sizeof knmessages)], kname, vname);
client_cmd(0,"spk %s",knlist[random(sizeof knlist)]);
}
kills[killer] += 1;
kills[victim] = 0;
deaths[killer] = 0;
deaths[victim] += 1;
for (new i = 0; i < 10; i++)
{
if (kills[killer] == levels)
{
announce(killer, i);
return;
}
}
}
announce(killer, level)
{
static name[33];
new Float:pos[2], i;
pos[0] = 0.05;
pos[1] = 0.66;
get_user_name(killer, name, 32);
for(i = 0; i < 3; i++)
{
set_hudmessage(random(256), random(256), random(256), pos[0], pos[1], 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0, messages[level], name);
pos[0] += 0.05;
pos[1] += 0.01;
}
client_cmd(0, "spk %s", sounds[level]);
return 0;
}
public reset_hud(id)
{
if (is_mode_set(16))
if (kills[id] > levels[0])
client_print(id, print_chat, "* Ai facut %d ucideri la rand.", kills[id]);
else if (deaths[id] > 1)
client_print(id, print_chat, "* Ai fost ucis de %d ori la rand.", deaths[id]);
}
public client_connect(id)
{
kills[id] = 0;
deaths[id] = 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("sunete_server/triplekill_ultimate.wav");
precache_sound("sunete_server/multikill_ultimate.wav");
precache_sound("sunete_server/ultrakill_ultimate.wav");
precache_sound("sunete_server/killingspree_ultimate.wav");
precache_sound("sunete_server/megakill_ultimate.wav");
precache_sound("sunete_server/holyshit_ultimate.wav");
precache_sound("sunete_server/ludicrouskill_ultimate.wav");
precache_sound("sunete_server/rampage_ultimate.wav");
precache_sound("sunete_server/unstoppable_ultimate.wav");
precache_sound("sunete_server/monsterkill_ultimate.wav");
precache_sound("sunete_server/knife1_ultimate.wav");
}