Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #define SCM SendClientMessage
- #include <a_samp>
- #define MAX_PING 600
- #define C_R "{0000FF}"
- new Ping[MAX_PLAYERS];
- new PingTimer[MAX_PLAYERS];
- public OnFilterScriptInit()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- PingTimer[i] = SetTimerEx("pingchecktimer", 2000, true, "i", i);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- KillTimer(PingTimer[i]);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PingTimer[playerid] = SetTimerEx("pingchecktimer", 2000, true, "i", playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- KillTimer(PingTimer[playerid]);
- return 1;
- }
- forward pingchecktimer(playerid);
- public pingchecktimer(playerid)
- {
- new str[128];
- Ping[playerid] = GetPlayerPing(playerid);
- if(IsPlayerAdmin(playerid) && Ping[playerid] > MAX_PING)
- {
- format(str, sizeof str, "You have had a ping spike! Current Ping: %d", GetPlayerPing(playerid));
- SendClientMessage(playerid, -1, str);
- }
- else if(Ping[playerid] > MAX_PING)
- {
- format(str, sizeof str, ""C_R"You have been kicked for high ping (%d)", Ping[playerid]);
- KickWithMessage(playerid, str);
- }
- return 1;
- }
- forward KickPublic(playerid);
- public KickPublic(playerid)
- {
- Kick(playerid);
- return 1;
- }
- stock KickWithMessage(playerid, message[])
- {
- SCM(playerid, -1, message);
- SetTimerEx("KickPublic", 100, 0, "d", playerid);
- }
Advertisement
Add Comment
Please, Sign In to add comment