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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mihael_i, 13 ноя 2016.

  1. Автор темы
    Mihael_i

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

    Баллы:
    66
    Имя в Minecraft:
    Mihael_i
    Здравствуйте, у меня есть мод, который отображает баланс игрока из Essentials на экран по средством отправки пакетов. Так вот, для того, что бы поменять баланс игрока на экране, мне надо отправить пакет(Сервер у меня с экономикой). Я задумался, при каких ивентах Bukkit мне отправить пакет. Пока что идея следующая: отправлять пакет, когда игрок заходит на сервер, взаимодействует с блоком. Правильно ли я думаю или можно реализовать как-то по-другому?
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Я юзаю шедулер и не парюсь.
     
  3. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Увы, эвента изменения баланса нет. Но можно его написать, офк.
     
  4. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    У тебя же связка плагин-мод, сделай евент.
     
  5. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Это надо ему либо в vault эвент пихать, либо в Essentials.
     
  6. _MediaNik_

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

    Баллы:
    76
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    А нельзя через свой плуг?
    Хотя, да, ступил.
     
  7. Автор темы
    Mihael_i

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

    Баллы:
    66
    Имя в Minecraft:
    Mihael_i
    Каждые сколько тиков?
     
  8. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    5 с головой хватит. Если уж совсем жадина, то 10.
     
  9. Автор темы
    Mihael_i

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

    Баллы:
    66
    Имя в Minecraft:
    Mihael_i
    То есть, если я буду перебирать всех игроков и отправлять на клиент каждого пакет каждые 5 тиков, сервер это спокойно выдержит?
     
  10. xDark

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

    Баллы:
    96
    Да.
     
  11. Автор темы
    Mihael_i

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

    Баллы:
    66
    Имя в Minecraft:
    Mihael_i
    Ок, спасибо.
     
  12. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Отправлять каждые 5 тиков не надо. Отправлять надо тогда, когда значение изменено.
     
  13. Автор темы
    Mihael_i

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

    Баллы:
    66
    Имя в Minecraft:
    Mihael_i
    То есть надо в шедулере проверить изменилось ли значение и, если изменилось отправлять пакет?
     
  14. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Слишком быстро, раз в 5 секунд вполне достаточно.
     
  15. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Хотя бы раз в секунду. А то совсем рассинхрон будет.
    Пробегаемся по игрокам, получаем их баланс. Если их баланс изменился (проверяем в мапе или же прикрепляя к игрокам метаданные), то отправляем мешок.
     
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Смысла нет, ибо конект в базу все равно идет при гетбаланс. Можно всегда отправлять пакет.
    Могу скинуть свою реализацию https://cloud.mail.ru/public/Lf8U/9Bfma2hN7. Раз в сек обновление поставил.
     
  17. Автор темы
    Mihael_i

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

    Баллы:
    66
    Имя в Minecraft:
    Mihael_i
    Спасибо.
     

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