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

В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);
            }
 
userClan.getSlots или что-то такое есть? (userClan.getSlots()-10)*2
 
userClan.getSlots или что-то такое есть? (userClan.getSlots()-10)*2
где-то тут
Код:
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;
                           }
 
Ты используешь данные из конфига (тоже вариант, если уровней мало), тогда надо допилить в нём List или что-то как settings.upgrade_cost.11 чтобы брать данные.
Код:
Main.config.getInt("settings.upgrade_cost")

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

Как работает userClan.upgrade(1)?
ах, да, там ведь в самом классе установлено значение, на какое кол-во слотов будет улучшаться. т.е. это означает, что userclan.upgrade(1) добавляет 1 слот
 
Назад
Верх