Post by tousif on Jan 9, 2015 11:33:03 GMT
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <engine>
#include <dhudmessage>
#define ADMIN_FLAG ADMIN_KICK
new g_iHP, g_iAHP, g_iFrag
new g_msgSayText
#define MAX_PLAYERS 32
new g_iK
new const g_ChatAdvertise[ ][ ] = {
"!t This Server Is Using !gKnifeitup v3.0 !tMade By !gGullu Bhai"
}
public plugin_init()
{
register_plugin("Knifeit UP", "3.0", "Gullu Bhai")
register_event("DeathMsg", "Event_deathMsg", "a")
g_iHP = register_cvar("cs_health_bonus", "25")
g_iAHP = register_cvar("cs_admin_health_bonus", "100")
g_iFrag = register_cvar("cs_frag_bonus", "5")
register_cvar("knife_sound", "1")
g_msgSayText = get_user_msgid("SayText")
set_task(20.0, "ChatAdvertisements", _, _, _, "b" )
}
new CustomSound[][] =
{
"misc/knife1.wav",
"misc/knife2.wav",
"misc/knife3.wav",
"misc/knife4.wav",
"misc/knife5.wav"
}
public plugin_precache()
{
for ( new i; i < sizeof CustomSound; i++ )
{
precache_sound( CustomSound[ i ]);
}
}
public Event_deathMsg()
{
if(get_cvar_num("knife_sound") == 1)
{
new Killer = read_data(1)
new Victim = read_data(2)
if (!is_user_alive(Killer) || Victim == Killer )
return PLUGIN_HANDLED;
new CheckWeapon[6]
read_data(4, CheckWeapon, charsmax(CheckWeapon))
if (equali(CheckWeapon, "knife"))
{
new szName[32], szName2[32]
get_user_name(Killer, szName, charsmax(szName))
get_user_name(Victim, szName2, charsmax(szName2))
if(get_user_flags(Victim) & ADMIN_FLAG)
{
emit_sound(0, CHAN_VOICE, CustomSound[ random_num( 0, charsmax( CustomSound ) ) ], VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
set_dhudmessage(0, 0, 255, -1.0, -1.0)
show_dhudmessage(0, "%s Knife Admin %s ! lol", szName, szName2)
set_user_health(Killer, get_user_health(Killer) + get_pcvar_num(g_iAHP))
set_user_frags(Killer, get_user_frags(Killer) + get_pcvar_num(g_iFrag))
}
else
{
print_colored(0, "!g[GOD]!t%s !ggot !t%d !gfrags and !t%d !gHP for slashing !t%s", szName, get_pcvar_num(g_iFrag), get_pcvar_num(g_iHP), szName2);
emit_sound(0, CHAN_VOICE, CustomSound[ random_num( 0, charsmax( CustomSound ) ) ], VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
set_user_health(Killer, get_user_health(Killer) + get_pcvar_num(g_iHP))
set_user_frags(Killer, get_user_frags(Killer) + get_pcvar_num(g_iFrag))
}
}
}
return PLUGIN_CONTINUE;
}
stock print_colored(const index, const input [ ], const any:...)
{
new message[191]
vformat(message, 190, input, 3)
replace_all(message, 190, "!y", "^1")
replace_all(message, 190, "!t", "^3")
replace_all(message, 190, "!g", "^4")
if(index)
{
//print to single person
message_begin(MSG_ONE, g_msgSayText, _, index)
write_byte(index)
write_string(message)
message_end()
}
else
{
//print to all players
new players[32], count, i, id
get_players(players, count, "ch")
for( i = 0; i < count; i ++ )
{
id = players[i]
if(!is_user_connected(id)) continue;
message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, id)
write_byte(id)
write_string(message)
message_end()
}
}
}
//Adv
public ChatAdvertisements(id)
{
new Players[ MAX_PLAYERS ]
new iNum
new i
get_players( Players, iNum, "b" )
for( --iNum; iNum >= 0; iNum-- )
{
i = Players[ iNum ]
{
print_colored(i,g_ChatAdvertise[ g_iK ])
}
}
g_iK++
if( g_iK >= sizeof g_ChatAdvertise )
{
g_iK = 0
}
}