[CODE] /report command - help please -
squomp - 05.04.2012
// report command///////////////////////////////////////////////////////
dcmd_report(playerid, params[])
{
static pName[MAX_PLAYER_NAME], aName[MAX_PLAYER_NAME], str[128], reason, iD;
if (sscanf(params, "is", iD, reason)) return SendClientMessage(playerid, 0xAA3333AA, "Usage: /report [id] [reason]");
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(iD, aName, sizeof(aName));
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
new zName[MAX_PLAYER_NAME];
GetPlayerName(i, zName, sizeof(zName));
format(file, sizeof(file), "Users\%s.ini", zName);
if (IsPlayerAdmin(i))
{
format(str, sizeof(str), "%s[%d] has reported %s[%d] for: %s", pName, playerid, aName, iD, reason);
SendClientMessage(i, 0xFFFFFFFF, str);
}
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////////
The command works but it always sends a message unfinished like - [player][id] has reported [no player name][random number] [only half the reason]
Re: [CODE] /report command - help please -
Knight_Rider - 05.04.2012
PHP код:
if(strcmp(cmd, "/report", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[96];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /report [text]");
format(string, sizeof(string), "Report from [%d]%s: %s",playerid, sendername, (result));
ABroadCast(COLOR_LIGHTYELLOW,string,1);
SendClientMessage(playerid, COLOR_YELLOW, "Your report message was sent to online administrators, thank you.");
}
return 1;
}