DeluxeMenus WIKI  о том , как настроить этот плагин

DeluxeMenus WIKI о том , как настроить этот плагин

The_stas

Администратор
Модератор
Пользователь
Ссылка на плагин СКАЧАТЬ
Испытано на версиях Minecraft :
  • 1.8
  • 1.9
  • 1.10
  • 1.11
  • 1.12
  • 1.13 (не официально, но работает)

Пример на основе магазина.

menu_title: '&6Магазин'
open_command: shop
open_requirement:
requirements:
permission:
type: has permission
permission: inventory.shop
deny_commands:
- '[message] У вас нет разрешения ,inventory.shop, на открытие меню магазина'
open_commands:
- '[message] Вы открыли меню магазина'
- '[sound] NOTE_PLING'
size: 54
items:
'1':
material: STONE
data: 1
slot: 0
display_name: '&7Гранит'
lore:
- '&7Цена покупки: &a$80'
- '&7Цена продажи: &c$40'
left_click_commands:
- '[console] eco take %player_name% 80'
- '[console] give %player_name% stone:1 64'
- '[message] &6&lDeluxe&eMenu &7»&f Вы успешно приобрели 64 гранита.'
left_click_requirement:
requirements:
Money:
type: has money
amount: 80.0
deny_commands:
- '[close]'
- '[message] &6&lDeluxe&eMenu &7»&f У вас недостаточно денег, чтобы купить.'
right_click_commands:
- '[console] eco give %player_name% 40'
- '[console] clear %player_name% stone:1 64'
- '[message] &6&lDeluxe&eMenu &7»&f Вы успешно продали 64 гранита.'
right_click_requirement:
requirements:
Item:
type: string equals
input: '%player_hasitem-mat:STONE-amt:64-data:1%'
output: 'yes'
deny_commands:
- '[close]'
- '[message] &6&lDeluxe&eMenu &7»&f У вас нет достаточного количества гранита для продажи.'
___________________________________________________________________________________________________

Описание работы меню магазина

menu_title: - это название меню. Он будет показан в верхней части gui (сундук).

open_command: - это команда, которую игроки будут использовать для открытия меню.

open_requirement: - это требование, которое игрок должен иметь перед тем, как открыть меню.
Под ним мы имеем deny_commands, который является сообщением, которое мы хотим показать,
если у них нет требования. Выражение является фактическим требованием. В моем примере я
сделал требование для разрешения, но это может быть что угодно.

open_commands: - это команды, запускаемые, когда игрок открывает меню

size: - это размер меню. Это увеличивается в девятки. Макс - 54.

items: - это начало фактического gui. Ниже вы укажете типы, имена и т. Д.

'1' говорит для deluxemenus, это первый предмет для загрузки. Это также будет полезно при отладке позже.

material: - тип материала. Вы можете использовать имя или id элемента .

data: - данные элемента. Обычно вы можете видеть такой идентификатор,
160:3, но deluxemenus этого не допускает.
Вместо использования 160:3 в материале вы должны установить material: 160, а data: 3.

slot: - это слот, в который вы хотите, куда элемент станет.
Для первого слота используйте 0, для второго используйте 1 и т. д до 53.

Display_name: - это имя элемента. Вы можете использовать цвет в отображаемом имени,
потому что он будет наклонным, если вы этого не сделаете.

lore: - описание предмета. Для этого вы можете использовать несколько строк.

left_click_commands: - это команды, которые вы хотите выполнить при щелчке левой кнопкой мыши по элементу.
В этом случае мы берем $ 80 у игрока, нажимающего на элемент.
Это место, в которое входит placeholderapi, и расширение игрока, которое мы установили ранее.
%player_name% - это заполнитель, позволяющий нам нажимать на пользователя, щелкнув левой кнопкой мыши по элементу.
Как только мы взяли $ 80, мы даем им 64 гранита. Затем мы сообщаем им, что их покупка прошла успешно.

left_click_requirement: - это требование, чтобы пользователь мог щелкнуть левой кнопкой мыши.
Мы используем vault placeholder, чтобы проверить, превышает ли их баланс или равен 80,
а если нет, мы закрываем gui и сообщаем им, что у них недостаточно денег.

right_click_commands: - это команды, которые мы хотим выполнить, когда пользователь
щелкнет правой кнопкой мыши. Вместо того, чтобы брать 80 долларов США,
мы даем им 40 долларов, затем мы очищаем 64 гранита от их инвентаря, а затем сообщаем об этом.

