14.09.2015, 14:50
hey guys,
Can you tell me how to make warn system?
Can you tell me how to make warn system?
CMD:warn(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new string[128], giveplayerid, reason[64];
if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /warn [playerid/partofname] [reason]");
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[giveplayerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Admins can't be warned!");
return 1;
}
PlayerInfo[giveplayerid][pWarns] += 1;
if(PlayerInfo[giveplayerid][pWarns] >= 3)
{
new ip[32];
GetPlayerIp(giveplayerid,ip,sizeof(ip));
format(string, sizeof(string), "AdmCmd: %s (IP: %s) was banned by %s (had 3 Warnings), reason: %s", GetPlayerNameEx(giveplayerid), ip, GetPlayerNameEx(playerid), reason);
Log("logs/ban.log", string);
format(string, sizeof(string), "AdmCmd: %s was banned by %s (had 3 Warnings), reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
ABroadCast(COLOR_LIGHTRED, string, 5);
PlayerInfo[giveplayerid][pBanned] = 1;
AddBan(ip);
Kick(giveplayerid);
return 1;
}
format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
ABroadCast(COLOR_LIGHTRED, string, 1);
format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
Log("logs/admin.log", string);
format(string, sizeof(string), "You were warned by %s, reason: %s", GetPlayerNameEx(playerid), reason);
SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
return 1;
}
}
else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
return 1;
}
new warnings[MAX_PLAYERS];
#define MAX_WARNINGS 3
OnPlayerConnect()
warnings[playerid] = 0;
new wLevels;
CMD:warn(playerid, params[])
{
if(PlayerInfo[playerid][AdminLevel] < 1) return 0;
new string[128], targetplayer, reason[75], pName[MAX_PLAYER_NAME], pName2[MAX_PLAYER_NAME];
if(sscanf(params, "us[75]", targetplayer, reason)) return SendClientMessage(playerid, COLOR_ORANGE, "Usage: /warn [ID] [Reason]");
if(!IsPlayerConnected(targetplayer)) return SendClientMessage(playerid, COLOR_RED, "Error: Player is not connected");
if(strlen(reason) < 1) return SendClientMessage(playerid, COLOR_RED, "Error: Invalid warning reason.");
warnings[targetplayer]++;
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
GetPlayerName(targetplayer, pName2, MAX_PLAYER_NAME);
if(warnings[targetplayer] < MAX_WARNINGS){ format(string, sizeof string, "%s has been warned by %s for (%s).", pName2, pName, reason); }
else
{
format(string, sizeof string, "%s has been warned by %s for (%s). %s has been kicked for receiving %i/%i warnings.", pName2, pName, reason, pName2, warnings[targetplayer], MAX_WARNINGS);
printf("[KICK] %s has been kicked for receiving max warnings.", pName2);
SetTimerEx("DelayedKick", 50, false, "i", targetplayer);
}
SendClientMessageToAll(COLOR_TOMATO, string);
return 1;
}
If you mean warn like this.
PHP код:
|