Полный пример кода
Готовый скрипт с экономикой, квестами и NPC
Пример: Экономика, квесты и NPC
Этот пример показывает, как использовать встроенные библиотеки economy.spr и spraute_quests.spr для создания полноценного игрового сценария.
Для работы примера необходимо, чтобы библиотеки economy.spr и spraute_quests.spr находились в папке spraute_engine/scripts/.
import("economy")
import("spraute_quests")
ecoConfigure("minecraft:textures/item/gold_nugget.png", "coins")
val player = getFirstPlayer()
ecoShowCoinsHud(player, "minecraft:textures/item/gold_nugget.png")
val spawn = findSafeBlock(player, 7, 1)
val spawn_x = listGet(spawn, 0)
val spawn_y = listGet(spawn, 1)
val spawn_z = listGet(spawn, 2)
global val zemlya = 0
val shop_ITEMS = list(dict("id", "minecraft:bread", "name", "Хлеб", "buy", 5, "sell", 2, "canBuy", true, "canSell", true))
val shop_TITLE = "Лавка"
create npc readix {
name = "ReadixGG"
hp = 20
speed = 0.3
model = "geo/defolt.geo.json"
texture = "textures/entity/defolt.png"
animation = "animations/npc_classic.animation.json"
idleAnim = "idle"
walkAnim = "idle"
pos = spawn_x, spawn_y, spawn_z
rotate = 0, 0
showName = false
collision = true
}
await interact(readix)
readix.alwaysLookAt(player)
say(readix, "Привет!")
add_quest_with_goals("kvest", "ZEMLYAA", "readix.name", "зачем ему земля", list(quest_goal("земля?")))
readix.playOnce("happy")
await interact(readix)
say(player, "Привет!")
readix.stop("happy")
on interact(readix) -> h_interact {
ecoOpenTrade(player, shop_ITEMS, shop_TITLE, "")
}
on breakBlock("minecraft:dirt") -> h_break {
zemlya = zemlya + 1
if (zemlya >= 5) {
complete_quest_goal("kvest", 0)
set_quest_completed("kvest")
}
ecoSetCoinTexture("minecraft:textures/item/gold_nugget.png")
var __eco_oi = 0
while (__eco_oi < 1) {
spawnOrb("minecraft:textures/item/gold_nugget.png", 2, _eventX, _eventY, _eventZ)
__eco_oi = __eco_oi + 1
}
}
Что делает этот скрипт:
- Импортирует библиотеки — экономику и квесты
- Настраивает экономику — текстура монет и ключ сохранения
- Показывает HUD — отображение монет на экране
- Создаёт NPC — ReadixGG в безопасной точке
- Запускает диалог — приветствие и анимация
- Создаёт квест — "ZEMLYAA" с целью "земля?"
- Открывает магазин — при взаимодействии с NPC
- Следит за копкой земли — прогресс квеста и спавн монет
Управление:
H
Открыть/закрыть журнал квестов