Skip to content

交互系统

交互系统监听副本内各种事件并触发脚本,是剧本化副本流程的核心。

开发状态

交互系统为计划中功能,当前 v0.2.0 中脚本只能在怪物组生命周期内执行。以下内容为设计规划。

交互类型

类型触发条件用途
KILL玩家击杀指定怪物击杀任务、波次推进
ENTITY_DEATH指定实体死亡Boss 阶段、NPC 死亡
WALK玩家经过坐标或区域陷阱、剧情触发
AREA玩家进入指定区域Boss 房、占点
ENTITY_AREA怪物进入指定区域护送、防守
BLOCK_INTERACT玩家点击指定方块机关、开门
BLOCK_BREAK玩家破坏指定方块采集、破坏目标
BLOCK_PLACE玩家放置指定方块修复、建造目标
COMMAND玩家输入指定命令指令触发
PLAYER_DEATH玩家死亡复活逻辑
PLAYER_DROP玩家丢弃物品祭坛、献祭
TIMER副本时间到达某节点倒计时
CUSTOMAPI 注册的自定义类型扩展玩法

配置示例

点击机关开门

yaml
type: BLOCK_INTERACT
first: true              # 只触发一次
auto-start: true

parameter:
  location: "120,65,130"
  action: RIGHT
  hand: "none"

script:
  - "$message{text=&e机关被启动了!}"
  - "$obstacle{group=door_1;operation=delete}"
  - "$monstergroup{group=wave_2;operation=start}"

玩家进入 Boss 房

yaml
type: AREA
first: true
auto-start: true

parameter:
  area: "boss_room"
  player-size: "1"

script:
  - "$title{title=&cBoss 苏醒了!;subtitle=&7准备战斗}"
  - "$monstergroup{group=boss;operation=start}"

与怪物组的关系

交互系统比怪物组更灵活,可以在副本中定义独立于怪物波次的事件触发器。两者配合使用:

  • 怪物组:控制战斗波次和击杀流程
  • 交互系统:处理机关、区域、方块等环境交互