红警DIY论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 483|回复: 24

一种战机的实现方式

[复制链接]
发表于 2020-1-14 11:44:19 | 显示全部楼层 |阅读模式
众所周知由于原版的平台限制RA2的战机非常鸡肋,尤其是机场起飞的战机无法主动攻击,这使战机与战机之间的缠斗成为几乎不可能的事(谁会手动点得到对面快速运动的战机)。战机即使能对空,作用也仅限于攻击低速的jumpjet。而如果把空军设计成以jumpjet为主,悬浮的运动方式又像空中的坦克,没有空战的真实感。
在ares中可以通过初始乘客的方式使战机有自动攻击的能力(需要做乘客的防弹出处理,具体的方法论坛里发过),但会导致飞机无法降落等蛋疼的bug,以及无法手动选择攻击目标,只能靠乘客随缘攻击。这样一来这种方法也十分鸡肋。


而战机还可以用以下方法实现:
[VehicleTypes];关键:在车辆列表注册
+=FALCG
+=FALC

[FALCG];地面状态,从战车工厂生产
UIName=Name:ORCA
Name=Intruder
Image=FALC
Prerequisite=AMRADR,GAWEAP
Primary=TakeOff
Secondary=TakeOff
Strength=300
Category=AirPower
Armor=light
TechLevel=5
Sight=10
Speed=4
Owner=Americans
Cost=800
Soylent=800
Points=22
ROT=2
ConsideredAircraft=yes
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
MaxDebris=3
CreateSound=IntruderSelect
VoiceSelect=IntruderSelect
VoiceMove=IntruderMove
VoiceAttack=IntruderAttackCommand
VoiceCrashing=IntruderVoiceDie
DieSound=
MoveSound=IntruderMoveLoop
CrashingSound=IntruderDie
ImpactLandSound=GenAircraftCrash
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1};地面状态以车辆方式运动,可在地面滑行
MovementZone=Destroyer
DamageParticleSystems=SparkSys,SmallGreySSys
ThreatPosed=20
SpecialThreatValue=0
VeteranAbilities=STRONGER,FIREPOWER,SIGHT,FASTER
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER
Size=15
AllowedToStartInMultiplayer=no
PreventAttackMove=no
TooBigToFitUnderBridge=true
Trainable=yes
Bunkerable=no; Units default to yes, others default to no
Turret=no
IsSelectableCombatant=yes
CrateGoodie=no
Crusher=no
SelfHealing=no
Explodes=no
ImmuneToPsionics=no
MoveToShroud=yes
OpportunityFire=yes
CanPassiveAquire=yes
CanRetaliate=yes

DeployToFire=yes;关键:开火前必须部署
IsSimpleDeployer=yes
Convert.Deploy=FALC;部署后变形为空中状态
DeploySound=IntruderTakeOff
DeployingAnim=DUMMY
DeployDir=2

[TakeOff]
Damage=1
ROF=20
Range=-2
Projectile=InvisibleAll
Speed=100
Warhead=Dummy2Warhead
OmniFire=yes

[FALC];空中状态
UIName=Name:ORCA
Name=Intruder
Prerequisite=AMRADR,GAWEAP
Primary=FALCMissle
Category=AirPower
Strength=300
Armor=light
TechLevel=-1;空中状态不可直接生产,只能通过变形部署转化
Sight=10
Speed=17
BalloonHover=yes
Owner=Americans
Cost=800
Soylent=800
Points=22
ROT=1.8;转弯速度,不可过大,否则没有盘旋的感觉,看起来更像抽风
PitchAngle=0
NoShadow=yes;缺陷之一:以飞行方式运动的车辆类单位的影子会始终贴在单位的下方,故此处将影子取消
ConsideredAircraft=yes
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
MaxDebris=3
VoiceSelect=IntruderSelect
VoiceMove=IntruderMove
VoiceAttack=IntruderAttackCommand
VoiceCrashing=IntruderVoiceDie
DieSound=
MoveSound=IntruderMoveLoop
CrashingSound=IntruderDie
ImpactLandSound=GenAircraftCrash
Locomotor={4A582746-9839-11d1-B709-00A024DDAFD1} ;关键:以飞行的方式运动
MovementZone=Fly
DamageParticleSystems=SparkSys,SmallGreySSys
ThreatPosed=20
SpecialThreatValue=0
VeteranAbilities=STRONGER,FIREPOWER,SIGHT,FASTER
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER
Size=15
SizeLimit=2
HoverAttack=yes
AllowedToStartInMultiplayer=no
Crashable=yes
SpeedType=Hover
ElitePrimary=FALCMissle
PreventAttackMove=no
TooBigToFitUnderBridge=true
Trainable=yes
Bunkerable=no
Turret=no
IsSelectableCombatant=yes
DeathWeapon=BlimpBombEffect
DeathWeaponDamageModifier=.1
CrateGoodie=no
Crusher=no
SelfHealing=no
Explodes=no
ImmuneToPsionics=no
MoveToShroud=yes
OpportunityFire=yes
DefaultToGuardArea=yes
GuardRange=30
DeployToLand=yes
MovementRestrictedTo=Weeds;关键,使飞机永不落地,否则飞机将在陆地和水面上自动降落
LandTargeting=1
NavalTargeting=6



