Arrays:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.9
无编辑摘要
无编辑摘要
第69行: 第69行:
<value>是写入这个数组的值。如果没有指定一个值,那么会自动设为0 
<value>是写入这个数组的值。如果没有指定一个值,那么会自动设为0 


The size attribute specifies the new size of the array, removing elements if shrinking the array, or adding new elements with the specified value if expanding it.
<size>用于写入新数据的大小, 删除或缩小数组中的数据, 或者添加有指定的值的新数据


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


=== while_loop_effect ===
=== 循环效果 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


第84行: 第84行:
</pre>
</pre>


Runs the effect as long as a trigger is true.
触发条件正确即触发效果。


The break attribute specifies a temp variable that can be set to non-0 to break the loop, ending iteration. By default this is <code>break</code>.
<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是 <code>break</code>.


Effects can be used within the loop to perform operations with the data within an array.
重复的效果可以通过一个数组中的数据表现出。


=== for_each_loop ===
=== 每一次 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


第103行: 第103行:
</pre>
</pre>


Runs a loop for each element of the specified array.
给指定数组的每个数据执行循环。


The value attribute specifies a temp variable that stores the current value whilst iterating over the loop. By default this is <code>v</code>.
<value>写入一个临时的变量,在循环时会储存当前的值。默认是 <code>v</code>.


The index attribute specifies a temp variable that stores the current index whilst iterating over the loop. By default this is <code>i</code>.
<index> 写入一个临时的变量,在循环时储存当前的顺序索引,默认是 <code>i</code>.


The break attribute specifies a temp variable that can be set to non-0 to break the loop, ending iteration. By default this is <code>break</code>.
<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是 <code>break</code>.


Effects can be used within the loop to perform operations with the data within an array.
重复的效果可以通过一个数组中的数据表现出。


=== for_each_scope_loop ===
=== 每一次作用范围的循环 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


第124行: 第124行:
</pre>
</pre>


Runs a loop for each element of the specified array and changes the current scope to the current element in each iteration.
给指定数组的每个数据执行循环,并在循环时储存当前数据范围


The break attribute specifies a temp variable that can be set to non-0 to break the loop, ending iteration. By default this is <code>break</code>.
<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是<code>break</code>.


Effects can be used within the loop to perform operations with the data within an array.
重复的效果可以通过一个数组中的数据表现出。


=== random_scope_in_array ===
=== 数组中的随机范围 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


第142行: 第142行:
</pre>
</pre>


Runs a loop for each element of the specified array and changes the current scope to a random scope (out of the scopes within the array) that meet the triggers specified.
给指定数组的每个数据执行循环,并随机更改数据范围为满足触发条件的范围(在数组内写的范围外)


The break attribute specifies a temp variable that can be set to non-0 to break the loop, ending iteration. By default this is <code>break</code>.
<break>填入一个临时的变量,可以设置为不为0的数以停止循环。默认是<code>break</code>.


Effects can be used within the loop to perform operations with the data within an array.
重复的效果可以通过一个数组中的数据表现出。


=== add_to_temp_array ===
=== 添加临时数组 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


Same as <code>add_to_array</code> but for temporary arrays that expire once execution of the script is finished.
<code>add_to_array (添加数组)</code>  一样,但是是在效果执行完后就过期的临时数组


=== remove_from_temp_array ===
=== 临时数组中移除 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


Same as <code>remove_from_array</code> but for temporary arrays that expire once execution of the script is finished.
<code>remove_from_array(从数组中移除)</code> 一样,但是是在效果执行完后就过期的临时数组


=== clear_temp_array ===
=== 清除临时数组 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


Same as <code>clear_array </code> but for temporary arrays that expire once execution of the script is finished.
<code>clear_array (清除数组)</code> 一样,但是是在效果执行完后就过期的临时数组


=== resize_temp_array ===
=== 调整临时数组 ===
{{SVersion|1.9}}
{{SVersion|1.9}}


Same as <code>resize_array</code> but for temporary arrays that expire once execution of the script is finished.
<code>rese_array(调整数组)</code>  一样,但是是在效果执行完后就过期的临时数组


== Triggers ==
== Triggers ==

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>用于写入新数据的大小, 删除或缩小数组中的数据,或者添加有指定的值的新数据

一个较短的表达式short form can be used: 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