m (文本替换 - 替换“[[Category:”为“[[分类:”) |
|||
| Line 291: | Line 291: | ||
{{Modding navbox}} | {{Modding navbox}} | ||
[[ | [[ 分类:Modding]] | ||
Revision as of 15:57, 5 December 2022
作用域后面一般都会跟着大括号:
<scope_name> = {
#这个作用域中要实施的东西。
}
但是并不是所有后面有大括号的东西都是作用域:有一些是功能模块(option, trigger, mean_time_to_happen,...),operator (AND), 流控制语句 (if, limit),或者是复杂条件或者指令的分句。
作用域转换类型
有不同的作用域转换运算符。
- 条件(Condition):条件作用域和其他条件一样返回布尔值。
- 指令(Command):指令作用域和其他指令一样对新作用域施加效果。
- 兼容(Both):这种作用域可以有以上两种用途。
大多数通用作用域转换运算符都有四种不同的形式。
| 名称 | 描述 |
|---|---|
| all_<name> | 条件,所有都必须达到子条件。 |
| any_<name> | 条件,至少有一个达到子条件。 |
| every_<name> | 指令,施加在所有子作用域上。 |
| random_<name> | 指令,施加在某一子作用域上。 |
作用域列表
请注意以下内容:
- 如果一个作用域的触发器一栏为✓,那么你可以检查它的条件。
- 如果一个作用域的效果一栏为✓,那么你可以对它施加指令。
| 作用域 | 描述 | 样例 | 触发器 | 效果 | 来自作用域 | 改变作用域到 | 加入的游戏版本 |
|---|---|---|---|---|---|---|---|
| all_unit_leader | 检查是否当前国家作用域的所有将领满足了条件。 | all_unit_leader = { ... } | ✓ | X | 国家 | 将领 | 1.5 |
| any_unit_leader | 检查是否当前国家作用域有任意将领满足了条件。 | any_unit_leader = { ... } | ✓ | X | 国家 | 将领 | 1.5 |
| all_army_leader | 检查是否当前国家作用域的所有陆军将领满足了条件。 | all_unit_leader = { ... } | ✓ | X | 国家 | 将领 | 1.5 |
| any_army_leader | 检查是否当前国家作用域有任意陆军将领满足了条件。 | all_unit_leader = { ... } | ✓ | X | 国家 | 将领 | 1.5 |
| all_navy_leader | 检查是否当前国家作用域的所有海军将领满足了条件。 | all_navy_leader = { ... } | ✓ | X | 国家 | 将领 | 1.5 |
| any_navy_leader | 检查是否当前国家作用域有任意海军将领满足了条件。 | all_navy_leader = { ... } | ✓ | X | 国家 | 将领 | 1.5 |
| random_unit_leader | 指向当前国家作用域的一个随机将领。 | random_unit_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| every_unit_leader | 指向当前国家作用域的每一个将领。 | every_unit_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| random_army_leader | 指向当前国家作用域的一个随机陆军将领。 | random_army_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| every_army_leader | 指向当前国家作用域的每一个陆军将领。 | every_army_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| random_navy_leader | 指向当前国家作用域的一个随机海军将领。 | random_navy_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| every_navy_leader | 指向当前国家作用域的每一个海军将领。 | every_navy_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| global_every_army_leader | 指向世界上所有国家的每一个陆军将领。(如果你知道国家的话最好用every_army_leader) | global_every_army_leader = { ... } | X | ✓ | 国家 | 将领 | 1.5 |
| OVERLORD | 指向当前作用域的宗主国,如果当前作用域是附属国。 | RAJ = { OVERLORD = { ... } } | ✓ | ✓ | 国家 | 国家 | 1.3 |
| TAG | 指向tag对应的特定国家。 | FRA = { ... } | ✓ | ✓ | 任意 | 国家 | 1.0 |
| any_country | 检查世界上的任意国家。(包括当前作用域,如果不想包含的话参见any_other_country) | any_country = { ... } | ✓ | X | 任意 | 国家 | 1.0 |
| any_country_with_original_tag | Targets any country with current scope's original tag | any_country_with_original_tag = { ... } | ✓ | X | 任意 | 国家 | 1.9 |
| any_neighbor_country | 检查当前作用域的任意相邻国家。 | any_neighbor_country = { ... } | ✓ | X | 国家 | 国家 | 1.0 |
| any_home_area_neighbor_country | 检查与当前作用域本土(核心地区)相邻的任意国家。 | any_home_area_neighbor_country = { ... } | ✓ | X | 任意 | 国家 | 1.0 |
| any_guaranteed_country | 检查当前作用域保障独立的任意国家。 | any_guaranteed_country = { ... } | ✓ | X | 国家 | 国家 | 1.9 |
| any_allied_country | 检查当前作用域结盟的任意国家。 | any_allied_country = { ... } | ✓ | X | 国家 | 国家 | 1.0 |
| any_other_country | 检查世界上的任意其他国家(不包括当前作用域)。 | any_other_country = { ... } | ✓ | X | 国家 | 国家 | 1.0 |
| any_enemy_country | 检查当前作用域的任意敌对国家。 | any_enemy_country = { ... } | ✓ | X | 国家 | 国家 | 1.0 |
| any_occupied_country | 检查被当前作用域占领的任意国家。 | any_occupied_country = { ... } | ✓ | X | 国家 | 国家 | 1.9 |
| all_neighbor_country | 检查当前作用域的所有相邻国家。 | all_neighbor_country = { ... } | ✓ | X | 国家 | 国家 | 1.0 |
| all_country | 检查世界上的所有国家。 | all_country = { ... } | ✓ | X | 任意 | 国家 | 1.0 |
| all_country_with_original_tag | Targets all country with current scope's original tag | all_country_with_original_tag = { ... } | ✓ | X | 任意 | 国家 | 1.9 |
| all_allied_country | 检查当前作用域结盟的所有国家。 | all_allied_country = { ... } | ✓ | X | 国家 | 国家 | 1.9 |
| all_guaranteed_country | 检查当前作用域保障独立的所有国家。 | all_guaranteed_country = { ... } | ✓ | X | 国家 | 国家 | 1.9 |
| all_enemy_country | 检查当前作用域的所有敌对国家。 | all_enemy_country = { ... } | ✓ | X | 国家 | 国家 | 1.0 |
| all_occupied_country | 检查被当前作用域占领的所有国家。 | all_occupied_country = { ... } | ✓ | X | 国家 | 国家 | 1.9 |
| state_id | 指向地区id对应的特定地区。 | 145 = { ... } | ✓ | ✓ | 任意 | 地区 | 1.0 |
| any_state | 检查世界上的任意地区。 | any_state = { ... } | ✓ | X | 任意 | 地区 | 1.0 |
| any_controlled_state | 检查当前作用域控制的任意地区。 | any_controlled_state = { ... } | ✓ | X | 国家 | 地区 | 1.9 |
| any_owned_state | 检查当前作用域拥有的任意地区。 | any_owned_state = { ... } | ✓ | X | 国家 | 地区 | 1.0 |
| any_neighbor_state | 检查与当前作用域相邻的任意地区。 | any_neighbor_state = { ... } | ✓ | X | 地区 | 地区 | 1.0 |
| all_state | 检查世界上的所有地区。 | all_state = { ... } | ✓ | X | 任意 | 地区 | 1.0 |
| all_owned_state | 检查当前作用域拥有的所有地区。 | all_owned_state = { ... } | ✓ | X | 国家 | 地区 | 1.0 |
| all_neighbor_state | 检查与当前作用域相邻的所有地区。 | all_neighbor_state = { ... } | ✓ | X | 地区 | 地区 | 1.0 |
| all_owned_state | 检查当前作用域拥有的所有地区。 | all_owned_state = { ... } | ✓ | X | 国家 | 地区 | 1.0 |
| all_controlled_state | 检查当前作用域控制的所有地区。 | all_controlled_state = { ... } | ✓ | X | 国家 | 地区 | 1.9 |
| every_country | 指向世界上的每一个国家。(包括当前作用域,如果不想包含的话参见every_other_country) | every_country = { ... } | X | ✓ | 任意 | 国家 | 1.0 |
| every_country_with_original_tag | every_country_with_original_tag = { original_tag_to_check = TAG limit = { ... } ... } | X | ✓ | 任意 | 国家 | 1.9 | |
| every_other_country | 指向世界上的每一个其他国家(不包括当前作用域)。 | every_other_country = { ... } | X | ✓ | 国家 | 国家 | 1.0 |
| every_neighbor_country | 指向当前作用域的每一个邻国。 | every_neighbor_country = { ... } | X | ✓ | 国家 | 国家 | 1.0 |
| every_enemy_country | 指向当前作用域的每一个敌对国家。 | every_enemy_country = { ... } | X | ✓ | 国家 | 国家 | 1.0 |
| every_occupied_country | 指向当前作用域占领的每一个国家。 | every_occupied_country = { ... } | X | ✓ | 国家 | 国家 | 1.9 |
| random_country | 指向世界上的一个随机国家。(包括当前作用域) | random_country = { ... } | X | ✓ | 任意 | 国家 | 1.0 |
| random_country_with_original_tag | Targets a random country with original tag | random_country_with_original_tag = { original_tag_to_check = TAG limit = {...} ... } | X | ✓ | 任意 | 国家 | 1.9 |
| random_neighbor_country | 指向当前作用域的一个随机邻国。 | random_neighbor_country = { ... } | X | ✓ | 国家 | 国家 | 1.0 |
| random_enemy_country | 指向当前作用域的一个随机敌对国家。 | random_enemy_country = { ... } | X | ✓ | 国家 | 国家 | 1.0 |
| random_occupied_country | 指向当前作用域占领的一个随机国家。 | random_occupied_country = { ... } | X | ✓ | 国家 | 国家 | 1.9 |
| random_state | 指向一个随机地区。 | random_state = { ... } | X | ✓ | 任意 | 地区 | 1.0 |
| random_owned_state | 指向当前作用域拥有的一个随机地区。 | random_owned_state = { ... } | X | ✓ | 国家 | 地区 | 1.0 |
| random_controlled_state | 指向当前作用域控制的一个随机地区。 | random_controlled_state = { prioritize = { <stateID> <stateID> } to pick those states first if they fulfill the limit ... } | X | ✓ | 国家 | 地区 | 1.9 |
| random_owned_controlled_state | 指向当前作用域拥有并控制的一个随机地区。 | random_owned_controlled_state = { ... } | X | ✓ | 国家 | 地区 | 1.3 |
| random_neighbor_state | 指向与当前作用域相邻的一个随机地区。 | random_neighbor_state = { ... } | X | ✓ | 地区 | 地区 | 1.0 |
| every_state | 指向世界上的每一个地区。 | every_state = { ... } | X | ✓ | 地区 | 地区 | 1.0 |
| every_controlled_state | 指向当前作用域控制的每一个地区。 | every_controlled_state = { ... } | X | ✓ | 国家 | 地区 | 1.9 |
| every_owned_state | 指向当前作用域拥有的每一个地区。 | every_owned_state = { ... } | X | ✓ | 国家 | 地区 | 1.0 |
| every_neighbor_state | 指向与当前作用域相邻的每一个地区。 | every_neighbor_state = { ... } | X | ✓ | 地区 | 地区 | 1.0 |
| capital_scope | 指向当前作用域的首都地区。 | capital_scope = { ... } | ✓ | ✓ | 国家 | 地区 | 1.0 |
| owner scope | 指向当前作用域的拥有者。 | owner = { ... } | X | ✓ | 地区 | 国家 | 1.0 |
| controller scope | 指向当前作用域的控制者。 | controller = { ... } | X | ✓ | 地区 | 国家 | 1.0 |
| all_operative_leader | 检查当前作用域的所有特工。 | all_operative_leader = { ... } | ✓ | X | 国家/Operation | 特工 | 1.9 |
| any_operative_leader | 检查当前作用域的任意特工。 | any_operative_leader = { ... } | ✓ | X | 国家/Operation | 特工 | 1.9 |
| every_operative | 指向当前作用域的每一个特工。 | every_operative = { ... } | X | ✓ | 国家/Operation | 特工 | 1.9 |
| random_operative | 指向当前作用域的一个随机特工。 | random_operative = { ... } | X | ✓ | 国家/Operation | 特工 | 1.9 |
NOTE: Some of these scopes may have no countries/states that match the criteria
作用域限制
可以使用limit语句限定条件来缩小作用域的范围。很简单地在一个作用域(如every_neighbor_country)中插入语句,放入所需的条件(如有多于5个军工厂)。然后在写完limit语句后,放入指令(如给与军事通行权)来影响特定的作用域。这里有一个小例子:
every_neighbor_country = { # 指向作用域相邻的每一个国家
limit = {
num_of_military_factories > 5 # 添加拥有多于5个军工厂的限制
}
give_military_access = ROOT #将军事通行权给与拥有多于5个军工厂的每个邻国
}
作用域之间的移动
有许多能够跨作用域执行效果或检查触发器的链接。所有的链接都可以用于效果或触发器,尽管不是所有指令和条件(即效果和触发器)都接受它们,或者是作用域本身。
| 链接 | 描述 | 样例 |
|---|---|---|
| ROOT | 定位这个效果或触发器所在的根(脚本进入的第一个作用域)国家,无视其它任何作用域。 | ENG = {
FRA = {
GER = {
declare_war_on = {
target = ROOT
type = annex_everything
}
}
}
} #德国对英国宣战。(假设在前面再没有作用域了)
|
| THIS | 定位当前作用域。 | random_state = {
add_resource = {
type = oil
amount = 50
state = THIS
}
}#资源会加到随机的地区(random_state)。
|
| PREV | 定位上一个作用域。 | FRA = {
random_country = {
GER = {
declare_war_on = {
target = PREV
type = annex_everything
}
}
}
} #德国对随机国家宣战(random_country)。
|
| FROM | 在决议中,定位到目标决议的目标。
在事件中,定位到向你发送这个事件的tag(如适用),例如德国向意大利发送了一个事件。 |
declare_war_on = {
target = FROM
type = annex_everything
}
FROM = {
load_oob = defend_ourselves
}
|
FROM和PREV可以向前多次定位作用域,方法是在.后面继续加FROM或PREV。例如,FROM.FROM或PREV.PREV.PREV。
In this example of chaining these links, two arms factories are built in two random states of a random country, and PREV.PREV is used to ensure the second state is not the same as the first state.
random_country = { #1st scope [1]
random_owned_state = { # 2nd scope [1,2]
add_extra_state_shared_building_slots = 2
add_building_construction = {
type = arms_factory
level = 2
instant_build = yes
}
PREV = { #from random_owned_state(#2nd) to random_country(#1st). [1,2,1]
random_owned_state = { #new second scope [1,2_old,1,2_new]
limit = { NOT = { state = PREV.PREV } } # The first PREV scopes back to the country, the second scopes back to the first random state <Value:1,2_old,̶1̶,̶̶̶2̶̶̶_̶̶̶n̶̶̶e̶̶̶w>
add_extra_state_shared_building_slots = 2 #Note: We used PREV.PREV to get a value, but didn't actually enter that scope. [1,2_old,1,2_new]
add_building_construction = {
type = arms_factory
level = 2
instant_build = yes
}
}
}
}
}
References
| 文件 | 效果 • 条件 • 定义 • 修正 • 修正列表 • 作用域 • 本地化 • on action • 数据结构 (标记, 临时标记, 国家别名, 变量, 数组) |
| 脚本 | 成就修改 • AI修改 • AI focuses • 自治领修改 • 权力平衡修改 • 剧本/标签 (游戏规则)• 建筑修改 • 人物修改 • 修饰性TAG修改 • 国家创建 • 军队修改 • 决议制作 • 装备修改 • 事件修改 • Idea修改 • 意识形态修改 • 军工商修改 • 国策制作 • 资源修改 • Scripted GUI • 科技制作 • 单位修改 |
| 地图 | 地图 • 省份 • 补给区域 • 战略区域 |
| 图形图像 | 界面 • 图形资产 • 实体模型 • 后期特效 • 粒子效果 • 字体 |
| 装饰性 | 肖像 • 命名列表 • 音乐包制作 • 音效 |
| 其他 | 控制台指令 • 故障排除 • 模组结构 • 成就代码分析 • Mod相关 • Nudger修改 |