跳转到内容

变量与联动

变量更新时机内容
procgen_room进房当前房型
procgen_modifier词缀生效、清房当前词缀名,无词缀为空
procgen_rooms_total开局总房间数
procgen_rooms_cleared开局、清房已清房间数
procgen_deaths开局、死亡死亡次数
procgen_grade结算S / A / B / C

PlaceholderAPI:%quedp_var_<变量名>%,如 %quedp_var_procgen_rooms_cleared%。

脚本:getVar('procgen_room')。

每局自动显示「已清 / 总数」的 BossBar。

事件时机
room_enter首次进入某房间
room_active战斗类房间刷出第 1 波
room_clear房间清完
tasks:
清房播报:
type: event
event: room_clear
脚本:
- "action.actionbar('@all', '&a已清 {procgen_rooms_cleared} 间')"
位置写在哪
进房、每波、清房房间 yml scripts
词缀生效、周期、清房词缀 on_activate / on_tick / on_clear
评级结算procgen.yml grading.scripts
NPC、交互点本体 npcs.yml、interacts.yml

ProcGen 脚本动作见玩法机制。

  • NPC 在首次进房时生成,位置取房间里的 NPC 点,npcs.yml 中的坐标不用
  • 同一 NPC 在多个房间各自独立,对话进度和 once 分开
  • 脚本里的 NPC ID 优先指向当前房间的 NPC
  • 房间脚本里的 create_interact / delete_interact 只作用于当前房间

本体自定义变量整局共享。要按房间或 NPC 区分,拼接 getVar('npc_scope')(房间标识)或 getVar('npc_runtime_id')(NPC 实体标识):

var k = 'healed_' + getVar('npc_scope') + '_' + player.getName();
if (!getVar(k)) {
setVar(k, true);
action.heal('@trigger');
}