我们必需先了解一下AI INI的构成。首先,它并不象Rules INI一样的直观好改。你要加一个 全新AI的话就要分好几步才能完成。(有点象在Rules中加一套新武器一样,但比那麻烦多了。)改惯了Rules INI 的兄弟们可能要花上点时间适应哟!
打开AI INI后会看到一大串TaskForces的代玛(TaskForces直接翻过来叫特谴部队,其实就是电脑在进攻时所造的各种部队类型), 先别慌。在代码的最下面添加一行XX=NEW_AI(注:XX是号码,比如要添加的XX的上一行是84,那XX就是85,以此类推。NEW_AI 可做新AI的代码。但,以后所加的新代码名不能和其相同,切记!)我们再到AI文本的最下面去写新AI的正体。
以我的《血腥战场II超级AI版》为例:
[NEW_AI]
Name=12 ranger ,2Mammoth Tank
0=12,ranger
Group=-1
1=2,MMCH
Name就是AI在进攻时部队的名字。我可看到这个新AI部队是由12辆蜂鸟战车和2辆猛马1号坦克所组成的。
0=12,ranger和1=2,MMCH。是真正的代码。(需注意的是:MMCH和ranger等所有的AI的部队代码都是那些部队在Rules INI中的代码而不是名字,记住了!)
Group=-1是电脑在游戏中造这种部队的次数。-1就说明是可让电脑无限的建造。(是不是有点象Rules INI中兵种建造数设制呢?哈哈。)
好!新的部队类型我们完成了。下面该去写TEAM TYPES(直接翻过来叫队类型)是控制新AI的主代码(这个东东是不是有点象Rules INI
中的武器主代码呢?而上面写的那个就好象是弹头或是射弹的代码。但和在Rules INI中一样,两者缺一不可!)
以上的新AI是我在《血腥战场II超级AI版》给苏联设计的,所以TEAM TYPES是以苏联为例:让我们去先找到游戏中苏联特有的TaskForces。
[0EC2482C-G](可能有的初学者要问,那么长的代码你是怎么知道的?其实很简单我先去Rules INI中找到苏联的特有兵种,磁能坦克的代码。
再到AI文本里用复制粘贴该兵种的代码查找就行了。)再用[0EC2482C-G]这条代码找到控制它的主代码:
[0CADBA7C-G]
Name=Nation: Russian Tesla Tank
VeteranLevel=1
Loadable=no
Full=no
Annoyance=no
GuardSlower=no
House=
Recruiter=no
Autocreate=yes
Prebuild=no
Reinforce=no
Droppod=no
UseTransportOrigin=no
Whiner=no
LooseRecruit=no
Aggressive=yes
Suicide=no
Priority=5
Max=1
TechLevel=0
Group=-1
OnTransOnly=no
AvoidThreats=no
IonImmune=no
TransportsReturnOnUnload=no
AreTeamMembersRecruitable=no
IsBaseDefense=no
OnlyTargetHouseEnemy=no
Script=0C31EA4C-G
TaskForce=0EC2482C-G
哈哈,我没说错吧?[0EC2482C-G]就在最后一行。代码中的各个选项所选项中的是这个AI在游戏中的属性。(这个下次再深入研究。) 现在我们要做的就是将此段代码整段复制一遍。再去刚刚写好的TaskForces下面一行,粘贴,改名(名字随便写一个)。这样新主代码就基本完工了,然后再到新主代码的最后一行TaskForce=0EC2482C-G中将代码0EC2482C-G去掉。加上我们刚才写好的那段新TaskForces的代码
:NEW_AI
好!!万事具备只欠东风了。最后我要做的事是最重要!也是很多RA2 MOD 爱好者和初学者们最容易忽视的一点!!(或者说是很多RA2MOD 爱好者和初学者们不知道的。)那就是在AITriggerTypes(AI的引发类型)里添加控制TaskForces的主代码!
0C0000DC-G=Nation Russian,XXXX,Russians,10,1,NARADR,
0100000003000000000000000000000000000000000000000000000000000000,
500.000000,10.000000,500.000000,1,0,2,0,
XXXX就是控制TaskForces的主代码。
这样新AI的设定就完成了,接下来要做的就是到游戏中看看你的AI如何了^_^。(但得有点耐心,我是试了好几遍才试出来的。
作者:SJG
AI的调整,不止是在AI(md).ini的项里调整,还有rules(md).ini里的,下面看一些简单的:
[AI]
BuildConst=GACNST,NACNST,YACNST
BuildPower=NAPOWR,GAPOWR,YAPOWR ;DB NANRCT;gsNAAPWR
BuildRefinery=NAREFN,GAREFN,YAREFN
BuildBarracks=NAHAND,GAPILE,YABRCK
BuildTech=NATECH,GATECH,YATECH
BuildWeapons=GAWEAP,NAWEAP,YAWEAP
BuildDefense=TESLA,ATESLA,YAGGUN;以下四个被注释掉了,可以重新启用,有效
BuildPDefense=TESLA,ATESLA,YAGGUN
BuildAA=NASAM,NAFLAK,YAGGUN
BuildHelipad=GAAIRC,AMRADR
BuildAirstrip=NAPAD;这个是我的MOD里苏军的机场,此参数似乎是RA1留下来的,不过从实践看来,好像还是有效的
BuildRadar=GARADR,NARADR,NAPSIS
ConcreteWalls=GAWALL,NAWALL,GAFWLL
NSGates=GADUMY;NAGATE_B,GAGATE_B ——这里两个好像没多大用途,毕竟很多MOD制作者不会加入门
EWGates=GADUMY;GNAGATE_A,GAGATE_A
BuildNavalYard=NAYARD,GAYARD,YAYARD
BuildDummy=GAPILL,NALASR,YAGGUN
NeutralTechBuildings=CAAIRP,CATHOSP,CAOILD,CAOUTP,CAMACH,CAPOWR,CASLAB;把秘密实验室加进来,可以改善游戏的随机地图设置——随
机生成一些秘密实验室
AlliedBaseDefenses=GAPILL,GAGUNT,ATESLA,NASAM
SovietBaseDefenses=NALASR,NABNKR,TESLA,NAFLAK
ThirdBaseDefenses=YAGGUN,YAPSYT,NATBNK
AIForcePredictionFudge=5,25,80
NodBaseDefenseCoefficient=1.2
GDIBaseDefenseCoefficient=1.5;(无效,但是移动到[General]的AlliedBaseDefenseCounts=25,20,6
SovietBaseDefenseCounts=25,22,6
ThirdBaseDefenseCounts=25,22,6
三项中调整)
MaximumBaseDefensevalue=60;无效,移动到 “AI Force Prediction Fudge”里
ComputerBaseDefenseResponse=3
AttackInterval=0.5;进攻间隔
AttackDelay=0.5
PatrolScan=.016
CreditReserve=100
PathDelay=.01
BlockagePathDelay=30;封锁路径延迟,虽然不太清楚其用途,但是调低应该能起到一定作用
TiberiumNearScan=6;新增的,有效的,关于矿车找矿的设定,把Far项调高吧~
TiberiumFarScan=50
AutocreateTime=2;自动创造单位次数(应该是这个方面的设置),增大~
InfantryReserve=50000;士兵剩余量
InfantryBaseMult=0.5;基地建筑的数量与此值相乘,如果AI所拥有的士兵数小于新值,则只造[InfantryType]里的士兵,建议减少(士兵防守没有多大用处)
PowerSurplus=20;AI会不断的建造BuildPower=里的建筑,直到拥有的电量的剩余相等于此值
BaseSizeAdd=5;控制AI的基地大小,基于最大的人类玩家的基地大小与此值的和
RefineryRatio=.16;各种基地建筑的比率(Ratio)和上限(Limit)
RefineryLimit=4
BarracksRatio=.16
BarracksLimit=2
WarRatio=.1
WarLimit=2
DefenseRatio=.4
DefenseLimit=40
AARatio=.14
AALimit=10
TeslaRatio=.16
TeslaLimit=10
HelipadRatio=.1
HelipadLimit=2
AirstripRatio=.12
AirstripLimit=1
CompEasyBonus=no
Paranoid=yes;设置AI是否会在情况不利于自己的时候互相结盟,有效但是作用不大,最好在RA2的v1.004以上版本里使用
PowerEmergency=90%;当AI电力不足时,AI卖掉建筑来保证电力供应的百分比
AIBaseSpacing=1;AI基地中建筑的间隔
[AIGenerals];在这个项里,你可以看到所有的值都已被注释掉了,但是,如果你将它们恢复,AI的行动会变得更加多变
1={F706E6E0-86DA-11D1-B706-00A024DDAFD1}
2={9E0F6120-87C1-11D1-B707-00A024DDAFD1}
3={C6004D80-87D1-11d1-B707-00A024DDAFD1}
4={FBE6D4A0-87D1-11d1-B707-00A024DDAFD1}
5={FBE6D4A1-87D1-11d1-B707-00A024DDAFD1}
注意:如果将它们恢复,你必须将TS文件夹下的AI.tlb文件复制到RA2目录下,因为RA2的程序根本没有集成它们,但是这些项在YR中对使用尤里军的AI无用,因为这些东西本身是为TS里的GDI/NOD准备的(在RA2,YR中对盟军和苏军仍然有效,因为它们本身就被定义为GDI/NOD)
[General]
;-RTO
TeamDelays=200,250,350;尽量减小吧……反正我用这个值还没有出过什么大事
;TeamDelays=1200,1350,1600
AIHateDelays=15,30,45;减小延迟,AI会更快的寻找对手
AIAlternateProductionCreditCutoff=1000
; Bret"s hack section
;找到……
WallBuildSpeedCoefficient=3.0
WorstLowPowerBuildRateCoefficient=.1;造发电站的两个比率,具体作用不明,但在DeeZire8里可以看到踪影,应该有些特殊效果
BestLowPowerBuildRateCoefficient=.2