Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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
Сообщения
29
Реакции
0
Баллы
17
Клан-тег
[CODERS]
Доброго времени суток, хотел бы попросить у вас помощи, дорогие нетзоновцы. Я столкнулся с одной надоедливой проблемой, я не понимаю, как написать скрипт, для того, чтобы F4 меню открывалось и закрывалось на одну и ту же кнопку. Буду рад вашей помощи.
 

KacapiMorsel

Пользователь
Регистрация
20 Июн 2019
Сообщения
8
Реакции
0
Баллы
13
Клан-тег
[Rasta - Army]
Вроде как,нужно это делать в самом f4menu.
Посмотри гайды,вдруг поможет.
 

Be1zebub

Пользователь
Регистрация
9 Май 2019
Сообщения
42
Реакции
0
Баллы
18
Клан-тег
[INC]
Оно делаеться как то так (только не через хук think и без проверки на инпут)
Тебе нужен хук ShowSpare2 (он выполняется на стороне сервера)
Безымянный.png
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Можно так, что упрощает задачу.
Где троеточие, делаешь проверку если панель 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
 

Be1zebub

Пользователь
Регистрация
9 Май 2019
Сообщения
42
Реакции
0
Баллы
18
Клан-тег
[INC]
Я это и имел ввиду, но почему то скинул лишь кусок кода :D

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

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Я это и имел ввиду, но почему то скинул лишь кусок кода :D

Вот продолжение кода внутри самой функции mainMenu() (хз почему я сразу не скинул)
Обязательное условие — Главный Дфрейм должен быть глобален для всего скрипта (иначе он не сможет вызваться для SetVisible в условии else)Посмотреть вложение 1730
Лишние проверки делаешь, nextDraw тут не к чему и SetVisible так же не нужен, достаточно проверить IsValid(MainFrame) во время нажатия F4 и если она валидна, то удалить ее.
 

Be1zebub

Пользователь
Регистрация
9 Май 2019
Сообщения
42
Реакции
0
Баллы
18
Клан-тег
[INC]
Лишние проверки делаешь, nextDraw тут не к чему и SetVisible так же не нужен, достаточно проверить IsValid(MainFrame) во время нажатия F4 и если она валидна, то удалить ее.
Зачем каждый раз выполнять условие if и каждый раз создавать тонну панелей внутри него? По этому я и использую SetVisible, а nextdraw забыл закрасить/вырезать. Он там не нужен, это уже микро-кусочек для работы моего кода из которого я и сделал скриншот :)
 

Hikka

Модератор
Команда форума
Проверенный
Регистрация
29 Сен 2016
Сообщения
555
Реакции
1
Баллы
60
Возраст
30
Пол
Зачем каждый раз выполнять условие if и каждый раз создавать тонну панелей внутри него? По этому я и использую SetVisible, а nextdraw забыл закрасить/вырезать. Он там не нужен, это уже микро-кусочек для работы моего кода из которого я и сделал скриншот :)
Смотря для чего ты это применяешь, целесообразнее удалять менюшку, чтобы в оперативке у клиента(игрока) не сидела.
 
Назад
Сверху Снизу