红色警戒INI基础教程——武器的构成与修改
GreatSword_高
编辑于 2025年05月22日 14:21
收录于文集
共14篇

欢迎萌新宝宝们来到红色警戒INI修改的第一期教程!我深知萌新需要的是什么,没错!一把强力的武器!

可以防空的鲍里斯

可以打击地面的共辉防空炮……

拥有C4炸弹的动员兵

在此之前,推荐大家去我的度盘逛一逛,可以省去大多数烦恼。

链接:https://pan.baidu.com/s/117JXaxh7bO2hBW1ttg6WJg 

提取码:8888 

推荐使用Notepad++进行编辑INI文件


进入主题

在RA2的INI系统中,一个完整的武器由三部分组成:

    1.武器(Primary,Secondary,OccupyWeapon,WeaponX) - 定义武器的基本属性

    2.抛射体(Projectile) - 定义弹药的飞行方式,运行轨迹等

    3.弹头(Warhead) - 定义命中后的效果,和伤害比例等

1. 武器(WeaponTypes)基础定义,以美国大兵[E1]举例

代码块
JavaScript
自动换行
复制代码
[InfantryTypes]			;步兵单位注册表
1=E1	;美国大兵

[E1]		;美国大兵块,名字要与步兵单位注册表内一致
Primary=M60					 			; 主武器定义
ElitePrimary=M60E				 		; 精英主武器定义
Secondary=Para							; 副武器定义						
EliteSecondary=ParaE					; 精英副武器定义
吐个槽:官方居然把主副武器的名字都写反2333……
OccupyWeapon=UCPara						; 驻军时使用的武器(默认使用主武器)
EliteOccupyWeapon=UCElitePara			; 精英驻军时使用的武器(默认使用主武器)
Occupier=yes							; 能否进驻建筑,配合上两条使用。
OpenTransportWeapon=1					; 进入战斗要塞使用的武器,0主武器,1副武器
……
PS:Ares平台提供了[WeaponTypes]武器注册表,只需在[WeaponTypes]表下注册即可,原版没有[WeaponTypes]所以每个武器都需要单位来挂载,哪怕这个单位不能用,也必须注册,如原版挂载核弹武器的化学兵,
复制成功

2. 抛射体(Projectile)基础定义,以主武器[M60]举例

代码块
JavaScript
自动换行
复制代码
;无需注册,因为每个抛射体都在使用
[InvisibleLow]		;抛射体块,名字需与Primary引用的值一致
Inviso=yes								; 是否瞬间命中
Image=none								; 引用的图形=无
SubjectToCliffs=yes						; 是否会被悬崖阻挡
SubjectToElevation=yes					; 在高处发射是否会增加射程
SubjectToWalls=yes						; 是否会被围墙阻档
复制成功

3. 弹头(Warhead)基础定义,以主武器[M60]举例

代码块
JavaScript
自动换行
复制代码
[Warheads]			;弹头注册表
6=AP		;弹头注册

[SA]		;弹头块,名字需与Warhead引用的值一致
Verses=100%,80%,80%,50%,25%,25%,75%,50%,25%,100%,100%
; 这11个值分别对应原版步兵*3,载具*3,建筑*3,导弹,蜘蛛护甲。
; 0%代表 不能强制攻击,不能还击,不能攻击
; 1% 不能还击,不主动攻击
; 2% 不主动攻击(由于WW的疏忽,这个无效)
; ≥3% 主动攻击
InfDeath=1								;杀死步兵的图像,分别对应下列列表
;0直接消失 1死亡序列1 2死亡序列2 3爆炸死 4烧死 5电死 6尤里波爆炸 7核融化 8病毒死 9变身狂受人 10被狂受人打死
AnimList=PIFFPIFF,PIFFPIFF				; 命中动画
Bullets=yes								; 垃圾词条,毫无用处
ProneDamage=70%							; 对匍匐步兵的伤害比例
复制成功

PS:定义武器除以上方式还有V3火箭,航母的[子机逻辑],鲍里斯的[召唤空袭],盖特坦克的[盖特逻辑],战斗要塞的[载员逻辑]以及谭雅的[C4炸弹]等方式,本次为基础修改,只讲述开头演示的3个示例。

同时,不建议在原本的Rules.ini内修改,推荐使用Ares平台新增的【文件拆分】系统进行修改,未来的教程统一如此

教程链接:Ares平台[INI文件拆分]与[属性继承]讲解​

4.开头示例鲍里斯防空,我们仅需要给抛射体增加"AA=yes"即可

代码块
JavaScript
自动换行
复制代码
在新建的AARules.ini内修改。养成这样的习惯,不要随意修改原文件

[InvisibleLow]			; 鲍里斯主武器[AKM]和[AKME]所引用的基础抛射体
Inviso=yes				; 是否瞬间命中
Image=none				; 引用的图形=无
SubjectToCliffs=yes		; 是否会被悬崖阻挡
SubjectToElevation=yes	; 在高处发射是否会增加射程
SubjectToWalls=yes		; 是否会被围墙阻档
; 细心的你会发现鲍里斯和美国大兵所引用的是同一个抛射体,所以我不建议在此基础上修改,而是重新给鲍里斯的武器换一个抛射体进行修改。
AA=yes					; 指定该抛射体能否对空中单位发起攻击
AG=yes					; 指定该抛射体能否对“地面”发动攻击,注意,是地面,不是地面单位。
复制成功