right_click_requirement: - бит отличия, отличный от left_click_requirement.
Вместо того, чтобы проверять, есть ли у них $ 40, мы проверяем, есть ли у
них 64 гранита для продажи.
Мы делаем это, используя другой placeholder, %player_hasitem-mat: MATERIALNAME-amt: AMOUNT-data: DATA%.
Мы проверяем, соответствует ли это «да», и если нет, мы закрываем меню и сообщаем игроку,
что у него нет достаточного количества гранита для продажи.

___________________________________________________________________________________________________

Уникальные опции для каждого типа требований

type: has money - проверка денег
type: string equals - строка равна
type: string equals ignorecase - строка равна случаю игнорирования
type: has permission - проверка права
type: has item - проверка наличия предмета
type: '>=' - больше или равно
type: '<=' - меньше или равно
type: '=' - равно
type: '<' - меньше
type: '>' - больше
type: javascript

___________________________________________________________________________________________________

Существует два типа выражений. Существуют сравнения (с использованием заполнителей),
и есть java-выражения (которые могут использовать заполнители, но не обязательно). Вот базовое сравнение

Код:
view_requirement:
requirements:
anythinghere:
type: '>'
input: '%vault_eco_balance%'
output: 100

Это требование проверяет, превышает ли количество пользователей пользователя число 100.
Если оно есть, оно покажет элемент. Если нет, элемент будет скрыт.
Вы можете добавить еще один элемент под ним, чтобы показать (для этого вы помещаете их
в один и тот же слот и даете элементу с приоритетом view_requirement более высокий приоритет.
Дополнительную информацию см. На странице Wiki по параметрам GUI/Item), или вы могли бы просто слот ничего не показывать и быть пустым.

Мы можем сделать это сравнение с ANY placeholder, который возвращает число. Однако мы не ограничиваемся просто сравнением.
-------------------
Вот выражение java, которое проверяет, имеет ли игрок разрешение

Код:
view_requirement:
requirements:
anythinghere:
type: has permission
permission: 'some.permission'

Это можно легко использовать для отображения разных предметов в меню для донатеров.
Как с ежедневным комплектом или меню вознаграждения.
--------------------
Тем не менее, есть еще больше, что вы можете сделать с этим.
Мы также можем помещать заполнитель внутри выражения java, чтобы проверить, что он возвращает.
Вот пример

Код :
view_requirement:
requirements:
anythinghere:
type: string equals ignorecase
input: '%player_world%'
output: 'world_nether'

Обратите внимание на цитаты, связанные с заполнителем. Это очень важно.
Это выражение проверяет, что возвращает заполнитель %player_world%.
Если он возвращает что-либо помимо «world_nether», то он не покажет элемент меню.
Вы можете проверить, что возвращает заполнитель, включив инжектор «chat» в PlaceholderAPI,
а затем сделав placeholder в скобках (Example: {player_world}).
Это покажет вам, что он возвращает ... что может быть полезно при написании этих утверждений.

-----------------------

Теперь, если вы хотите, чтобы этот элемент меню показывался, если игрок не в world_nether?
Предположим, вы хотите, чтобы этот элемент показывался только в том случае,
если они находятся в главном мире или в конечном мире ... а не в нижнем.
Ну, мы можем сказать, что это заявление сделано противоположным образом.
Посмотрите на этот пример

Код :
view_requirement:
requirements:
anythinghere:
type: javascript
expression: '!"%player_world%".equalsIgnoreCase("world_nether");'

Это кажется путаным? Позвольте мне объяснить, как именно эти выражения работают.
По существу, view_requirement принимает только true или false.
Итак, view_requirement просто проверяет, является ли ваш оператор таковым ... true или false.
В этом случае, если игрок находится в главном мире («world») и открывает меню ... он проверяет утверждение.
В заявлении говорится о возврате TRUE, если заполнитель возвращает НИЧЕГО, кроме world_nether.
Вот что делает восклицательный знак перед цитатами.
Если вы не указали восклицательный знак ... он вернется только в том случае, если заполнитель вернет world_nether.

----------------------------

Итак, если вы понимаете, как это работает ... Вы можете понять,
что view_requirement скрывает элемент, если выражение возвращает «false» и показывает элемент, если он возвращает «true».

Теперь, допустим, у вас есть заполнитель, который возвращает true/false.
Подобно заполнителю %essentials_kit_is_available_ <kitname>%.
Мы могли бы сделать следующее заявление

Код:
view_requirement:
requirements:
anythinghere:
type: string equals ignorecase
input: '%essentials_kit_is_available_<kitname>%'
output: 'yes'

Это проверит, доступен ли комплект.
Если это ... элемент покажет. Теперь, если вы заметили, я написал «yes», а не «true».
Это потому, что он проверяет заполнители через PlaceholderAPI.
В конфигурации по умолчанию PlaceholderAPI возврат BOOLEAN устанавливается как yes/no вместо true/false.
Если вы изменили этот параметр ... вам нужно будет изменить то, что проверяет.

