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

Помогите Проблема с уровнями.

SweatyDieF

Новичок
Пользователь
Баллы
21
Имя в Minecraft
SweatyDieF
@EventHandler
public void onChangeLevel(PlayerLevelChangeEvent e)
{
Player p = e.getPlayer();
p.setExp(p.getLevel()/100);
}

Данный код будет работать каждый раз, когда меняется уровень игрока верно?
 
Последнее редактирование:
Вообщем, перейду сразу к делу.
Допустим у игрока максимальное кол-во уровней 100, мне нужно сделать так что бы полоска опыта менялась в зависимости от уровня. Если у игрока 100 уровень то e.getPlayer.setExp(1);
Если у игрока 50 уровней то нужно что было так e.getPlayer.setExp(0.5);
Не хочу делать 100 раз проверку и писать что чему ровно, знаю что можно это сделать по другому.
Лол, деление в школе не проходили? Или ты только мимо проходил? 1 = 100 / 100; 0.5 = 50 / 100;
 
Лол, деление в школе не проходили? Или ты только мимо проходил? 1 = 100 / 100; 0.5 = 50 / 100;
Что не так?
Когда у игрока 100 уровень то полоска полная.
Если у игрока 50 уровень то полоска на половину полная.
Лол, деление в школе не проходили? Или ты только мимо проходил? 1 = 100 / 100; 0.5 = 50 / 100;
я изменил тему, первоначально я бред написал.
 
Ваша проблема решена?
Данный код будет работать когда у игрока меняется его уровень.
 
Ваша проблема решена?
К сожалению он не работает как нужно.
Вот кусок кода:
Код:
  @EventHandler
  public void onChangeLevel(PlayerLevelChangeEvent e)
  {
    Player p = e.getPlayer();
    p.setExp(p.getLevel()/100);
  }

  public void EnergyPlus()
  {
    Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
    {
      public void run()
      {
        Player[] arrayOfPlayer;
        int j = (arrayOfPlayer = Bukkit.getOnlinePlayers()).length;
        for (int i = 0; i < j; i++)
        {
          Player p = arrayOfPlayer;
          if (p.getLevel() < 100) {
            p.setLevel(p.getLevel() + 1);
          }
        }
      }
    }, 5L, 5L);
  }
 
Последнее редактирование:

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

Назад
Верх