1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите uralclans2. удваивание цены на /clan upgrade

Тема в разделе "Разработка плагинов для новичков", создана пользователем ВukkitPrоfi, 29 авг 2017.

  1. Автор темы
    ВukkitPrоfi

    ВukkitPrоfi Активный участник Пользователь

    Баллы:
    76
    Хочу ввести в плагин множитель цены на команду /c upgrade. Чем больше слотов, тем выше цена на их добавление (например, стандарт 10 слотов, игрок апает клан до 11 и это ему обойдется в 150$, а чтобы добавить 12й слот, ему уже придется заплатить 300$). но т.к. я не очень знаком с программированием плагинов, мне бы хотелось узнать, как это осуществить.

    вот проверка этой команды:
    Код:
    
                if(userClan != null && sender.hasPermission("UralClans2.upgrade") && (userClan.hasLeader(user.getName()) || userClan.isModer(user.getName()))) {
                    String cost;
                  if (Main.config.getInt("settings.upgrade_cost") != 0) {
                     cost = Lang.getMessage("cost", new Object[]{Main.config.getInt("settings.upgrade_cost")});
                  } else {
                     cost = Lang.getMessage("cost_free");
                  }
                   sender.sendMessage(ChatColor.YELLOW + "/" + label + " " + Lang.getMessage("command_upgrade") + cost);
                }
    
     
  2. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    userClan.getSlots или что-то такое есть? (userClan.getSlots()-10)*2
     
  3. Автор темы
    ВukkitPrоfi

    ВukkitPrоfi Активный участник Пользователь

    Баллы:
    76
    где-то тут
    Код:
    if(args[0].equalsIgnoreCase("upgrade")) {
                               if(!sender.hasPermission("UralClans2.upgrade")) {
                                  sender.sendMessage(Lang.getMessage("command_error38"));
                                  return true;
                               } else if(userClan == null) {
                                  sender.sendMessage(Lang.getMessage("command_error7"));
                                  return true;
                               } else if(!userClan.hasLeader(sender.getName()) && !userClan.isModer(sender.getName())) {
                                  sender.sendMessage(Lang.getMessage("command_error35"));
                                  return true;
                               } else if(userClan.getMaxPlayers() >= Main.config.getInt("settings.max_upgrade")) {
                                  sender.sendMessage(Lang.getMessage("command_error36"));
                                  return true;
                               } else {
                                  if (Main.config.getInt("settings.upgrade_cost") != 0) {
                                    try {
                                       if(userClan.getBalance() < (int) Main.config.getInt("settings.upgrade_cost")) {
                                          sender.sendMessage(Lang.getMessage("clan_take_3"));
                                         return true;
                                      }
                                   } catch (Exception e) {  }
                                
                                    userClan.setBalance(userClan.getBalance() - Main.config.getInt("settings.upgrade_cost"));
                                 }
                                  userClan.upgrade(1);
                                  userClan.broadcast(Lang.getMessage("clan_upgrade", new Object[]{sender.getName()}));
                                  return true;
                               }
    
     
  4. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Ты используешь данные из конфига (тоже вариант, если уровней мало), тогда надо допилить в нём List или что-то как settings.upgrade_cost.11 чтобы брать данные.
    Код:
    Main.config.getInt("settings.upgrade_cost")
    
    Как работает userClan.upgrade(1)?
     
  5. Автор темы
    ВukkitPrоfi

    ВukkitPrоfi Активный участник Пользователь

    Баллы:
    76
    ах, да, там ведь в самом классе установлено значение, на какое кол-во слотов будет улучшаться. т.е. это означает, что userclan.upgrade(1) добавляет 1 слот
     

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