19.10.2013, 21:21
Hey, I want to make my report system require an ID.
Example: /report ID TEXT
It's currently /report TEXT
The code I think I need to change is below, but I just can't figue it out (I'm a bit of a newb and our experienced scripter quit.)
/report command:
Sendreporttoque:
I would really appreciate some help on this!
Example: /report ID TEXT
It's currently /report TEXT
The code I think I need to change is below, but I just can't figue it out (I'm a bit of a newb and our experienced scripter quit.)
/report command:
Код:
CMD:report(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 2 && PlayerInfo[playerid][pAdmin] < 1338) { SendClientMessageEx(playerid, COLOR_GRAD2, "You can't submit reports as an administrator."); return 1; } if(PlayerInfo[playerid][pRMuted] != 0) { ShowPlayerDialog(playerid,7955,DIALOG_STYLE_MSGBOX,"Report blocked","You are blocked from submitting any reports!\n\nTips when reporting:\n- Report what you need, not who you need.\n- Be specific, report exactly what you need.\n- Do not make false reports.\n- Do not flame admins.\n- Report only for in-game items.\n- For shop orders use the /shoporder command","Close", ""); return 1; } if(JustReported[playerid] > 0) { SendClientMessageEx(playerid, COLOR_GREY, "Wait 25 seconds before sending another report!"); return 1; } if(isnull(params)) return SendClientMessageEx(playerid, COLOR_GRAD2, "USAGE: /report [ID] [text]"); JustReported[playerid]=25; SendReportToQue(playerid, params); SendClientMessageEx(playerid, COLOR_YELLOW, "Your report message was sent to the Admins."); return 1; }
Код:
stock SendReportToQue(reportfrom, reporttarget, report[]) { new bool:breakingloop = false, newid = INVALID_REPORT_ID; for(new i=0;i<MAX_REPORTS;i++) { if(!breakingloop) { if(Reports[i][HasBeenUsed] == 0) { breakingloop = true; newid = i; } } } if(newid != INVALID_REPORT_ID) { strmid(Reports[newid][Report], report, 0, strlen(report), 128); Reports[newid][ReportFrom] = reportfrom; Reports[newid][TimeToExpire] = 5; Reports[newid][HasBeenUsed] = 1; Reports[newid][BeingUsed] = 1; Reports[newid][ReportExpireTimer] = SetTimerEx("ReportTimer", 60000, 0, "d", newid); new string[128]; format(string, sizeof(string), "%s [%i] reporting %s [%i] (RID: %i): %s", GetPlayerNameEx(reportfrom), reportfrom, GetPlayerNameEx(reporttarget), reporttarget, newid, (report)); ABroadCast(COLOR_REPORT,string,2); } else { ClearReports(); SendReportToQue(reportfrom, reporttarget, report); } if(PlayerInfo[reportfrom][pDonateRank] == 4) { new string[128]; format(string, sizeof(string), "~r~Priority Report: ~g~%d", newid); foreach(Player, i) { if(PlayerInfo[i][pAdmin] >= 2) { GameTextForPlayer(i, string, 1500, 1); } } } }