CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid, -1, "[ERROR]:You are not an Administrator");
new targetid;
new reason[128];
if(sscanf(params, "us[128]", targetid, reason)) return SendClientMessage(playerid, -1, "[Usage]:/ban [playerid] [reason]");
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, -1, "ERROR:This player is not connected!");
new name[MAX_PLAYER_NAME];
new target[MAX_PLAYER_NAME];
GetPlayerName(playerid, name,sizeof(name));
GetPlayerName(targetid, target,sizeof(target));
new str33[128];
new str34[128];
format(str33,sizeof(str33),"[ADMIN]%s %s has banned %s. [Reason]:%s",AdminLevel(playerid), name, target, reason);
format(str34, sizeof(str34),"%s",reason);
printf("[SERVER]:%s was banned by %s %s. Reason:%s", target,AdminLevel(playerid), name, reason);
SendClientMessageToAll(0xFF8080FF, str33);
BanExWithMessage(targetid, 0xFF0000FF," You have been banned, please appeal it on our website.",str34);
return 1;
}
stock BanExWithMessage(playerid, color, message[], reason[])
{
new targetid;
SendClientMessage(playerid, color, message);
SetTimerEx("BanExPublic", 1000, false, "d", targetid, reason);
}
forward BanExPublic(playerid, reason[]);
public BanExPublic(playerid, reason[])
{
new targetid;
BanEx(targetid, reason);
}
SetTimerEx("BanExPublic", 1000, false, "d", targetid, reason);
"d", targetid, reason);
CMD:ban(playerid, params[])
{
if(!PlayerInfo[playerid][Admin]) return SendClientMessage(playerid, -1, "[ERROR]: You are not an Administrator");
new targetid, reason[60];
if(sscanf(params, "us[60]", targetid, reason)) return SendClientMessage(playerid, -1, "[Usage]: /ban [playerid] [reason]");
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, -1, "ERROR: This player is not connected!");
new name[MAX_PLAYER_NAME], target[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(targetid, target, sizeof(target));
new fstr[128];
format(fstr, sizeof(fstr),"[ADMIN] %s %s has banned %s. [Reason]: %s", AdminLevel(playerid), name, target, reason);
printf("[SERVER]: %s was banned by %s %s. Reason: %s", target, AdminLevel(playerid), name, reason);
SendClientMessageToAll(0xFF8080FF, fstr);
SetPVarString(targetid, "BanReason", reason);
SendClientMessage(targetid, 0xFF0000FF, "You have been banned, please appeal it on our website.");
SetTimerEx("BanExDelay", false, 1000, "i", targetid);
return 1;
}
forward BanExDelay(playerid);
public BanExDelay(playerid)
{
new reason[60];
GetPVarString(playerid, "BanReason", reason, sizeof(reason));
BanEx(playerid, reason);
return 1;
}
Specifier Meaning i Integer. d Integer. a Array. The next parameter must be an integer ("i") with the array's size. [CURRENTLY UNUSABLE] s String. [CURRENTLY UNUSABLE] f Float. b Boolean (true/false). |
pawn Код:
Reference: https://sampwiki.blast.hk/wiki/SetTimerEx |
new sString[60 char];
CMD:ban(playerid, params[])
{
new ID, Reason[60], gMessage[100], iMessage[100];
if(sscanf(params, "us[60]", ID, Reason)) return SendClientMessage(playerid, 0xF81414FF, "USAGE: /ban [ID/name] [Reason].");
if(!IsPlayerConnected(playerid)) SendClientMessage(playerid, 0xF81414FF, "Invalid ID, not connected.");
format(gMessage, sizeof(gMessage), "* An Admin has banned %s (%d), reason: %s", iName, ID, Reason);
SendClientMessageToAll(0x33AA33FF, gMessage);
format(iMessage, sizeof(iMessage), "* An Admin has banned You, reason: %s.", Reason);
SendClientMessage(ID, 0xF81414FF, iMessage);
strpack(sString, Reason); // It will pack or "save" the reason (string).
SetTimerEx("BanExDelay", false, 1000, "i", ID);
return 1;
}
forward BanExDelay(playerid);
public BanExDelay(playerid)
{
BanEx(playerid, sString);
return 1;
}