CMD:ban(playerid, params[])
{
if(!PlayerInfo[playerid][LoggedIn]) return SendClientMessage(playerid, red, "ERROR: You must be logged in to use this commands");
if(PlayerInfo[playerid][Level] < 7) return SendClientMessage(playerid, red, "ERROR: You are not a high enough level to use this command");
new targetid, reason[40];
if(sscanf(params, "is[40]", targetid, reason)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
if(!IsPlayerConnected(targetid) || targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Player is not connected.");
if(targetid == playerid) return SendClientMessage(playerid, red, "You cannot ban yourself.");
if(PlayerInfo[targetid][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "The Player You Are Trying To Ban Is The Highest Admin !");
new PlayerName[MAX_PLAYER_NAME], AdminName[MAX_PLAYER_NAME], string[150];
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(targetid, PlayerName, sizeof(PlayerName));
new year, month, day, hour, minute, second;
getdate(year, month, day);
gettime(hour, minute, second);
format(string, sizeof(string), "{FF0000}YG INFO - %s (ID: %d) has been banned by Administrator %s (ID: %d) [Reason: %s]", PlayerName, targetid, AdminName, playerid, reason);
SendClientMessageToAll(red, string);
CMDMessageToAdmins(playerid, "Ban");
SaveToFile("BanLog", string);
aresetpall(targetid);
print(string);
if(udb_Exists(PlayerName2(targetid)) && PlayerInfo[targetid][LoggedIn] == 1) dUserSetINT(PlayerName2(targetid)).("banned",1);
SendClientMessage(targetid, red, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
SendClientMessage(targetid, red, "YOU HAVE BEEN BANNED - READ THE FOLLOWING DETAILS:");
format(string, sizeof(string), "Your Name: %s", PlayerName);
SendClientMessage(targetid, green, string);
format(string, sizeof(string), "Admin Name: %s", AdminName);
SendClientMessage(targetid, green, string);
format(string, sizeof(string), "Date And Time: %d/%d/%d %d:%d", day, month, year, hour, minute);
SendClientMessage(targetid, green, string);
format(string, sizeof(string), "Reason: %s", reason);
SendClientMessage(targetid, green, string);
SendClientMessage(targetid, green, "(If You Wish To Make an Appeal goto YG-Gamers.tk and post in the Unban Appeals Category.)");
SendClientMessage(targetid, red, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return SetTimerEx("BanTimer", 200, false, "is", playerid, reason);
}
forward BanTimer(playerid, reason[]);
public BanTimer(playerid, reason[]) return BanEx(playerid, reason);
CMD:rban(playerid, params[])
{
if(!PlayerInfo[playerid][LoggedIn]) return SendClientMessage(playerid, red, "ERROR: You must be logged in to use this commands");
if(PlayerInfo[playerid][Level] < 7) return SendClientMessage(playerid, red, "ERROR: You are not a high enough level to use this command");
new targetid, reason[40];
if(sscanf(params, "is[40]", targetid, reason)) return SendClientMessage(playerid, red, "USAGE: /rban [playerid] [reason]");
if(!IsPlayerConnected(targetid) || targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Player is not connected.");
if(targetid == playerid) return SendClientMessage(playerid, red, "You cannot ban yourself.");
if(PlayerInfo[targetid][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "The Player You Are Trying To Ban Is The Highest Admin !");
new PlayerName[MAX_PLAYER_NAME], AdminName[MAX_PLAYER_NAME], string[150];
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(targetid, PlayerName, sizeof(PlayerName));
new year, month, day, hour, minute, second;
getdate(year, month, day);
gettime(hour, minute, second);
format(string, sizeof(string), "{FF0000}YG INFO - %s (ID: %d) has been Range banned by Administrator %s (ID: %d) [Reason: %s]", PlayerName, targetid, AdminName, playerid, reason);
SendClientMessageToAll(red, string);
CMDMessageToAdmins(playerid, "rBan");
SaveToFile("BanLog", string);
aresetpall(targetid);
print(string);
if(udb_Exists(PlayerName2(targetid)) && PlayerInfo[targetid][LoggedIn] == 1) dUserSetINT(PlayerName2(targetid)).("banned",1);
SendClientMessage(targetid, red, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
SendClientMessage(targetid, red, "YOU HAVE BEEN RANGE BANNED - READ THE FOLLOWING DETAILS:");
format(string, sizeof(string), "Your Name: %s", PlayerName);
SendClientMessage(targetid, green, string);
format(string, sizeof(string), "Admin Name: %s", AdminName);
SendClientMessage(targetid, green, string);
format(string, sizeof(string), "Date And Time: %d/%d/%d %d:%d", day, month, year, hour, minute);
SendClientMessage(targetid, green, string);
format(string, sizeof(string), "Reason: %s", reason);
SendClientMessage(targetid, green, string);
SendClientMessage(targetid, green, "(If You Wish To Make an Appeal goto YG-Gamers.tk and post in the Unban Appeals Category.)");
SendClientMessage(targetid, red, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return SetTimerEx("rBanTimer", 200, false, "is", playerid, reason);
}
forward rBanTimer(playerid, reason[]);
public rBanTimer(playerid, reason[]) return BanEx(playerid, reason);
if(sscanf(params, "ds[40]", targetid, reason)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
Specifier(s) Name Example values
b Binary 01001, 0b1100
c Character a, o, *
f Float 0.7, -99.5
g IEEE Float 0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
h, x Hex 1A, 0x23
i, d Integer 1, 42, -10
l Logical true, false
n Number 42, 0b010, 0xAC, 045
o Octal 045 12
q Bot name/id ShopBot, 27
r Player name/id ******, 42
u User name/id (bots and players) ******, 0
if(sscanf(params, "us[40]", targetid, reason)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
Try
Код:
if(sscanf(params, "ds[40]", targetid, reason)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]"); |
d and i specifiers are the same, and they work for only integers. You need to use "us[40]" because u is for player IDs
|
For quick reference, here is a list of ALL the specifiers and their use:
|