Ressourceschonend & Benutzerfreundlicher
#define MAX_RCON_WARNINGS (3)
public OnPlayerDisconnect(playerid, reason)
{
DeletePVar(playerid, "___warnings");
/// ....
}
public OnRconLoginAttempt(ip[], password[], success)
{
if(!success) {
new playerid = INVALID_PLAYER_ID, playerIP[16]; for(new li, mP = GetMaxPlayers(); li < mP; li++) { GetPlayerIp(li, playerIP, 16); if(!strcmp(ip, playerIP)) { playerid = li; break; } }
SetPVarInt(playerid, "___warnings", 1 + GetPVarInt(playerid, "___warnings"));
if(GetPVarInt(playerid, "___warnings") >= MAX_RCON_WARNINGS) Kick(playerid);
} else DeletePVar(playerid, "___warnings");
/// ...
}