Войти или зарегистрироваться

Помогите Переменные в строке

  • Автор темы Автор темы Rbiter
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Rbiter

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Rbiter
Не изменяется значение переменной... Что делать?
Значение переменной MsgPayForKill "&bЗа убийство %Entity% вы получили %amount% %vault%"
Дабы не засорять конфиг и чтоб в любой момент можно было изменить сообщения просто через конфиг сделал три переменные %Entity% %amount% %vault%
Из них %vault% имеет постоянное значение. А %Entity% %amount% должны меняться в зависимости от убиваемого существа.
Вот участок кода:
JavaScript:
    public void onEntityDeath(EntityDeathEvent ev) {
        if (ev.getEntity().getKiller() instanceof Player) {
            Boolean temp = Boolean.valueOf(this.getConfig().getBoolean("worlds." + ev.getEntity().getKiller().getWorld().getName()));
            if (!temp.booleanValue()) {
                Player p = ev.getEntity().getKiller();
                LivingEntity e = ev.getEntity();
                EconomyResponse r = null;
                String amount = null;
                this.MsgPayForKill = this.MsgPayForKill.replaceAll("%vault%", this.VaultSimvol);
               if (e instanceof Cow) {
                    this.MsgPayForKill = this.MsgPayForKill.replaceAll("%amount%", amount = amount.valueOf(cow));
                    this.MsgPayForKill = this.MsgPayForKill.replaceAll("%Entity%", "коровы");
                    r = econ.depositPlayer(p.getName(), this.cow);
                    p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.Prefix + " " + this.MsgPayForKill));
                } else if (e instanceof Creeper) {
                    this.MsgPayForKill = this.MsgPayForKill.replaceAll("%amount%", amount = amount.valueOf(creeper));
                    this.MsgPayForKill = this.MsgPayForKill.replaceAll("%Entity%", "крипера");
                    r = econ.depositPlayer(p.getName(), this.creeper);
                    p.sendMessage(ChatColor.translateAlternateColorCodes('&', this.Prefix + " " + this.MsgPayForKill));
                }
после убийства крипера выходит сообщение: За убийство крипера вы получили 1 руб
Вроде все норм но если следом убью корову то выводит то же самое сообщение: За убийство крипера вы получили 1 руб.
Однако если перезагрузить плагин и сперва убить корову будет выводить: За убийство коровы вы получили 1 руб
Но если следом крипера то будет выводить: За убийство коровы вы получили 1 руб
Что делать? :oops:
 
Так вы не трогайте глобально объявленную переменную.
а как тогда значения заменять то?
Сорри туплю :D Проблема решена)
Объявил локальную переменную и в нее записал значение из глобальной)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх