[@Main]
#IF
#ACT
#SAY
<Img|move=0|img=public/bg_npc_01.png|loadDelay=1|bg=1|reset=1|show=0>
<Layout|x=545|y=0|width=80|height=80|link=@exit>
<Button|x=546|y=0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit>
<Text|x=25|y=20|color=251
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-06-12 00:01:05 |
👁️ 阅读: 9
根据课程日志记录,TXT语法中WHILE循环内不能直接使用#IF、#ACT等条件判断和执行语句。如果需要判断,必须通过GOTO跳转到其他函数中进行。
在你的脚本中,`[@生成一条属性]`函数内部使用了多个`#IF`和`#ACT`,并且这个函数是在WHILE循环内被调用的。这违反了TXT语法的规则。
你需要将`[@生成一条属性]`函数内部的逻辑拆分,将条件判断和执行部分移到WHILE循环外部,通过GOTO和变量传递来控制流程。
例如,可以这样调整结构:
在WHILE循环内,通过GOTO跳转到`@生成属性逻辑`,在`@生成属性逻辑`中,再通过GOTO跳转到具体的`@判断类型0`、`@判断类型1`等子函数来执行不同的操作,最后再跳转回循环。
此外,`GOTO @开始洗炼` 这行代码会导致逻辑错误,它会使你跳回洗炼入口,而不是继续循环。应该改为`GOTO @循环返回点`,并在循环结束后统一处理属性应用。
关于属性ID的映射,请确保你使用的ID(如4、6、8、10、1)与你的`cfg_att_score.xls`表格中的实际属性ID一致。
← 返回问答库