找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3775|回复: 7

AttachFire.CheckAG的一点小问题

[复制链接]
发表于 2023-4-11 09:47:28 | 显示全部楼层 |阅读模式
本帖最后由 Iniceboatu 于 2023-4-11 11:51 编辑

在修改多功能步兵车的防空炮时发现的。
为了让多功能步兵车防空炮能打天,我做了个假武器,然后用extrafire添加了两个武器,一个只对地,一个只对天。
如果只是强制打平地,武器会选用AG,不会选用AA。
攻击天空目标,AA发动,不会选AG。
但是,如果打的是在地面目标包括树木,AA武器也会发动,
大佬看看我是哪里写错了吗?
使用了当前0.42p13奎托斯和福布斯0.34 nightly。

[FV]
...
Weapon4=CRFlakAssist                ;Flak Troop
EliteWeapon4=CRFlakAssist                ;Flak Troop
ExtraFire.Weapon4=CRFlakGuyGunAG,CRFlakGuyGunAA
ExtraFire.EliteWeapon4=CRFlakGuyGunAG,CRFlakGuyGunAA


[CRFlakAssist]
Damage=1
ROF=15
Range=8
MinimumRange=0
Projectile=InvisibleAll
Speed=50
Warhead=DummyWarhead
OmniFire=no

[CRFlakGuyGunAG] ;AG武器              
Damage=30
ROF=15
Range=8
Projectile=CRFlakProjAG
Speed=50
Report=FlakTrackAttackGround               
Warhead=FlakTWH
Anim=GUNFIRE
Lobber=yes
AttachFire.UseROF=yes ;启用则每个附加武器独立计算ROF,ROF受AE加成影响
AttachFire.CheckRange=yes ;启用每个附加武器检查射程
AttachFire.CheckAA=yes ;启用每个附加武器攻击空中的物体,检查抛射体是否具有AA
AttachFire.CheckAG=yes ;检查抛射体是否具有AG
AttachFire.CheckVersus=yes ;启用每个附加武器检查单位护甲

[CRFlakGuyGunAA] ;AA武器            
Damage=30
ROF=15
Range=8
Projectile=CRFlakProjAA
Speed=50
Report=FlakTrackAttackGround               
Warhead=FlakWH
Anim=GUNFIRE
AttachFire.UseROF=yes ;启用则每个附加武器独立计算ROF,ROF受AE加成影响
AttachFire.CheckRange=yes ;启用每个附加武器检查射程
AttachFire.CheckAA=yes ;启用每个附加武器攻击空中的物体,检查抛射体是否具有AA
AttachFire.CheckAG=yes ;检查抛射体是否具有AG
AttachFire.CheckVersus=yes ;启用每个附加武器检查单位护甲

[CRFlakProjAA]               
Image=120MM
Inviso=no
AA=yes
AAOnly=true ;更新:添加这个,放在主武器槽不会对地,但是放在extrafire则无效
AG=no
Shadow=no
ROT=1
Ranged=no
Cluster=3
ClusterScatter.Min=0.0
ClusterScatter.Max=1.5
SubjectToCliffs=no
SubjectToElevation=yes
SubjectToWalls=yes

[CRFlakProjAG]               
Image=120MM
Inviso=no
AA=no
AG=yes
Shadow=no
Ranged=no        
Arcing=true        
Inaccurate=yes        
FlakScatter=yes
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=yes







发表于 2023-4-11 10:06:29 来自手机 | 显示全部楼层
AG的G是地面,树不是地面,树是地形对象。
回复

使用道具 举报

发表于 2023-4-11 10:11:06 | 显示全部楼层
本帖最后由 jgaxmey 于 2023-4-11 10:17 编辑

原版ag的意思是地面,不是地面目标,所以ag=no的作用只是没法强制攻击地面,不影响攻击陆军单位……所以防空炮和爱国者用了一些别的代码来实现不能攻击地面目标。
但是,我记得最新版火卫好像专门修正了这个问题,ag就是地面目标了,莫非没有生效?火卫更新日志里写的:
  • Weapons with AG=no projectiles can no longer fire at any ground targets, instead of only being prevented firing at ground cells (by Starkku)

回复

使用道具 举报

 楼主| 发表于 2023-4-11 10:14:12 | 显示全部楼层
双杀步枪 发表于 2023-4-11 10:06
AG的G是地面,树不是地面,树是地形对象。


[CRFlakGuyGunAA] 加上AttachFire.AffectTerrain=no也还是打树

