/ban [iD/Név] [indok] [/quote]
public OnPlayerCommandText(playerid, cmdtext[])
{
new params[128];
ycmd(\"/ban\")
{
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,COLOR_MAIN,\"You Not Admin\");
if(!strlen(params))return SendClientMessage(playerid,COLOR_MAIN,\"USAGE: /ban [playerid] [reason]\");
new idx, BannedID = strval(strtok(params,idx)),MessString[256],ReasonString[64];
if(!strlen(params[idx]))ReasonString = \"N/A\";else format(ReasonString,sizeof(ReasonString),\"%s\",params[idx]);
format(MessString,sizeof(MessString),\"Admin %s [iD:%d] Ban %s [iD:%d] [Reason: %s]\",PlayerName(playerid),playerid,PlayerName(BannedID),BannedID,ReasonString);
SendClientMessageToAll(COLOR_MAIN,MessString);
BanEx(BannedID,MessString);
return true;
}
return false;
}
3. Példa:
/pm [iD/Név] [üzenet] [/quote]
public OnPlayerCommandText(playerid, cmdtext[])
{
new params[128];
ycmd(\"/pm\")
{
new idx, tmp[256], id, string[256];
tmp = strtok(params,idx);
if(!strlen(tmp))return SendClientMessage(playerid,COLOR_MAIN,\"USAGE: /pm | msg [playerid] [text]\");
id = strval(tmp);
tmp = strtok(params,idx);
if(!strlen(tmp))return SendClientMessage(playerid,COLOR_MAIN,\"USAGE: /pm | msg [playerid] [text]\");
format(string,sizeof(string),\"* PM From %s [iD: %d] To %s [iD: %d]\",PlayerName(playerid),playerid,PlayerName(id),id,tmp);
SendClientMessage(playerid,COLOR_MAIN,string);
SendClientMessage(id,COLOR_MAIN,string);
return true;
}
ycmd(\"/msg\")return ycmd_red(\"/pm\");
return false;
}
Mi a YCMD makrója?
#define ycmd(%1) if(!strcmp(cmdtext,%1,true,strlen(%1))&&((!strlen(cmdtext[strlen(%1)])&&format(params,sizeof(params),\"\"))||(cmdtext[strlen(%1)]==\' \'&&format(params,sizeof(params),\"%s\",cmdtext[strlen(%1)+1]))))
#define ycmd_red(%1) format(params,sizeof(params),\"\"%1\" %s\",params),CallLocalFunction(\"OnPlayerCommandText\",\"ds\",playerid,params)
A script készítoje : YmOn.