/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define VERSION "8.0"
new nk_pin[33]
new nk_los[33]
new nk_enabled
new nk_time
new nk_time_info
new nk_ping
new nk_loss
new nk_warnings
new nk_adm
new nk_msg
new nk_msg_notice
new nk_sound_v
new nk_sound_p
new nk_sound_user
new nk_user
new nk_punishment
new nk_bantime
new nk_server
new nk_prefix
new nk_msg1
new nk_msg2
new nk_msg3
new nk_msg4
public plugin_init()
{
register_plugin("Nice Kicker", VERSION, "sector")
register_dictionary("nice_kicker.txt")
server_cmd("exec addons/amxmodx/configs/nice_kicker/nice_kicker.cfg")
nk_enabled = register_cvar("nk_enabled","1")
nk_time = register_cvar("nk_time","30")
nk_time_info = register_cvar("nk_time_info", "20")
nk_warnings = register_cvar("nk_warnings","5")
nk_ping = register_cvar("nk_ping","150")
nk_loss = register_cvar("nk_loss","10")
nk_adm = register_cvar("nk_immunity","1")
nk_msg = register_cvar("nk_msg","1")
nk_msg_notice = register_cvar("nk_msg_notice","1")
nk_sound_v = register_cvar("nk_sound_v", "1")
nk_sound_p = register_cvar("nk_sound_p", "1")
nk_sound_user = register_cvar("nk_sound_user", "1")
nk_user = register_cvar("nk_user", "1")
nk_punishment = register_cvar("nk_punishment", "0")
nk_bantime = register_cvar("nk_bantime", "10")
nk_server = register_cvar("nk_server", "")
nk_prefix = register_cvar("nk_prefix", "Nice Kicker")
nk_msg1 = CreateHudSyncObj()
nk_msg2 = CreateHudSyncObj()
nk_msg3 = CreateHudSyncObj()
nk_msg4 = CreateHudSyncObj()
}
public client_putinserver(i)
{
if(get_pcvar_num(nk_enabled))
{
if(is_user_bot(i) || is_user_hltv(i))
return PLUGIN_HANDLED
nk_pin[i] = 0
nk_los[i] = 0
set_task(get_pcvar_float(nk_time_info), "nk_user_info", i)
set_task(get_pcvar_float(nk_time), "nk_check", i, _, _, "b")
if(get_pcvar_num(nk_user))
{
set_task(5.0, "nk_user_putin", i)
}
}
return PLUGIN_HANDLED
}
public nk_user_putin(i)
{
new Name[33], Prefix[99], ping, loss
get_user_name(i, Name, 32)
get_pcvar_string(nk_prefix, Prefix, charsmax(Prefix))
get_user_ping(i, ping, loss)
set_hudmessage(0, 255, 0, 0.75, 0.10, 0, 6.0, 6.0, 0.5, 0.15, 1)
ShowSyncHudMsg(0, nk_msg4, "[%s] %L", Prefix, LANG_PLAYER, "NK_USER", Name, ping, loss)
if(get_pcvar_num(nk_sound_user))
{
client_cmd(0, "spk buttons/bell1")
}
}
public nk_user_info(i)
{
new Name[33], Prefix[99]
get_user_name(i, Name, 32)
get_pcvar_string(nk_prefix, Prefix, charsmax(Prefix))
switch(get_pcvar_num(nk_msg_notice))
{
case 0:
{
client_print(i, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_INFO_1", Name)
client_print(i, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_INFO_2", get_pcvar_num(nk_ping))
client_print(i, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_INFO_3", get_pcvar_num(nk_loss))
}
case 1:
{
set_hudmessage (255, 255, 255, 0.03, 0.50, 2, 0.1, 6.0, 0.05, 1.0, 1)
ShowSyncHudMsg(i, nk_msg3, "[%s] %L", Prefix, LANG_PLAYER, "NK_INFO_HUD", Name, get_pcvar_num(nk_ping), get_pcvar_num(nk_loss))
}
}
}
public nk_check(i)
{
if(get_pcvar_num(nk_adm))
{
if(get_user_flags(i) & ADMIN_LEVEL_A)
return PLUGIN_HANDLED
}
new Name[33], Prefix[99], Server[99], ping, loss
get_user_name(i, Name, 32)
get_pcvar_string(nk_prefix, Prefix, charsmax(Prefix))
get_pcvar_string(nk_server, Server, charsmax(Server))
get_user_ping(i, ping, loss)
if(ping > get_pcvar_num(nk_ping))
{
if(get_pcvar_num(nk_warnings))
{
nk_pin[i]++
{
switch(get_pcvar_num(nk_msg))
{
case 0:
{
client_print(i, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_WARN_PING", Name, ping)
if(get_pcvar_num(nk_sound_p))
{
client_cmd(i, "spk buttons/blip2")
}
}
case 1:
{
set_hudmessage(255, 0, 0, 0.03, 0.60, 1, 6.0, 6.0, 0.5, 0.15, -1)
ShowSyncHudMsg(i, nk_msg1, "[%s] %L", Prefix, LANG_PLAYER, "NK_WARN_PING_HUD", Name, ping)
if(get_pcvar_num(nk_sound_p))
{
client_cmd(i, "spk buttons/blip2")
}
}
}
}
}
if(get_pcvar_num(nk_warnings) == nk_pin[i])
{
switch(get_pcvar_num(nk_msg))
{
case 0:
{
client_print(0, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_PING", Name, ping)
}
case 1:
{
set_hudmessage(255, 0, 0, 0.03, 0.70, 1, 6.0, 6.0, 0.5, 0.15, -1)
show_hudmessage(0, "[%s] %L", Prefix, LANG_PLAYER, "NK_PING_HUD", Name, ping)
}
}
if(get_pcvar_num(nk_sound_v))
{
client_cmd(0, "spk buttons/button5")
}
switch(get_pcvar_num(nk_punishment))
{
case 0:
{
server_cmd("kick #%d ^"[%s] %L^"", get_user_userid(i), Prefix, LANG_PLAYER, "NK_RES_PING", ping)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High ping", Name, ping)
server_exec()
}
case 1:
{
client_cmd(i, "quit")
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High ping", Name, ping)
}
case 2:
{
client_cmd(i, "disconnect;connect %s", Server)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High ping", Name, ping)
}
case 3:
{
server_cmd("amx_ban %d #%d ^"[%s] %L^"", get_pcvar_num(nk_bantime), get_user_userid(i), Prefix, LANG_PLAYER, "NK_RES_PING", ping)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High ping", Name, ping)
}
case 4:
{
server_cmd("amx_ban #%d %d ^"[%s] %L^"", get_user_userid(i), get_pcvar_num(nk_bantime), Prefix, LANG_PLAYER, "NK_RES_PING", ping)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High ping", Name, ping)
}
case 5:
{
server_cmd("amx_banip #%d %d ^"[%s] %L^"", get_user_userid(i), get_pcvar_num(nk_bantime), Prefix, LANG_PLAYER, "NK_RES_PING", ping)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High ping", Name, ping)
}
}
}
}
else
if(loss > get_pcvar_num(nk_loss))
{
if(get_pcvar_num(nk_warnings))
{
nk_los[i]++
{
switch(get_pcvar_num(nk_msg))
{
case 0:
{
client_print(i, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_WARN_LOSS", Name, loss)
if(get_pcvar_num(nk_sound_p))
{
client_cmd(i, "spk buttons/blip2")
}
}
case 1:
{
set_hudmessage(255, 0, 0, 0.03, 0.60, 1, 6.0, 6.0, 0.5, 0.15, -1)
ShowSyncHudMsg(i, nk_msg2, "[%s] %L", Prefix, LANG_PLAYER, "NK_WARN_LOSS_HUD", Name, loss)
if(get_pcvar_num(nk_sound_p))
{
client_cmd(i, "spk buttons/blip2")
}
}
}
}
}
if(get_pcvar_num(nk_warnings) == nk_los[i])
{
switch(get_pcvar_num(nk_msg))
{
case 0:
{
client_print(0, print_chat, "[%s] %L", Prefix, LANG_PLAYER, "NK_LOSS", Name, loss)
}
case 1:
{
set_hudmessage(255, 0, 0, 0.03, 0.70, 1, 6.0, 6.0, 0.5, 0.15, -1)
show_hudmessage(0, "[%s] %L", Prefix, LANG_PLAYER, "NK_LOSS_HUD", Name, loss)
}
}
if(get_pcvar_num(nk_sound_v))
{
client_cmd(0, "spk buttons/button5")
}
switch(get_pcvar_num(nk_punishment))
{
case 0:
{
server_cmd("kick #%d ^"[%s] %L^"", get_user_userid(i), Prefix, LANG_PLAYER, "NK_RES_LOSS", loss)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High loss", Name, loss)
server_exec()
}
case 1:
{
client_cmd(i, "quit")
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High loss", Name, loss)
}
case 2:
{
client_cmd(i, "disconnect;connect %s", Server)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High loss", Name, loss)
}
case 3:
{
server_cmd("amx_ban %d #%d ^"[%s] %L^"", get_pcvar_num(nk_bantime), get_user_userid(i), Prefix, LANG_PLAYER, "NK_RES_LOSS", loss)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High loss", Name, loss)
}
case 4:
{
server_cmd("amx_ban #%d %d ^"[%s] %L^"", get_user_userid(i), get_pcvar_num(nk_bantime), Prefix, LANG_PLAYER, "NK_RES_LOSS", loss)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High loss", Name, loss)
}
case 5:
{
server_cmd("amx_banip #%d %d ^"[%s] %L^"", get_user_userid(i), get_pcvar_num(nk_bantime), Prefix, LANG_PLAYER, "NK_RES_LOSS", loss)
log_to_file("addons\amxmodx\configs\nice_kicker\nice_kicker.log"," '%s' <%d> - High loss", Name, loss)
}
}
}
}
return PLUGIN_HANDLED
}
public client_disconnect(i)
{
if(task_exists(i))
remove_task(i)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/