红警地图修改
一、简介
本文是一篇关于红警地图修改的技术型论文,主要讲述红警地图修改,但同时也对红警的其他的知识做了讲解。希望对研究红警的爱好者有所帮助,同时欢迎大家一起和作者探讨。
MOONQQ:52215625.
红警地图MOD群:116488785
二、关于红警
作为一个红警爱好者,我们应该了解一些关于红警的历史。《红警》游戏是1996年由西木(WESTWOOD)公司发布的即时战略游戏,在那个年代引起了不小的潮流。虽然西木公司后来被EA公司收购,但红警为后来的《星际争霸》、《魔兽争霸》等游戏提供了很多创意。
三、关于红警作弊
1.红警作弊的种类:
1)利用BUG。例如,强建、空投、自偷等,不过这些BUG在尤里复仇里就修正了,所以只能在红警2里用用;
2)利用作弊器。作弊器的原理是在你运行红警时修改程序运行的数据,所以它的功能相对比BUG的要强很多;
3)修改红警的游戏规则。修改红警游戏规则的方法分为两种:一种是修改核心规则文件——rules.ini文件。一种是修改红警地图。
2.红警游戏规则修改:
1)修改红警核心ruels.ini文件:这是一种能够将修改后的规则应用于战役、遭遇战、(完全匹配的rules的)网络对战的修改方法,是一种应用范围比较广泛的修改方法。但是因为局域网以及网络对战平台对战需要对rules文件的完整度进行检验,所以在修改rules文件后进入网络对战时会被系统提示版本不匹配不能进行游戏。唯一的解决方法是对局域网或对战平台的对方玩家的rules文件也进行相同的修改。
2)地图修改:实际上地图修改也分为两种:一种是修改红警地图的外形样式和AI(触发)事件。如地图中固有的建筑的数量和类型,地面的类型,地图中桥梁、树木、动物等等,但此种方法不能修改游戏规则。另一种就是修改地图的代码。这是一种真正的能够修改游戏规则的方法,而且不会受到rules不匹配的限制,能够将修改后的规则应用于遭遇战非官方地图、网络对战中非官方的地图。虽然应用范围不大,但方便易用,也特别适合局域网和网路对战。网络对战时非官方的地图需要从主机发送将地图给对方进行读取,读取的同时也也同主机一样应用了修改后的规则。本文的重点也将围绕它来讲解。(实际上修改rules和修改地图代码很相似)
四、红警地图修改
1.基础:由于红警地图代码修改的应用范围问题,所以一般需要修改的红警地图都是非官方的,需要我们搭配红警地图编辑器一起使用,使地图更顺畅。本文以修改人民解放军的武器为超级核爆为例,讲解如何添加代码。
2.红警地图修改工具:
1)红警地图编辑器FinalAlert2CS:用于修改红警外形样式。
2)代码编辑工具:MicrosotfWord或 WPS。
3.修改地图样式:
由于本人对修改红警地图不是很在行,红警地图编辑器也很容易使用,所以关于红警地图样式的修改大家可以自己去网上搜索一下。大家也可以加入我们的“红警地图MOD”QQ群下载红警地图编辑器的教程。
4.修改红警地图代码:
1)使用红警地图编辑器新建一张地图,编辑完成后保存好。
保存地图的时候建议选择不保存预览,因为这样生成的地图比较小,适合在网络上传输。在第一次保存时可能下面的按钮不能选择,那么就只输入名字,保存,之后再用地图编辑器打开再保存,之后就可以选择不保存预览和其他选项了。
2)使用WORD打开刚刚保存的红警地图。
红警地图一般是以“.mpr”为后缀名的,而尤里的复仇是以“.yrm”为后缀名的,但是他们的结构没有任何区别,所以编辑代码的方式也是通用的。
右键点击文件:
初次打开需要选择打开方式:
选择word程序:
确定后会弹出文件转换提示,直接确定即可:
打开后的效果:
3)将以下代码粘贴到地图中:
[PLA]
Primary=NukePayload23
ElitePrimary=NukePayload23
[NukePayload23]
ROF=10
Range=-2
Speed=1
Damage=9999
Report=
Warhead=NUKE
RadLevel=500
Projectile=GiantNukeDown23
[GiantNukeDown23]
AA=no
AG=yes
AN=yes
AS=yes
ASW=yes
Arm=2
Shadow=no
Vertical=yes
Acceleration=1
FirersPalette=yes
DetonationAltitude=30000
粘贴的时候最好把代码放在[preview]的前面,因为大多数后面的代码都是地图固有的代码,尽量避免误修改。代码中凡是含有“[]”的段落一般都是和定义有段的,也尽量避免修改。
4)讲解:
[PLA]
这个人民解放军的名字,在rules文件中有定义(任何系统原有的单位都在rules中有定义)。如果我们在编辑地图的时候修改它的某些属性,那么在运行此地图的时候系统会更新它的属性,使修改后的属性生效,达到修改的目的。
Primary=NukePayload23
这个是主武器的属性,是指人民解放军所使用的主武器。同样的,一些坦克,飞机也有这样的属性。后面的NukePayload23是我根据rules原有的武器NukePayload修改生成的一种新武器的名称,如果想自己设计一中武器,只要在rules里或红警地图里定义一下就可以。定义段落在下面,以[NukePayload23]开始的那段就是。
ElitePrimary=NukePayload23
这里是定义人民解放军升为3级后使用的主武器。这里改成和上面的武器一样。类似的很多作战单位也有这样的设置,升级后的武器威力会不一样。本段然人民解放军升级后和升级前的武器一样是因为这个武器已经很强了,威力提升的效果不明显,而取消掉了。同时也是作为一种补充,因为如果只修改了主武器而没修改升为3级后的主武器,那么升级后可能就不能使用这种武器了。
[NukePayload23]
这里是关于NukePayload23武器的定义段,是整个武器系统的说明。
ROF=10
这里是这个武器的转向速率,这个属性我没有太深入研究。
Range=-2
这个是指这个武器能够攻击的范围,这里是-2,意思是可以攻击任意距离的敌人,可见这个武器该有多么强大。注意这里的范围不会受到使用改武器的单位的防御视野距离的影响,也就是说人民解放军只要能够看到你,无论在与不在它的防御视野距离范围内就可以攻击。而进入防御视野距离内它会主动攻击。
Speed=1
这个是这个武器的速度,这个属性我没太深研究。
Damage=9999
这个是这个武器的杀伤性,9999是红警中最大的杀伤值,再大就会失效
Report=
这个是使用该武器时系统的报告提示音,不过这里没有指定。
Warhead=NUKE
这个是这个武器所使用的弹头类型。一个武器定义中最重要的两个属性就是弹头和抛物体属性。弹头和抛物体不像武器这样可以随意定义,有时需要在rules中指定。所以这两个属性能尽量引用系统中rules定义过的最好。这里引用的是NUKE,他是系统关于核弹头的定义。定义后使用本武器会后核弹头的效果。
RadLevel=500
这个属性指明武器释放完毕后所残留的核辐射的计量,这个属性一般在与核武器相关的雾气中使用。
Projectile=GiantNukeDown23
这个是这个武器调用的抛物体,它是控制武器能够攻击的类型的重要属性。在下面有定义。GiantNukeDown23是我根据系统原有的rules文件中的GiantNukeDown定义的。
[GiantNukeDown23]
这个是定义抛物体GiantNukeDown23的起始定义段,必须加两面的中括号。
AA=no
定义这种炮武器是否能够攻击天空中的敌人,如飞行兵等。
AG=yes
该武器是否可以攻击陆地上的目标。一般的陆地上的单位的武器都有这个属性。
AN=yes
该武器是否可以攻击水上目标
AS=yes
该武器是否可以攻击水下目标
ASW=yes
是否可以攻击潜艇之类的树下单位。
Arm=2
定义这个抛物体发射的准备时间
Shadow=no
是否在发射该抛物体时显示影子
Vertical=yes
是否是垂直飞行
Acceleration=1
定义抛物体的加速度
FirersPalette=yes
是否使用发射者的颜色
DetonationAltitude=30000
这个属性目前我也不知道是什么。
4) 保存编辑:
保存的时候还是会弹出提示,没关系,直接确认即可。
5)把地图放到红警目录里,运行游戏就可以使用了。
五、附言:
红警的修改和红警地图的修改还是有很多知识的,在这里不能一一讲述,大家可以去网上多搜搜。我在这里再贴一些我编辑好的代码,同样的用名称替换掉“Primary=”和“ElitePrimary=”后面的名称即可。
代码:
1.超级闪电:
[WeatherLauncher];武器名称
ROF=10
Range=-2
Speed=200
Damage=9999
Report=WeatherStrike
Warhead=Ion2WH
Projectile=WeatherProj
[Ion2WH]
Wall=yes
Wood=yes
Rocker=yes
Verses=100%,100%,100%,100%,100%,100%,100%,100%,100%,100%,100%
AnimList=WCLBOLT1
InfDeath=5
CellSpread=1
ProneDamage=100%
Conventional=yes
PercentAtMax=1
[WeatherProj]
AA=yes
AG=yes
AN=yes
AS=yes
ASW=yes
Arm=0
ROT=100
Image=none
Ranged=no
Cluster=1
Proximity=yes
SubjectToWalls=no
SubjectToCliffs=no
SubjectToElevation=no
2.超级无形核爆:
[NukePayload23];武器名称
ROF=10
Range=-2
Speed=1
Damage=9999
Report=
Warhead=NUKE23
RadLevel=
Projectile=GiantNukeDown23
[Warheads]
75=NUKE23
[NUKE23]
Conventional=yes
Wall=yes
Wood=yes
Rocker=yes
CellSpread=10
PercentAtMax=1
Fire=yes
InfDeath=3
WallAbsoluteDestroyer=yes
Verses=200%,200%,200%,200%,200%,200%,200%,200%,200%,200%,200%
Sparky=no
Tiberium=yes
AnimList=XGRYSML1,XGRYSML2,EXPLOSML,XGRYMED1,XGRYMED2,EXPLOMED,EXPLOLRG,TWLT070
[GiantNukeDown23]
Inviso=yes
Image=none
Arm=2
Shadow=no
Vertical=yes
Acceleration=1
FirersPalette=yes
DetonationAltitude=30000
AA=no
AG=yes
AN=yes
AS=yes
ASW=yes
3.超级无形核辐射:
[RadEruptionWeapon23];武器名称
Damage=200
ROF=50
Range=-2
Speed=1
AreaFire=yes
FireOnce=no
Projectile=InvisibleLow
Warhead=RadEruptionWarhead
IsRadEruption=no
RadLevel=
Report=
4.超级云闪电:
[WeatherLauncher];武器名称
ROF=10
Range=-2
Speed=200
Damage=9999
Report=WeatherStrike
Warhead=Ion2WH
Projectile=WeatherProj
[V3Cluster]
ROF=10
Range=-2
Speed=200
Damage=9999
Warhead=WeatherStrikeWH
Projectile=WeatherProj2
[WeatherStrikeWH]
Wall=yes
Wood=yes
Rocker=yes
Verses=100%,100%,100%,100%,100%,100%,100%,100%,100%,100%,100%
AnimList=WCLBOLT1
InfDeath=5
CellSpread=1
ProneDamage=100%
Conventional=yes
PercentAtMax=1
[Ion2WH]
Wall=yes
Wood=yes
Rocker=yes
Verses=100%,100%,100%,100%,100%,100%,100%,100%,100%,100%,100%
AnimList=WCCLOUD1
InfDeath=5
CellSpread=1
ProneDamage=100%
Conventional=yes
PercentAtMax=1
[WeatherProj]
AA=yes
AG=yes
AN=yes
AS=yes
ASW=yes
Arm=2
ROT=5
High=yes
Image=none
Ranged=yes
Cluster=1
Airburst=yes
VeryHigh=yes
Proximity=yes
AirburstWeapon=V3Cluster
SubjectToWalls=no
SubjectToCliffs=no
SubjectToElevation=no
[WeatherProj2]
Cluster=1
AA=yes
AG=yes
AN=yes
AS=yes
ASW=yes
Arm=0
ROT=1
Image=none
Ranged=no
Proximity=yes
SubjectToWalls=no
SubjectToCliffs=no
SubjectToElevation=no