Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

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

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

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

    alexandrage Администратор

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

    Dereku Старожил

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

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

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

    Dereku Старожил

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

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    А нельзя через свой плуг?[DOUBLEPOST=1479018127,1479018053][/DOUBLEPOST]Хотя, да, ступил.
     
  8. Автор темы
    Mihael_i

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

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

    Dereku Старожил

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

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

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

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Да.
     
  12. Автор темы
    Mihael_i

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

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

    Dereku Старожил

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

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

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

    alexandrage Администратор

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

    Dereku Старожил

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

    alexandrage Администратор

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

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

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

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