变量与联动
| 变量 | 更新时机 | 内容 |
|---|---|---|
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。
tasks.yml 事件
Section titled “tasks.yml 事件”| 事件 | 时机 |
|---|---|
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 和交互点
Section titled “NPC 和交互点”- 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');}