声明:必须要打补丁
补丁下载地址:http://www.1disk.cn/pick.aspx?down=ok&filename=CountryPatch.rar&filepath=kingofpowers/22/CountryPatch.rar 

第一步是找到国家注册表[Countries]这一段落。

[Countries]
;盟军(GDI派别国)
0=Americans
1=Alliance
2=French
3=Germans
4=British
;苏军(NOD派别国)
5=Africans
6=Arabs
7=Confederation
8=Russians
;尤里(THIRD派别国)
9=YuriCountry
;你自己添加的国家(FOURTH派别国)
10=GDI
11=Nod
12=Neutral
13=Special

正如你所见,总共有14个国家,包括5个盟军国,4个苏军国,1个尤里国,后面还有被官方屏蔽,不能出现在国家选择表里的GDI、NOD、Neutral 、Special。

通过PD破解后,你可以简单地往国家注册表里增加国家,要注意一点,新增加的国家必须注册在原有国家后面,即从14号开始注册。

比如,你想新增加一个苏军国,一个尤里国以及一个FOURTHSIDE的独立派别国,那么在[General]段里,你需要添加上一个标签:NewPlayableCountries=#,其中 #表示你添加了的新国家的数量,本例中,数量为3。

不需要(其实也应该尽量避免)重新调整国家的注册顺序,否则将会影响到任务里的国家属性,结果导致任务出现异常。建议最好是先将GDI和NOD这两个名额用掉,因为它们与任务无关,不会对任何地方产生影响,并且能够正常被“随机选取国家”选中。但如果添加的国家数量超过了2个,也就是说,不光用掉了GDI和NOD,还自己新注册了国家,则多半会在对战中出错。(原因:平台里每个国家都有相关的资源调用语句,你新注册了国家,却找不到相关语句,自然无法调用图象资源,也不会被平台认为是对战中的一个有效产战方)

调整一下第10条到第13条的注册顺序,使13=Neutral,14=Special,15=GDI,16=NOD。而10到13则让它留空,等下面有用。 把你打算新添加的国家从10开始注册,占据满10到12这三个名额,即10=YuriC2, 

11=SovietC5, 12=FourthCountry

最后看看,一定要保证13=Neutral, 14=Special, 15=GDI and 16=Nod。GDI和NOD

要注册在最后,这是关键点。对照下面看看你改对了没有
[Countries]
0=Americans
1=Alliance
2=French
3=Germans
4=British
5=Africans
6=Arabs
7=Confederation
8=Russians
9=YuriCountry
10=YuriC2
11=SovietC5
12=FourthCountry
13=Neutral
14=Special
15=GDI
16=Nod

国家注册表改完后,到派别[Sides]段去,将你新添加的国家赋予到相关的派别里去。比如SovietC5就该放到NOD派里,YuriC2放到THIRDSIDE派里,但原版的RULES并没有FOURTHSIDE这个派别,怎么办?没关系,平台只要有相关代码,我们就能往RULES里添加,这个先等一下再说

然后寻找到国家定义[YuriCountry]的位置,在它后面补充上你新增加的那3个国家的相关定义和设置。不用我说了吧,属于哪个派别,复制同派的国家代码再作细微修改就行了。 ;比如将RUSSIANS俄罗斯的代码复制到这里,来给SovietC5设置,注意修改这些细微的地方
[SovietC5]
UIName=Name:SovietC5  ;UINAME是用于CSF作翻译用的,相关内容要填入CSF,才能把SovietC5这个代码翻译成中文字,到底叫什么名字,你自己决定。
Name=Soviets 5th Country ;NAME是个没什么用的语句,不会对任何东西造成影响,随便你写好了
Suffix=Soviet ;当玩家选用该国家时,调用的界面为黄色界面
Prefix=B ;没弄懂这个B代表什么,反正照着写就是了
Color=DarkRed ;用于任务时,该国家的默认颜色为深红色。

深红色的苏联的默认颜色
Multiplay=yes ;能否在对战中被玩家直接选择。注意,即使

不能直接选择的国家也能被随机选中
Side=Nod ;派别属于NOD,这个是决定了任务继承性的

效果,只有同属于NOD,才能相互继承任务,否则就出现“无法载入地图”
SmartAI=yes ;使用灵巧AI,没弄懂什么叫灵巧AI,反正照

着填就OK了

[YuriC2]
UIName=Name:YuriC2
Name=Yuris 2nd Country
Suffix=Soviet ;由于平台只有蓝、黄两套界面,所以尤里也

不得不使用黄色界面,因为他用蓝色界面就不好看了
Prefix=B
Color=Purple ;默认颜色为紫色
Multiplay=yes
Side=ThirdSide
SmartAI=yes

;its a tweaked clone too.
[FourthCountry]
UIName=Name:FourthCountry
Name=Country for the 4th side
Suffix=Soviet ;其实本人建议第四派别应该用蓝色界面,这样才对称
Prefix=B
Color=Gold
Multiplay=yes
Side=FourthSide ;终于看到第4派别了 
SmartAI=yes


以下就是这些新国家在游戏里的相关图象资源调用规则了。包括国旗、载入画面 、雷达图、以及常常被人遗忘的的EVA解说音。


;国旗命名规则,这些规律在平台里能找到
Flag PCX file c##_flag.pcx
Loading screen SHP file c##_ls.shp 
Loading screen palette c##_ls.pal 


CSF翻译规则,在平台里也能找到相关规律
Country"s name Name:Country##  ;国家名称翻译
Countrie"s special weapon Name:Country##SW  ;该国家的特殊单位名称翻译
Load brief for the country LoadBrief:Country##  ;载入时该国家的 说明语(比如“幻灵坦克是一种非常令人头痛的战车,它能在你不备之时摧毁你的部队,然后又不声不响地消失”)
Skirmish menu, status bar text STT:Country##  ;对战选择国家时 ,界面最下端显示的相关国家情况说明语(比如“解放联盟由第三世界联合军队 与DA师组成,特殊单位有钢铁战士和幻灵坦克)

现在我们回来为第四派别添加语句,首先你必须要能保证该国家已经做完整了, 就像反恐里的中国那样,拥有自己的独立军队和建筑,并且能够正常使用。

第二步,将国家分配到各个派别里去这里我们要在派别[Sides]段里先添加一个新语句:FourthSide=

;这是原有的派别设置,你可以发现其实已经有5个派别了,分别是GDI、Nod、

hirdSide、Civilian和Mutant。只可惜最后两个派别是不能用于对战的
[Sides]
GDI=British,French,Germans,Americans,Alliance
Nod=Russians,Africans,Confederation,Arabs
ThirdSide=YuriCountry
Civilian=Neutral
Mutant=Special


你需要做的仅仅是在ThirdSide=YuriCountry下面添加一个FourthSide=语句。什么?该派别还是空的,嫌没人愿意加入它吗?你不是做了一个新国家 FourthCountry吗?就把它放到第四派别里吧。还有两个新国家,看着办吧。如果是我,我根本就不去做什么新国家,直接把French转移到FourthSide里去就够了 。

于是改变后的派别设置如下:
[Sides]
GDI=British,French,Germans,Americans,Alliance
Nod=Russians,Africans,Confederation,Arabs,SovietC5
ThirdSide=YuriCountry,YuriC2
FourthSide=FourthCountry
Civilian=Neutral
Mutant=Special

到现在,你还需要为第四派别定义建筑类型,否则你会发现选用该国家,什么都不能造。注意,你还需要在游戏目录下新增加一个Sidec04.mix来为第四派别放置相关的图形、声音资源。具体方法参照着ThirdSide来做吧。后面有详细讲解将第四派别的建筑类型按类别添加到建筑类型里去,呵呵,不要光顾着人类玩家 的定义,[AI]段里也需要同样这样定义,否则一点电脑选该国家将什么都不会造。还记得用原版平台的时候,有个做手脚的方法保证第4种建筑有效,就是再加一

