Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Система жалобы/вопроса

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

xDimasx

Специалист
Я понимаю что это очень лёгкий урок,но всё же может кому-то пригодится.
И так,начнём.

Ко всем командам:
Код:
CMD:report(playerid, params[]) // Процессор DC_CMD
{
new string[256];
if(PlayerInfo[playerid][pMute] >= 1) // Если у игрока затычка,то:
{
SendClientMessage(playerid,0xFF4500FF,"У Вас стоит затычка."); // Выводим текст
return 1;
}
if(PlayerInfo[playerid][pAdmin] >= 1) return SCM(playerid,0xFF4500FF,"Вы администратор сервера,и не можете писать в репорт."); // Сделаем проверку,что бы админ не флудил в репорт сам себе.
SendClientMessage(playerid,0xFF4500FF,"[Внимание]: Во избежание наказания,выберите нужный Вам раздел."); // На всякий случай выводим текст игроку.
ShowPlayerDialog(playerid,18,DIALOG_STYLE_LIST,"{1E90FF}Связь с администрацией","{008000}1. {808080}Написать жалобу\n{008000}2. {808080}Задать вопрос","Выбрать","Отмена"); // Выбираем вариант
return 1;
}
В OnDialogResponse:
Код:
if(dialogid == 18)  // Можете заменить на свой ID диалога. В моём случае это 18
{
if(response)
{
if(listitem == 0) // Написать жалобу
{
if(GetPVarInt(playerid,"ReportTime") > gettime()) // Проверка на анти-флуд.
{
SendClientMessage(playerid,0xFF4500FF,"[Анти-Чит]: Писать жалобы можно раз в {1E90FF}30 {FF4500}секунд."); // Если не прошло 30 сек,выводим текст.
return 1;
}
ShowPlayerDialog(playerid,19,DIALOG_STYLE_INPUT ,"{1E90FF}Связь с администрацией","{FF4500}Внимание! Прежде чем отправить жалобу,прочтите следующее:\n{1E90FF}Форма для отправки жалобы:\nТекст жалобы (ID)\n\nЖалоба оставленая не по форме - Mute/Kick/Warn\nБудьте бдительны,во избежание наказания.\n\n{008000}Введите текст жалобы:","Отправить","Отмена");
}
if(listitem == 1) // Задать вопрос
{
if(GetPVarInt(playerid,"QuestTime") > gettime())  // Проверка на анти-флуд.
{
SendClientMessage(playerid,0xFF4500FF,"[Анти-Чит]: Задавать вопросы можно раз в {1E90FF}30 {FF4500}секунд."); // Если не прошло 30 сек,выводим текст.
return 1;
}
ShowPlayerDialog(playerid,20,DIALOG_STYLE_INPUT ,"{1E90FF}Связь с администрацией","{FF4500}Внимание! Прежде чем отправить жалобу,прочтите следующее:\n{1E90FF}Форма для отправки вопросы свободная.\n\nЕсли Вопрос не касается игрового процесса - Mute/Kick/Warn\nБудьте бдительны,во избежание наказания.\n\n{008000}Введите текст вопроса:","Отправить","Отмена");
}
}
}
Код:
if(dialogid == 19) // Можете заменить на свой ID диалога. В моём случае это 19
{
if(!response) return true; // Если игрок не нажал на кнопку отправить,то не применяем действий.
new plname[MAX_PLAYER_NAME],string[256];
GetPlayerName(playerid, plname, sizeof(plname)); // Вытягиваем имя игрока
format(string,sizeof(string),"[Жалоба]: {00FFFF}Жалоба от %s[%d]: %s", plname, playerid,(inputtext)); // Текст для администрации
ABroadCast(0xFF0000FF,string,1); // У Вас может быть другая функция для выдачи сообщения администрации
format(string,sizeof(string),"Жалоба от %s[%d]: %s", plname, playerid,(inputtext)); // Текст для игрока
SendClientMessage(playerid,0x00FFFFFF,string); // Выводим текст игроку который он отправил
SendClientMessage(playerid,0xFFFFFFFF,"Ваша жалоба была успешно доставлена."); // Текст для игрока
SetPVarInt(playerid,"ReportTime",gettime() + 30); // Ставим Анти-Флуд на 30 сек.
}
Код:
if(dialogid == 20) // Можете заменить на свой ID диалога. В моём случае это 20
{
if(!response) return true; // Если игрок не нажал на кнопку отправить,то не применяем действий.
new plname[MAX_PLAYER_NAME],string[256];
GetPlayerName(playerid, plname, sizeof(plname)); // Вытягиваем имя игрока
format(string,sizeof(string),"[Вопрос]: {00FFFF}Вопрос от %s[%d]: %s", plname, playerid,(inputtext)); // Текст для администрации
ABroadCast(0x00FF00FF,string,1); // У Вас может быть другая функция для выдачи сообщения администрации
format(string,sizeof(string),"Вопрос от %s[%d]: %s", plname, playerid,(inputtext)); // Текст для игрока
SendClientMessage(playerid,0x00FFFFFF,string); // Выводим текст игроку который он отправил
SendClientMessage(playerid,0xFFFFFFFF,"Ваш вопрос был успешно доставлен,ожидайте ответа.."); // Текст для игрока
SetPVarInt(playerid,"QuestTime",gettime() + 30); // Ставим Анти-Флуд на 30 сек.
}
Вот такой вот лёгкий урок. =)
Может быть кому то пригодится,а я пойду думать что сделать еще.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу