实战用法
find_lowest_in_array 常用于需要从一组数值中找出最小者的场景,例如在多国竞争系统中找出工业产值最低的国家索引,或在资源分配 mod 中定位存量最少的那一格。下面是一个简单示例,从 resource_pool 数组中找出最低值并记录其索引:
find_lowest_in_array = {
array = resource_pool
value = min_val # 最低数值存入 temp 变量 min_val
index = min_idx # 对应索引存入 temp 变量 min_idx
}
# 之后即可用 min_val / min_idx 做后续判断或操作
配合关系
[add_to_array](/wiki/effect/add_to_array) / [add_to_temp_array](/wiki/effect/add_to_temp_array):在调用本命令之前先向数组填充数据,是构造待查数组最常见的前置步骤。
[find_highest_in_array](/wiki/effect/find_highest_in_array):通常成对使用,先取最低再取最高,从而得到值域范围,用于归一化或比较极差。
[check_variable](/wiki/trigger/check_variable):在找到最低值后,用此触发器对 min_val 做条件判断,决定后续分支逻辑。
[set_temp_variable](/wiki/effect/set_temp_variable):可在循环外手动初始化辅助变量,配合本命令的结果做进一步算术(如求均值与最低值的差)。
常见坑
- 忽略默认变量名冲突:
value 和 index 字段不填时默认使用 v 和 i,而这两个名字在嵌套的 for_each_loop / while_loop_effect 内同样是默认迭代变量名,混用会导致外层循环的 v/i 被本命令覆盖,产生难以排查的逻辑错误——建议始终显式指定有语义的变量名。
- 对空数组调用:若数组在执行时元素数量为 0,本命令的行为未定义,结果变量可能保留上一次运行的脏值,事先用
[collection_size](/wiki/trigger/collection_size) 或 [check_variable](/wiki/trigger/check_variable) 确认数组非空是良好习惯。