小 (翻译(未完待续)) |
小 (文本替换 - 替换“[[Category:”为“[[分类:”) |
||
(未显示2个用户的4个中间版本) | |||
第4行: | 第4行: | ||
数组在{{ruby|'''指令'''|effects}}中发挥作用,并且{{ruby|'''触发器'''|trigger}}能够从中读取数据。指令既可以使数组迭代入其他指令,也能使其数据在自身内进行迭代。 | 数组在{{ruby|'''指令'''|effects}}中发挥作用,并且{{ruby|'''触发器'''|trigger}}能够从中读取数据。指令既可以使数组迭代入其他指令,也能使其数据在自身内进行迭代。 | ||
以下,使用<>括起的内容为'''数据类型''',等号左侧的标识符为'''参数名称'''。 | |||
== 指令(Effects)== | == 指令(Effects)== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第17行: | 第17行: | ||
} | } | ||
</pre> | </pre> | ||
一 旦将元素添加到数组中 ,就会创 建 一个数组。 | |||
array 是数组的名称,也是指令和触发器调用它的依据。 | |||
value 是指 要加入 数组的数据内容,它既可以是数字形式的(如1 或 var:my_num),也可以是作用域形式的(如GER 或 var:my_scope)。这些都是选填内容,如果不填 , 则会将当前作用域填入此处。 | |||
index 指数据内容应当被插入数组的哪个位置。{{ruby|'''缺省'''|default data}}(现普遍称'''默认''')情况下 ,value 会 接续在 数组最后 。 其他情况下 ,原有的 数据会自动 向后移位以 适 应插入 。 | |||
这部分的简便写法是:<code>add_to_array = { <name> = <value> }</code> | 这部分的简便写法是:<code>add_to_array = { <name> = <value> }</code> | ||
第36行: | 第36行: | ||
} | } | ||
</pre> | </pre> | ||
array 是 将被移除 数据的数组名称 。 | |||
value 是想要移除的数据内容 。 | |||
index 指移除操作所选择的'''开始''' 位置 。 | |||
如果value和index | 如果value和index都未定义,那 么array只有 最后一个 元素 会被 移 除 。 | ||
这部分的简便写法是:<code>remove_from_array = { <name> = <value> }</code> | 这部分的简便写法是:<code>remove_from_array = { <name> = <value> }</code> | ||
=== 清空数组(clear_array) === | === 清空数组(clear_array) === | ||
第52行: | 第51行: | ||
<pre>clear_array = <name></pre> | <pre>clear_array = <name></pre> | ||
清 | 清 空 指定数组 。 | ||
=== 重置数组规模(resize_array) === | === 重置数组规模(resize_array) === | ||
第63行: | 第62行: | ||
} | } | ||
</pre> | </pre> | ||
重置特定数 | 重置特定数 组array的 规模 (size)。 | ||
如果扩大 | 如果扩大 现有 数 组 的规模,多出 来 的 新元素将被 置 为value; 如果 缩小现 有数组的 规模 ,则 自index=size开始 的元素 将被丢弃 。 | ||
这部分的简便写法是: <code>resize_array = { <name> = <size> }</code> | 这部分的简便写法是: <code>resize_array = { <name> = <size> }</code> | ||
===while循环指令(while_loop_effect)=== | |||
=== | |||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第83行: | 第79行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组进行有条件的循环操作。只要limit为真,就重复执行指令组(用花括号括起的指令集合)。 | |||
break接受一个{{ruby|'''临时变量'''|temp variable}},当传递给break的变量取值为'''非0'''时,迭代将结束。缺省情况下,break接受的变量名为 <code>break</code>。break无法在本指令之外被访问。 | |||
本指令接受指令组作为其参数,以指定对数组元素进行的操作。 | |||
该指令会隐性地将当前数组array作为参数。 | |||
=== | ===for each循环指令(for_each_loop)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第103行: | 第100行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组中的每个元素调用指令组。 | |||
value 指定了一个临时变量,指向迭代过程中的当前元素,缺省值为<code>v</code> 。 | |||
index 指定了一个临时变量,指向迭代过程中的当前位置,缺省值为<code>i</code> 。 | |||
break 后应分配一个'''非零'''临时变量以结束迭代,缺省值为<code>break</code> 。 | |||
在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数 | |||
=== | ===for each作用域循环指令(for_each_scope_loop)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第125行: | 第121行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组中的每个元素调用指令组,并且在每次调用时将当前作用域更改为当前元素。 | |||
break 后应分配一个'''非零'''临时变量以结束迭代,缺省值为<code>break</code> 。 | |||
在此循环中可以写入指令执行某些操作,并隐性地以当前数组为参数 | |||
=== | === 随机作用域指令(random_scope_in_array) === | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第144行: | 第139行: | ||
} | } | ||
</pre> | </pre> | ||
对特定的数组中的每一变量进行循环操作,并在每次迭代时将当前作用域改为随机作用域(当前数组内的一个随机的、不同于当前作用域的变量)。 | |||
break后应分配一个'''非零'''临时变量以结束迭代,缺省值为<code>break</code>。 | |||
在此循环中可以写入指令执行某些操作,所用的数据内容应均在array内。 | |||
=== 添加到临时数组(add_to_temp_array)=== | |||
=== | |||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
与<code>add_to_array</code> 代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。 | |||
=== | === 从临时数组中移除(remove_from_temp_array)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
与<code>remove_from_array</code> 代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。 | |||
=== | === 清空临时数组(clear_temp_array)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
与<code>clear_array </code> 代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。 | |||
=== | === 重置临时数组规模(resize_temp_array)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
与<code>resize_array</code> 代码相同,但存储对象为临时数组,此数组在脚本结束后就会消失。 | |||
== | == 触发器(Triggers)== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
=== | === 包含关系(is_in_array)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第184行: | 第178行: | ||
</pre> | </pre> | ||
检测指定数组array是否含有指定元素value。 | |||
=== | === 存在量词(any_of)=== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第198行: | 第192行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组内的每一元素调用<triggers>并比较触发器输出和元素值。如果任一比较结果值为真则触发器输出为真,否则为假。 | |||
=== 全称量词(all_of) === | |||
=== | |||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第213行: | 第206行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组内的每一元素调用<triggers>并比较触发器输出和元素值。如果任一比较结果值为假则触发器输出为假,否则为真。 | |||
=== 作用域存在量词(any_of_scopes)=== | |||
=== | |||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第226行: | 第218行: | ||
} | } | ||
</pre> | </pre> | ||
对指定数组进行循环操作,将<triggers>与当前作用域进行比较,如果任一返回值为真则触发器输出为真,否则为假。 | |||
=== 作用域全称量词(all_of_scopes)=== | |||
=== | |||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
第240行: | 第231行: | ||
</pre> | </pre> | ||
对指定数组进行循环操作,将<triggers>与当前作用域进行比较,如果任一返回值为假则触发器输出为假,否则为真。 | |||
== | == 附加信息== | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
你可以将某数组内变量的数目输出出来,只需要这么写:<code>set_variable = { var_name = array_name^num }</code> 。 | |||
== | == 例子 == | ||
{{SVersion|1.10}} | {{SVersion|1.10}} | ||
{{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修改 |