Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //UPOZORENJE.
- Ako kanite koristiti sistem morate ga prilagoditi svom modu, a ne samo ubaciti i ocekivati da radi.
- //Definicija za limit prijava.
- #define MAX_REPORT 10
- //Ovo postavljate u enum gdje cuvate podatke.
- pLastReportTime
- //Report enum
- enum reportInfo
- {
- ReportExists,
- ReportedName[MAX_PLAYER_NAME],
- ReportedBy[MAX_PLAYER_NAME],
- ReportDescription[48],
- ReportDate[18],
- ReportTime
- }
- new ReportInfo[MAX_REPORT][reportInfo];
- //Postavljamo var na nulu (OnPlayerDisconnect) tako da iduci igrac koji ude na server ne dobije njegovu valutu.
- PInfo[playerid][pLastReportTime] = 0;
- //FN
- ReturnDate()
- {
- new date[18], year, month, day, hours, minutes, seconds;
- getdate(year, month, day);
- gettime(hours, minutes, seconds);
- format(date, sizeof(date), "%02d/%02d/%d, %02d:%02d", day, month, year, hours, minutes);
- return date;
- }
- //Komande
- CMD:report(playerid, params[])
- {
- new targetid, description[48];
- if (sscanf(params, "us[48]", targetid, description))
- return SCM(playerid, COLOR_ORANGE_RED, "KORISTENJE: /report (ID/Ime) (Razlog)");
- if (targetid == INVALID_PLAYER_ID)
- return SCM(playerid, COLOR_ORANGE_RED, "* Igrac nije povezan na server.");
- new seconds = gettime() - PInfo[playerid][pLastReportTime];
- if (seconds < 120)
- {
- new message[64];
- format(message, sizeof(message), "* Report mozes poslati nakon %d %s.", 120 - seconds, (120 - seconds == 1) ? ("sekundi") : ("sekunda"));
- return SCM(playerid, COLOR_ORANGE_RED, message);
- }
- for (new i; i < MAX_REPORT; i++) if (!ReportInfo[i][ReportExists])
- {
- new message[144];
- ReportInfo[i][ReportExists] = true;
- ReportInfo[i][ReportedName] = GetName(targetid);
- ReportInfo[i][ReportedBy] = GetName(playerid);
- ReportInfo[i][ReportDescription] = description;
- ReportInfo[i][ReportDate] = ReturnDate();
- ReportInfo[i][ReportTime] = gettime();
- PInfo[playerid][pLastReportTime] = gettime();
- SCM(playerid, 0xFFFF00AA, "* Tvoj report je poslan administratorima. Strpljenja molim...");
- format(message, sizeof(message), "(REPORT) Igrac %s(%d) je prijavio %s(%d). Razlog: %s.\n ID: %d (/ar %d da prihvatis report).", GetName(playerid), playerid, GetName(targetid), playerid, description, i, i);
- foreach (new j : Player) if (PInfo[j][Admin]) SendClientMessage(j, COLOR_LIGHTBLUE, message);
- return 1;
- }
- SCM(playerid, COLOR_ORANGE_RED, "* Broj prijava je premasen, pokusaj kasnije.");
- return 1;
- }
- CMD:reports(playerid)
- {
- new count;
- if(PInfo[playerid][Admin] >= 1 || PInfo[playerid][Operator] == 1)
- for (new i, message[144]; i < MAX_REPORT; i++) if (ReportInfo[i][ReportExists])
- {
- format(message, sizeof(message), "ID: {FFFFFF}%d | %s je prijavio %s. Razlog: %s | Datum: %s", i, ReportInfo[i][ReportedBy], ReportInfo[i][ReportedName], ReportInfo[i][ReportDescription], ReportInfo[i][ReportDate]);
- SCM(playerid, 0xFFFF00AA, message);
- count++;
- }
- if (count) SCM(playerid, 0xFFFF00AA, "* /ar [reportid] da prihvatis ili /dr [reportid] da odbijes report.");
- else SCM(playerid, 0xFFFF00AA, "* Nema zabiljezenih prijava trenutno.");
- return 1;
- }
- CMD:ar(playerid, params[])
- {
- new reportid;
- if(PInfo[playerid][Admin] >= 1 || PInfo[playerid][Operator] == 1)
- if (sscanf(params, "d", reportid))
- return SCM(playerid, COLOR_ORANGE_RED, "KORISTENJE: /ar (reportid)");
- if (reportid < 0 || reportid >= MAX_REPORT || !ReportInfo[reportid][ReportExists])
- return SCM(playerid, COLOR_ORANGE_RED, "* Prijava ne postoji.");
- new message[84];
- format(message, sizeof(message), "ADMIN: %s je prihvatio vas report.", GetName(playerid));
- foreach (new i : Player) if (PInfo[i][Admin]) SCM(i, COLOR_ORANGE_RED, message);
- foreach (new i : Player) if (!strcmp(GetName(i), ReportInfo[reportid][ReportedBy]))
- {
- format(message, sizeof(message), "* %s pregledava vasu prijavu (Proslo vremena: %d sec).", GetName(playerid), gettime() - ReportInfo[reportid][ReportTime]);
- SCM(i, 0xFFFF00AA, message);
- break;
- }
- ReportInfo[reportid][ReportExists] = false;
- return 1;
- }
- CMD:dr(playerid, params[])
- {
- new reportid;
- if(PInfo[playerid][Admin] >= 1 || PInfo[playerid][Operator] == 1)
- if (sscanf(params, "d", reportid))
- return SCM(playerid, COLOR_ORANGE_RED, "KORISTENJE: /dr (reportid)");
- if (reportid < 0 || reportid >= MAX_REPORT || !ReportInfo[reportid][ReportExists])
- return SCM(playerid, COLOR_ORANGE_RED, "* Prijava ne postoji.");
- new message[64];
- ReportInfo[reportid][ReportExists] = false;
- format(message, sizeof(message), "ADMIN: %s je odbio vasu prijavu.", GetName(playerid));
- foreach (new i : Player) if (PInfo[i][Admin]) SCM(i, COLOR_ORANGE_RED, message);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement