Дело в том, что игрок отправляет репорт и этот репорт могут рассмотреть 2 администратора одновременно. Необходимо сделать так, чтобы 1 репорт мог взять - 1 администратор. (Если репорт взяли, то отказаться от ответа нельзя ес че)
Умные люди, помогите пожалуйста и подскажите как это можно релизнуть?)
Код:
CMD:rep(playerid, params[])
{
if(GetPlayerAdminEx(playerid) < 1) return 1;
mysql_tquery(mysql, "SELECT * FROM `reports` WHERE `status` = 0 ORDER BY `id` ASC LIMIT 1", "OnReportQueueLoaded", "d", playerid);
return 1;
}
forward OnReportQueueLoaded(playerid);
public OnReportQueueLoaded(playerid)
{
if(!cache_get_row_count()) return SendClientMessage(playerid, -1, "{FFFF00}| {ffffff}Свободных жалоб на даный момент нет.");
new r_id = cache_get_field_content_int(0, "id");
new s_name[24], r_text[128], info[400];
cache_get_field_content(0, "sender_name", s_name);
cache_get_field_content(0, "text", r_text);
AdminCurrentReportID[playerid] = r_id;
format(AdminCurrentReportSender[playerid], 24, "%s", s_name);
new targetid = GetPlayerIDByName(s_name);
new status[20];
if(targetid == INVALID_PLAYER_ID) status = "[OFFLINE]";
else status = "";
format(info, sizeof(info), "{FFFFFF}Отправитель: {FF0000}%s{FFFFFF} %s[%d]\n{FFFFFF}Содержимое: {FFFF00}%s\n\n{FFFFFF}Вам необходимо сформулировать, а затем ввести ответ на\nжалобу игрока в диалоговое поле ниже.", status, s_name, targetid, r_text);
ShowPlayerDialog(playerid, DIALOG_REPORT_ANSWER, DIALOG_STYLE_INPUT, "{FFFF00}OverSun RP {ffffff}| Жалоба", info, "Ответить", "Закрыть");
return 1;
}
В коде команда и функция которая показывает диалоговое окно с репортом
Сообщение отредактировал DedInside: 04 апреля 2026 - 00:37
Вход
Регистрация
Помощь











