Jump to content
DAYZ-CODE.RU - Создай свой игровой сервер

Создать запись на данжи по времени


nonames
 Share

Recommended Posts

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

Как это реализовать?

Link to comment
Share on other sites

ИИ выдал готовое решение но всё же может есть у кого готовый мод?

Для создания мода с GUI (интерфейсом) в DayZ на 2025 год вам потребуется знание языка
Enforce Script и базовые навыки работы с DayZ Workbench.
Ниже приведена архитектура и примеры кода для реализации окна записи по нажатию клавиши U.
 
1. Создание Layout (Интерфейс)
Сначала в Workbench Layout Editor создайте файл DungeonUI.layout.
  • Добавьте TextListboxWidget (для списка доступных слотов времени).
  • Добавьте ButtonWidget с именем Button_Enroll (для записи).
  • Добавьте ButtonWidget с именем Button_Close.
 
2. Скрипт логики окна (DungeonMenu.c)
Этот скрипт управляет отображением и кнопками.
Please Log in or Register to see this: Spoiler
 
 
Используйте код с осторожностью.
 
 
3. Обработка нажатия клавиши (MissionGameplay.c)
Чтобы окно открывалось по нажатию U, нужно перехватить ввод на стороне клиента.
Please Log in or Register to see this: Spoiler
 
 
Используйте код с осторожностью.
 
4. Серверная часть (Запись в БД/Файл)
Сервер должен получить ID слота и сохранить его.
 
Please Log in or Register to see this: Spoiler
Используйте код с осторожностью.
 
 
Важные нюансы на 2025 год:
  1. Синхронизация: Используйте RPC (Remote Procedure Call) для передачи данных от игрока к серверу. Напрямую из меню записать данные в файл сервера нельзя.
  2. Блокировка управления: При открытии меню вызывайте GetGame().GetInput().ChangeGameFocus(1) и отображайте курсор GetGame().GetUIManager().ShowCursor(true), чтобы игрок мог кликать по кнопкам.
  3. JSON Хранилище: Для хранения записей создайте класс настроек и используйте JsonFileLoader, чтобы данные не пропадали после рестарта сервера.
Что нужно сделать дальше:
  1. Запаковать скрипты в .pbo.
  2. Подписать мод ключом.
  3. Добавить в config.cpp регистрацию нового меню.
Edited by nonames
Link to comment
Share on other sites

Это временное событие или миссия в DayZ, которое отображается на нескольких серверах. Игроки могут активировать его, нажав кнопку, после чего откроется окно с таймером, и каждый «данж» (событие) имеет своё собственное время.

Link to comment
Share on other sites

17 часов назад, Horhie сказал:

Чушь вам ии выдал

не согласен, в этом коде логика есть, еще сам не тестировал, но думаю если допилить код получиться то что ищу. люди будут записываться в данжи и запись будет храниться в БД сервера, поэтому все участники увидят что запись на определенное время уже занято

Link to comment
Share on other sites

4 часа назад, nonames сказал:

не согласен, в этом коде логика есть, еще сам не тестировал, но думаю если допилить код получиться то что ищу. люди будут записываться в данжи и запись будет храниться в БД сервера, поэтому все участники увидят что запись на определенное время уже занято

бох в помощь как говориццца

Link to comment
Share on other sites

Вот запись через дискорд https://discord.gg/3nz3DmUybr
Так же на сайте magicbyte.ru есть запись прям в игре, поиши на сайте платных модов, я там видел такой мод!

Please Log in or Register to see this: Spoiler

 

Link to comment
Share on other sites

10 часов назад, nonames сказал:

есть кнопка лайка, рад что смог помочь!

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...