• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Скрипт для F4

LOZHCODER

Пользователь
Регистрация
14 Янв 2019
Сообщения
28
Реакции
0
Баллы
17
Клан-тег
[CODERS]
Доброго времени суток, хотел бы попросить у вас помощи, дорогие нетзоновцы. Я столкнулся с одной надоедливой проблемой, я не понимаю, как написать скрипт, для того, чтобы F4 меню открывалось и закрывалось на одну и ту же кнопку. Буду рад вашей помощи.
 
Вроде как,нужно это делать в самом f4menu.
Посмотри гайды,вдруг поможет.
 
Оно делаеться как то так (только не через хук think и без проверки на инпут)
Тебе нужен хук ShowSpare2 (он выполняется на стороне сервера)
Безымянный.png
 
Можно так, что упрощает задачу.
Где троеточие, делаешь проверку если панель F4Menu валидна, то удаляешь ее если нет то создаешь/вызываешь F4menu.

Lua:
/*
F1 - bind f1 gm_showhelp
F2 - bind f2 gm_showteam
F3 - bind f3 gm_showspare1
F4 - bind f4 gm_showspare2
*/

if (SERVER) then
    hook.Add('ShowSpare2', 'ShowSpare2_Off', function()
        return false
    end)
else
    hook.Add('PlayerBindPress', 'PlayerBindPress_KEY', function(player, bind, pressed)
        if (bind:lower():find("gm_showspare2") and pressed) then
            ...
        end
    end)
end
 
Я это и имел ввиду, но почему то скинул лишь кусок кода :D

Вот продолжение кода внутри самой функции mainMenu() (хз почему я сразу не скинул)
Обязательное условие — Главный Дфрейм должен быть глобален для всего скрипта (иначе он не сможет вызваться для SetVisible в условии else)333.png
 
Я это и имел ввиду, но почему то скинул лишь кусок кода :D

Вот продолжение кода внутри самой функции mainMenu() (хз почему я сразу не скинул)
Обязательное условие — Главный Дфрейм должен быть глобален для всего скрипта (иначе он не сможет вызваться для SetVisible в условии else)Посмотреть вложение 1730
Лишние проверки делаешь, nextDraw тут не к чему и SetVisible так же не нужен, достаточно проверить IsValid(MainFrame) во время нажатия F4 и если она валидна, то удалить ее.
 
Лишние проверки делаешь, nextDraw тут не к чему и SetVisible так же не нужен, достаточно проверить IsValid(MainFrame) во время нажатия F4 и если она валидна, то удалить ее.
Зачем каждый раз выполнять условие if и каждый раз создавать тонну панелей внутри него? По этому я и использую SetVisible, а nextdraw забыл закрасить/вырезать. Он там не нужен, это уже микро-кусочек для работы моего кода из которого я и сделал скриншот :)
 
Зачем каждый раз выполнять условие if и каждый раз создавать тонну панелей внутри него? По этому я и использую SetVisible, а nextdraw забыл закрасить/вырезать. Он там не нужен, это уже микро-кусочек для работы моего кода из которого я и сделал скриншот :)
Смотря для чего ты это применяешь, целесообразнее удалять менюшку, чтобы в оперативке у клиента(игрока) не сидела.
 
Главная Регистрация
Назад
Сверху