Code: Select all
include <amxmodx> new HIGHPING_MAX = 90new HIGHPING_CHECKTIME = 10new HIGHPING_BANTIME = 5new HIGHPING_TESTS = 1 new iNumTests[33]new g_msgid_SayText public plugin_init() { register_plugin("High Ping Ban II", "1.2.0", "?") g_msgid_SayText = get_user_msgid("SayText")} public client_disconnect(id) { remove_task(id)} public client_putinserver(id) { iNumTests[id] = 0 if (!is_user_bot(id)) { new param[1] param[0] = id set_task(30.0, "showWarn", id, param, 1) }} kickPlayer(id) { new name[32] get_user_name(id, name, 31) server_cmd("amx_banip %d ^"%s^" Didelis pingas!", HIGHPING_BANTIME, name) echo_colored( id, "^x04[CUPAS]^x01 %s isbanintas %dmin. del didelio pingo!", name, HIGHPING_BANTIME)} public checkPing(param[]) { new id = param[0] if ((get_user_flags(id) & ADMIN_IMMUNITY) || (get_user_flags(id) & ADMIN_RESERVATION)) { remove_task(id) echo_colored( id, "^x04[CUPAS]^x01 Jus esate VIP, pingas jums netikrinamas.") return PLUGIN_CONTINUE } new p, l get_user_ping(id, p, l) if (p > HIGHPING_MAX) { ++iNumTests[id] } else { if (iNumTests[id] > 0) { --iNumTests[id] } } if (iNumTests[id] > HIGHPING_TESTS) { kickPlayer(id) } return PLUGIN_CONTINUE} public showWarn(param[]) { echo_colored( param[0], "^x04[CUPAS]^x01 Zaidejai su didesniu pingu kaip %dms bus baninami!", HIGHPING_MAX) set_task(float(HIGHPING_CHECKTIME), "checkPing", param[0], param, 1, "b")} stock echo_colored( id, const string[ ], any:... ){ new szmessage[ 192 ]; vformat( szmessage, charsmax( szmessage ), string, 3 ); message_begin( MSG_ONE, g_msgid_SayText, { 0,0,0 }, id ); write_byte( id ); write_string( szmessage ); message_end( );}