跳转到内容
输入关键词开始搜索。

条件与数值表达式

表达式用于让剧情脚本根据当前游戏数据作判断,或把一段公式计算成数字。没有编程基础也可以把它理解为“把查询结果拿来比较”或“把几个数字先算一下再填入命令”。

常用入口有三类:

条件表达式:左值[操作符]右值
整数表达式:[&公式&]
小数表达式:[@公式@]

查询指令可以放进表达式里。游戏会先把 [$...$][%...%] 替换成查询结果,然后再进行比较或计算。

条件表达式用于回答“是否成立”。最常见的写法是左边一个值,中间一个比较符号,右边一个值:

[$player_money$][>=]100

这表示玩家金钱大于等于 100 时成立。

多个条件可以组合:

[$result_code$][=]1|[$player_money$][>=]100
[$player:level$][>=]3&[$player_money$][>]100

第一行表示“结果为 1,或者玩家金钱至少 100”。第二行表示“玩家等级至少 3,并且金钱大于 100”。

& 表示“并且”,| 表示“或者”。& 的优先级高于 |;如果你想改变判断顺序,可以用括号包起来:

([$result_code$][=]1|[$result_code$][=]2)&[$player_money$][>=]100

比较数字时可以使用大于、小于、大于等于、小于等于。不确定左右两边是否都是数字时,优先使用 [=][<>]。如果要判断某个值是否在一组候选值里,可以使用 [in][notin]

[$story_mode$][in]story_a,story_b,story_c

数值表达式用于把公式算成一个数字。需要整数时使用 [&...&],需要小数时使用 [@...@]

[&1+2*3&]
[@1/3@]

第一行会得到整数 7,第二行会得到约 0.33。公式支持加减乘除、取余、乘方和括号。

也可以在公式里放查询指令:

[&[$player_money$]/10&]

这表示先查询玩家金钱,再除以 10,并返回整数结果。

内置函数写在公式最外层:

[&@max(1+2*3,8)&]
[&@min(1+2*3,8)&]
[&@random(1,2,3)&]

@max 取较大值,@min 取较小值,@random 从给出的结果中随机选一个。

正在加载表达式说明...