??xml version="1.0" encoding="utf-8" standalone="yes"?>
Bitmap = "T-CAVALRY A-FIRE C-MIN L-1 D-E.bmp"
Origin = { x = 56 y = 62 }
Frames = 15
Speed = 8
Palette = "T-CAVALRY C-MIN L-1.bmp"
}
其中Bitmap=内部的|是\gfx\map\units\bmp 里面的图片名Uͼ坐标与兵U的寚w有关Qframes是?speed应该是播攄速度Q至于T-CAVALRY C-MIN L-1.bmp应该是存在于\gfx\palette下的一个颜色文Ӟ4*4像素Q是调背景色用的Q如果选择错误也会造成光|出现杂色的点甚至无法正常昄{问题?
name = "AI_EVENT"
style = 0
date = { day = 1 month = january year = 1936 }
offset = 4
deathdate = { day = 29 month = december year = 1948 }
action_a = {
command = { type = ai which = "switch/ENG_Britain.ai" }
}
}
当英德交战,徯不交战,德国占领巴黎或者占领了比利时的Ƨ洲部分Q英国就会调整自qai?br />
Ai文g的命名方式可以随意,但必d事g中调用的文g名相同?/p>
ai文g多w的一?ai文g是原版游戏定义的Qswitch文g多w的ai文g则由后箋的补丁不断补充?/p>
---------------------------一个完整ai文g模型的介l?----------------------------
#一个完整的ai文gp多部分组成,但ƈ不意味着一个ai文g需要包含所有的q些部分Q?br /> #有时一个ai文g只有几个语句Q但它依然是正确的,它将只替换原有文件中的那几个语句?/p>
switch = [yes/no]
#默认是yesQ如果用noQ则ai不会在每q开始的时候寻找更合适的aiQ如果用的是国Q?br />
#则美国不会把他的政策从孤立主义逐渐改变到干涉主义?br />
#但由事g调用的ai会无视这个语句,q是能改变该国的ai?/p>
#各种政策U研{的调整|?br />
# exp_force_ratio = 0.750
#当前讑֮的flagQ事件会讑֮多个flagQ从而之后的事g可以按照flag的情冉|判断事g#发生与否?br />
flags = {
testflag = yes
invade_albania = no
assist_finland = no
}
#调整ai同意索取领土要求的可能?br /> claim_acceptance = X
#向哪些国家要求领土他们会同意
demand_claims = {
EST
LAT
ROM
LIT
FIN
}
#哪些国家如果我们占领了他们会l与他们独立
liberate = {
LIT
FIN
}
#对列表中的国安以媄响他们以改善关系,x的取值[0-10],0意味着毫无影响?br />
resistance = {
ROM = x
}
#对列表中的国家有极强的R略性,如果某个国家对应的数值是100Q那么这个国家将不顾一
#切的试图毁灭该国。在本例Qd国将首先对付法国Q然后对付英国?br />
combat = {
ENG = 60
FRA = 70
}
#q个国家保证列表中的国家的独立Q这个数D高,如果相对应的国家受R略,保护国就
#容易进行干涉?br />
protect = {
TUR = 100
DAN = 100
}
#q个国家尽量和列表中的国家保持良好关系q与之同盟,数D高可能性越高?br />
befriend = {
TUR = 100
DAN = 100
}
#xxx表示省䆾IDQ这个语句表C个国家将力在战争中占领q个省䆾Qƈ可能通过?br />
#q判获得这个省份,n高可能性越高?br />
target = {
xxx = n# 1 - 100
}
#电脑分配l升U的ic的最大?br /> upgrading = 0.1
#电脑分配l增援ic的最大?br /> reinforcement = 0.1
#如果电脑被占据的ic比例过q个数字Q他׃恐慌而开始爆民兵
desperation = 0.3
#开始战略{UL耗的旉
strat_redeploy_threshold = [days]
#q行战略转移部队的最高比例,默认0.25
max_redeploying = X
#影响该国对别国宣战的几率
war = 50
# 完全中立的国家的该g?00?50
#影响该国接受同盟和军事通行要求的可能性,如果过100则完全不可能Q但qƈ不媄响该
#国宣战的可能性。该值取决于国策的选择和与其他国家的关pR?br />
neutrality = 0
#影响在前U对敌方表示友好的部队的比例Q默认是4.0
max_front_ratio = X
#列表中的值将取代面对特定国家旉认的?br />
ax_front_ratios = {
FIN = 2.0
...
}
#送远征军的比?br /> #不要讄的太低,必须lAI在同盟军控制的战区放弃己斚w队指挥权的机?br /> exp_force_ratio = 0.75
#AI不会l列表中的国安远征军Q如果它们之间要跨过大洋
#但如果两国邻q,q是会送远征军?br />
no_exp_forces_to = {
TAG
...
}
#战时分配卫戍责Q的陆军最大比?br />
max_garrison_prop = [0.0-1.0]
#战时分配卫戍责Q的陆军最比?br />
#所有非前线省䆾的陆军都有卫戍AI控制(除非q个国家准备q行一ZR?
min_garrison_prop
#分配l徏造基设施的IC比例
construction = {
max_factor = [0.0-1.0]
# 建造防I炮的设|,yes = L建? no = 不? atwar = 战时建? not_atwar =和^时徏?br /> AA_batteries = [yes/no/atwar/not_atwar]
# 过q个数值则不再建?br /> max_AA_level = X
# 建造防I炮的省份列表,填入省䆾的IDQ按优先序排列
AA_provs = { ... }
# 建造v岸要塞的讄Q同?br /> coastal_fort = [yes/no/atwar/not_atwar]
# 过q个数值则不再建?br /> max_coastal_level = X
# 建造v岸要塞的省䆾列表Q按优先序排列
coastal_fort_provs = { ... }
# 同上Q雷?br />
radar_station = [yes/no/atwar/not_atwar]
max_radar = X
radar_provs = { ... }
# 同上Q机?br />
air_base = [yes/no/atwar/not_atwar]
max_air_base = X
air_base_provs = { ... }
# 同上Q港?br />
naval_base = [yes/no/atwar/not_atwar]
max_naval_base = X
naval_base_provs = { ... }
# 同上Q地?br />
land_fort = [yes/no/atwar/not_atwar]
max_land_level = X
# 在这些国家的边界造地?nbsp;
fort_borders = {
GER,
ITA,
...
}
# 通常在资源充的时候不断徏造ICQ除非是在战?br /> ic_at_war = [yes/no]
# 无论资源是否充Q不断徏造ICQ直到Xq?通常用于某国可以预见之后进行扩?
force_ic_until = X
# 在这一q结束时停止建造IC
ic_end_year = X
# 建造IC的省份优先权列表
IC_provs = { ... }
}
garrison = {
defend_overseas_beaches = [yes/no] # 是否外dQ默认no
# 在下列语句中X是一个基敎ͼq个基数表示每个地区L多少个师Q这个基数取决于??br />
# 数量?ps,q一D|q不大懂Q望指点)
home_multiplier = X # 在本土,用这个数乘以基数Q默? 0.5
overseas_multiplier = X # 在其他领土,用这个数乘以基数Q默? 0.3333
home_peace_cap = X #在和qx期,守卫首都地区的最大部队数?
war_zone_odds = X # 默认: 2.0 (量辑ֈ地方部队的两?
area_multiplier = { # 如果某个地区有一个特D的省䆾Q则列在表中Qƈ用特D的g以基?br />
#(可以覆盖外省䆾的数? 但不能覆盖本土省份?
155 = 1.5
....
}
#d优先权设|?
beach = 50 # 岸省䆾的优先权
capital = 100 # 首都
human_border = 210 # 忽视人类同盟玩家
war_target = 100 # q个AI下一个要q攻的国?br />
reserves = 20 # 前线后的省䆾
opposing_alliance = 100 # 通常说来Q所有的同盟都是对立?br />
claim_threat = 100 # 如果q个国家中立Q这条语句针对可能向他宣战的国家
unstable_border = 50 # 与他国相接的别国被占据领?br />
# 特别的省?br />
province_priorities = {
527 = 50 # 省䆾527 的驻军优先权?0
1123 = -1 #优先权ؓ负数则会覆盖所有其他优先权q设|ؓ0
...
}
ignore = {
1123 #设ؓ0...
}
key_point_prio_mult = [Value] # 把这个省份的优先权设为value(有疑问)
}
front = {
river = x #(用多少部队q行跨河dQ?lt; 1.0 表示有优?
#以下数g正防御方的兵力数量及胜利几率(1.0 = 没有区别)
largefort = x #对于6U及以上地堡
smallfort = x #对于6U以下地?br />
occupied = x #被敌斚w土包?br />
owned = x #被本斚w土包?/p>
#战斗修正数?br />
# 以下数值减进L的战斗效?br />
frozen_attack = 0.50
snow_attack = 0.50
blizzard_attack = 0.25
storm_attack = 0.60
muddy_attack = 0.75
#减少q攻方的完全q攻效率(1.0 = 没有修正, 0.5 = 减半.)
jungle_attack = 0.85
mountain_attack = 0.60
swamp_attack = 0.60
forest_attack = 0.85
hill_attack = 0.75
urban_attack = 0.40
# 前线部队的比例,通常用于防备d省䆾的进攻,默认Q?.33?br />
support_defense_prop = X
recklessness = [0-3]#鲁莽E度Q越是高QAI容易做出冒险的丑֊
# Even - 部队均匀分布在前U?br />
# Reactive - 针对Ҏ部队的重炚wl部?br />
# Defensive - 更多的部队防御战略要?IC, Victory Points, Oil, etc)
# Offensive - 更多的部队集l在Ҏ防M薄弱之处
# Operational Defensive - 撤退的道路越,部队少(避免被包饺子.)
distrib_vs_ai = [even/reactive/defensive/offensive/op_defensive]
distrib_vs_human = [even/reactive/defensive/offensive/op_defensive]
#在制定日起内Q不会向制定国家宣战?比如英法队d国R略L兰时的观?
enemy_handicap = {
ENG = 100
FRA = 120
...
...
}
passivity = { # 对特定国家的反击
# 取D? 0-100 (%)
ENG = 0
FRA = 50
...
...
}
province_priorities = {
527 = 0.2 #分配原本应该分配?0%的部队来防守省䆾527
...
}
reserve_prop = [0.0-1.0]
# d力中分配l后斚w队的最高比?包括指挥部和其他的师)
panic_ratio_vs_ai = X
# 如果敌方部队的数量超q己斚w队这个倍数Q则要求更多部队
#注意Q这会得部分部队放弃卫戍责任,所以,讑־高一?br />
panic_ratio_vs_human = X # 同上Q针对hcȝ?br />
enemy_reinf_days = X
# 在X天内Q计获胜几率的同时l计q入目标省䆾的敌军数?br />
base_attack_odds = X # 如果莯几率高于XQ则d
min_attack_odds = X
# 如果战斗发生了僵局Q若胜利几率低于q个数|AI会选择停止战斗或撤退
max_attack_odds = X
# 如果胜利几率高于q个数|AI不会再派遣援?br />
reinforce_odds = X
# 如果胜利几率在这个数|则会zN援军
withdraw_odds = X
#如果胜利几率低于q个数|则会攑ּq攻或者撤退
# 注意: 计算防MҎ退几率的公式非常复杂,用几个变量来体现很难
# 注意: 如果q_l织度过低,则部队也有可能撤退
}
military = {
relative_build_scheme = [yes/no]
# yes:AI会尽量保持自q部队U类的比例;no:AI会按照下面的比例来分配自q生。默?yes
max_batch_peace = 800
# 和^时期AI用流水线生同一单位的最长日?br />
max_batch_war = 500
# 战争q未蔓g到本国边境时期AI用流水线生同一单位的最长日?br />
max_batch_home_front = 190
# 战争已经蔓g到本国边境时期AI用流水线生同一单位的最长日?br />
#注意: AI生单位的数量同时受到其他因素的制约, 比如ȝIC限制, 剧本l束时v要
#到来Q以及生绝望情l时.
# 生分配表范?
infantry = 3
cavalry = 0
motorized = 5
mechanized = 6
light_armor = 0
armor = 10
paratrooper = 0
marine = 6
bergsjaeger = 3
garrison = 0
hq = 2
militia = 0
# 35 %
escort = 5
multi_role = 7
interceptor = 3
strategic_bomber = 4
tactical_bomber = 6
naval_bomber = 5
cas = 5
transport_plane = 0
flying_bomb = 0
flying_rocket = 0
# 35 %
battleship = 2
light_cruiser = 4
heavy_cruiser = 3
battlecruiser = 0
destroyer = 6
carrier = 6
submarine = 4
transport = 5
# 30 %
# 注意:d必须?00%
# 加强旅生?
# (每个可以加加强旅的师都有一个合适的加强?
#陆军加强?
artillery = 15
sp_artillery = 5
rocket_artillery = 0
sp_rocket_artillery = 2
anti_tank = 3
tank_destroyer = 5
light_armor_brigade = 0
heavy_armor = 0
super_heavy_armor = 0
armored_car = 0
anti_air = 5
police = 0
engineer = 5
# l合必须<= 100
# 军加强?
cag = 100
# l合必须<= 100
}
#我参考的一研IAI的文章里Q作者是针对1.2版本的,而现在是1.3版本Q不知道是否有变?br />
#那篇文章的作者指出,relative_build_scheme = [yes/no]q个语句在所有的单独ai文g中,都是
#选noQ因为如果选yesQai会尽力自己的所有单位在U类上保持一个相同比例,比如苏联会ؓ
#每一个步兵师建造一艘战列舰。而由于开局时v军和陆军比例完全pQ英国和国会一开?br />
#暴陆军空军,直到他们的数量和军相同。而如果意大利?2q被英国消灭了所有v军,他就?br />
#在接下来?~4q里只造v军,完全不造陆军?br />
#我不清楚q句话在1.3里是否有改变Q但我徏议还是选noQ然后按照自q意思分配ai建?/p>
air_marshal = {
icxdayscostfactor = 10.0 # 如何估算预期要消耗的真实ic数?br />
manpowercostfactor = 100.0 # 如何估算预期要消耗的真实人力资源数?br />
destructionriskthreashold = 0.2 # 如何评估一个师要被解?/p>
airsuperioritydesirability = 10.0 # 作ؓ一个乘数参加Q务期望的计算
airsuperioritylosstolerance = 1.0 # 什么样的损失比例在d中是可以接受的,2.0
#表示2倍的损失倍接? 0.5 表示一?br />
groundattacklosstolerance = 1.0
groundattackdesirability = 1.0
interdictionlosstolerance = 1.5
inderdictiondesirability = 1.0
logisticalstrikelosstolerance = 4.5
logisticalstrikeefficency = 0.01# q个数值用来调整在完成d旉到的实际损失
logisticalstrikedesirability = 100000.0
runwaycrateringlosstolerance = 1.5
runwaycrateringefficency = 0.01
runwaycrateringdesirability = 20000.0
strategicstriketolerance = 4.5
strategicstrikeefficency = 0.01
strategicstrikedesirability = 1000000.0
installationstriketolerance = 1.5
installationstrikeefficency = 0.01
installationstrikedesirability = 10.0
navalstriketolerance = 1.0
navalstrikedesirability = 10.0
portstriketolerance = 1.0
portstrikedesirability = 9.0
# 你可以设|很多军事计? 但是如果你想增加一个那p在所有的U类中都增加Q?br />
# 默认状态下q没有设|?br />
# 默认如下:
taskforcetype = {
name = "Air Superiority" # 名字可以随意Q便于调?br />
desiredratio = 0.400 # q个比率表示q个国家是否希望q行q项计划?
rangeweight = 10.000 # I军在这计划中的重要?
airkillpowerweight = 2000.000 # 在这个计划中I军消灭地方IZ实力的重要?
hardkillpowerweight = 0.000
softkillpowerweight = 0.000
navalkillpowerweight = 0.000
strategickillpowerweight = 0.000
transportcapacityweight = -1000000.000
# 很大的负数表C输船完全摈弃在这个计划之?br />
airvulnurabilityweight = -1.000
# 暴露l敌方空军的q评估(q个数值是建造成本及其他多种数据的综合考虑)
surfacevulnurabilityweight = 0.000
# ai在完成Q务时要考虑哪些问题Q?br />
# Idle is the "mission" the AI is on when doing nothing,
# Reorganize is the "mission" the AI is on when trying to reform its
# air OOB to be more optimal. The other missions listed here correspond
# to the standard tactical missions AND a rebase to the best airbase.
# Possible missions are:
idle = yes
reorganize = yes
air_superiority = yes
#其他?夺取制空?相违背的默认计划
#interdiction 锁
#ground_attack d地面部队
#logistical_strike 轰炸补给U?br />
#runway_cratering 轰炸机场
#strategic_bombardment 战略轰炸
#installation_strike 战术轰炸
#naval_strike 舰船轰炸
#port_strike 港口轰炸
#convoy_air_raiding IZ护卫
#airborne_assault I降H袭
#air_supply I补给
}
# 其他默认I军d
taskforcetype = { name = "Soft Bombing" desiredratio = 0.200 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 0.000 softkillpowerweight = 2000.000 navalkillpowerweight = 0.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = 0.000 surfacevulnurabilityweight = -1.000 idle = yes reorganize = yes interdiction = yes ground_attack = yes }
taskforcetype = { name = "Hard Bombing" desiredratio = 0.100 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 2000.000 softkillpowerweight = 0.000 navalkillpowerweight = 0.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = 0.000 surfacevulnurabilityweight = -1.000 idle = yes reorganize = yes interdiction = yes ground_attack = yes }
taskforcetype = { name = "Strategic Bombing" desiredratio = 0.100 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 0.000 softkillpowerweight = 0.000 navalkillpowerweight = 0.000 strategickillpowerweight = 2000.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = -0.500 surfacevulnurabilityweight = -0.500 idle = yes reorganize = yes logistical_strike = yes runway_cratering = yes strategic_bombardment = yes installation_strike = yes }
taskforcetype = { name = "Naval Bombing" desiredratio = 0.100 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = 0.000 softkillpowerweight = 0.000 navalkillpowerweight = 2000.000 strategickillpowerweight = 0.000 transportcapacityweight = -1000000.000 airvulnurabilityweight = 0.000 surfacevulnurabilityweight = -1.000 idle = yes reorganize = yes naval_strike = yes port_strike = yes convoy_air_raiding = yes }
taskforcetype = { name = "Airlift" desiredratio = 0.100 rangeweight = 10.000 airkillpowerweight = 0.000 hardkillpowerweight = -2000.000 softkillpowerweight = -2000.000 navalkillpowerweight = 0.000 strategickillpowerweight = -2000.000 transportcapacityweight = 1000000.000 airvulnurabilityweight = -1.000 surfacevulnurabilityweight = 0.000 idle = yes reorganize = yes airborne_assault = yes air_supply = yes }
}
#部队的数量乘以leader_rartio便得到实际分配的领数量.
#如果你有101陆军单位同时land_field_marsal = 0.02 那么你有两个元帅.
leader_ratio = {
land_field_marshal =0.02
land_general =0.031
land_lt_general =0.41
sea_grand_admiral =0.02
sea_admiral =0.061
sea_vice_admiral =0.401
air_marshal =0.02
air_general =0.091
air_lt_General =0.11
}
#AI两栖作战的媄响因?br />
invasion = {
#对于某个特定的省份目?br />
base = 1.0 # 相对关系修正. (数g = 特定的重要省?)
random = 1.0 # 随机范围大小(1.0 = 1%)
coastal = 1.0 # 数值高则避免登陆有岸要塞的省?br />
beach = 1.0 # 数值高则避免难以登陆的岸.
distance = 1.0 # 数值高 = 避免q距M?
max_distance = 20.0 # 如果目标距离过q个Q则忽视之? = 100km ingame.
pocket = 1.0 #优先, 比如完全被敌国省份包围的省䆾.
island = 1.0 #是否优先占领孤岛
enemy = 1.0 #数值高表示警惕敌方有驻军的省䆾
adjacentenemy = 1.0 # 数值高表示警惕邻近的敌?br />
air_base = 0.1 # 有机场的省䆾的优先权
naval_base = 0.1 # 有港口省份的优先?br />
air_support = 0.1 #敌方I军半径范围内的岸优先?br />
ignore = [yes/no] # 发动늕Q看是否和我国有边界. Default: no.
redirect = priority/nearest/home # AI文g中的目标w䆾的优先权
# 最q的AI有良好的d效率q且有机会退?br />
#部分特定省䆾有较高优先权
target = {
898 = 1000 # 入RSouth Sicily (898) 有着极高的优先权. 负数表示完全不管那里.
}
}
#影响AIҎv军控制的因素
admiral = {
#对下列v域的d有特别的优先?br />
target = {
592 = 200 ...
}
#下列域为核心v域,对它的控制很重要
core = {
592
...
}
#下列省䆾可被用作港口
base = {
592
...
}
#被忽略的省䆾
ignore = {
#以下必须是v域,而不是省份ID
"northern baltic"
"southern baltic"
}
min_org = 95% # 在下ơ出港前必须辑ֈ最高组l度的比?br />
min_dmg = 95% # 在下ơ出港前必须辑ֈ最高h力的比例
return_org = 60% # 低于最高组l度的这个比例将回港
return_dmg = 50% # 低于人力的这个比例将回港
}
# U研发展的媄响因?br />
technology = {
endgoal = { ... } #要完成的科技列表Q填入科技ID
preference = { ... } # 优先研究的科技列表
ignore = { ... } # 不会研究的科技列表
#优先研究的科研领?br />
armor = 2.0
infantry = 3.0
industry = 2.5
aircraft = 0.6
naval = 0.1
land_doctrines = 4.0
air_doctrines = 0.9
naval_doctrines = 0.1
secret_weapons = 0.4
}
# 对于贸易协定的媄响因?br />
trade = {
favored = {
TAG = X # 对这些国家有贸易优惠
}
embargo = {
TAG # 不会和这些国家进行交?br />
}
# q个数指表示AI取消贸易协定的可能性,默认?4.0.
#低一些的数DC个国家很Ҏ取消不利于他们的贸易协定.
cancel_deal_threshold = X
# 下面的数值将覆盖"db\resource_values.csv" 中AI对各资源重要性的看法Q?br />
#除非讄?-1 (默认.)
energy = -1
rare_materials = -1
metal = -1
oil = -1
supplies = -1
money = -1
}
# 对科技׃n的媄响因?br />
tech_sharing = {
favored = {
TAG = X # 乐于和这些国家分享科技Q如果XD高,则会分n质量较高的科技
...
}
embargo = {
TAG # 不会和这些国家分享科技
...
}
not = {
ID # 不会分nq些U技
...
}
prioritized
ID = X # 优先分nq些U技
...
}
}