I tryed my best to make this plugin better but Im sure its pretty messed up, it works I think, but Im sure there is a much better way for doing it.
Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
new g_ForceRulesCount[32]
public plugin_init() {
register_plugin("ForceRules","1.1","Nick")
register_concmd("amx_forcerules","ForceRules",ADMIN_SLAY,"<nick or steamid>")
return PLUGIN_CONTINUE
}
public plugin_precache()
{
precache_sound("misc/tslap.wav")
}
public client_connect(id) {
g_ForceRulesCount[id] = 0
}
public ForceRules(id,level,cid) {
if (!cmd_access(id,level,cid,2)) {
return PLUGIN_HANDLED
}
switch (++g_ForceRulesCount[id])
{
// 1st Punishment - Makes player glow pink
//======================================================================
case 1:
{
new arg[32]
read_argv(1,arg,31)
new player = cmd_target(id,arg,0)
if (!player)
return PLUGIN_HANDLED
new authid[16],name2[32],authid2[16],name[32]
get_user_authid(id,authid,15)
get_user_name(id,name,31)
get_user_authid(player,authid2,15)
get_user_name(player,name2,31)
set_user_rendering(player, kRenderFxGlowShell, 255, 0, 255, kRenderTransAlpha, 255)
show_motd(player,"/addons/amxx/custom/forcerules.txt","Follow these rules!")
client_cmd(0,"spk barney/ba_dontmake")
set_hudmessage(255, 0, 0, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0,"%s has been warned 1/5 times",name)
client_print(0,print_chat,"[AMXX] 1st warning...Now glow pink")
return PLUGIN_HANDLED
}
// 2nd Punishment - Slaps player with 99 damage
//=======================================================================
case 2:
{
new arg[32]
read_argv(1,arg,31)
new player = cmd_target(id,arg,0)
if (!player)
return PLUGIN_HANDLED
user_slap(player,99)
show_motd(player,"/addons/amxx/custom/forcerules.txt","Follow these rules!")
new authid[16],name2[32],authid2[16],name[32]
get_user_authid(id,authid,15)
get_user_name(id,name,31)
get_user_authid(player,authid2,15)
get_user_name(player,name2,31)
log_to_file("addons/amxx/custom/forcerules.log","Cmd: ^"%s<%d><%s><>^" (ForceRules) ^"%s<%d><%s><>^"",
name,get_user_userid(id),authid, name2,get_user_userid(player),authid2)
client_cmd(0,"spk misc/tslap.wav")
set_hudmessage(255, 0, 0, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0,"%s has been warned 2/5 times",name)
client_print(0,print_chat,"[AMXX] 2nd warning...slapped with 99 damage")
return PLUGIN_HANDLED
}
// 3rd Punishment - Slays player
//========================================================================
case 3:
{
new arg[32]
read_argv(1,arg,31)
new player = cmd_target(id,arg,0)
if (!player)
return PLUGIN_HANDLED
user_kill(player)
show_motd(player,"/addons/amxx/custom/forcerules.txt","Follow these rules!")
new authid[16],name2[32],authid2[16],name[32]
get_user_authid(id,authid,15)
get_user_name(id,name,31)
get_user_authid(player,authid2,15)
get_user_name(player,name2,31)
log_to_file("addons/amxx/custom/forcerules.log","Cmd: ^"%s<%d><%s><>^" (ForceRules) ^"%s<%d><%s><>^"",
name,get_user_userid(id),authid, name2,get_user_userid(player),authid2)
client_cmd(0, "spk ^"warning we have a ass hole^"")
set_hudmessage(255, 0, 0, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0,"%s WARNING 3/5, last chance",name)
client_print(0,print_chat,"[AMXX] 3rd warning...now being slayed")
return PLUGIN_HANDLED
}
// 4th Punishment - Starts vote to kick player
//=========================================================================
case 4:
{
new arg[32]
read_argv(1,arg,31)
new player = cmd_target(id,arg,0)
if (!player)
new Kickname[32]
get_user_name(player,Kickname,32)
client_cmd(0,"spk barney/ba_endline")
set_hudmessage(255, 0, 0, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0,"Voting has started to kick")
client_print(0,print_chat,"[AMXX] %s WARNED 4/5 times, voting has started")
server_cmd("amx_votekick %s",Kickname)
return PLUGIN_HANDLED
}
// 5th Punishment - Kicks player
//=========================================================================
case 5:
{
new arg[32]
read_argv(1,arg,0)
new player = cmd_target(id,arg,0)
if (!player)
new Kickname[32]
get_user_name(player,Kickname,32)
set_hudmessage(255, 0, 0, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
show_hudmessage(0,"%s 5/5 now being kicked.")
client_print(0,print_chat,"[AMXX] %s WARNED 5/5 times, voting has started")
server_cmd("amx_kick %s",Kickname)
return PLUGIN_HANDLED
}
}
}
And I also get a run time error on line 176, I don't know why either.