条件与数值表达式
表达式用于让剧情脚本根据当前游戏数据作判断,或把一段公式计算成数字。没有编程基础也可以把它理解为“把查询结果拿来比较”或“把几个数字先算一下再填入命令”。
常用入口有三类:
条件表达式:左值[操作符]右值整数表达式:[&公式&]小数表达式:[@公式@]查询指令可以放进表达式里。游戏会先把 [$...$] 或 [%...%] 替换成查询结果,然后再进行比较或计算。
条件表达式用于回答“是否成立”。最常见的写法是左边一个值,中间一个比较符号,右边一个值:
[$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 从给出的结果中随机选一个。
正在加载表达式说明...