PHP Code:
#include <amxmodx>
#include <amxmisc>
#define VERSION "1.0"
new g_Play[33], g_FirstBlood, g_MultiKills[33], g_Spree[33]
new g_MultiKillLvls[3] = {2, 3, 4}
new g_SpreeLvls[10] = {3, 4, 5, 6, 7, 8, 9 , 10, 11, 12}
new g_MultiKillMsgs[3][] = {
"UT_DOUBLEKILL",
"UT_MULTIKILL",
"UT_ULTRAKILL"
}
new g_SpreeMsgs[10][] = {
"UT_KILLINGSPREE",
"UT_DOMINATING",
"UT_MEGAKILL",
"UT_UNSTOPPABLE",
"UT_WICKEDSICK",
"UT_MONSTERKILL",
"UT_GODLIKE",
"UT_HOLYSHIT",
"UT_RAMPAGE",
"UT_LUDICROUS"
}
new g_MultiKillSnds[3][] =
{
"misc/ut/doublekill.wav",
"misc/ut/multikill.wav",
"misc/ut/ultrakill.wav"
}
new g_SpreeSnds[10][] =
{
"misc/ut/killingspree.wav",
"misc/ut/dominating.wav",
"misc/ut/megakill.wav",
"misc/ut/unstoppable.wav",
"misc/ut/wickedsick.wav",
"misc/ut/1monsterkill.wav",
"misc/ut/godlike.wav",
"misc/ut/1holyshit.wav",
"misc/ut/rampage.wav",
"misc/ut/ludicrouskill.wav"
}
new ut_sounds, ut_play, ut_headshot, ut_firstblood, ut_multikill, ut_spree
public plugin_init()
{
register_plugin("Unreal Tournament Sounds", VERSION, "hleV")
register_dictionary("utsounds.txt")
register_clcmd("say /utsounds", "cmdInfo")
ut_sounds = register_cvar("ut_sounds", VERSION, FCVAR_SPONLY|FCVAR_SERVER)
ut_play = register_cvar("ut_play", "1")
ut_headshot = register_cvar("ut_headshot", "1")
ut_firstblood = register_cvar("ut_firstblood", "1")
ut_multikill = register_cvar("ut_multikill", "0")
ut_spree = register_cvar("ut_spree", "1")
register_event("ResetHUD", "playerSpawn", "be")
register_event("DeathMsg", "playerDeath", "a", "1>0")
g_FirstBlood = 1
}
public cmdInfo(id)
client_print(id, print_chat, "UtSounds", VERSION)
public client_connect(id)
{
g_Play[id] = 1
g_MultiKills[id] = 0
g_Spree[id] = 0
}
public playerSpawn(id)
{
if (get_pcvar_num(ut_play) && g_Play[id] && is_user_alive(id))
{
client_cmd(id, "speak misc/ut/play")
g_Play[id] = 0
}
}
public playerDeath()
{
new killer = read_data(1)
new victim = read_data(2)
if (!get_pcvar_num(ut_sounds) || killer == victim)
return PLUGIN_HANDLED
new headshot, killerName[32]
read_data(3, headshot)
get_user_name(killer, killerName, 31)
if (get_pcvar_num(ut_headshot) && headshot)
{
if (g_MultiKills[killer] <= 0)
{
set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 6.0, 1.5, 0.1, 0.2, -1)
show_hudmessage(killer, "%L", LANG_SERVER, "UT_HEADSHOT")
}
client_cmd(killer, "speak misc/ut/headshot")
}
if (get_pcvar_num(ut_firstblood) && g_FirstBlood)
{
set_hudmessage(255, 0, 0, -1.0, 0.75, 0, 6.0, 5.0, 0.1, 0.2, -1)
show_hudmessage(0, "%L", LANG_SERVER, "UT_FIRSTBLOOD", killerName)
client_cmd(killer, "speak misc/ut/1firstblood")
g_FirstBlood = 0
}
if (get_pcvar_num(ut_multikill))
{
g_MultiKills[killer] += 1
remove_task(killer)
set_task(5.0, "stopMultiKills", killer)
for (new i = 0; i < 7; i++)
{
set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 6.0, 1.5, 0.1, 0.2, -1)
if (g_MultiKills[killer] == g_MultiKillLvls[i])
{
show_hudmessage(killer, "%L", LANG_SERVER, g_MultiKillMsgs[i])
client_cmd(killer, "speak %s", g_MultiKillSnds[i])
}
else if (g_MultiKills[killer] >= 9)
{
show_hudmessage(killer, "%L", LANG_SERVER, "UT_LUDICROUS")
client_cmd(killer, "speak misc/ut/ludicrouskill")
}
}
}
if (get_pcvar_num(ut_spree))
{
new victimName[32]
get_user_name(victim, victimName, 31)
g_Spree[killer] += 1
for (new i; i < 6; i++)
{
set_hudmessage(0, 0, 255, -1.0, 0.75, 0, 6.0, 5.0, 0.1, 0.2, -1)
if (g_Spree[killer] == g_SpreeLvls[i])
{
show_hudmessage(killer, "%L", LANG_SERVER, g_SpreeMsgs[i])
client_cmd(killer, "speak %s", g_SpreeSnds[i])
}
if (g_Spree[victim] >= g_SpreeLvls[i])
show_hudmessage(0, "%L", LANG_SERVER, "UT_SPREEENDED", victimName, killerName)
}
g_Spree[victim] = 0
}
return PLUGIN_CONTINUE
}
public stopMultiKills(id)
g_MultiKills[id] = 0
public plugin_precache()
{
precache_sound("misc/ut/play.wav")
precache_sound("misc/ut/headshot.wav")
precache_sound("misc/ut/1firstblood.wav")
for (new i; i < 7; i++)
precache_sound(g_MultiKillSnds[i])
for (new i; i < 6; i++)
precache_sound(g_SpreeSnds[i])
}