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

В разработке DonateShop

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

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

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Делаю магазин.
    Проблема в том что я не знаю как точно проверить положил ли игрок предмет себе в инвентарь(панель) или переложил в другой слот магазина. inventoryaction показывает предмет который выбран на действие PICKUP(взять), а вот дейсвие Place(положить) уже не несёт в себе ссылки на предмет.
    Конечно можно в цикле проверить содержимое инвентаря поле каждого действия, но я считаю что это не вариант.
     
  2. Jampire

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    getCursor()
     
    BleaZzZ нравится это.
  3. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Спасибо. Осталось только определять куда перемещён предмет.
     
  4. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Проверяй номер слота, куда положили предмет
     
  5. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    А если игрок захочет просто переложить предмет в другой слот?
     
  6. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А зачем ему это делать? Взял - бери себе
     
  7. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Всё таки, мало-ли.
     
  8. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Ну в любом случае проверяй номер слота, куда положили предмет, а там делай с ним что хочешь
     
  9. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Дюп - если взять предмет и закрыть сундук он выпадет.
    Посоветуйте чего.
    Хочу сказать только CloseInventoryEvent не Cancellable :(
     
  10. Jampire

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    не дай взять в руку?)
     
  11. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Насколько я понял из вашего сообщения, предмет помещается в руку перед тем как выпасть. Какой обработчик обрабатывает это событие?

    З.Ы. натолкнули меня глянуть событи класса Player. Нашел там событе DropItem, но предмет всё-равно падает хоть и без анимации и его можно поднять. Событие PickUpItem вообще "игнорит меня" и поднимает предметы.
     
  12. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Оплачивать предмет после забора
     
  13. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Это хорошо, но! предмет всё равно дюпнется даже если у игрока 0 монет!
     
  14. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Так ты проверяй баланс во время клика
     
  15. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Спасибо, на эту идею натолкнуло меня ваше предыдущее сообщение.
     
  16. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Ну а как предмет тогда дюпнется, если ты не дашь его поместить на курсор при отрицательном или нулевом балансе?
     
  17. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    А оч просто, заработал се пару монет и выкидываеш на землю предметы какие хочш ничего не тратя.
     
    Пароль123456789 нравится это.
  18. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Что, простите? Как так?
     
  19. Автор темы
    DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Открываешь магазин берешь предмет, закрываешь магазин(кнопкой "Е") - предмет выпадает.
    При этом вызываются обработчики InventoryCloseEvent который не Cancellable
    и PlayerDropItemEvent у которого можно отменить толко анимацию дропа, а вот PlayerPickupItemEvent вообще срал на event.setCancelled(true);.:creeper:
    Конешн можно проверять инвентарь на дюпнутые вещи при открытии и закрытии, но это уже совсем другая история. :cool:
     
  20. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А InventoryClickEvent мимо пролетел?
     

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