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

Идея Запрет всех крафтов предмета до момента изучения рецепта.

Discussion in 'Запросы на разработку плагинов' started by Bartolomeo, Apr 15, 2014.

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

    Bartolomeo Участник Пользователь Заблокирован

    Trophy Points:
    33
    Такое дело . с самого начала игры игроки не умеют ничего крафтить, но после изучения рецепта рецепт открывается для игрока изучившего его . Есть такое ? Сложно ли сделать ?

    Само собой после добавить это в дроп с мобов .
     
    syllik, BeYkeR, AxmeD and 3 others like this.
  2. Хостинг MineCraft
    <
  3. CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Поддерживаю оочень хорошая идея, было бы хорошо если была возможность командой создавать рецепт(итем бумаги с определенным описанием(Lore)), и в конфигах настраивать какие именно крафты игрок не знает.
     
  4. gamerforEA

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

    Trophy Points:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Если так сделать, то игра превратится в сплошной гринд (надо ведь добыть рецепты).
     
  5. Laster

    Laster Участник Пользователь

    Trophy Points:
    33
    Мне тоже идея понравилась,но лучше конечно сделать так,например доски,верстак,сет инструментов из дерева игрок в начале игры знает,а вот после исследования рецепта (желательно даже у специального нпц)получает возможность крафтить следующие предметы.
     
    AxmeD likes this.
  6. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Ну, я думаю, ничего трудного, хотя я могу думать неправильно или не совсем верно :)

    Можно в конфиге прописать рецепты, которые есть у игрока, например
    И в ивенте крафта отлавливать предмет, который крафтят(брать его id или ещё что-то), и проверять, есть ли такой в конфиге :)
    Сделать опам и людям с опред. permission'ом, чтоб не было проверки. Ну и '*' если кому-то определённому.
    Могу попробовать сделать, если хотите :)[DOUBLEPOST=1399150843,1399150713][/DOUBLEPOST]А, насчёт самих рецептов.
    Сделать дроп с мобов(не знаю, по-моему такое реально) специальную бумажку, которая при нажатии ПКМ выдаёт random рецепт. Если такой рецепт есть, то ещё раз хватает random, пока не найдёт рецепт, которого нет у игрока.
     
  7. makssof

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

    Trophy Points:
    103
    Skype:
    makssofez
    Это уже получается типичная MMORPG.
    Но всё же идея хорошая. Можно например вот такой конфиг сделать:
    Code:
    Wooden_stick:
      ItemForCraft:
      - Wooden_planks
      Default: false
    Lever:
      ItemForCraft:
      - Wood_stick
      - Cobblestone
      Default: false
    Где:
    Lever - предмет, который нужно скрафтить.
    Lever.ItemForCraft: ... - Что нужно "знать" для крафта.
    Lever.Default - "Знается" (Слово заморское) ли этот предмет по дефолту, или нужно изучать.

    P.S. TC - Если не секрет, что за устройство у пацана на аве?) Просто я любитель странных, сомнительных изобретений.)
     
    syllik likes this.
  8. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Уже начал делать. Дайте точный ответ, как будет выглядеть config. Я сейчас делаю так, что выдаёт случайный id предмета, который потом записывается к игроку в конфиг. Жутко неудобно :D

    Зато я уже сделал саму бумажку, которая выдаёт рецепт, и узнал, что её можно продавать у торговцев CustomNPC без проблем, хранить в сундуках, передавать и прочие манипуляции.
     
  9. BeYkeR

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

    Trophy Points:
    173
    Действительно, очень хорошая идея (чем-то напоминает Rust) , но думаю что база данных игроков будет забита до отказала xD
    P.S. Тоже начинаю делать xD
     
  10. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Вот я и думаю, как бы сделать, чтоб БД не была забита настолько)
     
  11. CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Лучше пусть id или тип предмета берется из Lore той бумажки по которой нажали пкм, если же такой предмет уже изучен, то пишет в чат("Вы уже изучили этот предмет") и бумажка не исчезает.[DOUBLEPOST=1399193415,1399193049][/DOUBLEPOST]Насчет БД можно сделать с помощью пермишенс, т.е при исследовании выдавать пермишен игроку и при крафте проверять этот пермишен или же сделать КАК премишенс, т.е есть один конфиг:
    , где stick и wood_sword это итемы или блоки, а все что после тире - ники игроков, которые могут крафтить это.
     
  12. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Про Lore отлично, так и сделал. Остались небольшие детали для большей удобности :)
     
  13. BeYkeR

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

    Trophy Points:
    173
    ну, у тебя хоть уже какое то продвижение пошло, а я даже чертов ShaplessRecipe сравнить не могу D:
     
  14. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Ммм, я использую ивент CraftItemEvent и в нем сравниваю e.getRecipe().getResult() :D
     
  15. Laster

    Laster Участник Пользователь

    Trophy Points:
    33
    Я думаю так лучше
    Code:
    Active recipe:
    
    Stick
    Bla
    bla
    bla
    
    
    Чтото вроде этого,то есть там будут два подраздела,активные рецепты и недоступные,изначально все крафты будут в подразделе недоступные,как игрок исследует их они переносятся в активные рецепты,я думаю так будет намного удобнее ориентироваться
     
  16. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Я сделал иначе немного.
    Вот так выглядит config.yml без ID всех предметов. ID я уже подготовил, впишу их, как закончу с одной ошибкой.
    При нажатии ПКМ с Blueprint в руках, к игроку в конфиг записывается новый ID, который видно в Lore этой бумажки. В Blocked записаны ID предметов, рецепты которых можно выбить с мобов, и которые запрещены по дефолту. Если какого-то ID нет в Blocked, то этот предмет можно будет крафтить и без рецепта. ID предметов можно вписывать и вычеркивать в конфиге самостоятельно. Это позволит добавлять ID вещей из модов :)

    Постараюсь сделать так, чтобы Blocked запрещало и крафт, и обжарку в печи. Если повезёт, то и рецепты зельеварения и зачарования сделаю.[DOUBLEPOST=1399210251,1399209173][/DOUBLEPOST]Ааа, вы хотите сделать новые рецепты?
     
  17. Sirse

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

    Trophy Points:
    173
    Имя в Minecraft:
    Sirse
    GitHub?
     
  18. AxmeD

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

    Trophy Points:
    103
    Skype:
    ahmed136323
    Попробую. Только я не очень хорошо пишу плагины, поэтому немножко стесняюсь это показывать :D Как доделаю, создам тему, там всё будет.
     
  19. Sirse

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

    Trophy Points:
    173
    Имя в Minecraft:
    Sirse
    Да тут у всех говнокод :D
     
  20. Gentalion

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

    Trophy Points:
    93
    Имя в Minecraft:
    Gentalion
    Так как у класса FileConfiguration есть метод (функция) getBooleanList(), возвращающий List<Boolean> (*внезапно*), то имеет смысл записывать туда этот List<Boolean>. По идее он должен занимать меньше места...
     
  21. Laster

    Laster Участник Пользователь

    Trophy Points:
    33
    Самое главное чтобы конфиг был простой)А так плагин будет отменный,кстати сделай обязательно для 1.5.2.
     

Share This Page