(翻译重校,未完成版) |
小 (文本替换 - 替换“[[Category:”为“[[分类:”) |
||
(未显示另一用户的1个中间版本) | |||
第45行: | 第45行: | ||
这部分的简便写法是:<code>remove_from_array = { <name> = <value> }</code> | 这部分的简便写法是:<code>remove_from_array = { <name> = <value> }</code> | ||
=== 清空数组(clear_array) === | === 清空数组(clear_array) === | ||
第68行: | 第67行: | ||
这部分的简便写法是: <code>resize_array = { <name> = <size> }</code> | 这部分的简便写法是: <code>resize_array = { <name> = <size> }</code> | ||
===while循环指令(while_loop_effect)=== | ===while循环指令(while_loop_effect)=== | ||
第111行: | 第109行: | ||
在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数 | 在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数 | ||
===for each作用域循环指令(for_each_scope_loop)=== | ===for each作用域循环指令(for_each_scope_loop)=== | ||
第129行: | 第126行: | ||
在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数 | 在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数 | ||
===随机作用域指令(random_scope_in_array) === | ===随机作用域指令(random_scope_in_array) === | ||
第168行: | 第164行: | ||
与<code>resize_array</code> 代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。 | 与<code>resize_array</code> 代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。 | ||
==触发器(Triggers)== | ==触发器(Triggers)== | ||
第211行: | 第206行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组 | 对指定数组 内的每一元素调用<triggers> 并 比较 触发器输出和元素值。 如果任一 比较结果 值为假则触发器输出为假,否则为真。 | ||
===作用域存在量词(any_of_scopes)=== | ===作用域存在量词(any_of_scopes)=== | ||
第246行: | 第241行: | ||
{{Modding navbox}} | {{Modding navbox}} | ||
[[ | [[ 分类:Modding]] |
2022年12月5日 (一) 15:33的最新版本
数组是《钢铁雄心IV》中用以存储变量的方式,变量既可以是
数组在
以下,使用<>括起的内容为数据类型,等号左侧的标识符为参数名称。
指令(Effects)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
添加到数组(add_to_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
add_to_array = { array = <name> value = <value> index = <index> }
一旦将元素添加到数组中,就会创建一个数组。
array 是数组的名称,也是指令和触发器调用它的依据。
value 是指要加入数组的数据内容,它既可以是数字形式的(如1 或 var:my_num),也可以是作用域形式的(如GER 或 var:my_scope)。这些都是选填内容,如果不填,则会将当前作用域填入此处。
index 指数据内容应当被插入数组的哪个位置。
这部分的简便写法是:add_to_array = { <name> = <value> }
从数组中移除(remove_from_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
remove_from_array = { array = <name> value = <value> index = <index> }
array 是将被移除数据的数组名称。
value 是想要移除的数据内容。
index 指移除操作所选择的开始位置。
如果value和index都未定义,那么array只有最后一个元素会被移除。
这部分的简便写法是:remove_from_array = { <name> = <value> }
清空数组(clear_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
clear_array = <name>
清空指定数组。
重置数组规模(resize_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
resize_array = { array = <name> value = <value> size = <int> }
重置特定数组array的规模(size)。
如果扩大现有数组的规模,多出来的新元素将被置为value;如果缩小现有数组的规模,则自index=size开始的元素将被丢弃。
这部分的简便写法是: resize_array = { <name> = <size> }
while循环指令(while_loop_effect)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
while_loop_effect = { break = <string> limit = { <triggers> } <effects> }
对指定数组进行有条件的循环操作。只要limit为真,就重复执行指令组(用花括号括起的指令集合)。
break接受一个break
。break无法在本指令之外被访问。
本指令接受指令组作为其参数,以指定对数组元素进行的操作。
该指令会隐性地将当前数组array作为参数。
for each循环指令(for_each_loop)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
for_each_loop = { array = <name> value = <string> index = <string> break = <string> <effects> }
对指定数组中的每个元素调用指令组。
value指定了一个临时变量,指向迭代过程中的当前元素,缺省值为v
。
index指定了一个临时变量,指向迭代过程中的当前位置,缺省值为i
。
break后应分配一个非零临时变量以结束迭代,缺省值为break
。
在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数
for each作用域循环指令(for_each_scope_loop)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
for_each_scope_loop = { array = <name> break = <string> <effects> }
对指定数组中的每个元素调用指令组,并且在每次调用时将当前作用域更改为当前元素。
break后应分配一个非零临时变量以结束迭代,缺省值为break
。
在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数
随机作用域指令(random_scope_in_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
random_scope_in_array = { array = <name> break = <string> limit = { <triggers> } <effects> }
对特定的数组中的每一变量进行循环操作,并在每次迭代时将当前作用域改为随机作用域(当前数组内的一个随机的、不同于当前作用域的变量)。
break后应分配一个非零临时变量以结束迭代,缺省值为break
。
在此循环中可以写入指令执行某些操作,所用的数据内容应均在array内。
添加到临时数组(add_to_temp_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
与add_to_array
代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。
从临时数组中移除(remove_from_temp_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
与remove_from_array
代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。
清空临时数组(clear_temp_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
与clear_array
代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。
重置临时数组规模(resize_temp_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
与resize_array
代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。
触发器(Triggers)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
包含关系(is_in_array)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
is_in_array = { array = <name> value = <value> }
检测指定数组array是否含有指定元素value。
存在量词(any_of)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
any_of = { array = <name> value = <string> index = <string> <triggers> }
对指定数组内的每一元素调用<triggers>并比较触发器输出和元素值。如果任一比较结果值为真则触发器输出为真,否则为假。
全称量词(all_of)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
all_of = { array = <name> value = <string> index = <string> <triggers> }
对指定数组内的每一元素调用<triggers>并比较触发器输出和元素值。如果任一比较结果值为假则触发器输出为假,否则为真。
作用域存在量词(any_of_scopes)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
any_of_scopes = { array = <name> <triggers> }
对指定数组进行循环操作,将<triggers>与当前作用域进行比较,如果任一返回值为真则触发器输出为真,否则为假。
作用域全称量词(all_of_scopes)
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
all_of_scopes = { array = <name> <triggers> }
对指定数组进行循环操作,将<triggers>与当前作用域进行比较,如果任一返回值为假则触发器输出为假,否则为真。
附加信息
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
你可以将某数组内变量的数目输出出来,只需要这么写:set_variable = { var_name = array_name^num }
。
例子
File:Ambox outdated info.png | 这部分内容可能已不适合当前版本,最后更新于1.10。 |
文件 | 效果 • 条件 • 定义 • 修正 • 修正列表 • 作用域 • 本地化 • on action • 数据结构 (标记, 临时标记, 国家别名, 变量, 数组) |
脚本 | 成就修改 • AI修改 • AI focuses • 自治领修改 • 权力平衡修改 • 剧本/标签 (游戏规则)• 建筑修改 • 人物修改 • 修饰性TAG修改 • 国家创建 • 军队修改 • 决议制作 • 装备修改 • 事件修改 • Idea修改 • 意识形态修改 • 军工商修改 • 国策制作 • 资源修改 • Scripted GUI • 科技制作 • 单位修改 |
地图 | 地图 • 省份 • 补给区域 • 战略区域 |
图形图像 | 界面 • 图形资产 • 实体模型 • 后期特效 • 离子效果 • 字体 |
装饰性 | 肖像 • 命名列表 • 音乐 • 音效 |
其他 | 控制台指令 • 故障排除 • 模组结构 • 成就代码分析 • Mod相关 • Nudger修改 |