Arrays:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.9
无编辑摘要
无编辑摘要
第71行: 第71行:
<size>用于写入新数据的大小, 删除或缩小数组中的数据,或者添加有指定的值的新数据
<size>用于写入新数据的大小, 删除或缩小数组中的数据,或者添加有指定的值的新数据


 一个较短的表达 式short form can be used: <code>resize_array = { <name> = <size> }</code>
 一个较短的表达 : <code>resize_array = { <name> = <size> }</code>


=== 循环效果 ===
=== 循环效果 ===

2021年2月7日 (日) 11:32的版本


数组(Arrays)通常是储存数据的文件。在《钢铁雄心Ⅳ》中,数组可以存储定值数据和变值数据。

数组可以在游戏中出现一些效果,可以触发它们来检查它们。有些特殊的功能允许重复将同一个数组或者其中的部分数据用于其他的效果。

效果

添加数组

add_to_array = {
    array = <name>
    value = <value>
    index = <index>
}

创建一个数组并写入内容。

<name>可以是你想触发的效果的名称

<value>是你要添加到数组的数据。它可以是定值数字(i.e. 1 or var:my_num) 或者一个范围 (i.e. GER or var:my_scope).这可以自己选择,如果不包括,那么可以把作用范围写入<value>

<index>是表示这个<value>应被插入这个数组的位置。一般情况下会被插入这个数组的末端,否则这个数据会被移动来容纳新的<value>

一个比较短的表达式: add_to_array = { <name> = <value> }

从数组移除

remove_from_array = {
    array = <name>
    value = <value>
    index = <index>
}

<name>是你要从中移除数据的数组。

<value>是你想从这个数组中移除的值 如果有的话t).

<index>是你想从这个数组中移除的索引(index) (如果有的话).

如果没有确定<value>或<index>,那么最末尾的那个就会被移除

一个较短的表达式: remove_from_array = { <name> = <value> }

清除数组

clear_array = <name>

清除指定数组中的所有数据

调整数组

resize_array = {
    array = <name>
    value = <value>
    size = <int>
}

调整指定的数组

<value>是写入这个数组的值。如果没有指定一个值,那么会自动设为0

<size>用于写入新数据的大小, 删除或缩小数组中的数据,或者添加有指定的值的新数据

一个较短的表达式: resize_array = { <name> = <size> }

循环效果

while_loop_effect = {
    break = <string>
    limit = { <triggers> }
    
    <effects>
}

触发条件正确即触发效果。

<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是 break.

重复的效果可以通过一个数组中的数据表现出。

每一次

for_each_loop = {
    array = <name>
    value = <string>
    index = <string>
    break = <string>
    
    <effects>
}

给指定数组的每个数据执行循环。

<value>写入一个临时的变量,在循环时会储存当前的值。默认是 v.

<index> 写入一个临时的变量,在循环时储存当前的顺序索引,默认是 i.

<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是 break.

重复的效果可以通过一个数组中的数据表现出。

每一次作用范围的循环

for_each_scope_loop = {
    array = <name>
    break = <string>
    
    <effects>
}

给指定数组的每个数据执行循环,并在循环时储存当前数据范围

<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是break.

重复的效果可以通过一个数组中的数据表现出。

数组中的随机范围

random_scope_in_array = {
    array = <name>
    break = <string>
    limit = { <triggers> }
    
    <effects>
}

给指定数组的每个数据执行循环,并随机更改数据范围为满足触发条件的范围(在数组内写的范围外)

<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是break.

重复的效果可以通过一个数组中的数据表现出。

添加临时数组

add_to_array (添加数组) 一样,但是是在效果执行完后就过期的临时数组

临时数组中移除

remove_from_array(从数组中移除) 一样,但是是在效果执行完后就过期的临时数组

清除临时数组

clear_array (清除数组) 一样,但是是在效果执行完后就过期的临时数组

调整临时数组

rese_array(调整数组) 一样,但是是在效果执行完后就过期的临时数组

Triggers

is_in_array

is_in_array = {
    array = <name>
    value = <value>
}

Checks if the specified value is in the specified array.

any_of

any_of = {
    array = <name>
    value = <string>
    index = <string>
    
    <triggers>
}

Runs a loop on the specified array and checks the triggers against the current element. If any return true, the whole check returns true, otherwise returns false.

all_of

all_of = {
    array = <name>
    value = <string>
    index = <string>
    
    <triggers>
}

Runs a loop on the specified array and checks the triggers against the current element. If any return false, the whole check returns false, otherwise returns true.

any_of_scopes

any_of_scopes = {
    array = <name>
    
    <triggers>
}

Runs a loop on the specified array and checks the triggers against the current element scope. If any return true, the whole check returns true, otherwise returns false.

all_of_scopes

all_of_scopes = {
    array = <name>
    
    <triggers>
}

Runs a loop on the specified array and checks the triggers against the current element scope. If any return false, the whole check returns false, otherwise returns true.

Examples