Сборки серверов

СливПлатные

Новые сообщения

Сейчас онлайн

  • minqun173
  • vinafortX
  • dimacloudy
  • Pomachka58BW
  • Evgen4ikGamesYT
  • _Mandarinka_TV_
  • Headus
  • les_boss1
  • Xanako
  • den_200920
  • Namhoanghpvn
  • Fabric1165
  • Arthur57424
  • kortex152
  • zer_o
  • Korolich54
  • mcyogurt
  • real1tyy
  • andreu12
  • Gundone
  • AgentikZab
  • TheBrainDed
  • OderPrince
  • Shiroi_
  • Clouse1
  • Johnson
  • Raunak
  • mifothebest
  • domino871
  • spectrasonic117
  • greireru324534
  • gossse25
  • fcPlugins
  • YUFI
  • youranondeath99901
  • Artemssas
  • cawa
  • VictorYYS
  • Kansai
  • WitherTech GSL
  • Ziaget
  • Soquooo
  • SeaCore
  • ytfly
  • Kobalew
  • moskva133
  • sinsamuth
  • undefined322
  • dikdik
  • prorotyz3d
  • chatodual
  • KOTCAT122
  • AdilDemon
  • DoBidoV
  • Heller123
  • Xgamings11X
  • itselloy
  • cmercado
  • DDANNE4KKA
  • DenPlayStar
  • PhanithIsKing
  • Fadde
  • Skai
  • ZerthDev
  • SyrnikInteractive
  • Skyns1
  • Blackcat
  • 01Kapycta
  • Gazmanov
  • SHAURMA808
  • beakeroff1
  • MachuPapa2020
  • HiVz_2
  • TheBigGarry
  • claimee5945
  • NASA180
  • MaskLe
  • MrMikhaili

Помощь deluxemenus | Меню с выбором титулов

  • Автор темыN1xon
  • Дата начала
N1xon
Здравствуйте! Есть задумка по созданию меню, в котором ты можешь выбрать себе титул. Но тут всё будет посложнее, чем с остальными подобными менюшками. Вообщем - открывая меню оно будет пустым, ни единого титула. Только кнопки след. страница, выйти, категории. Но при получении титулов (с кейсов к примеру) они начнут отображаться и в меню. Как такое можно реализовать? Дайте подробную инструкцию
 
GPT-4o
Для реализации меню с динамическим отображением титулов, которое будет пустым при первом открытии, но будет заполняться по мере получения титулов, можно использовать несколько шагов. Вот подробная инструкция:

1. Создание интерфейса меню:
- Начните с создания базового интерфейса меню, который будет содержать кнопки "Следующая страница", "Выйти" и "Категории".

2. Создание структуры данных для титулов:
- Создайте класс или структуру для хранения информации о титуле (например, название, описание и т.д.).

3. Инициализация списка титулов:
- Создайте список, который будет хранить полученные титулы. Изначально он будет пустым.

4. Метод для обновления меню:
- Реализуйте метод, который будет обновлять отображение титулов в меню. Этот метод будет вызываться каждый раз, когда пользователь получает новый титул.

5. Обработка событий:
- Реализуйте обработчики событий для кнопок меню, чтобы пользователь мог навигировать по меню.

6. Получение титулов:
- Создайте механизм получения титулов, например, через кейсы или другие игровые механики. После получения титула добавляйте его в список и вызывайте метод обновления меню.

Примерный код для реализации на Java может выглядеть следующим образом:

Java:
import java.util.ArrayList;
import java.util.List;

class Title {
    String name;
    String description;

    public Title(String name, String description) {
        this.name = name;
        this.description = description;
    }
}

class Menu {
    private List<Title> titles;

    public Menu() {
        this.titles = new ArrayList<>();
    }

    public void addTitle(Title title) {
        titles.add(title);
        updateMenu();
    }

    public void updateMenu() {
        // Логика для отображения титулов в меню
        System.out.println("Титулы:");
        if (titles.isEmpty()) {
            System.out.println("Нет титулов.");
        } else {
            for (Title title : titles) {
                System.out.println("- " + title.name + ": " + title.description);
            }
        }
    }

