Русское сообщество по скриптингу

Передать параметр через чат  [Решено]

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Передать параметр через чат

Сообщение Kranvagn » 29 мар 2020, 14:44

Здравствуйте, как я могу получить параметр для функции из чата? Пишу функцию /roll, получение случайного числа от 0 до введенного. /roll 10 - от 0 до 10 включительно, если число не введено, то до 100. Как мне в коде получить аргумент, что идет после вызова /roll?
Аватара пользователя
Kranvagn
 
Сообщения: 3
Зарегистрирован: 29 мар 2020, 14:40
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, Python

Re: Передать параметр через чат

Сообщение Leonidddd » 29 мар 2020, 17:19

Kranvagn, ловишь вызов этой команды, потом запускаешь Вы должны зарегистрироваться, чтобы видеть ссылки. и получаешь то, что ввели в чат.

P.S. Всякие протекторы могут спокойно заблокировать эту функцию и у некоторых нон-стим игроков не будет работать. Обойти - никак. Либо парсить все, что пишут в чат. К примеру ловишь по первым символам
"/roll", а после него число, к примеру, 10(проверяешь ещё, число ли это и равно ли тому, какое ты выставил в рендом).
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.

Re: Передать параметр через чат

Сообщение Kranvagn » 29 мар 2020, 18:12

Leonidddd, спасибо за ответ, но это мне немного не подходит. Мне нужно, чтобы команда с числом вводилась одним сообщением. Именно /roll 10, а не сначала /roll, потом 10.

Добавлено спустя 3 минуты 43 секунды:
Leonidddd писал(а):Либо парсить все, что пишут в чат. К примеру ловишь по первым символам
"/roll", а после него число, к примеру, 10(проверяешь ещё, число ли это и равно ли тому, какое ты выставил в рендом).

Это больше похоже на то, что я ищу. Можно поподробнее, пожалуйста?
Аватара пользователя
Kranvagn
 
Сообщения: 3
Зарегистрирован: 29 мар 2020, 14:40
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, Python

Re: Передать параметр через чат  [Решено]

Сообщение Leonidddd » 29 мар 2020, 18:54

Kranvagn, ловишь то, что пишут в общий чат через:
Код: Выделить всё
register_clcmd("say" , "HookSayCmd");


Потом:

Код: Выделить всё
public HookSayCmd(pPlayer)
{
    new szMessage[64]; read_args(szMessage, charsmax(szMessage));
    remove_quotes(szMessage); trim(szMessage);
    if(szMessage[0] == '/' && szMessage[1] == 'r' && szMessage[2] == 'o' && szMessage[3] == 'l' &&
szMessage[4] == 'l') {
        // Парсишь строку
    }
}

Вы должны зарегистрироваться, чтобы видеть ссылки..
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.

Re: Передать параметр через чат

Сообщение Kranvagn » 29 мар 2020, 23:41

Leonidddd, Вы очень мне помогли, спасибо.
Аватара пользователя
Kranvagn
 
Сообщения: 3
Зарегистрирован: 29 мар 2020, 14:40
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, Python


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7