12.03.2011, 15:39
Today i tried to learn zcmd & sscanf and my first cmd was /createcar (spawn a car), then i tried to made the /report cmd there is the don't send error.
The zcmd command
The strcmp command
The zcmd command
pawn Код:
CMD:report(playerid, params[]).
{
if(IsPlayerConnected(playerid))
{
if(JustReported[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Wait 2 minutes after sending a next report ! ");
return 1;
}
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new giveplayerid, text;
new string[256];
if (!sscanf(params, "is", giveplayerid, text))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Report from: [ID:%d]%s, Reported player: [ID:%d]%s", playerid, sendername, giveplayerid, giveplayer);
ABroadCast(0xE19898AA,string,1);
format(string, sizeof(string), "Report text: %s", (text));
ABroadCast(0xE19898AA,string,1);
ABroadCast(0xA04C4CAA,"Type '/acceptreport [reporter id]' or '/trashreport [reporter id]'",1);
SendClientMessage(playerid, 0x96C184AA, " Reportul tau a fost trimis adminilor AG:RP.");
JustReported[playerid] = 1;
PlayerNeedsHelp[playerid] = 1;
SetTimerEx("ReportReset", 120000, false, "i", playerid);
}
}
}
else SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /report <playerid> <text>");
}
return 1;
}
pawn Код:
if(strcmp(cmd, "/report", true) == 0 || strcmp(cmd, "/re", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(JustReported[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, " Wait 2 minutes after sending a next report ! ");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/re)port [playerid/PartOfName] [text]");
return 1;
}
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/re)port [playerid/PartOfName] [text]");
return 1;
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Report from: [ID:%d]%s, Reported player: [ID:%d]%s", playerid, sendername, giveplayerid, giveplayer);
ABroadCast(0xE19898AA,string,1);
format(string, sizeof(string), "Report text: %s", (result));
ABroadCast(0xE19898AA,string,1);
ABroadCast(0xA04C4CAA,"Type '/acceptreport [reporter id]' or '/trashreport [reporter id]'",1);
SendClientMessage(playerid, 0x96C184AA, " Reportul tau a fost trimis adminilor AG:RP.");
JustReported[playerid] = 1;
PlayerNeedsHelp[playerid] = 1;
SetTimerEx("ReportReset", 120000, false, "i", playerid);
}
}
}
return 1;
}