最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

鋼鐵雄心(Hoi4)數(shù)組 Array 簡單應(yīng)用

2022-06-25 13:49 作者:青楓留念  | 我要投稿

鋼鐵雄心4中Array可以實現(xiàn)一些內(nèi)容的數(shù)組化,例如將一些國家id存在一個清單中,供我們要做的功能進行對接,幾個例子,在kr的各個經(jīng)濟圈,tno的經(jīng)濟圈中應(yīng)用了大量的array數(shù)組功能,而數(shù)組array與變量variable緊密相連。結(jié)合本人做mod的經(jīng)驗我們接下來介紹幾個簡單的例子

通常為了方便與整潔,以及適合調(diào)用,我"推薦"可以將變量,數(shù)組等編寫的內(nèi)容放進Scripted_effect(腳本 效果)文件夾中的新建文件去編寫,文件名稱可以注明相應(yīng)的效果內(nèi)容幫助分類

1.Scrpted_effect文件內(nèi)部格式

xxxxxxx(接口名稱)=? {?

?<effect> #例如 add_stability = 0.05

}

在國策,決議,事件或者其他腳本效果調(diào)用時,只需要聲明?

remove_effect = {

xxxxxxx = yes

}

就可以調(diào)用相關(guān)效果,例如增加5%穩(wěn)定度

2.數(shù)組Array與變量variable的應(yīng)用

數(shù)組的操作 添加數(shù)組

模板?add_to_array = {

array = country_list_0 #數(shù)組名稱,如果數(shù)組不存在視為創(chuàng)建一個新數(shù)組

value = <value>? #數(shù)值,就是在列表相應(yīng)位置的值

index = <index> #位置,默認(rèn)以0為開頭

}


以下的函數(shù)幫助我們將與德國作戰(zhàn)的國家加入列表,從0開始,以此加1

set_variable = { i0 = 0 }

every_country = {

? ? limit = {

? ? ? ? has_war_with = GER

? ? }

? ? add_to_array = {

? ? ? ? array = country_war_germany_array

? ? ? ? value = this

? ? ? ? index = i0

? ? }

? ? add_to_variable = { i0 = 1?}

}

這個country_war_germany_array數(shù)組里將存儲所有與德國開戰(zhàn)的國家

這里要注意,如果我們想要在已有的list(array)上刷新數(shù)組的話,通常我們必須指定index,也就是位置是從0開始,然后使用變量的加法進行遞增,否則變量將被添加到列表的末尾。

一些操作:::

(1)在數(shù)組中移除一個變量值

當(dāng)我們在一個數(shù)組中要移除一個變量value值,例如一個經(jīng)濟圈中,將一個國家移除,這個時候可以使用?remove_from_array?進行移除,作用是從一個數(shù)組移除一個變量或一個相應(yīng)位置(index)的變量

1.remove_from_array?= {?

array = sphere_econ

value =?GER

}

2.remove_from_array?= {??sphere_econ =?GER }

以上操作將會把ger國家移除出sphere_econ數(shù)組

remove_from_array?= {?

array =?sphere_econ

index = 1

}

以上操作會把數(shù)組sphere_econ在1位置的國家(value)移除


(2)清除一個數(shù)組

如果我們在使用過程中需要刪除這個數(shù)組,例如將一個經(jīng)濟圈數(shù)組移除,可以使用clear_array

clear_array =?sphere_econ

以上操作將移除sphere_econ數(shù)組里的所有內(nèi)容

(3)得到數(shù)組中存儲元素的數(shù)量

如果我們想要獲取在數(shù)組中的元素數(shù)量,例如我們創(chuàng)建了一個經(jīng)濟圈的數(shù)組,需要獲取到經(jīng)濟圈中成員數(shù)量

模板:set_temp_variable = {?var_name?=? array_name^num }

set_temp_variable = { member_num_sphere =? sphere_econ^num }

set_variable = {?member_num_sphere?=? sphere_econ^num }

member_num_sphere變量中(暫時)存儲了經(jīng)濟圈中成員數(shù)量

(4)在變量中引用特定數(shù)組相應(yīng)index位置的變量值

如果我們想在數(shù)組中獲取相應(yīng)位置的變量值(value)給變量(variable)進行相應(yīng)操作時,可以使用以下方法

模板:set_temp_variable = { var_name =? array_name^index?}

set_temp_variable = {?member_name_sphere=? sphere_econ^3?}

set_variable = {?member_name_sphere?=? sphere_econ^3 }

以上操作通過固定位置獲得sphere_econ數(shù)組中第3個index存儲的value值,例如是GER,并存儲在member_name_sphere變量中供操作

(5)指定一個數(shù)組array的大小

我們可以通過指定一個數(shù)組的大小來擴大,縮小其元素value的范圍

resize_array = {

? ? array = sphere_econ

? ? value = 3

? ? size = 5

}

resize_array = { array_name = size }

以上操作的含義是將sphere_econ數(shù)組內(nèi)大小變?yōu)?,value視為填充的值,如果未設(shè)置value時,統(tǒng)一視為0,當(dāng)array(sphere_econ)的元素個數(shù)小于5時,填充部分的value將為3,size為設(shè)置數(shù)組長度,實行多刪少補

臨時數(shù)組(temp_array)版本以 resize_temp_array 的形式存在。

(6)獲取在數(shù)組中最高和最低的value或代表的index

這個是用于一個數(shù)組array里的value值(變量值)均為數(shù)字,包括整數(shù)和浮點數(shù)時,可以通過find_highest_in_array和find_lowest_in_array獲取數(shù)組中最高或最低的value值或者value值代表的元素位置index

1.獲取數(shù)組中最高value值

find_highest_in_array = {?array = array_name?value = value_name?index = index_name}

