Продажа по табличкам и автопродажа, локал/глобал бусты

Spokers

Пользователь
1)Я уже задавал подобный вопрос, но тут я дополню его "Автопродажа", по факту там одно и тоже, также про бусты была мысля сделать в файле каждого игрока буст, но тут проблема с глобал бустом тк его над выносить где-то и держать 30 минут а потом удалить, вернусь к продаже, мне надо продавать только блоки
2) Spigot 1.8
3) нету
offtop Простите, но я не понимаю как это реализовать
 

q20w26a

Разработчик
Пользователь
А я не понял, что конкретно нужно :)
Можно перефразировать? Тебе нужен глобальный буст для всех, или для каждого индивидуальный?
 

BuseSo

Разработчик
Пользователь
Глобальный буст делается легко, не надо выносить его ни в какой файл.
Можешь хранить в переменных:
int mult = 1, time = 0;

А при активации множитель и время делаешь такими, какими указываешь.
Запускаешь BukkitScheduler, который каждую минуту из time вычитает 1, пока оно не станет равняться нулю (когда = 0, множитель ставишь 1, а шедуляр выключаешь).
 

q20w26a

Разработчик
Пользователь
Обнулять его каждые 30 минут?

Java:
Map<Player, Float> privateBoost = new HashMap<Player, Float>();
float globalBoost = 4.5F;

/* устанавливаешь нужный тебе индивидуальный буст,
например privateBoost.put(event.getPlayer(), 5.0F)

тут мы каждые delay секунд обнуляем всем буст ->
*/
public void myAwesomeMethod() {
    new BukkitRunnable() {
        @Override
        public void run() {
            privateBoost.clear();
        }
    }.runTaskTimerAsynchronously(plugin, 20*delay, period);
    /**
        plugin - the reference to the plugin scheduling task
        delay - the ticks to wait before running the task for the first time
        period - the ticks to wait between runs
    */
}
// вызываешь потом этот метод где-нибудь, и все
Авто объединение сообщений:

offtop BuseSo ну вот, пока я писал код и копировал документацию, за меня все сделали
 

Spokers

Пользователь
offtop Кхм, спасибо, есть варианты с автопродажей?

Авто объединение сообщений:

Обнулять его каждые 30 минут?

Java:
Map<Player, Float> privateBoost = new HashMap<Player, Float>();
float globalBoost = 4.5F;

/* устанавливаешь нужный тебе индивидуальный буст,
например privateBoost.put(event.getPlayer(), 5.0F)

тут мы каждые delay секунд обнуляем всем буст ->
*/
public void myAwesomeMethod() {
    new BukkitRunnable() {
        @Override
        public void run() {
            privateBoost.clear();
        }
    }.runTaskTimerAsynchronously(plugin, 20*delay, period);
    /**
        plugin - the reference to the plugin scheduling task
        delay - the ticks to wait before running the task for the first time
        period - the ticks to wait between runs
    */
}
// вызываешь потом этот метод где-нибудь, и все
Авто объединение сообщений:

offtop BuseSo ну вот, пока я писал код и копировал документацию, за меня все сделали
Да каждые 30 минут
 
Последнее редактирование:

q20w26a

Разработчик
Пользователь
есть варианты с автопродажей?
Не знаю, где и как ты хранишь предметы для продажи, но ты можешь автоматически продавать точно так же как я и показал, например, спустя определенное время. Только я не советую для каждого запускать свой Runnable.
 

Spokers

Пользователь
Не знаю, где и как ты хранишь предметы для продажи, но ты можешь автоматически продавать точно так же как я и показал, например, спустя определенное время. Только я не советую для каждого запускать свой Runnable.
Ладно
 

Комнаты в чате

Верх Низ