    public void showMenu() {
        System.out.println("Меню:");
        // Вывод кнопок
        System.out.println("1. Следующая страница");
        System.out.println("2. Выйти");
        System.out.println("3. Категории");
        updateMenu();
    }
}

public class Game {
    public static void main(String[] args) {
        Menu menu = new Menu();
        menu.showMenu();

        // Пример получения титула
        Title newTitle = new Title("Герой", "Титул для смелых.");
        menu.addTitle(newTitle);
    }
}

Этот код создает простое меню, которое обновляется при добавлении новых титулов. Вы можете расширять его функциональность, добавляя больше функций и улучшая интерфейс.
 
Snezhnyi
Здравствуйте! Есть задумка по созданию меню, в котором ты можешь выбрать себе титул. Но тут всё будет посложнее, чем с остальными подобными менюшками. Вообщем - открывая меню оно будет пустым, ни единого титула. Только кнопки след. страница, выйти, категории. Но при получении титулов (с кейсов к примеру) они начнут отображаться и в меню. Как такое можно реализовать? Дайте подробную инструкцию
Полностью убрать отображение недоступных титулов нельзя,
можно лишь сделать 2 иконки отображения на отсутствие и наличие титула :)
Вот тебе простенький шаблон с 1 титулом
По вопросам дс: mr_frank_666
 

Вложения

  • tituls_1.yml
    5,4 КБ · Просмотры: 2
Последнее редактирование:
E_NeLsOn
Код:
  'item':
    material: LIME_WOOL
    slot: 0
    display_name: 'Test'
    lore:
      - "&eSome lore"
    view_requirement:
      requirements:
        has_perm:
          type: "string equals"
          input: "%luckperms_has_permission_tvoi.permission.na.titul.1"
          output: "yes"
    left_click_commands:
      - '[console] komanda na ustanovku titula dlya %player_name%'

С кодом выше слот будет пустым, если у игрока будет отсутствовать право "tvoi.permission.na.titul.1", если право есть, то будет отображаться лаймовая шерсть со всем вытекающим.. Но я бы использовал вариант, который предложил @Snezhnyi, просто из-за некой эстетики. Для этого нужно изменить немного эту часть и добавить ещё одну секцию.

Код:
  'item':
    material: LIME_WOOL
    slot: 0
    priority: 1
    display_name: '&aTest'
    lore:
      - "&eSome lore"
    view_requirement:
      requirements:
        has_perm:
          type: "string equals"
          input: "%luckperms_has_permission_tvoi.permission.na.titul.1"
          output: "yes"
    left_click_commands:
      - '[console] komanda na ustanovku titula dlya %player_name%'

  'item-noperm':
    material: RED_WOOL
    slot: 0
    priority: 2
    display_name: '&cTest'
    lore:
      - "&7Отсутствует"

P.s. Почему я использовал заполнитель LuckPerms вместо обычного "has perm":
с "has perm", имея опку, условие всегда выполняется, из-за этого очень неудобно тестировать.
 
Snezhnyi
  • Дело не в эстетике, а в понимании того, что тебя ждёт
  • Какой смысл будет игроку приобретать кейсы с титулами, если он даже не увидит какие вообще титулы присутствуют на сервере и что ему может выпасть
  • Из-за этого обязательным является показ 2 состояний: доступен/недоступен
  • Делать пустые слоты это по-своему "гениально", но не практично
  • Поэтому весьма глупая идея делать подобного рода отображение
 
E_NeLsOn
  • Дело не в эстетике, а в понимании того, что тебя ждёт
  • Какой смысл будет игроку приобретать кейсы с титулами, если он даже не увидит какие вообще титулы присутствуют на сервере и что ему может выпасть
  • Из-за этого обязательным является показ 2 состояний: доступен/недоступен
  • Делать пустые слоты это по-своему "гениально", но не практично
  • Поэтому весьма глупая идея делать подобного рода отображение
Мы тут чтобы помочь решить озвученную проблему, а не говорить, как для ТС будет лучше :)
 
ВерхНиз