钢铁雄心4模组教程--变量@1
钢铁雄心4的变量机制和p社游戏的变量机制大差不差,一般在做普通(简单)Mod的情况下一般用不到(当仅仅制作精神,国策,效果性事件,增益决议等),但是想弄点花花事或者做一些看起来比较好玩的内容的时候,变量,数组与动态变量等等就有比较重要的效果了。例如kr和tno等mod都是需要大量变量来支撑效果,所以我根据我做了很短时间mod的经验来把变量的作用和使用方法按照我所了解的范围写一写。
由于该教程主要侧重变量等内容与实际操作,所以其他教程内容将不进行重要说明。
变量(Variables)是我们在 钢铁雄心4 1.5.0,中添加的强大系统。它使内容设计者能够在不同位置存储数字(“value”)并在效果(effect)/触发器(triggers)中使用它们。
有 4 个范围可以存储变量
国家(Country)
状态(State)
单位负责人(Unit Leader)
全球的(global)
每个国家、州和单位领导都有自己的变量列表。这说明我们可以在对应的国家,地块,将领,单位等赋值专门的变量。全局作用域(Global Variables)是唯一的,应该用于存储在全局(整个游戏-当前存档进程)意义上有意义的变量,而不是特定于某个国家的变量。
(一)访问变量
在各种效果(effect)/触发器(triggers)中,您将通过为其命名来访问变量。变量名不区分大小写,除了一些特殊字符外,您可以使用任何您想要的字符。尽管为了一致性和未来证明,请避免使用除“_”以外的数字和特殊字符
默认情况下,您将访问当前范围内的变量。如果要访问特定范围或不同范围内的变量,可以使用以下命令:

1.以国家(TAG)为目标范围访问变量
ENG.var_name 访问ENG的变量(var)
其中ENG为国家tag
var_name访问的是以ENG为目标 存储的变量
格式为TAG.var_name
两个例子
1.提前设定效果作用域为国家ENG
effect = {
ENG = {
set_variables = { has_good = 100 }
add_political_power = has_good
}
}
2.在变量中设置国家ENG为目标的变量
effect = {
set_variables = { ENG.has_good = 100 }
ENG = { add_political_power = has_good }
}
这样英国的政治点数就加了100点

2.以地块id(State ID)为目标范围访问变量
42.var_name 访问地块ID为42的变量(var)
其中42为地块ID
var_name访问的是以地块id为目标 存储的变量
格式为State_id.var_name

3.全局(Global)变量
global.var_name 访问以游戏存档进程为目标的变量(var)
global 代表全局
格式为global.var_name
例子:
Effect = {
set_variables = { global.has_good = 100 }
ENG = { add_political_power = global.has_good }
GER = { add_political_power = global.has_good }
every_country = {
limit = {
has_political_power > 10
AND= {
OR = {
tag = ENG
tag = GER
}
}
}
add_political_power = global.has_good
}
}
}

4.以作用域为目标的变量(var)
您可以使用 ROOT、PREV 或 FROM等令牌访问不同范围内的变量
ROOT.var_name
PREV.var_name
FROM.var_name
THIS.var_name
ROOT ---瞄准此效果(effect)或触发器(triggers)所在的根(root)(脚本进入的第一个范围/该作用域触发器的第一个国家或者范围)国家,无论这是什么其他范围
THIS ---以当前范围为目标,即为当前的触发器范围的结果为目标
PREV ---以上一个范围为目标
FROM ---在决议中,这适用于目标触发决策的目标。在事件中,这适用于向您发送此事件