Перейти к содержанию

Deus

Пользователи
  • Постов

    124
  • Зарегистрирован

  • Посещение

Контакты

  • Логин на сайте
    radgoria

Посетители профиля

707 просмотров профиля

Достижения Deus

  1. Deus

    CustomNPCs 1.20.1 || Help in Scripts

    Всем привет. Решил эту рубрику тут открыть. Простенькие не сложные идеи готов реализовать задарма тут. Так сказать помогу чем смогу. Мод полезен в разработках карт и просто для развлечения, а скриптинг в моде позволяет делать всё что угодно в рамках майнкрафта. =) Начнем с мега простого. Открываем скриптером нпс и включаем скрипты, вставляем в первую вкладку этот скрипт: function interact(event) { event.npc.say("Скрипты мега пупер дупер крутяк мэнь") }
  2. Для начала тз грамотно сделать. В какой момент, какой командой. Если проще, можно использовать в скриптах и в форге скриптах функции чата. Берешь скриптер из мода. Например : В Форге скрипты (предварительно включив их) вставляешь вот это: var api = Java.type("noppes.npcs.api.NpcAPI").Instance(); var world = api.getIWorlds()[0]; function commandEvent(event) { try { var commandName = event.event.getParseResults().getReader().getString(); if (commandName === "ударить всех молнией") { world.getTempdata().put("молния", true); } } catch (e) { } } Внутрь НПС в скрипты (предварительно включив их в нпс) вставляешь вот это: var api = Java.type("noppes.npcs.api.NpcAPI").Instance(); var world = api.getIWorlds()[0]; var thunder = false; function tick(event) { try { if (world.getTempdata().get("молния") && !thunder ) { world.thunderStrike(event.npc.x, event.npc.y, event.npc.z) thunder = true; event.npc.timers.forceStart(1, 100, true); } catch (e) { event.npc.say("Ошибка в tick: " + (e.stack || e)) } } function timer(event) { try { if (event.id === 1) { world.getTempdata().remove("молния") thunder = false; event.npc.timers.stop(1); } } catch (e) { event.npc.say("Ошибка в timer: " + (e.stack || e)) } } Возможно опечататься мог или еще что, по памяти написал. В апи документашки по моду сам можешь посмотреть верно ли все методы указаны. Я на 1.20.1 пишу, но возможно и на 1.16.5 заработает. Суть в том, что ты пишешь в чат: ударить всех молнией И все прогруженные нпс начнут проверять, есть ли выполненная команда в мире. Если есть - ударятся молниями и поставят переменную молнии в позицию выполнено. Запустят таймер на 5 сек. на удаление активации молнии (каждый нпс будет запускать таймер). Если ударов молниями по нпс не происходят в течении 5 сек, то активация молнии прекращается до следующей команды. Как т так. Но не факт что будет работать) Тесты нужны ж ) Если у нпс возникнут ошибки - он об этом скажет, указывая на конкретное место где ошибка произошла.
×
×
  • Создать...