Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Стартап ///

Здравствуйте, у меня появилась проблема с лимитом по группам. На пример, я хочу реализовать такую штуку: игрок использует команду: на пример /fly. Сервер проверяет его привилегию, и его лимит.
И если группа игрока равна группе из конфига, то его личный лимит начинает заканчиваться. И после повторного написания этой команды, ему должно вывестись сообщение по типу : ваш лимит исчерпан.
И через некоторое время, лимит снова восстанавливается.
Я пробовал реализовать через использование коллекций:
PHP:
    HashMap<String, Integer> groups;
    HashMap<String, List> players;
    
     this.groups = new HashMap<String, Integer>();
     this.players = new HashMap<String, List>();
Мне нужно реализовать простое чтение:
Код:
limitcommand:
 accept_denied: 'Вы исчерпали свой лимит, следующий доступ будет завтра.'
 limits:
  vip: 1
  premium: 2
Проверял наличие имени и лист привилегий, ничего не вышло :cry:
Чтение конфига сделал:
PHP:
        final ConfigurationSection s = cfg.getConfigurationSection("limitcommand.limits");
        for (final String group : s.getKeys(false)) {
            this.groups.put(group, s.getInt(group));
        }

Пожалуйста помогите реализовать грамотную проверку.
Обьем нужной информации от нас зависит от того, что именно у тебя не получается.
Пример кода, что ты предоставил - без ошибок на первый взгляд.
Для решения подобного рода проблем пробуй использовать дебаг, для простоты - обычный вывод сообщений, которые помогут тебе определить, в каком месте что то пошло не так как задумывалось.
 
Я бы сделал HashMap<String, Integer> players для игроков, где второй тип указывает на его личный лимит.
 

Поделиться этой страницей

Назад
Верх