SMA:
#include new HIGHPING_TIME = 1 // Czas po kt�rym osoba z wysokim pingiem jest wyrzucana. new HIGHPING_TESTS = 1 // Ilosc sprawdzen zanim cos zrobi. new iNumTests[33], cvar_czasbana, cvar_pingmax public plugin_init() { register_plugin("High Ping Baned PL","1.2","Mis") cvar_czasbana = register_cvar("hpb_czasbana","10") cvar_pingmax = register_cvar("hpb_pingmax","100") if (HIGHPING_TIME < 2) HIGHPING_TIME = 1 if (HIGHPING_TESTS < 2) HIGHPING_TESTS = 1 return PLUGIN_CONTINUE } public client_disconnect(id) { remove_task(id) return PLUGIN_CONTINUE } 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) } return PLUGIN_CONTINUE } kickPlayer(id) { new czas = get_pcvar_num(cvar_czasbana) new name[32] get_user_name(id, name, 31) new uID = get_user_userid(id) server_cmd("amx_ban %s #%d Lagujesz", czas, uID) client_cmd(id, "echo ^"[HPB] Przykro mi, masz zbyt wysoki ping. Sprobuj pozniej...^"; disconnect") client_print(0, print_chat, "[HPB] %s zostal zbanowany za wysoki ping! Czas bana: %s minut", name, czas) return PLUGIN_CONTINUE } public checkPing(param[]) { new ping = get_pcvar_num(cvar_pingmax) new id = param[0] if ((get_user_flags(id) & ADMIN_IMMUNITY) || (get_user_flags(id) & ADMIN_RESERVATION)) { remove_task(id) client_print(id, print_chat, "[HPB] Masz Immunitet. Sprawdzanie pingu Cie nie obowiazuje.") return PLUGIN_CONTINUE } new p, l get_user_ping(id, p, l) if (p > ping) ++iNumTests[id] else if (iNumTests[id] > 0) --iNumTests[id] if (iNumTests[id] > HIGHPING_TESTS) kickPlayer(id) return PLUGIN_CONTINUE } public showWarn(param[]) { new czas = get_pcvar_num(cvar_czasbana) new ping = get_pcvar_num(cvar_pingmax) client_print(param[0], print_chat, "[HPB] Gracze z pingiem wiekszym niz %sms zostana zbanowani! Czas bana aktualnie wynosi: %s minut", ping, czas) set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b") return PLUGIN_CONTINUE }
a to sa cvary:
hpb_czasbana "5" <- Ustawia Czas Bana , Domyślnie 10 minut
hpb_pingmax "130" <- Ustawia Maksymalny Ping Dla Gracza , Domyślnie 100
Użytkownik CraZol edytował ten post 01.06.2012 20:55