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

messagemode не работает  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

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

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

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

messagemode не работает

Сообщение barcasl3 » 21 мар 2019, 03:56

Привет!

После сегодняшего обновления Steam, команда messagemode не работает, в консоле дается:
"Server tried to send invalid command:"
messagemode "

Я не знаю что делать, помогите мне пожалуйста!)
Аватара пользователя
barcasl3
 
Сообщения: 1
Зарегистрирован: 28 дек 2014, 16:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Re: messagemode не работает  [Решено]

Сообщение RevCrew » 22 мар 2019, 17:25

Писать Valve, чтобы они вернули все назад
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: messagemode не работает

Сообщение gamingEx » 22 мар 2019, 17:52

:dance2: :dance2: :dance2:
Аватара пользователя
gamingEx
 
Сообщения: 121
Зарегистрирован: 07 окт 2017, 20:48
Благодарил (а): 0 раз.
Поблагодарили: 19 раз.
Опыт программирования: Больше трех лет
Языки программирования: Swift, C++, PHP, Ruby, JS

Re: messagemode не работает

Сообщение Slogun » 22 мар 2019, 21:48

На самом деле проблема не настолько маcштабна как кажется. Messagemode легко заменяется на обычную команду вызова чата (say, say_team).

Регистрируем обе команды.
Код: Выделить всё
register_clcmd("say", "ClCmd_MsgSay");
register_clcmd("say_team", "ClCmd_MsgSay"); 


Если у вас messagemode в плагине вызывается один раз, то хватит обычной булевой переменной, если вызывается несколько раз, создаём массив.
Код: Выделить всё
new g_iMsgSayType[33]


На том месте, где у вас был вызов messagemode, переключаем переменную. Пишем сообщение игроку в чат.
Код: Выделить всё
g_iMsgSayType[id] = 3;
UTIL_SayText(id, "!g[%s] !yТеперь введите ваше значение в !tчат!y.", PREFIX);


В функции чата узнаем что написал игрок, проводим обработку полученных данных и выключаем переменную.
Код: Выделить всё
public ClCmd_MsgSay(id)
{
    new szArg1[9];
    read_argv(1, szArg1, charsmax(szArg1));
    if(g_iMsgSayType[id])
    {
        switch(g_iMsgSayType[id])
        {
        case 1: 
            
{
                new iMoney = str_to_num(szArg1);
                ClCmd_MoneyTransfer(id, g_iMenuTargetMoney[id], iMoney);
            }
        case 2: //code
        }
        g_iMsgSayType[id] = 0;
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}
 


Лично я сделал так.
Аватара пользователя
Slogun
 
Сообщения: 17
Зарегистрирован: 05 окт 2018, 10:50
Откуда: Киев
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около года
Языки программирования: PAWN

Re: messagemode не работает

Сообщение SERYOGA » 22 мар 2019, 23:26

Всё в порядке, обновили опять версию, теперь работает.
Аватара пользователя
SERYOGA
 
Сообщения: 4
Зарегистрирован: 10 окт 2011, 20:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6


Вернуться в Скриптинг

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

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