注释
使用-- 开头编写单行注释:
AutoScript 仅支持单行注释(
--),不支持 Lua 的多行注释(--[[ ]])。变量赋值
使用= 进行变量赋值。可操作的目标变量请参见变量参考。
算术运算
支持基本的算术运算,可用于数值和日期/时间变量的计算:对于日期和时间的加减,推荐使用
dateadd() 和 timeadd() 函数。直接使用 + - 进行日期运算可能导致结果含义不明确。条件判断
使用if / elseif / else 结构进行条件判断。每个 if 块必须以 end 结尾:
比较运算符
| 运算符 | 说明 | 示例 |
|---|---|---|
== | 等于 | USERNAME == "alice" |
~= | 不等于 | USER_ENABLE ~= false |
> | 大于 | RESERVE_BEGIN_TIME > time(9, 0) |
< | 小于 | RESERVE_END_TIME < time(22, 0) |
>= | 大于等于 | RESERVE_BEGIN_TIME >= time(7, 30) |
<= | 小于等于 | RESERVE_END_TIME <= time(23, 0) |
逻辑运算符
| 运算符 | 说明 | 示例 |
|---|---|---|
and | 逻辑与 | USER_ENABLE and RESERVE_BEGIN_TIME < time(12, 0) |
or | 逻辑或 | USERNAME == "alice" or USERNAME == "bob" |
not | 逻辑非 | not USER_ENABLE |
布尔变量判断
对于布尔类型的变量(如USER_ENABLE),可以直接作为条件使用,无需显式比较:
字符串
字符串使用双引号包裹:AutoScript 不支持字符串拼接(
.. 运算符)。字符串变量只能通过直接赋值修改。关键字
以下是 AutoScript 中可用的 Lua 关键字:if elseif else then end and or not true false
以下 Lua 标准功能出于安全考虑不可用:
- 文件 I/O(
io模块) - 模块加载(
require、dofile、loadfile) - 系统命令执行(
os.execute、os.exit) - 调试功能(
debug模块) - 循环语句(
for、while)
出于安全沙箱限制,AutoScript 不支持循环语句。如果你需要为多个用户设置不同参数,建议使用用户分组功能,配合条件判断实现差异化配置。