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

СливПлатные

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

  • fefeefefw
  • ZimBaly
  • MrkleisYT
  • BrownKing
  • ArtemShel3
  • lqxnio
  • MrTeM4IK324
  • Xilka
  • Xgamings11X
  • German_382
  • Ben4ik_222
  • MaskLe
  • rimuru_zet
  • jorjkk
  • Karton
  • iisuperali2
  • Evgen4ikGamesYT
  • MrLavX
  • real1tyy
  • kolyas
  • NevileeV
  • RokyYTR
  • macnk
  • RichKunG
  • Gaa1fg
  • monylen1
  • CodEX74
  • Raunak
  • LYNCH
  • eminence.in.shadow.backup
  • Серый Кот
  • TonThu
  • roman14252
  • 121121312312313
  • fluffycat
  • Wamblee
  • uncleshiza
  • Gamesense
  • SeaCore
  • Yarik222
  • typoypidaras12
  • Endsieg
  • VIPKACAJ
  • MachuPapa2020
  • BlockByte - студия
  • gdfd
  • sap4ik555
  • IvailoRaves
  • sPidRan_Rpg
  • itselloy
  • danyapavlov02
  • Shawon12345
  • vinafortX
  • TerAdapter
  • PabloStanfford
  • Kobalew
  • Fadde
  • TTtttt332
  • playsus1234
  • kanortoplay
  • rostir228
  • Пришлых
  • OderPrince
  • mcyogurt
  • xxxszaur
  • dopler
  • 8501489617
  • AdilDemon
  • Johnson
  • mcdanielprogf4
  • Tirex228
  • draca
  • andreu12
  • domino871
  • xyinaxyeglot
  • Namhoanghpvn
  • wery
  • Postal_08
  • oipypseki
  • ponimalka
  • chatodual
  • les_boss1
  • zer_o
  • _Mandarinka_TV_
  • Xanako

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