17.04.2017, 21:01
Hello, I'm working on WARN command and I got this issuse while testing the command.
First problem is: player doesn't get kicked once he crossed warn limit.
Second problem is: Instead of maximum 3 warns it keeps going to four.
I'm also little bit tired (No it isn't an exuse for my scripting), so I might be missing basic thing but still.
First problem is: player doesn't get kicked once he crossed warn limit.
Second problem is: Instead of maximum 3 warns it keeps going to four.
Код:
COMMAND:warn(playerid, params[])
{
if (Player[playerid][IsLoggedIn] == true)
{
if(IsPlayerAdmin(playerid))
{
new id, msg1[128], name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME], reason[128];
if(sscanf(params, "us", id, reason)) return SendClientMessage(playerid, -1, "Invalid Syntax, Usage: /warn (id) (Reason");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "That player doesn't exist!");
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(id, name1, sizeof(name1));
format(msg1, sizeof(msg1), "{FFFFFF}(INFO): {FF8F17}You have been warned by admin %s(%d) for %s", name, playerid, reason);
SendClientMessage(id, -1, msg1);
format(msg1, sizeof(msg1), "{FFFFFF}(PUBLIC INFO): {FF8F17}%s has been warned by %s(%d) for %s", name1, name, playerid, reason);
SendClientMessageToAll(-1, msg1);
if(Player[playerid][TotalWarns] == 3)
{
SetTimerEx("WarnTimerKick", 500, false, "i", name1);
//SendClientMessage(name1, -1, "{FFFFFF}(INFO): {FF8F17}You have been kicked for forbbiden level of warns!");
format(msg1, sizeof(msg1), "{FFFFFF}(PUBLIC INFO): {FF8F17}% has been kicked for forbbiden level of warns!", name1);
SendClientMessageToAll(-1, msg1);
}
else
{
Player[playerid][TotalWarns]++;
}
} else SendClientMessage(playerid, -1, "You are no admin");
} else SendClientMessage(playerid, -1, "You are no logged");
return 1;
}
forward WarnTimeKick(name1);
public WarnTimeKick(name1)
{
Kick(name1);
}


