Полный пример кода

Готовый скрипт с экономикой, квестами и 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

Открыть/закрыть журнал квестов