Доступ к готовым решениям

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

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

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

Текстовый параметр в командах

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

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11
Многие хотели знать: как добавить причину к кику, бану или любому другому действию, но все существующие варианты построены на использовании "левых" плагинов и инклюдов. Я покажу новый способ, являющийся автономным.

PHP:
if(strcmp(cmd, "/ban", true, 4) == 0)
{
    new tmp[128]; // создали новую переменную для хранения параметров
    tmp = strtok(cmdtext, idx); // засунули в неё параметры до следующего пробела
    if(strlen(tmp) < 1) return SendClientMessage(playerid, 0xFF0000FF, "Синтаксис: /ban [playerid] [reason]"); // если нет аргументов
    new targetid = strval(tmp); // взяли ID игрока из параметров
    new pos = strfind(cmdtext, " ", true, 4); // ищем пробел после ID
    if(pos == -1) return SendClientMessage(playerid, 0xFF0000FF, "Синтаксис: /ban [playerid] [text]"); // если больше аргументов нет
    format(tmp, sizeof(tmp), "Администратор %s забанил игрока %s. Причина: %s", PlayerInfo[playerid][pName], PlayerInfo[targetid][pName], cmdtext[pos + 1]); // форматируем с причиной, полученной из параметров после следующего пробела (важно: причина может быть с пробелами, т.е. в несколько слов).
    SendClientMessage(targetid, 0xFF0000FF, tmp);
    Ban(playerid);
    return 1;
}
Автор: OKStyle
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу