Senior Member
Join Date: Feb 2012
Location: Romania
|
03-08-2013
, 04:09
plugin minor error
|
#1
|
i want to ban target, not on authid , on ip.. : code
Quote:
server_cmd("kick #%d;wait;wait;wait;addip %d ^"%s^";wait;wait;wait;writeip", get_user_ip);
|
here is all plugin...:
Code:
#include <amxmodx>
#include <amxmisc>
new g_Warn[33],name[32],namet[32],auth[32],address[32],warn_max,p_max,warn_punish,warn_ban_lenght,p_lenght;
public plugin_init() {
register_plugin("Warn Playesr","1.0","anakin_cstrike");
register_concmd("amx_addwarn","addwarn_cmd",ADMIN_BAN,"<nume> + <motiv> <Adauga un warn userului>");
register_concmd("amx_removewarn","removewarn_cmd",ADMIN_LEVEL_H);
warn_max = register_cvar("warn_max","3");
warn_punish = register_cvar("warn_punish","3");
warn_ban_lenght = register_cvar("warn_ban_lenght","120");
p_max = get_pcvar_num(warn_max);
p_lenght = get_pcvar_num(warn_ban_lenght);
}
public addwarn_cmd(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg[32],reason[32];
read_argv(1,arg,31);
read_argv(2,reason,31);
remove_quotes(reason);
get_user_name(id,name,31);
new target = cmd_target(id,arg,8);
if(!target) return PLUGIN_HANDLED;
get_user_name(target,namet,31);
get_user_authid(target,auth,31)
get_user_ip(target,address,31)
g_Warn[target] += 1
log_amx("ADMIN %s: Added user warning: %s.",name,namet);
if(reason[0]) chat_color(target,"!team[vS] !yAdminul !g%s !yte.a avertizat,motiv: !g%s",name,reason);
else chat_color(target,"!team[vS] !yAdminul !g%s !yte.a avertizat!",name);
console_print(id,"User warned succesfull!");
if(g_Warn[target] >= p_max)
{
switch(get_pcvar_num(warn_punish))
{
case 1:
{
server_cmd("kick #%d ^"%dWarnings!^"",get_user_userid(target),g_Warn[target]);
client_print(0,print_chat,"%s: Kick due to %d warnings!",name,g_Warn[target]);
}
case 2:
{
set_task(3.0,"quit",target);
client_print(target,print_chat,"%d Warnings ! You will now exit the game!",g_Warn[target]);
}
case 3:
{
server_cmd("kick #%d;wait;wait;wait;addip %d ^"%s^";wait;wait;wait;writeip", get_user_ip);
chat_color(0,"!team[vS] !g%s: !yBan lui !g%s !ypentru !g%d !yminute datorita celor !g%d !yavertizari!",name,target,p_lenght,g_Warn[target]);
}
}
g_Warn[target] = 0;
}
return PLUGIN_CONTINUE;
}
public removewarn_cmd(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg[32],reason[32];
read_argv(1,arg,31);
read_argv(2,reason,31);
remove_quotes(reason);
get_user_name(id,name,31);
new target = cmd_target(id,arg,8);
if(!target) return PLUGIN_HANDLED;
get_user_name(target,namet,31);
g_Warn[target] -= 1
log_amx("ADMIN %s: Removed user warning: %s.",name,namet);
if(reason[0]) client_print(target,print_chat,"%s: has remove a warn from you! Reason: %s",name,reason);
else chat_color(target,"!team[vS] !yAdminul !g%s !ya sters !go avertizare !yde la tine!",name);
console_print(id,"Warn removed succesfull!");
if(g_Warn[target] == 0)
{
console_print(id,"User has no warning!");
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public quit(target)
{
client_cmd(target,"quit");
client_print(0,print_chat,"%s: Quit due to %d warnings!",name,g_Warn[target]);
}
public client_connect(id) g_Warn[id] = 0;
public client_disconnect(id) g_Warn[id] = 0;
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
|
|