Добавление команд в павно

Zukko

Новичок
Автор темы
1
0
Версия SA-MP
  1. Любая
Здраствуйте, хотел бы сделать себе на сервер новые команды но не знаю как писать код кто подскажет как сделать команду /awarnoff и /unawarnoff на мод Arizona RP?
 

Deeps

Участник
21
25
 

Ali Express

Участник
39
3
Здраствуйте, хотел бы сделать себе на сервер новые команды но не знаю как писать код кто подскажет как сделать команду /awarnoff и /unawarnoff на мод Arizona RP?
Если у тебя уже подключён mysql и если есть массив (enum) - enum pInfo и если у тебя есть константы к цвету (#define Цвет Код цвета), то пиши этот код.

Код:
CMD:awarnoff(playerid, params[])
{
    if(pInfo[playerid][pAdmin] < 7) return SendClientMessage(playerid, COLOR_LIGHTRED, "[Ошибка] {FFFFFF}У вас нет доступа к этой команде!");//Если у игрока Админка меньше 7 лвл, то команда не будет работать для него
    if(!ADuty(playerid)) return SendClientMessage(playerid, COLOR_LIGHTRED, "[Ошибка] {FFFFFF}Вы не авторизованы!");//если Администратор не вошёл в систему Администрирования, то команда не будет работать для него
    static name[24], kolvo[3], reason[30];//ну тут понятно
    if(sscanf(params,"s[24]d[3]s[30]", name, kolvo,reason)) return SendClientMessage(playerid, COLOR_RED, "Используй: /awarnoff [name] [amount] [reason]");//если игрок ввёл неправильные параметры
    if(strlen(reason) > 30) return SendClientMessage(playerid, COLOR_RED, !"Не больше 30 символов!");//ну тут понятно
    if(CheckIsADomen(playerid, reason)) return 1;//ну тут понятно
    if(IsAIP(reason)) return 1;//ну тут понятно
    new player = GetPlayerID(name);//тут тоже понятно
    if(player != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Администратор в сети");//если администратор в сети
    str_q[0] = EOS, f(str_q, sizeof(str_q), "SELECT `Admin` FROM `Qelksekm` WHERE `NickName` = '%s' AND `Admin` > '0' LIMIT 1", name);//обновление бд MySQL
    new Cache:results = mysql_query(mysql, str_q);//обновление mysql 2
    if(!cache_num_rows()) return SendClientMessage(playerid, COLOR_LIGHTRED, !"[Ошибка] {FFFFFF}Данный игрок не администратор!");//если игрок не админ
    cache_delete(results, mysql);//ну тут понятно
    str_q[0] = EOS, f(str_q, sizeof(str_q), "SELECT `AWarns` FROM `Qelksekm` WHERE `NickName` = '%s' LIMIT 1", name);//тоже понятно
    new Cache:result = mysql_query(mysql, str_q);//тоже понятно
    new amount = cache_get_field_content_int(0, "AWarns", mysql);//тут он чекает аварны
    cache_delete(result, mysql);//тут понятно
    SendAdminsMessagef(COLOR_LIGHTRED, "Администратор %s[%i] выдал в оффлайне %d предупреждение(я) администратору %s. Причина: %s", PN(playerid), playerid, kolvo, name, reason);//инфо в чате о том, что админу выдали аварн
    mysql_pqueryf(mysql, "UPDATE `Qelksekm` SET `AWarns`= `AWarns` + %i WHERE `NickName` = '%e'", kolvo,name);//обновление MySQL
    if(amount > 2) mysql_pqueryf(mysql, "UPDATE `Qelksekm` SET `Admin` = '0' WHERE `NickName` = '%e'", name);//тут понятно
    return 1;
}
unawarnoff писать тут не буду, ищи в инете инфу сам. Я понимаю, что тема не актуальна, но кто тоже искал эту команду, вот вам команда. Пользуйтесь.

123