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

Закрыть VGUI

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

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

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

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

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

Закрыть VGUI

Сообщение solo98 » 19 окт 2018, 13:18

Код: Выделить всё
stock UTIL_CloseVGUI(pPlayer)
{
    message_begin(MSG_ONE, get_user_msgid("BuyClose"), _, pPlayer)
    message_end()


Использую эту функцию для закрытия, но меню все равно проскакивает на долю секунды - это можно как-то вообще убрать или есть какая-то другая функция?

Добавлено спустя 1 час 31 минуту 13 секунд:
Код: Выделить всё
stock UTIL_CloseVGUI(pPlayer)
{
    message_begin(MSG_ONE, get_user_msgid("BuyClose"), _, pPlayer)
    set_msg_block(get_user_msgid("VGUIMenu"), BLOCK_ONCE)
    message_end()
}


Так не работает.

Добавлено спустя 9 минут 27 секунд:
Код: Выделить всё
    g_msgVGUIMenu = get_user_msgid("VGUIMenu");
    g_msgShowMenu = get_user_msgid("ShowMenu");

Код: Выделить всё
stock UTIL_CloseVGUI(pPlayer)
{
/*    message_begin(MSG_ONE, get_user_msgid("BuyClose"), _, pPlayer)
    message_end()*/
    
    new iOldShowMenuBlock 
= get_msg_block(g_msgShowMenu);
    new iOldVGUIMenuBlock = get_msg_block(g_msgVGUIMenu);
    set_msg_block(g_msgShowMenu, BLOCK_SET);
    set_msg_block(g_msgVGUIMenu, BLOCK_SET);
    set_msg_block(g_msgVGUIMenu, iOldVGUIMenuBlock);
    set_msg_block(g_msgShowMenu, iOldShowMenuBlock);

}


Попробовал еще так - тоже не работает.
Аватара пользователя
solo98
 
Сообщения: 5
Зарегистрирован: 16 окт 2018, 17:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Закрыть VGUI

Сообщение артист666 » 19 окт 2018, 17:49

На сколько мне известно, ничего с этим мерцанием не сделаешь.
Меню открывается на клиенте, и видимо только потом отсылается серверу, что оно открыто.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Закрыть VGUI

Сообщение NEYDA4NIK » 22 окт 2018, 20:34

Можно удалить зону покупки.
Аватара пользователя
NEYDA4NIK
 
Сообщения: 36
Зарегистрирован: 26 фев 2014, 16:02
Благодарил (а): 9 раз.
Поблагодарили: 17 раз.

Re: Закрыть VGUI

Сообщение Vaqtincha » 22 окт 2018, 21:59

есть вариант еще проще: отключить гуи меню у игрока офсет

m_bVGUIMenus = 2040
админгандонсоси
Аватара пользователя
Vaqtincha
 
Сообщения: 277
Зарегистрирован: 28 мар 2018, 15:05
Забанен
Благодарил (а): 8 раз.
Поблагодарили: 53 раз.

Re: Закрыть VGUI

Сообщение solo98 » 23 окт 2018, 14:49

NEYDA4NIK, ее и так нет, поэтому используется плагин, который создает зону покупки, а по истечению времени - запрещает открывать VGUI меню.
Аватара пользователя
solo98
 
Сообщения: 5
Зарегистрирован: 16 окт 2018, 17:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю


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

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

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