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

СливПлатные

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

  • Light90
  • _Yandex_H
  • kagg43
  • gavrik1233
  • fesfsef
  • MR-Trubar2d2
  • periru_vt_ru
  • XapBu
  • hgftggds
  • Viktor_
  • notdyno56
  • legionfrost
  • Elhan
  • kanortoplay
  • ponimalka
  • allynea
  • NezzleGod
  • Mvk1337
  • Levi_GDG
  • Maestrosvo
  • Headus
  • Asultsss
  • homalend
  • ZloyBoy
  • Freezing
  • tapok2284
  • Sh1za
  • lenorio128
  • Roman 12567
  • dnmanpo
  • Nameless58
  • Gazmanov
  • NxxYasl
  • Greystiks
  • Sudvel
  • lemnt
  • sabson_559
  • 924405813
  • DenPlayStar
  • WERIDIUM
  • ChiMei_
  • fonarbx
  • LaLaLaLaaa
  • MrMikhaili
  • karpch
  • Animeas1234
  • lolzguru
  • Gubin
  • lolpty30
  • Lunuca1yt
  • federreder123123
  • Skerb
  • Gasol1ne_
  • worldhipe
  • HOKOKRTET232323
  • mcprsx
  • TheFriken
  • MiddleClient110
  • blacksoulsminecraft
  • Vladis19k
  • playsus1234
  • qpqpyt
  • fast1
  • DAFSSS11

Помощь 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 состояний: доступен/недоступен
  • Делать пустые слоты это по-своему "гениально", но не практично
  • Поэтому весьма глупая идея делать подобного рода отображение
Мы тут чтобы помочь решить озвученную проблему, а не говорить, как для ТС будет лучше :)
 
ВерхНиз