if(pInfo[playerid][Adminlevel] >= 1)
{
if(strcmp(text,"!warn",true,5))
{
new ID,reason[50];
if(sscanf(text,"us[50]",ID,reason))
{
SendClientMessage(playerid,COLOR_ERROR,"USAGE: !warn (Player Name/ID) (Reason)");
return 0;
}
if(ID == INVALID_PLAYER_ID)
{
format(string,sizeof(string),"ID %d is not connected to the server.",ID);
return 0;
}
if(WarnTimes[ID] >= 2)
{
format(string,sizeof(string),"%s(%d) has been auto kicked from the server because he has reached maximum warnings [3/3 Warnings].",GetName(ID),ID);
SendClientMessageToAll(COLOR_PINK,string);
format(string, sizeof(string), "~W~You Have Been ~R~Kicked ~W~From The Server");
GameTextForPlayer(ID ,string, 99999999999999999999999, 3);
KickTime[ID] = 3;
return 0;
}
else
{
WarnTimes[ID]+=1;
if(WarnTimes[ID]==1)
{
format(string,sizeof(string),"%s(%d) has warned %s(%d) reason: %s. [1/3 Warnings].",GetName(playerid),playerid,GetName(ID),ID,reason);
SendClientMessageToAll(COLOR_PINK,string);
return 0;
}
else if(WarnTimes[ID]==2)
{
format(string,sizeof(string),"%s(%d) has warned %s(%d) reason: %s. [2/3 Warnings].",GetName(playerid),playerid,GetName(ID),ID,reason);
SendClientMessageToAll(COLOR_PINK,string);
return 0;
}
}
}
return 0;
}
if(pInfo[playerid][Adminlevel] >= 1)
{
if(strcmp(text,"!warn",true,5))
{
new ID,reason[50];
if(sscanf(text,"us[50]",ID,reason)) return SendClientMessage(playerid,COLOR_ERROR,"USAGE: !warn (Player Name/ID) (Reason)");
if(ID == INVALID_PLAYER_ID) return format(string,sizeof(string),"ID %d is not connected to the server.",ID), SendClientMessage(playerid, -1, string);
if(WarnTimes[ID] >= 2)
{
format(string,sizeof(string),"%s(%d) has been auto kicked from the server because he has reached maximum warnings [3/3 Warnings].",GetName(ID),ID);
SendClientMessageToAll(COLOR_PINK,string);
format(string, sizeof(string), "~W~You Have Been ~R~Kicked ~W~From The Server");
GameTextForPlayer(ID ,string, 99999999999999999999999, 3);
KickTime[ID] = 3;
}
else
{
WarnTimes[ID]+=1;
if(WarnTimes[ID]==1)
{
format(string,sizeof(string),"%s(%d) has warned %s(%d) reason: %s. [1/3 Warnings].",GetName(playerid),playerid,GetName(ID),ID,reason);
SendClientMessageToAll(COLOR_PINK,string);
}
else if(WarnTimes[ID]==2)
{
format(string,sizeof(string),"%s(%d) has warned %s(%d) reason: %s. [2/3 Warnings].",GetName(playerid),playerid,GetName(ID),ID,reason);
SendClientMessageToAll(COLOR_PINK,string);
}
}
}
return 0;
}
if(pInfo[playerid][Adminlevel] >= 1)
{
if(strcmp(text,"!warn",true,5))
{
new ID, reason[50];
if(sscanf(text,"us[50]",ID,reason)) return SendClientMessage(playerid,COLOR_ERROR,"USAGE: !warn (Player Name/ID) (Reason)");
if(ID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_ERROR, "Target ID is not valid.");
new string[124], WarnTimes[ID]++;
if(WarnTimes[ID] >= 3)
{
format(string,sizeof(string),"%s(%d) has been automatically kicked. Reason: 3/3 warnings.",GetName(ID),ID);
SendClientMessageToAll(COLOR_PINK,string);
GameTextForPlayer(ID, "~W~You have been ~R~kicked ~W~from the server", 99999999, 3);
KickTime[ID] = 3;
}
else if(WarnTimes[ID] < 3)
{
format(string,sizeof(string),"%s(%d) has warned %s(%d) reason: %s. [%d/3 Warnings].",GetName(playerid),playerid,GetName(ID),ID,reason, WarnTimes[ID]);
SendClientMessageToAll(COLOR_PINK,string);
}
}
return 0;
}
sscanf(text,"{s[10]}us[50]",ID,reason)
if(pInfo[playerid][Adminlevel] >= 1)
{
if(strcmp(text,"!warn",true,5) == 0)
{
new ID,reason[50];
if(sscanf(text[6],"us[50]",ID,reason))
{
SendClientMessage(playerid,COLOR_ERROR,"USAGE: !warn (Player Name/ID) (Reason)");
return 0;
}
if(ID == INVALID_PLAYER_ID)
{
format(string,sizeof(string),"ID %d is not connected to the server.",ID);
SendClientMessage(playerid,COLOR_ERROR,string);
return 0;
}
if(WarnTimes[ID] >= 2)
{
format(string,sizeof(string),"%s(%d) has been auto kicked from the server because he has reached maximum warnings [3/3 Warnings].",GetName(ID),ID);
SendClientMessageToAll(COLOR_PINK,string);
format(string, sizeof(string), "~W~You Have Been ~R~Kicked ~W~From The Server");
GameTextForPlayer(ID ,string, 99999999999999999999999, 3);
KickTime[ID] = 3;
return 0;
}
else
{
++WarnTimes[ID];
format(string,sizeof(string),"%s(%d) has warned %s(%d) reason: %s. [%d/3 Warnings].",GetName(playerid),playerid,GetName(ID),ID,reason,WarnTimes[ID]);
SendClientMessageToAll(COLOR_PINK,string);
}
}
return 0;
}
pawn Код:
|
new string[128], cmd[128], params[128]; // Define the parameters with their string size witch will be split.
sscanf(text, "s[128]s[128]", cmd, params); // Split the text into two parameters.
if(pInfo[playerid][AdminLevel] >= 1)
{
if(strcmp(cmd, "!", true) == 0) return 0; // If player types !, it won't show anything just like when you type /.
if(strcmp(cmd, "!", true, 1) == 0) // This is needed as it allows the player with admin status chat.
{
if(strcmp(cmd, "!nUllstrIngtonoTbeUseddpljmhuyf", true, 31) == 0) return 0; // This fixes the bug when you send a message with a space.
if(strcmp(cmd, "!warn", true, 5) == 0) {cmd_acmdwarn(playerid, params); return 0;} // This forwards !warn to a zcmd command.
else
{
format(string,sizeof(string),"{A5FF00}Unknown admin command (%s) | Use !commands to list all available admin commands.", cmd);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 0;
}
if(pInfo[playerid][AdminLevel] == 0)
{
if(strcmp(cmd, " ", true, 1) == 0)
{
if(strcmp(cmd, "!nUllstrIngtonoTbeUseddpljmhuyf", true, 31) == 0) return 0;
return 0;
}
}
if(strcmp(cmd, "!", true) == 0) return 0; // If player types !, it won't show anything just like when you type /.
if(strcmp(cmd, "!", true, 1) == 0)