效果如下:



特征:
1. 战机主动攻击
2. 盘旋攻击,缠斗感
3. 既可原地盘旋,又可原地悬停
4. 车厂生产(不会卡住门口)

缺陷:
1. 没有影子
2. 无法降落
3. 无法回机场装弹(但可自动装弹)

补充:地面形态出了车厂后自动变形的方法(已验证,仅提供思路)
1. 战车工厂用武器A攻击飞机(且仅能攻击飞机)
2. 武器A设置溅射武器B
3. 武器B的弹头刷出中立的小兵
4. 小兵的武器自动攻击飞机(且仅能攻击飞机)
5. 此时飞机回还击中立的小兵,实现变形(飞机的假武器只能攻击小兵)
6. 小兵装甲无敌,挂延时自杀的AE
注:拿混乱气雾弹头砸飞机的方法无效,目前看来只能用这种方法了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2020-1-14 12:24:48 这篇帖子是使用手机发表的! | 显示全部楼层
也就是解决前一阵那个盘旋飞机出不了车厂的问题吧,可以诶
 楼主| 发表于 2020-1-14 12:36:13 | 显示全部楼层
2244106363 发表于 2020-1-14 12:24
也就是解决前一阵那个盘旋飞机出不了车厂的问题吧,可以诶

以及解决不落地的盘旋飞机无法完成AI移动指令,无法进行路径点的问题。http://bbs.ra2diy.com/forum.php? ... id=16582&page=1
发表于 2020-1-14 14:22:21 | 显示全部楼层
其实,如果只是为了从工厂造不卡门口,只要把WeaponsFactory=yes去掉就可以了
AI的路径指令问题还是没办法。。。只能给AI机场飞机+乘客或超武飞机+乘客(方法在这:http://bbs.ra2diy.com/forum.php?mod=viewthread&tid=16491)来代替。
 楼主| 发表于 2020-1-14 14:45:38 | 显示全部楼层
mustang 发表于 2020-1-14 14:22
其实,如果只是为了从工厂造不卡门口,只要把WeaponsFactory=yes去掉就可以了
AI的路径指令问题还是没办法 ...

如果用SlowdownDistance=0来禁止降落的话去掉WeaponFactory=yes是可以的,但用SlowdDistan会让程序判定飞机永远无法到达目标点,从而卡住AI的指令(对于路径点也是一样,会卡在第一个点转圈圈)。用MovementRestrictedTo=Weeds限制降落的好处是飞机可以完成移动指令了,但会导致飞机无法直接在工厂生产(原因和把工厂用围墙围住相同),所以只能通过单位变形的得到
发表于 2020-1-14 15:06:35 | 显示全部楼层
出场变形不是一句Convert.Land就完事了么
 楼主| 发表于 2020-1-14 15:21:11 | 显示全部楼层
膜术师协会 发表于 2020-1-14 15:06
出场变形不是一句Convert.Land就完事了么

也是一个方法吧,把工厂的WeaponsFactory=yes去掉能顺利生产(否则还是会卡门口),不过刚生产的飞机会埋在车厂里面,需要手动拉出来。当连续生产很多架的时候会以重叠的状态一起被拉出来hhhhh
发表于 2020-1-14 17:08:52 | 显示全部楼层
jcyuan 发表于 2020-1-14 14:45
如果用SlowdownDistance=0来禁止降落的话去掉WeaponFactory=yes是可以的,但用SlowdDistan会让程序判定飞 ...

那么,MovementRestrictedTo=Weeds可以让AI做出巡逻或类似的路径动作吗?
就是那种“飞到我方基地附近某点--飞到敌方基地附近某点--循环n次--攻击敌军--回到第一句”这样的都可以吗?
如果可以的话那太棒了我就改用你这个惹!
 楼主| 发表于 2020-1-14 22:51:37 这篇帖子是使用手机发表的! | 显示全部楼层
mustang 发表于 2020-1-14 17:08
那么,MovementRestrictedTo=Weeds可以让AI做出巡逻或类似的路径动作吗?
就是那种“飞到我方基地附近某 ...

AI的话我还没试,目前只是理论上排除了之前卡住AI的原因。等我试过之后再公布结果吧
 楼主| 发表于 2020-1-15 08:38:31 | 显示全部楼层
mustang 发表于 2020-1-14 17:08
那么,MovementRestrictedTo=Weeds可以让AI做出巡逻或类似的路径动作吗?
就是那种“飞到我方基地附近某 ...

我试过了,AI可以用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY官方论坛

GMT+8, 2020-2-17 14:45 , Processed in 0.019215 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表