08.02.2017, 19:02
(
Последний раз редактировалось 1sbedx; 08.02.2017 в 20:26.
)
PHP код:
#include <a_samp>
#include <zcmd>
#define MAX_REPORTS (25)
enum reportData {
reportExists,
reportPlayer,
reportText[128]
};
new Report[MAX_REPORTS][reportData];
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
stock ReportAdd(playerid, text[])
{
new reportid = GetFreeReportID();
if (reportid != -1)
{
Report[reportid][reportExists] = true;
Report[reportid][reportPlayer] = playerid;
format(Report[reportid][reportText], 128, text);
return reportid;
}
return -1;
}
stock GetFreeReportID()
{
for (new i = 0; i != MAX_REPORTS; i ++) if (!Report[i][reportExists])
return i;
return -1;
}
CMD:report(playerid, params[])
{
new reportid = ReportAdd(playerid, params);
if (reportid != -1)
{
for (new i = 0; i < MAX_PLAYERS; i ++) if (IsPlayerAdmin(i)) {
SendClientMessage(i, -1, "Foi recebido um relatуrio.");
}
SendClientMessage(playerid, -1, "Seu relatуrio foi enviado para todos os administradores on-line.");
}
else {
SendClientMessage(playerid, -1, "A lista de relatуrios estб cheia. Por favor, espere um pouco.");
}
return 1;
}
CMD:reports(playerid, params[])
{
new count, string[128];
if (!IsPlayerAdmin(playerid))
return 0;
for (new i = 0; i != MAX_REPORTS; i ++) if (Report[i][reportExists])
{
format(string, sizeof(string), "%i - %s [%i] relatou: %s", i, GetName(Report[i][reportPlayer]), Report[i][reportPlayer], Report[i][reportText]);
SendClientMessage(playerid, -1, string);
count++;
}
if (!count)
return SendClientMessage(playerid, -1, "Nгo hб relatуrios ativos a serem exibidos.");
return 1;
}
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
CMD:ar(playerid, params[])
{
new reportid = strval(params), string[128];
if (!IsPlayerAdmin(playerid))
return 0;
format(string, sizeof(string), "%s aceitou o seu relatуrio.", GetName(playerid));
SendClientMessage(Report[reportid][reportPlayer], -1, string);
Report[reportid][reportExists] = false;
Report[reportid][reportPlayer] = INVALID_PLAYER_ID;
Report[reportid][reportText] = '\0';
return 1;
}