Еще раз - если вы не можете заставить выражение работать... Попробуйте написать заполнитель в чате, чтобы узнать, что он возвращает.

Примечание. Я использую «string equals ignorecase», но вы также можете использовать «string equals»,
и он будет проверять значение, включая оболочку. Это означает, что если бы у вас был мир под названием «WoRLd_TeSt», вы могли бы сделать «.equals»

Эти выражения могут быть сделаны с помощью ANY placeholder, и вы можете использовать в них любые выражения Java.
Если вам нужна помощь... Пожалуйста, сообщите нам в теме, и мы постараемся помочь.

Обязательно проверьте и проверьте страницы меню в будущем, чтобы увидеть, как вы можете использовать эти выражения.
 
Последнее редактирование:

DarkKingArthas

Пользователь
Ребята нужна помощь, уже какой день не могу дойти как сделать меню без эффекта закрытия?
'[player] namemenu'
открывает меню как от плеера, а другая команда как раз и созданная для этого
'[openguimenu]' namemenu' открывает следующее меню с таким же эффектом кратковременного исчезновения.

Как сделать переход между страницами плавный?
Чекал ютуберов англ. там не уделяют этому внимания, а один человек который всё таки показал как это делать, показал пример использования команды [openguimenu] но прикол в том, что у него также мерцало при переходе в другое меню, а потом он что-то сделал за кадром (писал, что лишь создал ещё 4 айтема, но это не так) после продолжения демонстрации меню у него оно стало резко плавно переключаться без эффекта [close], хотя у него в коде он кстати присутствовал. У меня же как не крути всегда один и тот же эффект мерцание (закрытие) меню и открытие следующего. HELP пожалуйста, уже всё облазил.
PaperSpigot 1.12.2 b1613
DeluxeMenus использую с PAPI

p.s также пробовал и [commandevent] парень на англ. спигот искал решение, и потом он отписался, что смог сделать это с помощью данной команды, но я же перепробовав всё уже просто сдаюсь. Решение может где-то близко, но я не знаю :(
Майнкрафтом занимаюсь вот 8 день за прошедшие 6 лет, уже много изучил чего 24/7 работаю сервер делаю, но такую простую вещь я не могу догнать.
 

The_stas

Администратор
Модератор
Пользователь
Переход между меню лучше через [openguimenu] и без [close]. Может он налаживал иконки друг на друга и менял их приоритет?
 

DarkKingArthas

Пользователь
Переход между меню лучше через [openguimenu] и без [close]. Может он налаживал иконки друг на друга и менял их приоритет?
в том-то и дело, что у него был обычный маленький код с openguimenu командой, я на некоторых серверах наблюдаю плавный переход

Это гений какой-то. Всё понятно понятно, хоть и неактуально для меня, я итак достаточно уже знаю чтобы реализовать простые функции типа магазина и т.д, но вот как получается так, что потом в конце после 7:55 раз и меню плавное резко.

У него так вообще используется обычная команда от Player бред...
2019-05-05_21-16-47.png
 
Последнее редактирование:

The_stas

Администратор
Модератор
Пользователь
в том-то и дело, что у него был обычный маленький код с openguimenu командой, я на некоторых серверах наблюдаю плавный переход

Это гений какой-то. Всё понятно понятно, хоть и неактуально для меня, я итак достаточно уже знаю чтобы реализовать простые функции типа магазина и т.д, но вот как получается так, что потом в конце после 7:55 раз и меню плавное резко.
Он делал все в config.yml. Не использовал отдельные меню для папки gui_menus
 

The_stas

Администратор
Модератор
Пользователь
Я не видел такого перехода не в одном меню. Может видео с монтажем?
 

DarkKingArthas

Пользователь
Я не видел такого перехода не в одном меню. Может видео с монтажем?
Ну оно с монтажем, но несёт исключительно образовательный характер как сделать переход и создавать айтемы, он за кадром сказал, что сделал всего лишь 4 айтема с правилами для второго меню и вернулся. Но почему-то после обрезанного видео как итог помимо 2 новых правила появляется плавный переход и у меня взрывается голова. Как все эти люди на сервере делают такую плавность. Видел пару ру проектов где также всё реализовано, но не нашёл ещё не одного решения.
 

DarkKingArthas

Пользователь
Может у них другой плагин. Например Animated Menu
Надо посмотреть, спасибо.

Я сейчас получаю тонну информации всё время открыто 20+ вкладок с wiki различными и плагинами, последний сервер был на 1.5.2 лет 5-6 назад и то это был сервер просто куча скачанных плагинов и пару автосообщений, сейчас же решил всерьёз заняться, ещё denizens изучать приходиться чтобы npc прикольных делать и ещё много много всего.

Надеюсь форум будет развиваться мне кажется у него есть неплохой потенциал.
 

The_stas

Администратор
Модератор
Пользователь
Надо посмотреть, спасибо.

Я сейчас получаю тонну информации всё время открыто 20+ вкладок с wiki различными и плагинами, последний сервер был на 1.5.2 лет 5-6 назад и то это был сервер просто куча скачанных плагинов и пару автосообщений, сейчас же решил всерьёз заняться, ещё denizens изучать приходиться чтобы npc прикольных делать и ещё много много всего.

Надеюсь форум будет развиваться мне кажется у него есть неплохой потенциал.
Не для рекламы, но посмотри в сторону плагина CMI . Он заменит около 20-ти стандартных плагинов и меню в нем можно на голограммах собрать. Голограммы кликабельные в нем.
Пример:
2018-12-31_16-18-56.gif
 

The_stas

Администратор
Модератор
Пользователь
Не для рекламы, но посмотри в сторону плагина CMI . Он заменит около 20-ти стандартных плагинов и меню в нем можно на голограммах собрать. Голограммы кликабельные в нем.
Пример:
2018-12-31_16-18-56.gif
Примерно какие плагины заменит
AutoMessage
AutoSaveWorld
Chairs
ChatEx
ClearLag
DailyRewards
Essentials
EssentialsSpawn
HideStream
HolographicDisplays
MultiMOTD
RandomPort
SkinsRestorer
sTablist
Creative Gates
DynPad
TitleBar
ChatGuard
ArmorStandEdit
DynamicSigns
........
 

DarkKingArthas

Пользователь
Не для рекламы, но посмотри в сторону плагина CMI . Он заменит около 20-ти стандартных плагинов и меню в нем можно на голограммах собрать. Голограммы кликабельные в нем.
Пример:
2018-12-31_16-18-56.gif
Спасибо, обязательно посмотрю после реализации основных функций как для расширения функционала сервера, я уже на стадии завершения : ) Единственная трудность в дальнейшем - это разобраться с бангикорд и с чем его едят. Слышал это для лобби нужно и базы данных плагинов к будущему хосту подключить.

