-
Notifications
You must be signed in to change notification settings - Fork 9
2.0 | Диалоги | Начало
Прежде чем переходить к диалогам, советую ознакомиться с скриптовым движком.
Тип скрипта: hsd
(Hollow Story Dialogue), например dialogue_1.hsd.kts
, иначе запустить его у вас не получится.
Теперь создадим нашего персонажа, для этого создадим переменную:
val vitalik = HDCharacter(моб, (опционально) имя персонажа, (опционально) nbt)
Параметр моб
указывает регистрационное имя сущности, т.е. как при команде /summon
, там же вы можете подсмотреть список этих самых сущностей.
Параметр имя персонажа
отвечает за имя, которое будет отображаться в левом углу окна, когда персонаж говорит
Параметр nbt
отвечает за данные сущности, например призывая жителя можно указать ему уровень, биом, профессию и т.п.
Пусть наш персонаж будет жителем из саванны:
val vitalik = HDCharacter("minecraft:villager", "Виталик", "{VillagerData:{profession:farmer,level:2,type:savanna}}")
Теперь мы можем заставить персонажа говорить:
vitalik say "Привет, я Виталик, я захвачу мир!"
Ну и готово, теперь вы можете писать диалоги с персонажами... Но чего-то не хватает?
Не хватает выбора, а делается он очень просто:
choice(
"Нет, Виталик, я буду защищать этот мир" to {
vitalik say "Я буду бороться за свои кринжовые фразы!"
},
"Нет, Виталик, я захвачу этот мир первым!" to {
vitalik say "Ну блин("
}
)
В скрипт уже вшита переменная player
, так что вы можете сразу использовать её:
player say "Я и-и-игрок!"
Чтобы воспроизвести звук достаточно написать:
play("звук")
- где "звук" - путь к звуку (как в команде /playsound), добавить новые звуки можно через ресурспаки или моды-загрузчики ресурсов
В качестве примера можете создать файл диалога и вставить туда этот текст:
val vitalik = HDCharacter("minecraft:villager", "Виталик", "{VillagerData:{profession:farmer,level:2,type:savanna}}")
vitalik say "Добро пожаловать в диалог HollowStory!"
vitalik say "Я Виталик, меня придумал BarMaxx!"
choice(
"Что ты умеешь?" to {
vitalik say "Я умею считать до 100!"
for(i in 1..100) vitalik say "$i"
player say "Пон."
},
"А я ${player.name.string}" to {
vitalik say "Круто, а что ты умеешь?"
choice(
"Я умею писать диалоги" to {
vitalik say "А я нет, научи, пж, пж, пж, пж, пж, пж!"
player say "А вот хрен те, иди исходный код читай"
vitalik say "Хорошо, спасибо"
}
)
player say "Надо что-то сказать, но я не знаю что..."
}
)
say("", "И жили они долго и долго!")
say("${player.name.string} и Виталик", "Кто это сказал?!")
Пример того, как диалоги выглядят в игре (все текстуры и цвета можно настроить в скрипте)
Для запуска диалога введите /hollow-story open-dialogue
и найдите далее в списке ваш диалог. Если после названия указать имя игрока или тег типа @a
, то диалог запустится у конкретного игрока/группы.
Ну вот и всё, конец, в остальном разбирайтесь сами, пока у меня через пол года не дойдут руки дописать Вики)