个无效的XACNST的办法,,把UACNST顶上去。不知道如今是否还需要……
BuildConst=GACNST,NACNST,YACNST
BuildPower=GAPOWR,NAPOWR,YAPOWR,NANRCT
BuildBarracks=GAPILE,NAHAND,YABRCK
BuildRefinery=GAREFN,NAREFN,YAREFN
BuildWeapons=GAWEAP,NAWEAP,YAWEAP
BuildRadar=GAAIRC,NARADR,NAPSIS
BuildTech=GATECH,NATECH,YATECH
ConcreteWalls=GAWALL,NAWALL,GAFWLL
BuildNavalYard=GAYARD,NAYARD,YAYARD
BuildDummy=GAPILL,NALASR,YAGGUN

以下这些语句是第四派别的相关特殊语句,因为一个派别只能有一种围墙,一种

基础电厂,一种高能电厂,一种残兵等等……

在[General]段里适当的地方添加以下语句:
FourthPowerPlant=
FourthBaseDefenseCounts=
FourthCrew=
FourthSurvivorDivisor=

在[AI]段里添加以下语句
FourthBaseDefenses=


还值得一提的是,你可以给第三派和第四派指定独立的载入色,也就是在

[Colors]里添加上以下语句:
ThirdLoad=
FourthLoad=
这样尤里的载入色就不需要是红色了,可以指定成紫色,中国的载入色也不需要

是蓝色了,可以指定成绿色

第三步,大的代码都弄好了,还剩下资源和其他一些小问题

在开始之前,你得明确各个派别分别是什么编号。也就是在[Sides]段里定义的上下顺序。Allies为0,soviets为1, 3rdside为2, 4thside为3。这个数字最大的作用是指定对应派别的资源包命名规则sidec##.mix中该用哪个数字,比如allies是sidec01.mix, 那4thside就该是sidec04.mix。

第四派别设置好了,但还没完,慌什么?第四派别国的建筑和单位做好了吗?做好了?你怕是像我一样在原版的时期就想方设法地把中国做成独立派别吧,那后 面一段你不用看了。

如果你还是从头开始,没有给第四派别做建筑和单位,那你首先应该做个第四派别的基地车,然后才是建筑和单位。方法我不说了,会该INI的都知道该怎么做。

需要注意的是,我们又有一条新语句了:AIBasePlanningSide=3。这个语句是用在建筑上的,一般情况下看起来似乎没什么作用,但当你同时拥有多种基地时你 就知道厉害了,没有这个语句,你的建筑将杂乱地堆在一起,让你找半天找不到你想建的建筑,叫你恨不得把基地卖了。因此AIBasePlanningSide就是把各个派 别的建筑分类放置的语句,盟军建筑用了0,苏军建筑用了1,尤里建筑用了2,那 第四派就用3吧,其实这4个顺序是可以改的,你完全可以把盟军改成3,把第四派 改成0。这个语句似乎也能用在单位代码里,估计也能让单位分类排列。

注意,新基地车需要注册到BaseUnits=语句中,否则游戏将不认为它是基地车, 那么电脑一旦有了这个基地车,它就不会主动展开。还得注意基地车的Owner属性 ,一定要4派分明,决不能相互牵连,否则万一选个美国居然开场出现一个中国的基地车,像什么话?

一般的单位就不需要像基地车那样分得那么清楚,你完全可以把Owner写上所有国家也没事。要是你分得像基地车那么明显的话,那中国的战车就决不能从盟军工厂里出来了,即使两种工厂都有。按道理来说,只要满足了建造条件,只要是工厂就应该能出任何派别的战车才对。 科技树就不多说了,自己去建。

