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

СливПлатные

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

  • DRAGAN
  • ALcrafting2010
  • 4yro4ka
  • NoJoRun
  • DLRN
  • Dantez
  • 45643346
  • rekkrut
  • no_war
  • katze225
  • Akela
  • ADYA
  • LateTeaCC
  • Snn_Werty213
  • gucb177
  • hard111
  • zxcTrupik
  • hayxper
  • sazaromega
  • Bonny
  • Dimong12
  • Neko_Watanabe
  • EternalMiracles
  • Greystiks
  • Icecicerv
  • IamSkoup
  • Wort
  • Anjarman20
  • traswoo
  • Jasper
  • warface2007man
  • Тимур
  • Dr_Akula
  • bvvg
  • dddaannyy
  • L?mia
  • tortik_0ps
  • _PrometheuZ_
  • EmeralidOldST
  • zspler
  • ProsCkas
  • quandev
  • xariuzik14
  • milana RAMPAGE
  • thxthe
  • VetNein
  • eblan183475
  • Vlad4092
  • Shiroi_
  • ffefefef
  • h1tofi1261
  • venerttt
  • fcbxcfvbdcfvbbxc
  • Krafteur
  • bibizzzz
  • Koco
  • Rostyan4uk
  • ОНРАГОЕ6НЛОНП
  • LaLaLaLaaa
  • EldjeyUz
  • cesar111
  • vcllebiwfsdg
  • derig
  • SALIEVVS
  • markkorwicz
  • morok1
  • KaioKenTV
  • nikitamoisei07
  • HOKOKRTET232323
  • Blackcat
  • lolka23
  • Roman Lakoste
  • SlackeDwARE
  • Kostiel
  • GrinSiC
  • SulaZAWR
  • fiti
  • avicenafahmi
  • Iruka
  • crhome23
  • vadimklochkov
  • wick
  • demwaaw
  • kesaswg
  • Dekartk
  • skayni
  • weqeeeqwe
  • KoteikaMurzik
  • psychosis
  • kyoroshy
  • wo1tec
  • хуйййй63626
  • 1mb1r4ck
  • anhvuquang0512

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

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