Гость stibs

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

В теме 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 пользователей онлайн

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

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

    • gooding
      От gooding


      Скачать файл PAR RP | Доработанный мод Cruela RP | Без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
      Основа данного мода: Cruela RP
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
      Основа данного мода: Cruela RP
       
       

    • Max Luilchack
      От Max Luilchack
      Нужен человек который сможет сделать примерную карту Украины для сервера crmp mobile. Если есть желающие пишите в дс: lamarlml
    • Yashich
      От Yashich
      Возникла проблема, не работает команда /giverank Что здесь может работать не так? Заранее спасибо за ответ)
      Вот строки кода связанные с этой командой (мод Аризона)
       
      CMD:giverank(playerid, params[]) {     if(PI[playerid][pMember]<=0)return 0;     if(PI[playerid][pRank] < 9 && PI[playerid][pLeader] == 0) return SCM(playerid, COLOR_RED, !"Отказано в доступе!");     if(sscanf(params,"ud",params[0],params[1])) return SCM(playerid, COLOR_RED, !"Используйте: /giverank [id] [rank]");     if(!ProxDetectorS(8.0, playerid, params[0])) return SCM(playerid, COLOR_GREY, !"Вы должны находиться рядом с игроком!");     if(PI[params[0]][pLeader] > 0 ) return SCM(playerid, COLOR_RED, !"Вы не можете изменять ранг лидеру");     if(params[1] < 1) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");     if(Clother[params[0]]!=-1)return 0;     if(GetPlayerVirtualWorld(playerid)!=GetPlayerVirtualWorld(params[0]))return 0;     if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, !"Игрок не найден");     if(PI[playerid][pRank] <= PI[params[0]][pRank]) return SCM(playerid, COLOR_GREY, !"Вы не можете повысить/понизить этого игрока");     if(PI[playerid][pRank] == 9 && params[1] > 8) return SCM(playerid, COLOR_RED, !"Нельзя выдать ранг больше 8");     if(params[1] > 9) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");     if(PI[params[0]][pMember] != PI[playerid][pMember]) return SCM(playerid, COLOR_GREY, !"Игрок находиться в другой организации!");     str_1[0] = EOS;     f(str_1,100,"Лидер %s %s до %i ранга",PN(playerid),PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),params[1]);     SCM(params[0],COLOR_LIGHTBLUE,str_1);     f(str_1,100,"Вы %sи игрока %s до %i ранга",PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),PN(params[0]),params[1]);     SCM(playerid,COLOR_LIGHTBLUE,str_1);     PI[params[0]][pRank] = params[1];     UpdatePlayerDataInt(params[0], "Rank", params[1]);     if(PI[params[0]][pSex] == 2) if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],GOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);     else if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],MOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);     return 1; }