• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

cmd:offban

Hamalov

Ученик
Привет, у меня есть команда /offban которая банит на 30 дней, я хочу сделать, чтобы я мог банить на 30 (от 1 до 30) (как и сейчас) и чтобы можно было снести на -1 и всё это в одной команде, подскажите как сделать, вот код:

C++:
CMD:soffban(playerid, params[])
{

    if(GetPlayerAdminEx(playerid) < 4) return 1;

    if(!strlen(params)) return SendClientMessage(playerid, 0xCECECEFF, "Используйте: /soffban [ник игрока] [срок в днях] [причина (необязательно)]");

    extract params -> new string: player_name[21], days, string: reason[30];

    if(!(1 <= days <= 999)) return SendClientMessage(playerid, 0x999999FF, "Количество дней от 1 до 999");

    if(IsPlayerConnected(GetPlayerID(player_name))) return SendClientMessage(playerid, 0x999999FF, "Игрок с таким именем находится на сервере");

    new query[144],
        Cache: result,
        rows,
        uid,
        admin,
        uip[16];

    mysql_format(mysql, query, sizeof query, "SELECT id, admin, last_ip FROM accounts WHERE name='%s'", player_name);
    result = mysql_query(mysql, query, true);
    rows = cache_num_rows();

    if(rows)
    {
        uid = cache_get_row_int(0, 0);
        admin = cache_get_row_int(0, 1);
        cache_get_row(0, 2, uip);
    }

    cache_delete(result);

    if(!rows || !uid) return SendClientMessage(playerid, 0x999999FF, "Игрок с таким именем не найден");

    if(GetPlayerAdminEx(playerid) < admin) return SendClientMessage(playerid, 0x999999FF, "Нельзя забанить администратора выше по рангу"); 


    mysql_format(mysql, query, sizeof query, "SELECT * FROM ban_list WHERE user_id=%d", uid);
    result = mysql_query(mysql, query, true);
    rows = cache_num_rows();
    cache_delete(result);

    if(rows) return SendClientMessage(playerid, 0x999999FF, "Аккаунт игрока уже заблокирован");

    format(query, sizeof query, "[A] Администратор %s оффлайн навсегда забанил игрока %s без лишнего шума", GetPlayerNameEx(playerid), player_name, days);

    if(strlen(reason) > 0)
        format(query, sizeof query, "%s. Причина: %s", query, reason);

    if(!strlen(reason)) reason = "None";

    SendMessageToAdmins(query, 0x999999FF);
    format(query, sizeof query, "Оффлайн забанил %s[acc:%d] на %d дней. Причина: %s", player_name, uid, days, reason);
    SendLog(playerid, LOG_TYPE_SUPERADMIN_ACTION, query);
    format(reason, sizeof reason, "[OFFLINE]%s", reason);
    AddBan(uid, gettime(), days, uip, reason, GetPlayerNameEx(playerid));
    return 1;

}
 
Последнее редактирование модератором:
Сверху Снизу