Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Более новая система репорта/вопроса

Статус
В этой теме нельзя размещать новые ответы.

Fosters aka Petux

Пользователь
Регистрация
15 Фев 2018
Сообщения
30
Реакции
0
Баллы
15
Доброго времени суток, пользователи Pawn-Wiki

Почему лучше использовать эту систему репорта и чем она лучше?
  • Каждая жалоба игрока будет рассмотрена.
  • Игрок не получит на одну жалобу/вопрос по два-три ответа
  • Игроку будет предоставлен ответ и текст его жалобы. Иногда Администрация не успевает отвечать.

Немного о системе:
  • Администрация сможет посмотреть во-сколько была отправлена жалоба
  • Если жалоба будет некорректна Администратор сможет закрыть её
  • Как Администратор начнет рассматривать жалобу она пропадает со списка жалоб
  • Если игрок принудительно завершит игровой процесс(выйдет с игры) жалоба пропадает со списка.


И так пожалуй начнём!

В самое начало мода(ко всем new)
new RepMessages[MAX_PLAYERS][128];
new bool:InsRep[MAX_PLAYERS];
new RepTimeMessages[MAX_PLAYERS];
new RepId[MAX_PLAYERS];


Ко всем командам
CMD:report(playerid, params[])
{
new result[150],string[200];
if(sscanf(params,"s[150]",result)) return SendClientMessage(playerid, -1, "Используй: /report [id нарушителя и суть нарушения/вопрос]");
if(InsRep[playerid] == true) return SCM(playerid,-1,"Вы уже отправляли жалобу!");
SendClientMessage(playerid,-1,"{bb2222}Ваша жалоба была отправлена на рассмотрение! В ближайшее время Вам ответит Администратор.");
format(string,sizeof(string),"{bb2222}[Жалоба] от %s[%d]: {FFFFFF}%s",PN(playerid),playerid,result);
SendTeamMessage(TEAMADMIN,-1,string);//Ваш чат администраторов
format(AddMessages[playerid],128,"%s",result);
InsRep[playerid] = true;
return true;
}

CMD:replist(playerid, params[])
{
if(!IsAdmins(playerid)) return SendClientMessage(playerid,-1,"Только для admins team");//проверка на админку
new bstr[1024];
for(new id;id<MAX_PLAYERS;id++)
{
if(RepTimeMessages[id] > 0 ) format(bstr,sizeof(bstr),"%s Отправитель: %s %dc\n",bstr,PN(id),gettime() - RepTimeMessages[id]);
}
if(strlen(bstr) > 0) ShowPlayerDialog(playerid,556,2,"Список жалоб",bstr,"Выбрать","Закрыть"); else ShowPlayerDialog(playerid,0,0,"Список жалоб","На данный момент сообщений нет","Закрыть","");
return true;
}


В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
case 556:
{
if(response)
{
new num;
for(new i;i<MAX_PLAYERS;i++)
{
if(RepTimeMessages > 0)
{
if(num == listitem)
{
new time = gettime() - RepTimeMessages;
RepId[playerid] = i;
RepTimeMessages[RepId[playerid]] = 0;
format(string,sizeof(string),"{FFFFFF}Жалоба от {FFD700}%s, спустя %dc.\n{FFFFFF}Сообщение:\t{33AA33}%s\n\n{FFFFFF}Введите ответ на жалобу.",PN(i),time,RepMessages);
ShowPlayerDialog(playerid,557,1,"Жалоба",string,"Отправить"
,"Отклонить");
break;
}
num ++;
}
}
}
return true;
}
case 557:
{
if(response)
{
if(strlen(inputtextsave) < 6 || strlen(inputtextsave) > 60) return SendClientMessage(playerid,COLOR_GREY,"[Ошибка] {FFFFFF}Ответ должен состоять от 6 до 60 символов!");
new drt[400];
format(drt,sizeof(drt),"Ответ от Администратора: %s",inputtext);
SendClientMessage(AddId[playerid],-1,drt);
format(drt,sizeof(drt),"Ваше обращение: %s",AddMessages[AddId[playerid]]);
SendClientMessage(AddId[playerid],-1,drt);
AddMessages[AddId[playerid]] = 0;
InsRep[AddId[playerid]] =false;
SendClientMessage(playerid,-1,"Ответ отправлен!");
}
else
{
AddTimeMessages[AddId[playerid]] = 0;
InsRep[AddId[playerid]] =false;
SendClientMessage(playerid,-1,"[Информация] {FFFFFF}Вы отклонили жалобу!");
}
}


В public OnPlayerDisconnect(playerid, reason)
AddTimeMessages[AddId[playerid]] = 0;
InsRep[AddId[playerid]] =false;



На этом всё, систему можете доработать сами! :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу