Создание меню Codex
В Quest Codex нет встроенного экрана. Каждое меню представляет собой пул раскладок GUI, который вы проектируете сами, а codex лишь заполняет слоты-маркеры, которые вы в нём разместили. Сначала прочитайте руководства по GUI: Понимание меню GUI, Раскладки, рамки и слоты и Взаимодействия и навигация.
Составные части
| Запись | Назначение |
|---|---|
| Quest Category | Объявляет категорию: заголовок, значок, родителя, критерии. |
| Quest Assignment | Помещает квесты в категорию с порядком и переопределениями для каждого статуса. |
| Category Menu | Меню одной категории (или главное меню, или меню отслеживаемых). Его поле menu ссылается на Open GUI, содержащий раскладки. |
Маркеры
Поместите предмет в раскладку simple указанного Open GUI, задайте buttonPrefix равным codex_button:, а buttonType равным одному из маркеров:
buttonType | Чем заменяется |
|---|---|
CATEGORY_SLOT | Одна корневая категория на слот, в главном меню. |
QUEST_SLOT | Один квест на слот, в меню категории. |
TRACKED_QUEST_SLOT | Один отслеживаемый квест на слот, в меню @tracked. |
SORT_SLOT | Кнопка сортировки, рисуется поверх раскладки, чтобы никогда не прокручиваться. |
Два правила:
- Один маркер, один слот. Маркер расширяется только за счёт собственных
count,direction,gapиrepeatY. Сетка 7 на 8 — это один предмет сcount7,directionrightиrepeatY8. Безdirectionмаркер остаётся одним слотом.gap— это шаг:1означает соседние слоты. - Маркеры следуют за раскладкой. Они нумеруются в порядке чтения до разбора раскладки, поэтому поместите предмет-маркер в раскладку
simple, которую оборачивает раскладкаscrollable, и список квестов будет прокручиваться в стабильном порядке.
Маркеры вне раскладок simple или в общем шасси, а не в Open GUI, указанном в menu, не заполняются.
Прокручиваемое меню категории
Браузер из шести рядов с рамкой, фиксированными элементами управления и прокручиваемым окном 7 на 4 над сеткой квестов 7 на 8:
- Создайте Open GUI
main_quests_guiсguiTypeCUSTOMиsizeSIZE_54. - Добавьте раскладку
simpledeco. Добавьте чёрную стеклянную панель приx0,y0 сcount9,directionrightи названием из одного пробела, и такую же приy5. В ряду 5 добавьте предметBACKприx0 (buttonPrefixcodex_button:,buttonTypeBACK), предметSORT_SLOTприx4 и предметCLOSEприx8. - Добавьте раскладку
simplequest_gridс одним предметом:buttonPrefixcodex_button:,buttonTypeQUEST_SLOT,x0,y0,count7,directionright,repeatY8. - Добавьте раскладку
scrollablequestsсinnerIdquest_grid,virtualWidth7,virtualHeight8 и двумяbuttons: стрелкойUPприx1,y4 и стрелкойDOWNприx5,y4. - Добавьте раскладку
framerootс двумя рамками:decoв точке 0,0 размером 9 на 6 иquestsв точке 1,1 размером 7 на 4. ЗадайтеmainLayoutIdравнымroot. - Создайте Category Menu с
categorymain_quests,rows6иmenu, равнымmain_quests_gui.
Сетка квестов находится внутри прокручиваемого содержимого, поэтому квесты прокручиваются вместе с окном. Стрелки появляются только тогда, когда есть что прокручивать.
Кнопка сортировки
SORT_SLOT показывает текущий режим сортировки и переключает его по кругу при клике: Все, Не начатые, В процессе, Завершённые (All, Not started, In progress, Completed). Режим хранится для каждого игрока до перезапуска сервера и применяется ко всем меню категорий. Настройте предмет, название и описание каждого режима в sortDisplay у Category Menu; без него используется встроенная подпись.
Кнопки навигации
Пометьте слот значением PAGE_NEXT, PAGE_PREV, SCROLL_UP, SCROLL_DOWN, SCROLL_LEFT, SCROLL_RIGHT, BACK, CLOSE или SORT, чтобы подключить действие его клика. Настроенные вами предмет, название и описание сохраняются; стрелка, барьер или воронка по умолчанию появляются только тогда, когда у слота нет предмета. Можно также использовать обычные предметы с командами gui:back, gui:close или gui:scroll.
PAGE_NEXT и PAGE_PREV листают список квестов или категорий, если в меню есть маркеры, а в остальных случаях листают раскладку paginated.
Внешний вид квеста
Слот квеста подстраивается под прогресс игрока. Quest Lore добавляет описание для каждого статуса, а Quest Assignment может переопределять значок, название, описание и видимость для каждого статуса. Клик по активному квесту включает или отключает его отслеживание; клик по ещё не начатому или завершённому квесту отправляет соответствующее сообщение из глобальных настроек.
Контрольный список
- Запись Quest Codex Global Settings с артефактом отслеживания.
- Как минимум одна Quest Category, без
parentдля главного меню. - Quest Assignment для каждой категории.
- Category Menu для каждой категории и одно с пустым
categoryдля главного меню, каждое со своим маркером. rowsу Category Menu равно высоте Open GUI.- У игроков есть
typewriter.codex.open, либо они открывают меню действием.