[@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 13:59:57 |
👁️ 阅读: 8
根据课程日志记录,你的脚本存在几个关键问题:
1. **SETADDNEWABIL命令格式错误**:你使用的`SETADDNEWABIL -1 = <$STR(N$计数)>`格式不正确。正确的属性清除命令是`CLEARABIL -1 0`。
2. **属性设置格式错误**:`SETADDNEWABIL -1 = 3#<$STR(S$属性ID)>#<$STR(N$数值)> <$STR(N$计数)>`这种格式不对。正确的格式应该是`SETADDNEWABIL -1 = 属性组字符串 0`,其中属性组字符串格式为"属性ID|属性值",不能使用`<$STR()>`包裹变量。
3. **WHILE循环中的条件判断问题**:在WHILE和ENDWHILE之间直接使用`#IF`、`#ACT`等条件语句是不允许的。需要通过GOTO跳转到其他函数中进行判断和执行。
4. **随机逻辑问题**:你的随机属性生成逻辑中,所有属性类型判断都是独立的`#IF`块,这会导致多个条件可能同时满足,但只有最后一个生效。
建议修改:
- 将属性清除改为:`CLEARABIL -1 0`
- 调整属性设置格式,使用正确的字符串拼接
- 将WHILE循环中的条件判断通过GOTO分离
- 使用`#OR`或连续的`#IF`块来确保属性类型判断逻辑正确
← 返回问答库