Спасибо за помощь.
 

DarkKingArthas

Пользователь
Примерно какие плагины заменит
AutoMessage
AutoSaveWorld
Chairs
ChatEx
ClearLag
DailyRewards
Essentials
EssentialsSpawn
HideStream
HolographicDisplays
MultiMOTD
RandomPort
SkinsRestorer
sTablist
Creative Gates
DynPad
TitleBar
ChatGuard
ArmorStandEdit
DynamicSigns
........
Хм, а я думал плагины связанные с меню и им подобные, а там я вижу даже от ессенишала до батутов с чатом. Тогда посмотрю прямо сейчас.
 

The_stas

Администратор
Модератор
Пользователь
Спасибо, обязательно посмотрю после реализации основных функций как для расширения функционала сервера, я уже на стадии завершения : ) Единственная трудность в дальнейшем - это разобраться с бангикорд и с чем его едят. Слышал это для лобби нужно и базы данных плагинов к будущему хосту подключить.

Спасибо за помощь.
Банжа нужна для объединения нескольких серверов в одну группу и под один айпи адрес
 

The_stas

Администратор
Модератор
Пользователь
Спасибо, обязательно посмотрю после реализации основных функций как для расширения функционала сервера, я уже на стадии завершения : ) Единственная трудность в дальнейшем - это разобраться с бангикорд и с чем его едят. Слышал это для лобби нужно и базы данных плагинов к будущему хосту подключить.

Спасибо за помощь.
С базами данных не спеши. Они очень тормозят сервер (если сервер и база не локальные) и нужны они больше для вывода статистики игроков на сайте и тому подобному
 

DarkKingArthas

Пользователь
С базами данных не спеши. Они очень тормозят сервер (если сервер и база не локальные) и нужны они больше для вывода статистики игроков на сайте и тому подобному
да я про такие плагины как автопривилегии, донат кейсы и т.д
я же не смогу протестировать их работу с тем же McDonate когда у меня локалхост сейчас.
 

The_stas

Администратор
Модератор
Пользователь
С базами данных не спеши. Они очень тормозят сервер (если сервер и база не локальные) и нужны они больше для вывода статистики игроков на сайте и тому подобному
Я имел ввиду сервер на одном хосте, а база на другом
 

Комнаты в чате

Верх Низ