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

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

Тема в разделе "Запросы на разработку плагинов", создана пользователем Bartolomeo, 15 апр 2014.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    GitHub?
     
  18. AxmeD

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

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

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

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

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

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

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

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

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