跳转到内容
RA2DIY-WIKI 当前处于维护模式:页面上的内容随时可能发生更改且不会事先告知。

Kratos:说明书/自动武器:修订间差异

来自RA2DIY
CCC1478留言 | 贡献
创建页面,内容为“ == [AttachEffectType] == 自动的使用武器攻击一个指定的位置,如附着对象A地板或由AE的来源对象发射武器到AE的附着对象等 '''AutoWeapon.WeaponIndex=(Integer)''' 自动发射单位自身的武器序号,如果赋予抛射体,此条无效,'''默认-1(不启用)''' '''0=Primary/Weapon1''' '''1=Secondary/Weapon2''' '''2=Weapon3''' '''……''' 以此类推 优先级高于下一条 '''AutoWeapon.Types=(List of W…”
 
无编辑摘要
 
(未显示2个用户的11个中间版本)
第1行: 第1行:
[[Category:Kratos说明书]]
== 特性&注意项 ==
* 有三种类别的自动武器:
# 攻击预设好的坐标
# 平时无法开火,本AE附着对象锁定目标后对目标发射(但是不以抛射体的实际发射进行计数,假设设定了射程限制或者其他条件,在条件不满足时只是不会真的创建抛射体,但是仍然会进行发射动作,也包括了没有目标的情况。如有AutoWeapon.FireOnce则效果会直接结束。如果想要真开火一次后删除本效果,需要在发射的武器上[[Kratos:说明书/武器反馈|反馈]]一个[[叠层检测]])
# 本AE的来源和附着对象之一朝对方发射武器。


== [AttachEffectType] ==
== [AttachEffectType] ==
自动的使用武器攻击一个指定的位置,如附着对象A地板或由AE的来源对象发射武器到AE的附着对象等
'''AutoWeapon.WeaponIndex=(Integer)'''
'''AutoWeapon.WeaponIndex=(Integer)'''


第84行: 第91行:
启用时,如果是由子机发射的武器,抛射体所属变更为母鸡,武器仍会从子机位置射出,子机为导弹类型时,建议设置为yes,否则得不到经验,'''默认no'''  
启用时,如果是由子机发射的武器,抛射体所属变更为母鸡,武器仍会从子机位置射出,子机为导弹类型时,建议设置为yes,否则得不到经验,'''默认no'''  


 
'''AutoWeapon.ReceiverOwnBullet=(Boolean)'''不写此标签时,武器来源默认跟随武器发射者


'''AutoWeapon.DeactiveWhenCivilian=(Boolean)'''
'''AutoWeapon.DeactiveWhenCivilian=(Boolean)'''
第99行: 第106行:
'''AutoWeapon.ReceiverAttack=(Boolean)'''
'''AutoWeapon.ReceiverAttack=(Boolean)'''


是否'''反转'''上一条,即A给B挂上此效果后,是否自动从'''A'''身上向'''B'''不断发射指定武器,'''默认yes'''  
是否'''反转'''上一条,即A给B挂上此效果后,是否自动从'''A'''身上向'''B'''不断发射指定武器,'''默认yes'''
 
可以用'''AutoWeapon.ReceiverOwnBullet控制抛射体的来源单位。'''
 
写此标签时,有以下情况:
 
默认情况(即'''不使用武器标记相关标签''')和'''AutoWeapon.ReceiverAttack=yes'''时:
 
AutoWeapon.ReceiverOwnBullet='''yes''',武器'''来源'''跟随'''武器发射者'''
 
AutoWeapon.ReceiverOwnBullet='''no''',武器'''来源'''跟随'''AttachEffectType来源'''
 
'''AutoWeapon.ReceiverAttack=no'''时:
 
AutoWeapon.ReceiverOwnBullet='''yes''',武器'''来源'''跟随'''AttachEffectType来源'''
 
AutoWeapon.ReceiverOwnBullet='''no''',武器'''来源'''跟随'''武器发射者'''
 
具体用法参考'''用法举例'''的'''武器标记部分'''
 
== 用法举例 ==
 
=== FireToTarget相关 ===
假设'''A'''给'''B'''挂上自动武器AE,'''B'''向'''C'''发射自动武器'''W,W'''来源默认是'''B'''
 
如果额外标注AutoWeapon.ReceiverOwnBullet='''no'''时,'''W'''来源是'''A'''
 
* 也就是说,此时的表现路径实质为:'''A'''给'''B'''挂上自动武器AE,'''B'''向'''C'''打来源为'''A'''的'''W'''
* 此时如果'''C'''因为嘲讽弹头或AI自身判定,想去打揍他的人,那么他就会去揍'''A'''
* 如果'''C'''被这个自动武器打死了,那么获得经验和升星的是'''A'''
 
 
=== 武器标记相关 ===
假设'''A'''给'''B'''挂上自动武器标记,且自动发射的武器为'''W:'''
 
* AutoWeapon.IsAttackerMark=yes
* AutoWeapon.ReceiverAttack=yes
* AutoWeapon.ReceiverOwnBullet=yes


'''AutoWeapon.ReceiverOwnBullet=(Boolean)'''
'''B'''向'''A'''射'''W''',且 '''W'''来源为'''B'''


'''默认yes'''
* AutoWeapon.IsAttackerMark=yes
* AutoWeapon.ReceiverAttack=yes
* AutoWeapon.ReceiverOwnBullet='''no'''


'''默认情况''''''AutoWeapon.ReceiverAttack=yes时:'''
'''B''''''A'''射'''W''',且 '''W'''来源为'''A'''


'''AutoWeapon.ReceiverOwnBullet=yes''','''武器来源'''跟随'''武器发射者'''
* AutoWeapon.IsAttackerMark=yes
* AutoWeapon.ReceiverAttack='''no'''
* AutoWeapon.ReceiverOwnBullet=yes


'''AutoWeapon.ReceiverOwnBullet=no''''''武器来源'''跟随'''AttachEffectType'''来源
'''A'''向'''B'''射'''W''',且 '''W'''来源为'''B'''


'''AutoWeapon.ReceiverAttack=no时:'''
* AutoWeapon.IsAttackerMark=yes
* AutoWeapon.ReceiverAttack='''no'''
* AutoWeapon.ReceiverOwnBullet='''no'''


'''AutoWeapon.ReceiverOwnBullet=no''','''武器来源'''跟随'''武器发射者'''
'''A'''向'''B'''射'''W''','''W'''来源为'''A'''


'''AutoWeapon.ReceiverOwnBullet=no''','''武器来源'''跟随'''AttachEffectType来源'''
如果你使用了'''AttachToSource'''相关的逻辑你需要明确“'''A''''''B'''挂”的步骤,即谁给谁挂


== 样例 ==
'''AutoWeapon.IsAttackerMark=yes'''


'''AutoWeapon.ReceiverAttack=no'''
如果你搞懂了,可以来做个题练练手(省略全部."AutoWeapon"):


'''AutoWeapon.ReceiverOwnBullet=no'''
'''A'''对'''B'''发射弹头,弹头上有'''AttachToSource''',贴'''自动武器1''','''ReceiverAttack'''为'''yes''','''ReceiverOwnBullet'''为'''no,自动武器1'''贴'''自动武器2''','''ReceiverAttack'''为'''yes''','''ReceiverOwnBullet'''为'''no''',那'''自动武器2'''是'''谁打谁'''?


'''A'''与'''B'''非同一所属方,'''A'''给'''B'''挂上此模块''','''自动从'''A'''身上向'''B'''不断发射来源为'''B的'''武器,
[https://bbs.ra2diy.com/forum.php?mod=viewthread&tid=25517 答案参考]

2025年5月3日 (六) 10:08的最新版本

特性&注意项

  • 有三种类别的自动武器:
  1. 攻击预设好的坐标
  2. 平时无法开火,本AE附着对象锁定目标后对目标发射(但是不以抛射体的实际发射进行计数,假设设定了射程限制或者其他条件,在条件不满足时只是不会真的创建抛射体,但是仍然会进行发射动作,也包括了没有目标的情况。如有AutoWeapon.FireOnce则效果会直接结束。如果想要真开火一次后删除本效果,需要在发射的武器上反馈一个叠层检测
  3. 本AE的来源和附着对象之一朝对方发射武器。

[AttachEffectType]

AutoWeapon.WeaponIndex=(Integer)

自动发射单位自身的武器序号,如果赋予抛射体,此条无效,默认-1(不启用)

0=Primary/Weapon1

1=Secondary/Weapon2

2=Weapon3

……

以此类推


优先级高于下一条

AutoWeapon.Types=(List of Weapon)

自动发射的武器,默认none

AutoWeapon.RandomTypesNum=(Integer)

随机使用几个武器,默认0

AutoWeapon.FireFLH=(Integer),(Integer),(Integer)

发射的FLH,默认0,0,0

AutoWeapon.TargetFLH=(Integer),(Integer),(Integer)

目标的FLH,默认0,0,0

AutoWeapon.MoveTo=(Integer),(Integer),(Integer)

如果设定,覆盖TargetFLH等效TargetFLH = FireFLH + MoveTo默认0,0,0


AutoWeapon.EliteWeaponIndex=(Integer)

AutoWeapon.EliteTypes=(List of Weapon)

AutoWeapon.EliteRandomTypesNum=(Integer)

AutoWeapon.EliteFireFLH=(Integer),(Integer),(Integer)

AutoWeapon.EliteTargetFLH=(Integer),(Integer),(Integer)

AutoWeapon.EliteMoveTo=(Integer),(Integer),(Integer)

上述标签的Elite版本,在被附加单位精英等级时调用


AutoWeapon.FireOnce=(Boolean)

武器在发射一次之后强制结束AE,默认no

AutoWeapon.FireToTarget=(Boolean)

如果设定,朝向附属对象的目标开火,当附属对象没有目标时不开火,默认no

AutoWeapon.IsOnTarget=(Boolean)

如果附属对象有目标,发射位置参考目标位置,方向是附属对象面对目标的方向,默认no

AutoWeapon.IsOnTurret=(Boolean)

发射位置和目标位置参考炮塔方向,默认yes

AutoWeapon.IsOnWorld=(Boolean)

发射位置和目标位置以世界坐标做参考,固定朝向北方,不跟随转动,默认no

AutoWeapon.Powered=(Boolean)

建筑需要电力才可以使用,默认no

AutoWeapon.AttackFromSpawnOwner=(Boolean)

启用时,如果是由子机发射的武器,抛射体所属变更为母鸡,武器仍会从子机位置射出,子机为导弹类型时,建议设置为yes,否则得不到经验,默认no

AutoWeapon.ReceiverOwnBullet=(Boolean)不写此标签时,武器来源默认跟随武器发射者

AutoWeapon.DeactiveWhenCivilian=(Boolean)

启用时,当所属是平民时,或者被狙掉了驾驶员,不会激活效果,默认no

攻击者标记专属设置

AutoWeapon.IsAttackerMark=(Boolean)

AB挂上此模块后,是否自动从B身上向A不断发射指定武器,默认no

为yes时,AutoWeapon.TargetFLH设置无效,且下一条有效

AutoWeapon.ReceiverAttack=(Boolean)

是否反转上一条,即A给B挂上此效果后,是否自动从A身上向B不断发射指定武器,默认yes

可以用AutoWeapon.ReceiverOwnBullet控制抛射体的来源单位。

写此标签时,有以下情况:

默认情况(即不使用武器标记相关标签)和AutoWeapon.ReceiverAttack=yes时:

AutoWeapon.ReceiverOwnBullet=yes,武器来源跟随武器发射者

AutoWeapon.ReceiverOwnBullet=no,武器来源跟随AttachEffectType来源

AutoWeapon.ReceiverAttack=no时:

AutoWeapon.ReceiverOwnBullet=yes,武器来源跟随AttachEffectType来源

AutoWeapon.ReceiverOwnBullet=no,武器来源跟随武器发射者

具体用法参考用法举例武器标记部分

用法举例

FireToTarget相关

假设AB挂上自动武器AE,BC发射自动武器W,W来源默认是B

如果额外标注AutoWeapon.ReceiverOwnBullet=no时,W来源是A

  • 也就是说,此时的表现路径实质为:AB挂上自动武器AE,BC打来源为AW
  • 此时如果C因为嘲讽弹头或AI自身判定,想去打揍他的人,那么他就会去揍A
  • 如果C被这个自动武器打死了,那么获得经验和升星的是A


武器标记相关

假设AB挂上自动武器标记,且自动发射的武器为W:

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=yes
  • AutoWeapon.ReceiverOwnBullet=yes

BAW,且 W来源为B

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=yes
  • AutoWeapon.ReceiverOwnBullet=no

BAW,且 W来源为A

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=no
  • AutoWeapon.ReceiverOwnBullet=yes

ABW,且 W来源为B

  • AutoWeapon.IsAttackerMark=yes
  • AutoWeapon.ReceiverAttack=no
  • AutoWeapon.ReceiverOwnBullet=no

ABW,且 W来源为A

如果你使用了AttachToSource相关的逻辑,你需要明确“AB挂”的步骤,即谁给谁挂


如果你搞懂了,可以来做个题练练手(省略全部."AutoWeapon"):

AB发射弹头,弹头上有AttachToSource,贴自动武器1ReceiverAttackyesReceiverOwnBulletno,自动武器1自动武器2ReceiverAttackyesReceiverOwnBulletno,那自动武器2谁打谁

答案参考