使用方法(很明顯,改數(shù)組操作不支持內(nèi)置effect)

find_highest_in_array = {?

? ? array = num_array_list

? ? value = num_array_max_num #該num_array_max_num 變量存儲數(shù)組value最大值

? ? index = num_array_max_num_index #num_array_max_num_index存儲最大值的index

2.獲取數(shù)組中最小value值

find_lowest_in_array = {?array = array_name?value = value_name?index = index_name}

使用方法(很明顯,改數(shù)組操作不支持內(nèi)置effect)

find_lowest_in_array = {?

? ? array = num_array_list

? ? value = num_array_min_num #該num_array_min_num 變量存儲數(shù)組value最小值

? ? index = num_array_min_num_index #num_array_min_num_index存儲最小值的index

}

(7)對符合限制條件進行迭代循環(huán)

當(dāng)我們需要設(shè)置符合我們設(shè)置limit條件的內(nèi)容進行循環(huán)操作時,可以使用while_loop_effect

模板1:此操作可以視為變量(variable)操作

while_loop_effect = {?

? ? break = <string>??

? ? limit = {?

? ? ? ? <triggers>?

? ? }?

? ? <effects>?

}

break設(shè)置為中斷循環(huán),默認(rèn)為break ,即不中斷循環(huán),可以設(shè)置一個非0的數(shù)值可以在適當(dāng)位置進行中斷,一般不需要設(shè)定,可以視為迭代循環(huán)的次數(shù),對數(shù)組的操作唯一不同的就是最大限制條件變?yōu)閿?shù)組范圍內(nèi)。

limit為限制條件

effect為符合limit后所進行的操作

例如:

1.

while_loop_effect = {?

break?= 5 #設(shè)置迭代次數(shù)為5

? ??limit = {?

? ? ? ??GER = { has_war = no }

? ??}?

? ??GER = { add_stability = 0.10?}

}

2.

set_temp_variable? = { while_loop_temp_name = 0?} #設(shè)置臨時次數(shù)0

while_loop_effect =?{

? ??limit = {?

? ? ? ??GER = { has_war = no?}

? ? ? ? check_variable = {?while_loop_temp_name? < 6 } #設(shè)置迭代次數(shù)為5(小于6)

? ??}?

? ??GER = { add_stability = 0.10?}

? ? add_to_temp_variable = {?while_loop_temp_name = 1?} #臨時次數(shù)+1

}

著名:上面都已整數(shù)1為最小迭代次數(shù),浮點數(shù)迭代次數(shù)例如0.1,5.0請自行操作

通過以上1.2種方法可以實現(xiàn)有次數(shù)限制的迭代效果管理

(8)對數(shù)組中所有元素進行循環(huán)并操作

當(dāng)我們需要將數(shù)組里的所有元素或者value進行循環(huán)并操作時,我們可使用for_each_loop?

模板:

for_each_loop = {?

? ? array = <name>?

? ? value = <string>?

? ? index = <string>?

? ? break = <string>?

? ? ? ? <effects>?

}

1.例子:我想實現(xiàn)讓所有經(jīng)濟圈內(nèi)成員加一個變量值,并將這些成員加載到一個新的數(shù)組中

set_temp_variable = { clo_member_num = 0?}

for_each_loop = {?

? ? array = econ_sphere #含有美國,德國,英國,法國,意大利,每個都可以輪到

? ? set_temp_variable = { econ_sphere_temp_member = v?} #獲取列表當(dāng)前元素國家

? ??econ_sphere_temp_member = {

? ? ? ? set_variable = { member_policital_num = 100?} #元素國家設(shè)置變量

? ? }

? ? add_to_array = { #載入到一個新的數(shù)組

? ? ? ? array =?econ_sphere_new

? ? ? ? value =?econ_sphere_temp_member

? ? ? ? index =?clo_member_num?

? ? }

? ? add_to_variable = {?clo_member_num = 1?}

? ? set_variable = { econ_spherer_new_num = econ_sphere_new^num?}#新經(jīng)濟圈國家數(shù)量

? ?}

(9)對數(shù)組內(nèi)的元素進行循環(huán)并操作

改邏輯與第8個效果大致相同,不同的是for_each_scope_loop?在每次迭代中將當(dāng)前范圍更改為當(dāng)前元素,該循環(huán)也沒有l(wèi)imit,但可以使用break次數(shù)中斷循環(huán)

將此臨時變量設(shè)置為非零以中斷循環(huán)??= loc #如果已定義,效果將使用此本地化作為標(biāo)題輸出子效果的工具提示 #effect 1 #effect 2 ... }

模板?

? ? ? ? ? for_each_scope_loop = {?

? ? ? ? ? ?array = <name>

? ? ? ? ?? break = <string>?

? ? ? ? ? ? ? ?<effects>

? ? ? ? ? ?}

1.使用例

for_each_scope_loop = {?

? ? array = num_array #數(shù)組,1,1,2,3,4,5

? ? break = 1 #循環(huán)1

? ? add_to_variable = { v = 1?}

?}





















鋼鐵雄心(Hoi4)數(shù)組 Array 簡單應(yīng)用的評論 (共 條)

分享到微博請遵守國家法律
新和县| 搜索| 昌乐县| 东兰县| 泰安市| 青龙| 宝坻区| 九江市| 镶黄旗| 沁水县| 景泰县| 仪征市| 托克逊县| 宁化县| 肃南| 资兴市| 乌审旗| 高雄市| 中方县| 繁峙县| 宁强县| 卓资县| 乌兰浩特市| 浑源县| 和平县| 游戏| 昌乐县| 平和县| 精河县| 当涂县| 望城县| 玛纳斯县| 铜鼓县| 新密市| 滕州市| 永安市| 易门县| 永靖县| 渝北区| 安龙县| 铜山县|