Опубліковано 13 вересня, 202413 верес Перегляд файла EcoShop EcoShop - плагін серверного магазину з усіма можливостями, які можна побажати. Підтримка кількох валют, підтримка предметів користувача, підтримка економіки предметів, одноразова купівля предметів, обмеження на купівлю предметів, сторінкові магазини, кілька магазинів, кілька варіантів купівлі - список можна продовжувати. Якщо ви коли-небудь хотіли отримати щось від плагіна для магазину, EcoShop має це. Команди та права плагіна EcoShop: /ecoshop reload - Перезавантажити плагін Роздільна здатність: ecoshop.command.reload /ecoshop resetbuys - Скидає кількість разів, яку гравець купив предмет Роздільна здатність: ecoshop.command.resetbuys Загальне використання: /ecoshop resetbuys <гравець> <ід> /sell - Відкриває графічний інтерфейс продажу Роздільна здатність: ecoshop.command.sell /sell hand / all / handall - Продає предмети безпосередньо Дозволи: ecoshop.command.sell.hand, ecoshop.command.sell.all, ecoshop.command.sell.handall Інші команди та дозволи У кожного магазину є своя команда, яку ви вказуєте в конфізі, і вони мають дозвіл ecoshop.open.<id>, наприклад, /shop матиме дозвіл ecoshop.open.shop. Якщо ви хочете, щоб купівля/продаж предмета вимагала дозволу, вузлами дозволу будуть ecoshop.buy.<id> та ecoshop.sell.<id>. За замовчуванням цей дозвіл є у всіх гравців. Приклад конфігурації магазину в EcoShop EcoShop поставляється з прикладом конфігурації магазину, який все пояснює # ID магазина - это имя файла .yml, # например, donator.yml имеет ID donator # Магазины можно размещать в любом месте в этой папке, # включая подпапки, если вы хотите организовать конфигурации магазинов # _example.yml не загружается. title: Демо-Магазин # Заголовок GUI. command: demoshop # Команда для открытия магазина. forwards-arrow: # Стрелка для переключения между страницами. Если на последней странице, она не будет отображаться. item: arrow name:"&fСледующая страница" row: 6 column: 6 backwards-arrow: # Стрелка для переключения между страницами. Если на первой странице, она не будет отображаться. item: arrow name:"&fПредыдущая страница" row: 6 column: 4 buy-broadcasts: # Опции для оповещений о покупках enabled: true # Если покупки в этом магазине должны транслироваться на сервер, полезно для /buy меню. message: "&b&lМагазин Кристаллов&r &8»&r %player%&r&f купил &r%item%&r&fиз магазина &bМагазин Кристаллов ❖&f!" # Используйте %player%, %item%, и %amount% sound: # Звук оповещения, удалите этот раздел, если вы не хотите звука. sound: ui_toast_challenge_complete pitch: 1.5 volume: 2 click-sound: # Звук, воспроизводимый при нажатии на значок в этом магазине, удалите этот раздел, если вы не хотите звука. sound: block_stone_button_click_on # Звук https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html pitch: 1 # Высота тона (0.5 - 2) volume: 1 buy-sound: # Звук, воспроизводимый при покупке чего-то в этом магазине, удалите этот раздел, если вы не хотите звука. sound: entity_player_levelup pitch: 2 volume: 1 sell-sound: # Звук, воспроизводимый при продаже чего-то в этом магазине, удалите этот раздел, если вы не хотите звука. sound: block_amethyst_block_place pitch: 1.5 volume: 1 # Магазины могут работать двумя способами. # Вы можете либо сделать магазин, содержащий список категорий, либо сделать магазин одной # категорией, на которую вы мгновенно переходите (для магазинов с одной страницей, например, магазин яйца спауна босса) # Если вы хотите магазин с одной страницей, используйте direct-category для связи его прямо с категорией # direct-category: example_category # Если вы хотите обычный магазин, содержащий несколько категорий, используйте эти опции здесь rows: 3 pages: # Все страницы в GUI предпросмотра. Вы можете добавить столько страниц, сколько хотите. - page: 1 mask: # Заполнительные предметы для украшения items: # Добавьте столько предметов, сколько хотите - gray_stained_glass_pane # Предмет 1 - black_stained_glass_pane # Предмет 2 pattern: - "222222222" - "211111112" - "211000112" - "211000112" - "211111112" - "222222222" categories: # Где разместить категории в GUI - id: example # ID категории row: 3 # Ряд column: 3 # Колонка - id: example_2 row: 4 column: 6 # Пользовательские слоты GUI; см. здесь, как это сделать: https://plugins.auxilor.io/all-plugins/custom-gui-slots custom-slots: [ ] Приклад налаштування категорії в EcoShop EcoShop поставляється з прикладом конфігурації категорії, який все пояснює # ID категории - это имя файла .yml, # например, trails.yml имеет ID trails # Категории можно размещать в любом месте в этой папке, # включая подпапки, если вы хотите организовать конфигурации категорий # _example.yml не загружается. item: diamond_sword name:"&fПример Категории" # Предмет, отображаемый в магазине. lore: [ ] # Лор предмета, отображаемого в магазине. # permission: ecoshop.category.permission1 # (Необязательно) Разрешение, необходимое для доступа/использования категории. # Опции для GUI категории. gui: rows: 6 # Количество строк (1-6). title: "Демо Категория" # Заголовок GUI. # Опции навигации, скрыты, если на первой/последней странице. forwards-arrow: item: arrow name:"&fСледующая страница" row: 6 column: 6 backwards-arrow: item: arrow name:"&fПредыдущая страница" row: 6 column: 4 # Добавьте столько страниц, сколько хотите, добавив их в этот список pages: - page: 1 mask: items: # Материал фона - gray_stained_glass_pane - black_stained_glass_pane pattern: # 0 для пустоты, 1 для первого элемента, 2 для второго элемента и так далее - "222222222" - "211111112" - "211111112" - "211111112" - "211111112" - "222222222" # Пользовательские слоты GUI; см. здесь, как это сделать: https://plugins.auxilor.io/all-plugins/custom-gui-slots custom-slots: [ ] - page: 2 mask: items: - gray_stained_glass_pane - black_stained_glass_pane pattern: - "222222222" - "211111112" - "211111112" - "211111112" - "211111112" - "222222222" items: - id: enchanted_diamond # ID предмета, не отображается игрокам. # Предмет для покупки/продажи. Должен иметь количество один, поэтому 'stone 16' не будет разрешено. # https://plugins.auxilor.io/all-plugins/the-item-lookup-system item: ecoitems:enchanted_diamond # (Необязательно) Пользовательское отображаемое имя, по умолчанию наследуется от предмета GUI. name: "&b&k!!&r <gradient:#2193b0>Зачарованный Алмаз</gradient:#6dd5ed>&r &b&k!!" # Опции для покупки предмета, см. здесь: # https://plugins.auxilor.io/all-plugins/prices buy: value: 500 - (%player_rank% * 25) type: coins display: "$%value%" amount: 8 # (Необязательно) Количество быстрой покупки / покупки по умолчанию. По умолчанию 1, если не указано. max-at-once: 16 # (Необязательно) Максимальное количество, которое можно купить одновременно. По умолчанию бесконечность, если не указано. buy-message: # (Необязательно) Введите сообщения для отправки игроку при покупке этого конкретного предмета. Все равно будет отправлено 'bought-item/bought-multiple' из lang.yml - "&6Спасибо за покупку этого конкретного предмета" # Опции для продажи предмета, см. здесь: # https://plugins.auxilor.io/all-plugins/prices sell: value: 100 + (%player_rank% * 25) type: coins display: "$%value%" require: "%player_rank% > 1" # (Необязательно) Это выражение должно быть истинным, чтобы можно было продать этот предмет. # Условия, которые должны быть выполнены для продажи этого предмета. # См. здесь: https://plugins.auxilor.io/effects/configuring-a-condition conditions: [ ] sell-command: # (Необязательно) Введите команды, которые должны выполняться при продаже игроком предметов. Вы можете использовать заполнители %player% и %amount% - "give %player% stone %amount%" sell-message: # (Необязательно) Введите сообщения для отправки игроку при продаже этого конкретного предмета. Все равно будет отправлено 'sold-item/sold-multiple' из lang.yml - "&6Спасибо за продажу этого конкретного предмета" gui: column: 4 # Как далеко слева направо (1-9). row: 3 # Как далеко вверх или вниз (1-6). page: 1 # Страница. - id: iron_rank commands: # Команды для выполнения. Вы можете использовать заполнители %player% и %amount%. - lp user %player% parent set iron buy: value: "%ecomc_iron_price%" type: crystals display: "&b%value% Кристаллы ❖" require: "%ecomc_iron_price% >= 0" # (Необязательно) Это выражение должно быть истинным, чтобы можно было купить предмет. limit: 1 # (Необязательно) Максимальное количество раз, которое каждый игрок может купить этот предмет, по умолчанию бесконечность. gui: display: # Этот предмет отображается в GUI. Если вы продаете предмет, это по умолчанию предмет сам по себе. item: diamond_chestplate lore: - "&fКупите &7&lЖЕЛЕЗО&r&f ранг, чтобы получить" - "&fследующие преимущества:" - " &8»&f &eПримерный Перк" column: 5 # Колонка. row: 3 # Ряд. page: 2 # Страница. - id: do_something_cool # Эффекты при покупке игроком предмета. # См. здесь: https://plugins.auxilor.io/effects/configuring-an-effect effects: [] buy: value: 65 type: crystals display: "&b%value% Кристаллы ❖" # Условия, которые должны быть выполнены для покупки этого предмета. # См. здесь: https://plugins.auxilor.io/effects/configuring-a-condition conditions: [ ] gui: display: item: nether_star lore: - "&fКупите меня, чтобы сделать что-то классное!" column: 6 # Колонка. row: 3 # Ряд. page: 2 # Страница. - id: valkyrie_egg item: ecobosses:valkyrie_spawn_egg buy: value: 76850 type: coins display: "&a$%value%" max-at-once: 1 # Если вы хотите пропустить выбор количества в GUI, установите max-at-once на 1, чтобы щелчок мгновенно купил. # Вместо того чтобы предмет был доступен для покупки и продажи, вы можете иметь # два варианта покупки (Покупка - это щелчок левой кнопкой мыши, Альт-Покупка - щелчок правой кнопкой мыши). # limit / max-at-once и т. д. наследуются от вариантов покупки. alt-buy: value: 65 type: crystals display: "&b%value% Кристаллы ❖" # Условия, которые должны быть выполнены для покупки этого предмета. # См. здесь: https://plugins.auxilor.io/effects/configuring-a-condition conditions: [ ] gui: display: lore: # Вы можете наследовать предмет и просто добавить свой собственный дополнительный лор для отображения дополнительной информации. - "" - "&fПримерный Лор" - "" bottom-lore: # Вы также можете добавить лор, который будет размещен под другим лором (например, цена, информация о быстрой покупке/продаже и т. д.) - "" - "&e&oЛевый клик, чтобы купить за деньги," - "&e&oПравый клик, чтобы купить за &bКристаллы ❖&e&o!" column: 7 # Как далеко слева направо (1-9). row: 3 # Как далеко вверх или вниз (1-6). page: 1 # Страница. show-quick-buy-sell: false # (Необязательно) отключить текст быстрой покупки / продажи. Як зробити один? Простий предмет купівлі-продажу Почнемо з найпростішого предмета – якщо ви створюєте стандартний магазин купівлі-продажу, то більшість ваших предметів виглядатимуть саме так: id: cooked_mutton item: cooked_mutton buy: type: coins value: 20 display: $%value% amount: 32 sell: type: coins value: 10 display: $%value% gui: column: 4 row: 1 page: 1 Давайте розберемо кожен розділ: Спойлер id : Це внутрішній ідентифікатор предмета. Гравці його не бачать, але важливо використовувати унікальний ID для кожного предмета у всіх магазинах. item (предмет): Це є власне предмет, який ми продаємо. Він підтримує користувальницькі предмети, зачарування, назви користувача, суми, рефоржі і так далі - докладніше читайте тут. buy (купити): Якщо ви хочете, щоб ваш предмет можна було купити, тут ви вказуєте ціну покупки. Докладніше про ціни читайте тут, їх важливо розуміти під час створення предметів. buy.amount : Це необов'язкова функція, в якій ви вказуєте кількість предметів за замовчуванням для швидкого придбання, а також кількість предметів за замовчуванням при відкритті меню вибору кількості придбання. Ви, як і раніше, вказуєте значення лише одного предмета – це просто для того, щоб задати кількість покупок за замовчуванням. sell (продати): Працює так само, як і покупка, тільки тепер це ціна продажу. gui : Це налаштування того, як предмет відображатиметься у категорії. Рядок – зверху вниз, стовпець – зліва направо, а сторінки не вимагають пояснень. Командні предмети в EcoShop Іноді ви хочете виконати команду, коли гравець купує предмет замість того, щоб дати йому реальний предмет (або одночасно з ним). Зараз на серверах дуже поширене використання кількох валют і переміщення таких речей, як ранги, у внутрішньоігрові магазини, тому давайте подивимося, як це можна зробити за допомогою EcoShop. Звичайно, ви не можете продати команду, тому вони призначені тільки для покупки. id: iron_rank command: # Я изменил commands: на command: потому что это не работает с "s" - lp user %player% parent set iron buy: value: "%ecomc_iron_price%" type: crystals display: "&b%value% Кристаллы ❖" require: "%actions_iron_buy_is_met%" limit: 1 alt-buy: value: "%ecomc_iron_crystal_price%" type: crystals display: "&b%value% Кристаллы ❖" conditions: [ ] gui: display: item: diamond_chestplate lore: - "&fКупите &7&lЖЕЛЕЗО&r&f ранг, чтобы получить" - "&fследующие преимущества:" - " &8»&f &eПримерный Перк" bottom-lore: - "&e&oЛевый клик, чтобы купить за деньги," - "&e&oПравый клик, чтобы купить за &bКристаллы ❖&e&o!" column: 5 # Колонка. row: 3 # Ряд. page: 2 # Страница. show-quick-buy-sell: false Спойлер commands : Це команди, які будуть виконані, коли гравець купує предмет. Ви можете використовувати заповнювачі %player% та %amount%. buy.value : Ви можете використовувати заповнювачі у значеннях! Дозволено будь-яке заповнення PlaceholderAPI. І це ще краще – ви можете також виконувати математичні операції. Наприклад, %player_y% * 100 - cos(%player_x%) теж буде цілком допустимим. Це, звичайно, досить дивна ціна, але це можливо. buy.require : Це математичний вираз, який повинен бути виконаний, щоб дозволити купівлю цього предмета. Наприклад, ви можете використовувати %player_xp% >= 300. buy.conditions : Умови, які потрібно виконати для покупки цього предмета. Прочитайте тут для отримання додаткової інформації! buy.limit : Максимальна кількість разів, яку гравець може купити цей предмет. alt-buy : Це другий варіант покупки, який можна використовувати, клацнувши правою кнопкою миші на предмет. Припустимо, у вас є подвійна валютна система, ви можете зробити, щоб клацання лівою кнопкою коштувало гроші, а клацання правою кнопкою коштувало кристали, або ви можете зробити, щоб клацання лівою кнопкою коштувало золоті зливки, а клацання правою кнопкою - смарагди. gui.display : Це предмет, який відображається гравцям у магазині. У команд немає автоматичного відображення предмета, тому його потрібно вказати. Ви також можете вказати користувальницький предмет, якщо продаєте предмети, але це не обов'язково. Ви також можете необов'язково вказати лор та нижній лор, де нижній лор відображається під речами, такими як ціна покупки, швидкі опції покупки і т.д. gui.show-quick-buy-sell : За замовчуванням швидкий лор для купівлі/продажу відображається на предметах. Якщо ви не захочете це для цього предмету, ви можете вимкнути це тут. Предмети з ефектами в EcoShop Замість використання тільки команд, EcoShop також має повний доступ до системи ефектів, так що ви можете запускати ефекти, коли гравець купує предмет, або навіть просто помістити самі ефекти в магазин. Як і команди, вони не продаються. id: my_effect_item effects: [ ] buy: value: 65 type: crystals display: "&b%value% Кристаллы ❖" gui: display: item: nether_star lore: - "&fКупите меня, чтобы сделать что-то крутое!" column: 6 # Колонка. row: 3 # Ряд. page: 2 # Страница. show-quick-buy-sell: false Додав Ciko Додано 13.09.24 Категорія Плагина Для версій 1.17.✘1.18.✘1.19.✘1.20.✘1.21.✘ Java
Приєднуйтесь до обговорення
Ви можете написати зараз та зареєструватися пізніше. Якщо у вас є обліковий запис, авторизуйтесь, щоб опублікувати від імені свого облікового запису.
Примітка: Ваш пост буде перевірено модератором, перш ніж стане видимим.