PS:AG=yes被很多人误解为对地面单位进行攻击,其实是错误的,它指定能否对“地板”攻击,默认值是yes,所以哪怕当你把防空炮的武器设置了AG=yes也依然无法攻击地面单位,而真正起作用词条在[单位块]内定义,如下↓↓↓

5.可以打击地面的防空炮:

代码块
JavaScript
自动换行
复制代码
;这些都是原版关键词条,如何修改在下方另一个代码块内。
[NASAM]							; 爱国者飞弹
Primary=RedEye2					; 主武器
LandTargeting=1					; 单位对地攻击规则——不能攻击陆地单位
NavalTargeting=6				; 单位对海攻击规则——不能攻击海上单位

[RedEye2]    					; 爱国者飞弹武器
Projectile=AAHeatSeeker			; 抛射体调用

[AAHeatSeeker]					; 导弹武器通用抛射体	
Arm=2							; 指定导弹引信启动延迟
Shadow=no						; 是否有影子
Proximity=yes					; 是否到达目标所在单元格立刻爆炸
Ranged=yes						; 是否在导弹追击超过一定距离后原地爆炸
AA=yes							; 指定该抛射体能否对空中单位发起攻击
AG=no							; 指定该抛射体能否对"地板"发起攻击
;AN=no							; 无效
Image=DRAGON					; 抛射体引用图像
ROT=80 ;10						; 导弹抛射体的标志,导弹转向的角速度,推荐0-100。大于0就是追踪导弹
;如果发射者为Aircraft类,0代表地毯式五连发轰炸,1代表定点五连发攻击,大于1必须飞机上有Fighter=yes才能顺利发射
SubjectToCliffs=no				; 是否会被悬崖阻挡
SubjectToElevation=no			; 在高处发射是否会增加射程
SubjectToWalls=no				; 是否会被围墙阻档
复制成功

主要词条如下:

LandTargeting= 单位对地攻击规则,其值对应如下               

        0 可以攻击陆地单位    (默认值)

        1 不能攻击陆地单位

        2 用副武器攻击陆地单位

NavalTargeting=  单位对海攻击规则,其值对应如下    

        0 不能攻击水下单位    (默认值)

        1 能够攻击水下单位,攻击武器为副武 

        2 只能攻击水下单位,攻击武器为主武 

        3 使用副武攻击有生单位(包括Organic=yes)

        4 使用主武攻击两栖和有生单位,副武攻击海军和水下无生单位 

        5 使用主武攻击所有单位 

        6 不能攻击海上单位 

        7 用副武器攻击陆地 用主武器攻击海军

代码块
JavaScript
自动换行
复制代码
;这样修改即可
[NASAM]     					; 爱国者飞弹
Primary=RedEye2					; 主武器
LandTargeting=0					; 单位对地攻击规则——可以攻击陆地单位

[AAHeatSeeker]					; 导弹武器通用抛射体	
AG=yes							; 指定该抛射体能否对"地板"发起攻击
;若AG不等于yes依然无法攻击地面单位,甚至指针都不会出现
复制成功

如上修改完后会发现依然无法攻击建筑,这是因为弹头在作祟

我们只需将Verses的值重新赋予即可

代码块
JavaScript
自动换行
复制代码
[SAMWH]									; 爱国者飞弹武器弹头
CellSpread=.3							; 额外伤害范围(溅射范围)
PercentAtMax=1							; 范围伤害衰减系数
Verses=100%,100%,100%,100%,100%,100%,0%,0%,0%,100%,100%
InfDeath=3								; 杀死步兵动画
AnimList=XGRYSML1,XGRYSML2,EXPLOSML		; 命中动画
ProneDamage=100%						; 对匍匐步兵的伤害比例
;因为Verses的第七八九项为0,所以无法对建筑造成伤害,我们只需给予赋值即可
Verses=100%,100%,100%,100%,100%,100%,100%,100%,100%,100%,100%
复制成功

这样你就成功制作出了共辉的防空炮

6. 最简单的C4动员兵

代码块
JavaScript
自动换行
复制代码
[E2]		;动员兵
C4=yes		;攻击建筑强制使用C4炸弹,无论你主副武器弹头对建筑伤害比例是0%还是100%
复制成功

7. 结合内容魔改一个副武器对空,进驻建筑可以发射激光,拥有C4炸弹的动老师[E2]

代码块
JavaScript
自动换行
复制代码
[E2]								; 动员兵
Primary=FlakTrackAAGun				; 主武器替换为煤球炮
ElitePrimary=FlakTrackAAGunE		; 同上
Secondary=M1Carbine					; 副武器替换为原主武器波波沙
ElitePrimary=M1CarbineE				; 同上
OccupyWeapon=Comet					; 驻军武器替换为光棱坦克武器
EliteOccupyWeapon=SuperComet		; 同上
Occupier=yes						; 能否驻军
C4=yes								; 是否使用C4炸弹
LandTargeting=2						; 仅用副武器攻击地面
复制成功

为了保持原主武器攻击地面,又不想让防空炮打击地面,只能调换主武器的位置,并使用LandTargeting=2来让副武器攻击地面。虽然有点绕,看几遍应该就明白了。

波波沙打地面单位,煤球防空,驻军激光,C4炸建筑     建筑表示mmp(▼益▼#;)

小贴士:

    1. 修改前记得备份原文件

    2. 多用注释(英文分号;开头)记录你的修改

希望这篇教程能帮助你开始RA2的INI修改之旅!


顺便推广一下我们的INI萌新交流群:796097515 

感谢您的观看