更主要的问题是CheckAG对地面目标好像无效。
回复

使用道具 举报

 楼主| 发表于 2023-4-11 10:28:47 | 显示全部楼层
本帖最后由 Iniceboatu 于 2023-4-11 10:33 编辑
jgaxmey 发表于 2023-4-11 10:11
原版ag的意思是地面,不是地面目标,所以ag=no的作用只是没法强制攻击地面,不影响攻击陆军单位……所以防 ...

测试了一下,武器放在本身如果是AG=no和AAOnly=true,放在weaponX=...确实不会打地面目标,不过放在attachfire里就不行了。。。看来是要放弃这个玩法咯
回复

使用道具 举报

 楼主| 发表于 2023-4-11 11:42:59 | 显示全部楼层
本帖最后由 Iniceboatu 于 2023-4-11 11:54 编辑

做了个feedback weapon添加替身可以达到效果

[FV]
...
Weapon4=CRFlakAssist                ;Flak Troop
EliteWeapon4=CRFlakAssist                ;Flak Troop
ExtraFire.Weapon4=CRFlakGuyGunAG
ExtraFire.EliteWeapon4=CRFlakGuyGunAG

[CRFlakAssist]
Damage=1
ROF=15
Range=8
MinimumRange=0
Projectile=InvisibleAll
Speed=50
Warhead=DummyWarhead
OmniFire=no
FeedbackWeapon=FlakAAFeed

[FlakAAFeed]
Damage=1
ROF=15
Range=1.5
MinimumRange=0
Projectile=InvisibleLow
Speed=50
Warhead=FlakAAstandWH
OmniFire=yes

[FlakAAstandWH]
Verses=3%,3%,3%,3%,3%,3%,3%,3%,3%,3%,3%
AnimList=none
AttachEffectTypes=FVTKAAstand,FVAAstand ;不同战车,由于FLH,需要不同AE
AllowZeroDamage=yes

[FVTKAAstand]
Duration=10
AffectTypes=FVTK
Stand.Type=FlakAAdumb
Stand.DrawLayer=UNDERGROUND
Stand.ZOffset=14
Stand.Offset=-75,0,300
Stand.IsOnTurret=yes
Stand.Direction=0
Stand.LockDirection=no
Stand.SameHouse=yes
Stand.SameTarget=yes
Stand.SameLoseTarget=yes
Stand.MobileFire=yes
Stand.VirtualUnit=yes
Stand.Explodes=no


[FVAAstand]
Duration=10
AffectTypes=FV
Stand.Type=FlakAAdumb
Stand.DrawLayer=UNDERGROUND
Stand.ZOffset=14
Stand.Offset=80,0,240
Stand.IsOnTurret=yes
Stand.Direction=0
Stand.LockDirection=no
Stand.SameHouse=yes
Stand.SameTarget=yes
Stand.SameLoseTarget=yes
Stand.MobileFire=yes
Stand.VirtualUnit=yes
Stand.Explodes=no

[FlakAAdumb]
Image=Inviso;DUMBVOX
Primary=CRFlakGuyGunAA
Strength=100
Category=Transport
Armor=DummyArmor
TechLevel=-1
Sight=0
Speed=0
CrateGoodie=no
AllowedToStartInMultiplayer=no
Cost=0
Points=20
ROT=5
Crusher=no
Turret=no
IsSelectableCombatant=no
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
VoiceSelect=
VoiceMove=
VoiceAttack=
VoiceFeedback=
DieSound=
Maxdebris=3
DebrisTypes=TIRE
DebrisMaximums=6
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1}
MovementZone=Normal
ThreatPosed=0        ; This value MUST be 0 for all building addons
DamageParticleSystems=SparkSys,SmallGreySSys
SpecialThreatValue=1
ZFudgeColumn=10
ZFudgeTunnel=13
ImmuneToRadiation=no
ImmuneToPsionics=no
Size=6
SizeLimit=2
Insignificant=yes
Trainable=no
Select.Disable=yes
HealthBar.Hide=yes
HealthText.Hidden=yes


回复

使用道具 举报

发表于 2023-4-11 12:42:13 来自手机 | 显示全部楼层
Check的意思是检查,检查武器的抛射体上是否有关于xx的设置,谁说可以代替武器自身的设置了。
回复

使用道具 举报

发表于 2023-4-11 12:44:03 来自手机 | 显示全部楼层
AG的G是地面,车辆和步兵不是地面,是单位。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-8-30 22:37 , Processed in 0.046821 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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