rendered paste body#include <a_samp>#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1#define COLOR_RED 0xAA3333AA#define COLOR_YELLOW 0xFFFF00AA#define COLOR_WHITE 0xFFFFFFAA#define COLOR_GREEN 0x00FF00AAforward xPing();new mPing;public OnFilterScriptInit(){ print("\n[-----------------] [-----------------]"); print(" Ping Kicker [Pixels^]"); print("[-----------------] [-----------------]\n"); mPing = 500; SetTimer("xPing",500,1); return 1;}public OnPlayerCommandText(playerid,cmdtext[]){ if(!IsPlayerAdmin(playerid)) return 0; dcmd(PingMax,7,cmdtext); return 1;}dcmd_PingMax(playerid,params[]){ new string[128]; if(!strlen(params)) { SendClientMessage(playerid,COLOR_WHITE,"[Sintax] /PingMax [Integer: Ping]"); return 1; } if(!IsNumeric(params)) { SendClientMessage(playerid,COLOR_RED,"[Error] The Ping must be an integer."); return 1; } mPing = strval(params); format(string,sizeof(string),"[Success] Max allowed ping has been changed to %d.",strval(params)); SendClientMessage(playerid,COLOR_GREEN,string); return 1;}IsNumeric(const string[]){ for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return 0; return 1;}public xPing(){ for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { new Count[MAX_PLAYERS],string[128],player[24]; if(GetPlayerPing(i) > mPing) { Count[i]++; if(Count[i] > 2) { GetPlayerName(i,player,24); format(string,sizeof(string),"* [Ping] %s has been kicked from the server due to ping over %d.",player,mPing); Kick(i); } } }}