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

СливПлатные

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

  • maksim3672628
  • nhiudhbifg
  • forcehype
  • luritata
  • He1ly03
  • No_Sweer4ik
  • KynuMen1
  • _Its_SnapeTeq_
  • matvey222
  • dxoat
  • dobrichhh
  • turbulencja
  • JekXD
  • CheChik
  • hantu
  • Croxa
  • durcus
  • andrew7625176
  • GeroiN111
  • CybeerGuru
  • Yapper
  • Maxim_Rewrezo
  • RogueZ
  • romeo3666
  • mrmesniy
  • mulubuaya
  • sanya2501
  • Vinsent
  • kaszdina
  • Mr. Stranger
  • DIMAPLAY1221
  • Yatochka
  • Miant
  • LoungeWorld
  • asdadsasdd
  • TALZi
  • Darkheim
  • Kikai
  • qweasdfw
  • bobobo
  • Aster4x
  • ViNardle
  • pelmeshka_YT2344
  • Carwel
  • RustyTown
  • Nesoft4ik
  • LimeDEV23
  • SotoMax
  • AlikPvZo
  • k1lka
  • nicsdfolas
  • kazutaki
  • gergegee
  • Kypid0n4ik
  • jaimeskiller
  • MrDanil1334
  • Dekartk
  • beeshs
  • Vlad_otoshol_na_5_minyt
  • tom12
  • Дед в трусах реально
  • anstya
  • EzRaika
  • DLRN
  • djest1ck
  • Morgart
  • zzj123
  • kanortoplay
  • HaronDev
  • sneidg
  • NightMaster
  • PingvinchikTop
  • Deputat
  • dfggg
  • andowakerroficial
  • ABUCODER_GAMER
  • Sain_pepega
  • CUPcqkeee
  • haze04
  • CraNZych
  • serewasverfa
  • woshhovsky

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