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); }
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);
Player[playerid][TotalWarns]++;
if(Player[playerid][TotalWarns] == 3)
{
SetTimerEx("WarnTimerKick", 500, false, "i", id);
//SendClientMessage(name1, -1, "{FFFFFF}(INFO): {FF8F17}You have been kicked for forbbiden level of warns!");
format(msg1, sizeof(msg1), "{FFFFFF}(PUBLIC INFO): {FF8F17}%s has been kicked for forbbiden level of warns!", name1);
SendClientMessageToAll(-1, msg1);
}
} else SendClientMessage(playerid, -1, "You are no admin");
} else SendClientMessage(playerid, -1, "You are no logged");
return 1;
}
forward WarnTimeKick(id);
public WarnTimeKick(id)
{
Kick(id);
}
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) { Kick(id); 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(id);
SetTimerEx("WarnTimerKick", 500, false, "i", id);
Why do you even need a timer while you can check in cmd , so if the player's warning is 3 or bigger than 3 it will kick him.
Код:
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) { Kick(id); 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; } |
You miss spelt the callback:
Код:
forward WarnTimeKick(id); Код:
SetTimerEx("WarnTimerKick", 500, false, "i", id); |