Форум

  • Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Система жалобы к администрации [/report]
Система жалобы к администрации [/report]
Всем привет. Сегодня хочу рассказать Вам как сделать систему репорта к администрации. Я с этой проблемой мучался, искал в интернете, но ничего к сожалению не нашел. Пришлось написать самому. Вот сегодня хочу предоставить Вам эту команду wink
Перейдем к самой команде:

Код
if(strcmp(cmd, "/report", true) == 0)
{
if(gettime()-GetPVarInt(playerid,"cmdreport")<120) return SendClientMessage(playerid,COLOR_WHITE,"{FF00FF}[Ошибка]: Жалобу к администрации можно писать 1 раз в 120 секунд.");
SetPVarInt(playerid,"cmdreport",gettime());
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GREY, "GG: /report [Жалоба]");
format(string, sizeof(string), "{66FFFF}Ваша жалоба: '%s' была отправлена", result);
SendClientMessage(playerid, COLOR_YELLOW, string);
GetPlayerName(playerid, sendername, sizeof(sendername));
if(AdminDuty[playerid] == 1)
{
format(string, sizeof(string), "{FF0000}- Жалоба от %s[ID:%d]: {FFFFFF}%s [/otv id text]", sendername, playerid, result);
ABroadCast(0x66FFFFAA,string,1);
return 1;
}
}
02.02.2014 в 14:15
Код
if(AdminDuty[playerid] == 1)


Не во всех модах присутствует.
02.02.2014 в 17:20
Цитата ZioHik ()
if(AdminDuty[playerid] == 1)

Не во всех модах присутствует.


Ну да
02.02.2014 в 17:22
Спасибо
23.02.2014 в 15:36
Цитата ZioHik ()
Не во всех модах присутствует.

Ну если кто опытен в этом,то заменить не составит труда,а вот если новичек то лучше комментировать строчку
06.07.2014 в 16:49
А как можно в эту команду добавить так сказать автоответ? Тоесть, игрок пишет в репорт "Дайте деняк", в скрипте определяется слово "дайте", и пишет игроку "Администрация не выдает денег/лвл/...".
17.02.2015 в 12:29
Примерно так

Код
if(strfind(result,"Дайте",true) == 0)
{

}
17.02.2015 в 19:15
А что если администрации не идут сообщения игроков в репорт?
P.S Я новичок в этом деле, пожалуйста по подробней.
17.07.2015 в 23:12
Значит в нужном месте отсутствует строка SendClientMessage, которая посылает сообщение администратору.
Если есть та часть кода, которая отвечает за этот процесс, можешь скинуть её сюда, я попробую решить проблему
18.07.2015 в 09:36
У меня тоже самая проблема помогите пожалуйста с репортом, игроки пишут в репорт им и администрации не видно что отправлено
28.08.2015 в 11:18
Ко всем enum PlayerInfo или как там у вас
Код
bool:pReport


Далее команда на ZCMD

Код
CMD:report(playerid, params[])
{
     if(pInfo[playerid][pLogged] == false) return SendClientMessage(playerid, COLOR, "::: Вы не авторизованы!");
     new string[128];
     if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, COLOR, "Введите /report [Сообщение]");
     if(pInfo[playerid][pReport] == true) return SendClientMessage(playerid, COLOR, "Вы уже отправили сообщение администрации. Дождитесь ответа");
     format(string, sizeof(string), "[R] %s(%d) : %s", pInfo[playerid][pName], playerid, params[0]);
     ASCM(COLOR_REPORT, string, 1);
     SendClientMessage(playerid, COLOR, "Ваше сообщение отправлено администрации. Дождитесь ответа");
     pInfo[playerid][pReport] = true;
     return 1;
}


И ответа

Код
CMD:pm(playerid, params[])
{
     if(pInfo[playerid][pLogged] == false) return SendClientMessage(playerid, COLOR, "::: Вы не авторизованы!");
     new string[128];
     if(pInfo[playerid][pAdmin] < 1) return 1;
     if(sscanf(params, "us[128]", params[0], params[1])) return SendClientMessage(playerid, COLOR, "Введите /pm [ID] [Сообщение]");
     if(pInfo[params[0]][pReport] == false) return SendClientMessage(playerid, COLOR, "Этот игрок ничего не писал в репорт");
     format(string, sizeof(string), "[R] %s ответил Вам - {FFFFFF}%s", pInfo[playerid][pName], params[1]);
     SendClientMessage(params[0], COLOR_KICK, string);
     pInfo[params[0]][pReport] = false;
     return 1;
}


Название переменных подстроите под себя. Если кому-то сделать в диалогах пишите
08.09.2015 в 10:43
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Система жалобы к администрации [/report]
  • Страница 1 из 1
  • 1
Поиск: