Система репорта по живой очереди

В теме 16 сообщений

Всем привет! Сегодня представлю вашему вниманию готовую систему репорта, при которой ни один репорт не останется неотвеченным! Т.е. пока админы на вопрос не ответят, он не пропадет. Итак, начнем.

Ко всем new: 
 

enum RepGB
{
    Reptex[130],// Текст который пишет игрок 130 символов
    RepTime,
};
new RepInfo[100][RepGB]; // Максимум 100 репортов.

Ко всем командам (если у вас уже есть команда репорта - удалите): 
 

Спойлер

CMD:report(playerid,params[])
{
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
    ReportDialog(playerid);
	return true;
}

CMD:reports(playerid)
{
	if(PLAYER_DATA[playerid][data_ADMLVL] == 0) return SCM(playerid, -1, "Команда доступна только для администрации!");
	new str[200], string[1500], null = 0;
	foreach(new i:Player)
	{
	    if(GetPVarInt(i, "RepUn") > 0)
	    {
	        null++;
            format(str,sizeof(str),"%s\n{FFFFFF}%i. %s[%d] | Жалоба: %s [%s]",string, null,PLAYER_DATA[i][data_NAME],i,RepInfo[i][Reptex], date("%hh:%ii:%ss", RepInfo[i][RepTime]));
            strcat(string,str);
        }
    }
    strcat(string, "\n\n{FFCC00}Ответить на жалобу: /pm [id] [ответ]");
    if(null == 0) return SendClientMessage(playerid, 0xAA3333AA,"Список репортов пуст");
    return ShowPlayerDialogFix(playerid, 9692, 0, "Репорт",string, "Обновить", "Закрыть");
}

 

Ко всем стокам (в конец / середину / начало мода): 
 

Спойлер

stock ReportDialog(playerid)
{
	new dtext[700];
	strcat(dtext, "{FFFFFF}Вы собираетесь написать Администрации сервера\n");
	strcat(dtext, "{FFFFFF}Перед тем как отправить сообщение\n");
	strcat(dtext, "{FFFFFF}убедитесь, что один из пунктов помощи не дал Вам ответа на Ваш вопрос\n\n");
	strcat(dtext, "{FF3300}Запрещено:\n");
	strcat(dtext, "{FFFFFF}- флуд, сквернословие, оффтоп\n");
	strcat(dtext, "{FFFFFF}- Выпрашивание игровых ценностей ('дать денег', 'дать лидерку', 'дать права')\n");
	strcat(dtext, "{FFFFFF}- ложные сообщения о нарушении\n\n");
	strcat(dtext, "{FF3300}За нарушение правил Администратор может:\n");
	strcat(dtext, "{FFFFFF}- предупредить (warn)\n");
	strcat(dtext, "{FFFFFF}- отключить от сервера (kick)\n");
	strcat(dtext, "{FFFFFF}- лишить возможности писать (mute)\n");
	strcat(dtext, "{FFFFFF}- заблокировать (ban)\n\n");
	strcat(dtext, "{FFFFFF}Данные правила установлены для всех игроков {339966}rglrp.tk");
	ShowPlayerDialogFix(playerid,dialog_REPORT,DIALOG_STYLE_INPUT,"{FFCC00}Репорт",dtext,"Отправить","Назад");
	return true;
}

 

Ко всем диалогам: 
 

Спойлер

case dialog_REPORT:
{
    if(!response) return true;
    if(response)
    {
        if(strlen(inputtext) < 1 || strlen(inputtext) > 100) return SendClientMessage(playerid,COLOR_WARNING,"Не менее 1 и не более 100 символов!"),ReportDialog(playerid);
        if(GetPVarInt(playerid,"RepUn") > 0) return SendClientMessage(playerid,0xAA3333AA,"Ошибка: Ваша прошлая жалоба ещё не рассмотрена");
        SetPVarInt(playerid,"RepUn",1);
        strmid(RepInfo[playerid][Reptex], inputtext,0,strlen(inputtext),130);
      	RepInfo[playerid][RepTime] = gettime(); 
        SendAdminMessage(0x33FF66FF, "{FFCC00}Поступила новая жалоба от игрока! Рассмотреть жалобы: /reports");
        SendClientMessage(playerid,0x3399feFF, "Ваша жалоба отправлена на рассмотрение!");
    }
}

 

Спойлер

CMD:pm(playerid,params[])
{
	//ставьте свою переменную админки
    if(PLAYER_DATA[playerid][data_ADMLVL] < 1) return true;
	if(sscanf(params,"us[100]",params[0],params[1])) return SendClientMessage(playerid,COLOR_WARNING,"Используйте: /pm [ид] [текст]");
	if(!IsPlayerConnected(params[0]))return  SendClientMessage(playerid,COLOR_WARNING,"Данного ID нет на сервере!");
	new string[300];
    format(string, sizeof(string), "[Ответ] %s[%d] игроку %s[%d]: {ffffff}%s", PLAYER_DATA[playerid][data_NAME],playerid,PLAYER_DATA[params[0]][data_NAME],params[0],params[1]);
    SendAdminMessage(0xffa141FF, string);
	format(string, sizeof(string), "Администратор %s[%d] ответил вам: {ffffff}%s", PLAYER_DATA[playerid][data_NAME],playerid,params[1]);
    SendClientMessage(params[0], 0xffa141FF, string);
    if(strlen(RepInfo[params[0]][Reptex]))
    {
    	format(string, sizeof(string), "На вашу жалобу: {FFFFFF}%s", RepInfo[params[0]][Reptex]);
    	SendClientMessage(params[0], 0xffa141FF, string);
	}
	strmid(RepInfo[playerid][Reptex], "",0,0,0);
    DeletePVar(params[0], "RepUn");
    return true;
}

 

Вроде бы все! Если будут ошибки - пишите, неисправности - пишите, исправим. 

Автор: неизвестен. 

Автор вырезки и оптимизации: @stibs.

 

Копирование на другие источники разрешено ТОЛЬКО с указанием авторство и активной ссылки на источник (PAWNO-RUS.RU)! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что делать?)

Спойлер

 


C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(4710) : error 010: invalid function or declaration
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(4712) : error 010: invalid function or declaration
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(4713) : error 010: invalid function or declaration
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(4715) : error 010: invalid function or declaration
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(4716) : error 010: invalid function or declaration
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(4721) : error 021: symbol already defined: "SendClientMessage"
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(6365) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(6365) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(6559) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(6559) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(6627) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(6627) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(7526) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(7526) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(7531) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(7531) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(7537) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(7537) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(14577) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(14577) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(14590) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(14590) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(15440) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(15440) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(15496) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(15496) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(16217) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(16217) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(16475) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(16475) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20124) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20124) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20654) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20654) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20661) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20661) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20719) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20719) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20746) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20746) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20778) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20778) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20805) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20805) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20832) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20832) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20859) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20859) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20893) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(20893) : warning 202: number of arguments does not match definition
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21640) : error 017: undefined symbol "COLOR_WARNING"
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21641) : error 017: undefined symbol "COLOR_WARNING"
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21643) : error 017: undefined symbol "PLAYER_DATA"
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21643) : warning 215: expression has no effect
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21643) : error 001: expected token: ";", but found "]"
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21643) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\Ñåðâàê íàñòîÿùèé!\MsQL\gamemodes\Fresh.pwn(21643) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.20160907              Copyright (c) 1997-2006, ITB CompuPhase


12 Errors.

 

Отредактировано пользователем odosenok
Причина: Взял код под спойлер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Дима Нисанский Надо переделать под свой мод коды, переделать такие строки как:

 

1) 

if(PLAYER_DATA[playerid][data_ADMLVL] < 1) return true;

2)

COLOR_WARNING

3) 

SendClientMessage

 

Отредактировано пользователем Skezz_Guriro
Причина: Всзял под сполера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Skezz_Guriro 

1. PLAYER_DATA - Переменной не существует, возможно у тебя другая PlayerInfo, или pInfo

2. COLOR_WARNING - Такого цвета нету

3. SendClientMessage - Возможно у тебя SCM а не SendClientMessage

Варнинги, и ошибки кидай строчки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@FENRIS @FENRIS Я человека ответил :D У меня проблем с этим нету 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Skezz_Guriro Знаю) просто не того выбрал для ответа:))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 02.10.2017 в 21:38, Гость stibs сказал:

SendAdminMessage(0x33FF66FF, "{FFCC00}Поступила новая жалоба от игрока! Рассмотреть жалобы: /reports");

зачем два цвета сразу писать?  0x33FF66FF и в начале сообщения  {FFCC00}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

help
 

Цитата

 

C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(539) : error 017: undefined symbol "ShowPlayerDialogFix"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(523) : symbol is never used: "playerid"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(12882) : error 017: undefined symbol "dialog_REPORT"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(12892) : error 017: undefined symbol "SendAdminMessage"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : error 017: undefined symbol "PLAYER_DATA"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : warning 215: expression has no effect
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : error 001: expected token: ";", but found "]"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : error 029: invalid expression, assumed zero
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2016, ITB CompuPhase


7 Errors.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
38 минут назад, pavlov.trade сказал:

help
 


C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(539) : error 017: undefined symbol "ShowPlayerDialogFix"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(523) : symbol is never used: "playerid"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(12882) : error 017: undefined symbol "dialog_REPORT"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(12892) : error 017: undefined symbol "SendAdminMessage"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : error 017: undefined symbol "PLAYER_DATA"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : warning 215: expression has no effect
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : error 001: expected token: ";", but found "]"
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : error 029: invalid expression, assumed zero
C:\Users\ïê\Desktop\mobile\gamemodes\mobile.pwn(48701) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2016, ITB CompuPhase


7 Errors.

 

Переводчик в помощь, если шаришь, то поймешь! У тебя проблемы с компиляцией, вроде чет такого.

Отредактировано пользователем Santa_Claus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Santa_Claus сказал:

Переводчик в помощь, если шаришь, то поймешь!

первую ошибку решил - остальные еще пока нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@pavlov.trade 

ShowPlayerDialogFix на 
ShowPlayerDialog

dialog_REPORT - ид диалога, можешь создать, можешь заметить на свой

SendAdminMessage - отправление сообщения админам, можешь удалить строку, если у тебя такого нет

PLAYER_DATA - на свою переменную меняешь, для данных игрока

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

отрпавит чел 1 сообщение в репорт вылезит в /reports много по 2 раза пишет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

error 017: undefined symbol "RepTime"
error 035: argument type mismatch (argument 3)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@noah., вы не забыли следующий участок кода вставить?

enum RepGB
{
    Reptex[130],// Текст который пишет игрок 130 символов
    RepTime,
};
new RepInfo[100][RepGB]; // Максимум 100 репортов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Cawfee сказал:

@noah., вы не забыли следующий участок кода вставить?


enum RepGB
{
    Reptex[130],// Текст который пишет игрок 130 символов
    RepTime,
};
new RepInfo[100][RepGB]; // Максимум 100 репортов.

 

Нет, не забыл, сначала подумал может enum не вставил, смотрю, да вроде вставил, уже отчаялся начал сюда писать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, noah. сказал:

error 017: undefined symbol "RepTime"
error 035: argument type mismatch (argument 3)

нашел решение в удалении даты отправления репорта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От MrNARTI
      всем привет появилась ошибка со входам в автосалон, ерроров нету но при попытки входа показывает что есть транспорт загруженный хотя его нету. Но когда ввожу /car показывает что есть хотя повторяюсь его нет.
       
      код
       
      команда /саr
       
       
       
      если понадобится что то еще скинуть то скажите я скину.
    • От MrNARTI
      всем привет можете пожалуйста подсказать с командой от анти слива /aban
       
      чтобы банило и администратора который использовал эту кмд и адм которого указал в айди.