教程红警2AI强化 电脑多造兵营 空指部等生产类建筑教程By meiyousuowei.docx
《教程红警2AI强化 电脑多造兵营 空指部等生产类建筑教程By meiyousuowei.docx》由会员分享,可在线阅读,更多相关《教程红警2AI强化 电脑多造兵营 空指部等生产类建筑教程By meiyousuowei.docx(10页珍藏版)》请在冰豆网上搜索。
教程红警2AI强化电脑多造兵营空指部等生产类建筑教程Bymeiyousuowei
【教程】【红警2】AI强化电脑多造兵营、空指部等生产类建筑教程Bymeiyousuowei
【教程】【红警2】AI强化电脑多造兵营、空指部等生产类建筑教程
Bymeiyousuowei
我看没有人发过类似的教程,就自己写了一个。
如有雷同,纯属巧合。
本人手打的,言语切词若有不当,敬请谅解。
这个教程是教大家,如何在只修改rule.ini(rulemd.ini)和ai.ini(aimd.ini)的情况下,
实现电脑AI多造【生产类建筑】——兵营、战车工厂、空指部、造船厂,
电脑在数个【生产类建筑】的情况下,会同时生产多个战斗单位,从而某程度上提升电脑的战斗力和基地的丰富性。
必备的工具:
XCCMixer、记事本(呵呵)
准备工作:
用XCCMixer提取rule.ini(rulemd.ini)i和ai.ini(aimd.ini),
提取路径为:
rad2.mix(rad2md.mix)--local.mix(localmd.mix)--rule.ini(rulemd.ini)和ai.ini(aimd.ini)
PS:
括号中带“md”的为尤里的复仇
很多人认为:
只需修改rule.ini(rulemd.ini)里面的[AI],就可以实现电脑多造【生产类建筑】。
其实不然,我们先来看看[AI]小结的部分内容:
AttackInterval=0.5 ;averagedelaybetweencomputerattacks;gsobsolete(sinceforever)useTeamDelaysinstead
AttackDelay=0.5 ;averagedelaytimebeforecomputerbeginsfirstattack
PatrolScan=.016 ;minuteintervalbetweenscanningforenemyswhilepatrolling.
CreditReserve=100 ;Structurerepairwillnotbeginifavailablecashfallsbelowthisamount.
PathDelay=.01 ;Delay(minutes)betweenretryingwhenpathisblocked.
BlockagePathDelay=60 ;delay(frames)beforeunitpathsaroundallblockage
AutocreateTime=1 ;averageminutesbetweencreatingan'autocreate'team
InfantryReserve=50000 ;alwaysbuildinfantryifcashreserveisgreaterthanthis
InfantryBaseMult=1 ;buildinfantryifbuildingcounttimesthisnumberislessthancurrentinfantryquantity
PowerSurplus=50 ;buildpowerplantsuntilpowersurplusisatleastthisamount
BaseSizeAdd=3 ;computerbasesizecanbenolargerthanthelargesthumanopponent,plusthisquantity
RefineryRatio=.16 ;ratioofbasethatshouldbecomposedofrefineries
RefineryLimit=4 ;neverbuildmorethanthismanyrefineries
BarracksRatio=.16 ;ratioofbasethatshouldbecomposedofbarracks
BarracksLimit=2 ;neverbuildmorethanthismanybarracks
WarRatio=.1 ;ratioofbasethatshouldbecomposedofwarfactories
WarLimit=2 ;neverbuildmorethanthismanywarfactories
DefenseRatio=.4 ;ratioofbasethatshouldbedefensivestructures
DefenseLimit=40 ;maximumnumberofdefensivebuildingstobuild
AARatio=.14 ;ratioofbasethatshouldbeanti-aircraftdefense
AALimit=10 ;maximumnumberofanti-aircraftbuildingstobuild
TeslaRatio=.16 ;ratioofbasethatshouldbetelsacoils
TeslaLimit=10 ;maximumnumberofteslacoilstobuild
HelipadRatio=.1 ;ratioofbasethatshouldbecomposedofhelipads
HelipadLimit=2 ;maximumnumberofhelipadstobuild
AirstripRatio=.12 ;ratioofbasethatshouldbecomposedofairstrips
AirstripLimit=0 ;maximumnumberofairstripstobuild
CompEasyBonus=no ;Whenmorethanonehumaningame,computerplayergoesto"easy"mode?
Paranoid=yes ;Willcomputerplayersallywitheachotherifthesituationlooksbleak?
PowerEmergency=75% ;sellbuildingstoraisepowerlevelifitfallsbelowthispercentage
AIBaseSpacing=1 ;spacingbetweenbuildingswhenAIisbuildingabase
举个例子,如果想让电脑多造兵营,大家就会去修改“BarracksRatio=”和“BarracksLimit=”,
但是修改完之后会发现,无论等号后面填入多大的数值,电脑还是无动于衷,只造1个兵营。
所以,以上这个方法我们必须摒弃。
下面,我将介绍我的方法。
方法分为两大类(以下所有MCV指的是基地,即价值3000的建造厂):
单MCV,多【生产类建筑】和 多MCV,多【生产类建筑】
A.单MCV,多【生产类建筑】
本帖隐藏的内容
以盟军兵营(GAPILE)为例子,假设我想让电脑一共造3个GAPILE,
也就是说,在原来的基础上要增加2个。
我所用到的方法是“新增单位”。
也就是说,创造出2个和GAPILE一模一样的建筑。
将他们分别命名代码为“GAPILE1”“GAPILE2”。
以尤里的复仇为例:
第一步,注册。
打开rulemd.ini,找到[BuildingTypes],即游戏中所有建筑的注册栏,
在[BuildingTypes]最下方注册这2个新盟军兵营的代码。
即:
395=CALA11
396=CALA12
397=CALA13
398=CAPARK04
399=CAPARK05
400=CAPARK06
401=CALA14
402=CALA15
403=CABUNK03
404=CABUNK04
405=CALUNR01
406=CALUNR02
407=GAPILE1
408=GAPILE2
第二步,调整AI。
找到[AI],在“BuildBarracks=”后面加上2个新盟军兵营,即:
BuildConst=GACNST,NACNST,YACNST
BuildPower=NAPOWR,GAPOWR,YAPOWR;DBNANRCT;gsNAAPWR ;buildingstobuildtogeneratepower
BuildRefinery=NAREFN,GAREFN,YAREFN;gs ;refineryratiobasedonthesebuildings
BuildBarracks=NAHAND,GAPILE,YABRCK,GAPILE1,GAPILE2 ;barracksratiobasedonthesebuildings
第三步,创建新单位。
找到[GAPILE],复制全部代码,在下方粘贴2份,分别改名为[GAPILE1]和[GAPILE2],
修改TechLevel数值为-1,把Cost弄便宜些,并各增加一行代码“Image=GAPILE”。
也就是说,要造的新单位想跟谁长得一摸一样,就加入“Image=XXX”就可以了。
即:
[GAPILE1]
UIName=Name:
GAPILE
Name=AlliedBarracks;needsdifferentGivenNametoavoideditorconfusion
BuildCat=Tech
Image=GAPILE
Prerequisite=POWER,GACNST
Strength=500
Armor=steel
Factory=InfantryType
Adjacent=2
TechLevel=-1
Sight=5
Owner=British,French,Germans,Americans,Alliance,Russians,Confederation,Africans,Arabs,YuriCountry
AIBasePlanningSide=0;gs0forGood,1forEvil
Cost=1
Points=30
Power=-10
Crewed=yes
Capturable=true
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
;DestroyAnim=GAPILEDM
MaxDebris=15
MinDebris=5
DebrisAnims=DBRIS1LG,DBRIS1SM,DBRIS4LG,DBRIS4SM,DBRIS5LG,DBRIS5SM
ThreatPosed=0;ThisvalueMUSTbe0forallbuildingaddons
ExitCoord=-64,64,0
GDIBarracks=yes
DamageParticleSystems=SparkSys,SmallGreySSys,BigGreySmokeSys
DamageSmokeOffset=215,395,200
AIBuildThis=yes
Spyable=yes
;WantsExtraSpace=yes;gsThiswilllookforaspaceAIBaseSpacing+1whenthecomputerplaces,butwillsettleforAIBasSpacing
ImmuneToPsionics=no;defaultstoyesforbuildings,noforothers
[GAPILE2]
UIName=Name:
GAPILE
Name=AlliedBarracks;needsdifferentGivenNametoavoideditorconfusion
BuildCat=Tech
Image=GAPILE
Prerequisite=POWER,GACNST
Strength=500
Armor=steel
Factory=InfantryType
Adjacent=2
TechLevel=-1
Sight=5
Owner=British,French,Germans,Americans,Alliance,Russians,Confederation,Africans,Arabs,YuriCountry
AIBasePlanningSide=0;gs0forGood,1forEvil
Cost=1
Points=30
Power=-10
Crewed=yes
Capturable=true
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
;DestroyAnim=GAPILEDM
MaxDebris=15
MinDebris=5
DebrisAnims=DBRIS1LG,DBRIS1SM,DBRIS4LG,DBRIS4SM,DBRIS5LG,DBRIS5SM
ThreatPosed=0;ThisvalueMUSTbe0forallbuildingaddons
ExitCoord=-64,64,0
GDIBarracks=yes
DamageParticleSystems=SparkSys,SmallGreySSys,BigGreySmokeSys
DamageSmokeOffset=215,395,200
AIBuildThis=yes
Spyable=yes
;WantsExtraSpace=yes;gsThiswilllookforaspaceAIBaseSpacing+1whenthecomputerplaces,butwillsettleforAIBasSpacing
ImmuneToPsionics=no;defaultstoyesforbuildings,noforothers
大功告成。
PS:
1.以上这个方法适用于任何能够直接建造的建筑。
(MCV是基地车展开建造的,不属于直接建造。
)
2.修改TechLevel=-1的原因是,让人类玩家不能建造,避免重复。
3.修改Cost=1的原因是,不让这些重复建筑拖慢电脑的发展速度。
4.想弄几个建筑,就注册几个,调整AI几个,创建新单位几个。
也就是复制粘贴的琐事。
5.如果想要弄多个空指部(GAAIRC),除了上述方法外,
还要记得修改入侵者(ORCA)、黑鹰(BEAG)的Dock,即在“Dock=”后面添加新的空指部代码。
B.多MCV,多【生产类建筑】
本帖隐藏的内容
这个方法是利用红警的程序规划,即电脑有多少个MCV,就会同时生产多少份建筑。
举个例子,我制作的几幅地图里面,比如【自由港】,我给了玩家8两个MCV,
以玩家8为例,加上一开始的MCV,玩家8就有3个MCV,如果让电脑掌控玩家8,那么玩家8的建筑生产就是3份。
若为盟军,你会看到3个光棱塔同时从地面冒出来的情景。
有了这个前提,我们的目标就很明确了。
即:
“如何让电脑在平时,而不单只是在没有MCV的情况下,就生产基地车并展开基地。
”
接下来,以盟军基地车为例子,说明方法。
以尤里的复仇为例:
第一步,认识基地车AI触发命令。
打开aimd.ini,找到[AITriggerTypes],搜索MCV,就可以看到三行关于MCV的命令(盟军,苏联,尤里的MCV命令)。
其中盟军MCV的是:
043F874C-G=AlliedMCV-H,043F29AC-G,,10,1,GACNST,0000000002000000000000000000000000000000000000000000000000000000,70.000000,60.000000,70.000000,1,0,1,0,,0,0,1
这一行看名字就可以知道,是盟军基地车的AI触发命令。
这个命令是什么意思,我来简单讲讲。
若懂得看AI触发命令的朋友可以无视。
从左到右根据逗号,把这段命令拆分8个部分:
1.“043F874C-G=”:
AI触发代码。
2.“AlliedMCV-H”:
AI触发名称,只起注释作用。
3.“043F29AC-G”:
AI触发所使用的作战小队名称。
4.“”:
AI触发所属国家,表示所有国家均可执行此触发。
5.“10”:
AI触发科技等级
6.“1”:
触发条件(这个是关键):
“0”:
敌人拥有XX单位
“1”:
自己拥有XX单位
其中,“敌人”是指“此AI触发执行者”的敌人;“自己”是指“此AI触发执行者”自己。
7.“GACNST”:
指上文的XX单位代码。
8.“00000000”、“02000000”、“000000000000000000000000000000000000000000000000”要分开看
“00000000”和“02000000”只需看开头两个数字“00”和“02”,后面0和第三段一大串0那段都不用管。
“00”表示XX单位个数,16进制。
00就是0个,09就是9个,0a就是10个;
“02”表示取值范围条件,可以输入“00”到“05”,所代表意义分别是“(00)小于”,“(01)小于等于”,“(02)等于”,“(03)大于等于”,“(04)大于”,“(05)不等于”。
剩下的代码70.000000,60.000000,70.000000,1,0,1,0,,0,0,1放着,直接复制不要修改,对于新增MCV来说用不着改。
所以,整个AI触发命令可以翻译为:
“043F874C-G=AlliedMCV-H,当我方拥有的
因此,在[AITriggerTypes]中增加一行:
043F874C-G=AlliedMCV-H,043F29AC-G,,10,1,GACNST,0100000002000000000000000000000000000000000000000000000000000000,70.000000,60.000000,70.000000,1,0,1,0,,0,0,1
可以看到,与原来相比,我将“00”改成了“01”,也就是拥有GACNST的数量为1也可以执行AI触发命令。
这样一来,电脑在有一个MCV的情况下也会再造一辆基地车,展开变成MCV。
此为双MCV。
大功告成。
PS:
如果想要三MCV,则在双MCV的基础上,再增加一条AI触发指令,
条件为;“当我方拥有GACNST数量等于2时”。
只需把“01”改成“02”即可。
这样一来,电脑只要满足了拥有2个MCV的条件,就会再造一辆基地车,执行展开命令。
再说一句,电脑拥有了多个【生产类建筑】,就会同时生产多个单位。
你会看到有若干个相同种类坦克同时从不同战车工厂同时跑出来。
不过,即便电脑拥有了很多坦克,派遣攻击的数量还是一样的。
例如冷酷敌人的3架基洛夫,即便电脑造了6个战车工厂,同时生产了6架基洛夫,但一波攻击只会派3架基洛夫,另外的3架只会在基地干等着下一波。
如果想改成6架,则需再学一样东西,那就是修改ai.ini(aimd.ini)。
网上有很多关于ai.ini的教程,我就不重复发了。
最后再次提醒上面有XCCMixer的下载链接,
祝大家改得愉快!