COMMAND:report(playerid,params[]) { new name1[30], name2[30], id, text[128], reason[50]; if(sscanf(params,"us",id,reason)) return SendClientMessage(playerid,red,"USAGE: /report [id] [reason]"); if(IsPlayerConnected(id)) { SendClientMessage(playerid,Green,"Your report has been sent to online admins."); for(new i = 0; i < MAX_PLAYERS; ++i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && IsPlayerAdmin(i)) { GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(id,name2,sizeof(name2)); new Hour,Minute,Second; gettime(Hour,Minute,Second); format(text,sizeof(text),"|| %d:%d:%d || [Report] | \"%s\" [%i] has reported \"%s\" [%i], reason: %s.",Hour,Minute,Second,name1,playerid,name2,id,reason); SendClientMessage(i,COLOR_WHITE,text); } } } else { return SendClientMessage(playerid,red,"Invalid ID"); } return 1; }
i think make the /report cmd into a zcmd report or something strcmd!
btw nice job! |
forward ReportLog(string[]);
public ReportLog(string[])
{
new entry[128];
format(entry, sizeof(entry), "%s\n",string);
new File:hFile;
hFile = fopen("/Logs/Reports.log", io_append);
fwrite(hFile, entry);
fclose(hFile);
}
COMMAND:report(playerid,params[]) {
new
name1[30],
name2[30],
id,
text[128],
reason[50];
if(sscanf(params,"us",id,reason))
return SendClientMessage(playerid,red,"USAGE: /report [id] [reason]");
if(IsPlayerConnected(id)) {
SendClientMessage(playerid,Green,"Your report has been sent to online admins.");
for(new i = 0; i < MAX_PLAYERS; ++i) {
if(IsPlayerConnected(i) && !IsPlayerNPC(i) && IsPlayerAdmin(i)) {
GetPlayerName(playerid,name1,sizeof(name1));
GetPlayerName(id,name2,sizeof(name2));
new Hour,Minute,Second;
gettime(Hour,Minute,Second);
format(text,sizeof(text),"|| %d:%d:%d || [Report] | \"%s\" [%i] has reported \"%s\" [%i], reason: %s.",Hour,Minute,Second,name1,playerid,name2,id,reason);
SendClientMessage(i,COLOR_WHITE,text);
ReportLog(text);
}
}
} else {
return SendClientMessage(playerid,red,"Invalid ID");
}
return 1;
}