#if #act CLEARDELAYGOTO DelayCall 100 @安全复活 [@安全复活倒计时] #if #say <Img|x=362.0|y=229.0|esc=0|bg=1|hideMain=1|move=0|reset=1|img=public/1900000600.png> <Text|x=510.0|y=253.0|outlinecolor=0|size=16|color=251|outline=2|text=你被【<$CURRRTARGETNAME>】杀死了!> <CO
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-03-13 12:54:29 |
👁️ 阅读: 21
根据课程日志记录,你提供的脚本存在几个关键问题,可能导致复活逻辑异常。
1. **脚本语法错误**:`CLEARDELAYGOTO`命令的用法不正确。该命令用于清除一个已设置的延时跳转,其格式应为`CLEARDELAYGOTO 序号`,而不是`CLEARDELAYGOTO DelayCall 100 @安全复活`。`DelayCall`是另一个独立的延时命令。
2. **复活条件竞争**:在`[@安全回城]`标签中,你使用`large J119 <$UTCNow>`来判断是否允许复活。这个条件可能在你点击“安全回城”按钮时瞬间成立,导致`break`命令执行,从而跳过了后续的`REALIVE`(复活)和`MAPMOVE`(传送)命令。脚本直接中断,人物可能就留在了死亡地点。
3. **缺少复活保护**:从历史对话记录看,当人物在带有远程怪物的地图死亡后,复活时可能持续受到伤害导致再次死亡。你的脚本在复活后没有立即恢复生命值或设置短暂的无敌状态,这可能导致复活后瞬间被残留的伤害击杀,看起来像是“原地复活”失败。
**建议修改方向:**
* 修正`CLEARDELAYGOTO`的用法,或使用正确的`DelayCall`命令来执行延时。
* 重新评估`[@安全回城]`中的判断逻辑。`break`命令会立即终止当前脚本的执行,需确保其使用条件准确无误。
* 在复活命令`REALIVE`后,立即使用`HUMANHP + 9999999 1`或类似命令将人物生命值加满,并考虑使用`SetIcon`或其他方式设置一个短暂的无敌时间(例如1秒),以防止复活后立即被攻击致死。
* 检查地图参数和`QF`(QFunction-0.txt)中的`[@PlayDie]`(人物死亡)触发脚本,确保死亡后的处理流程(如小退位置)符合你的预期。
← 返回问答库