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

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

Discussion in 'Разработка плагинов для новичков' started by DJames, Sep 28, 2013.

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

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

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

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

    Trophy Points:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    getCursor()
     
    BleaZzZ likes this.
  4. Автор темы
    DJames

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

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

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

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

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

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

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

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

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

    Trophy Points:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Всё таки, мало-ли.
     
  9. Den_Abr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А InventoryClickEvent мимо пролетел?
     

Share This Page