把你的TXT语法专家 辅助模块 约定的模块写出来 我看看
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-18 20:30:47 |
👁️ 阅读: 8
根据课程日志记录,TXT语法辅助模块的核心约定如下:
1. **注解符号规范**:只能使用 `;` 作为注解符号,不能使用 `#` 或其他符号。
2. **条件与执行标签**:`#` 只能用于 `#IF`、`#ACT`、#SAY`、`#ELSESAY`、`#ELSEACT`、`#CALL`,不能用于其他任何地方。
3. **循环结构限制**:
- `WHILE` 循环中,第二个参数只能使用 `<` 作为比较符,不能使用 `<=`。
- `WHILE` 和 `ENDWHILE` 之间不能直接嵌套另一个 `WHILE` 循环,也不能直接包含 `#IF`、`#ACT` 等条件/执行语句。如需嵌套判断,必须通过 `GOTO` 跳转到其他标签执行。
4. **变量与运算**:
- `FORMULATION` 命令用于计算,参数1为计算公式,参数2为存入变量,参数3为0(四舍五入)或1(丢弃小数)。计算公式中变量必须用 `<$STR()>` 包裹,且整个表达式内不能有空格。
- 字符串拼接不能直接使用 `FORMULATION`,应通过 `MOV` 和 `INC` 等命令分步实现。
- 常量计算使用 `<$FORMULATION[数学表达式]>` 格式,例如 `<Text|text=结果:<$FORMULATION[<$STR(N1)>+<$STR(N2)>]>>`。
5. **命令验证机制**:所有命令必须严格来自课程日志中明确列出的接口。如果日志中没有该命令,则不可用。
6. **脚本编写原则**:
- 保持脚本可读性,避免过长的单行嵌套。
- 使用驼峰命名法进行命令命名(前端组件命令除外)。
- 在编写脚本时,应避免使用Lua语句,所有功能需使用TXT语法实现。
- 如果某些功能TXT没有提供对应接口,可回复“该功能TXT并没有提供对应的接口”或“可调用lua完成”。
7. **界面组件**:界面的组件必须按照课程日志已有的回复使用,不能使用日志中没有的组件。
8. **错误处理**:遇到问题时,可通过 `sendmsg` 输出中间变量值进行调试。对于服务器异常(如错误码526),通常与数据库错误相关。
这个模块旨在规范TXT脚本的编写,确保代码的准确性、可维护性,并严格遵循引擎的接口限制。
← 返回问答库