下面这个是个非常重要的步骤,你需要给第四派别做一个GUI,GUI是什么都不知道?我晕,GUI就是界面,也就是该派别调用的图象资源包里的图象文件组成的游 戏操作界面,,里面包含了SHP、调色板等等图象方面的资源文件,命名规则是 sidec##.mix,对于第四派别来说,就该命名成sidec04.mix。具体做法有两中, 一是自己用MIX EDITOR自己建立,另一种是先从ra2.mix里提取出sidec01或02.mix,再改名称,并把需要换的换成第四派别的文件。需要注意的是,盟军和苏军的GUI不同,很多图象的尺寸都有不同,前者是蓝色风格,后者是黄色风格, 官方照搬了黄色风格作为尤里的截面,你完全可以照搬其中一种作为第四派别国的界面。

最后要做的是给第四派别国写独立AI,这个麻烦事的确非常麻烦,用FA2来写吧,我有教程,把繁杂的数字转化成了具体的意义,写50条AI只需要半天时间。

这条不想说了,每个国家都必须要设置一种初始士兵和一种初始坦克,否则会出错。

就这么多,你改完了吗?什么?我还有遗漏的地方?不好意思,我也是刚刚接触 ,有什么问题,找我好了,保证让你弄84。

[SuperWeaponTypes]
1=NukeSpecial
2=IronCurtainSpecial
3=LightningStormSpecial
4=ChronoSphereSpecial
5=ChronoWarpSpecial
6=ParaDropSpecial
7=AmericanParaDropSpecial
8=PsychicDominatorSpecial
9=SpyPlaneSpecial
10=GeneticConverterSpecial
11=ForceShieldSpecial
12=PsychicRevealSpecial
13=EMPulseSpecial
14=IonCannonSpecial
15=AirStrikeSpecial 

[IonCannonSpecial];;等离子炮
UIName=Name:Ion
Name=Ion Cannon
IsPowered=true
RechargeTime=10
Type=NewDominator
Action=IonCannon
SidebarImage=IONCICON
ShowTimer=yes
DisableableFromShell=yes
Range=5.1
LineMultiplier=2
AIDefendAgainst=yes
DomWarhead=IonCannonWH
DomFirstAnim=IonBeam
DomSecondAnim=IonBlast
DomFireAtPercentage=55
DomCaptureRange=0
DomDamage=500
DomActivateSound=none
DomAmbient=120
DomRed=10
DomGreen=45
DomBlue=80
DomGround=0
DomLevel=0
DomAmbientChangeRate=1
DomLight=yes
DomCapture=no
EvaDetected=EVA_IonCannonDetected
EvaReady=EVA_IonCannonReady
EvaActivated=EVA_IonCannonActivated
AITargetingType=8;;优先往大部队上丢,如果你没有部队电脑就不丢,郁闷中… …它不知道等离子炮也能炸建筑吗?

[AirStrikeSpecial];;真空中支援,丢海胆球的
UIName=Name:AIRSTRIKE
Name=Air Strike Call
IsPowered=true
RechargeTime=5
Type=NewParaDrop
Action=AirStrike
SidebarImage=PBMBICON
ShowTimer=yes
DisableableFromShell=yes
ParaDropInf=PBOMB,PBOMB,PBOMB
ParaDropNum=2,2,2
ParaDropPlane=PDPLANE
EvaDetected=EVA_AirStrikeDetected
EvaReady=EVA_AirStrikeReady
AITargetingType=6;;丢到对方工厂门口,好阴险的丢法
[EMPulseSpecial];;EMP封冻炮,目前尚不清楚哪个地方可以设置封冻时间,因此 尚未成功

UIName=Name:EMPuls
Name=Fire at Target
RechargeTime=5
Type=Fire
Action=EMPuls
SidebarImage=FIREATICON
ShowTimer=yes
Range=3
LineMultiplier=2
DisableableFromShell=yes
FlashSidebarTabFrames=120
AITargetingType=8