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

Kratos:说明书/叠层检测

来自RA2DIY

基础特性

此AE附着在物体上后,每帧判定本AE附着的物体身上指定名称AE(可以是几个判定对象)的层数。

层数达成要求时,添加或删除指定的AE。可以指定增删发生在检测器的附着对象上,或检测器的来源上。这样添加的AE默认其来源为检测器的附着对象。

如果检测的ae没有任何实际效果,一般称为信号。


这个机制存在联机方面的重大缺陷,极其容易导致断连!!!

但是你不要以为这东西只能做条件判定用

众所周知,AE的Next语句只能填写1个对象。当你需要在一个AE结束,目标获得一串AE时,应当Next为一个检测自己存在1层的检测器,于是就可以增加一串AE了。

如果假设A单位和B单位之间需要互相产生来自对方的AE建立绑定关系,A可以用弹头、礼物盒、广播等手段给B贴AE,那么费劲的做法是A同时给B贴个自动武器标记,让B发射个武器打A,给A贴AE。需要做一套武器还得注册,实在是烦死了。简单的做法是A同时给B贴个叠层检测,检测器检测自己,给检测器来源贴AE。

已知bug

Stack.RemoveEffectsSkipNextStack.RemoveSkipNext在某些情况下会把Next整个语句都干爆掉。谨慎使用这一机制,如无必要,不要使用。
如确实有此功能需求,可参考运用范例和模板中给出的实例
检测任何信号,信号AE必须不得为仅 1 帧的,否则有概率爆炸,无法触发。同时,检测器自己也不要少于2帧,否则有概率触发不了。

[AttachEffectTypes]

Stack.Watch=(AttachEffectType),(AttachEffectType)

待监视的AE,默认none

Stack.Level=(Ingeter),(Ingeter)

监视的AE叠加到多少层时触发,-1等于无条件触发,默认0,0

Stack.Condition= (two comma-separated strings - Enumeration [EQ|NE|GT|LT|GE|LE])

条件,默认 EQ,EQ

含义
EQ 等于
NE 不等于
GT 大于
LT 小于
GE 大于等于
LE 小于等于

Stack.ActionMode=(Special)

监视多条AE时触发条件,AND时AE1和AE2必须同时满足,才会触发,默认OR

AND:与

OR:或

Stack.AttachEffects=(List of AttachEffectType)

触发后赋予的新AE,默认none

Stack.AttachChances=(List of Integer - Precent)

附加效果的成功率,默认100%,100%

Stack.AttachToSource=(Boolean)

触发后向Stack的来源附加AE,而不是附着对象,默认no

Stack.RemoveEffects=(List of AttachEffectType)

触发后移除的AE,默认none

Stack.RemoveEffectsLevel=(List of Integer)

触发后移除的AE对应的层数,默认0,0

Stack.RemoveEffectsWithMarks=(List of MarkType)

触发后移除带这些标记的AE,默认none

Stack.RemoveEffectsSkipNext=(Boolean)

触发后移除的AE将跳过Next,默认no

Stack.RemoveToSource=(Boolean)

触发后向Stack的来源移除AE,而不是附着对象,默认no

Stack.TriggeredTimes=(Integer)

触发多少次后移除自身,默认-1

Stack.RemoveLevel=(List of Integer)

触发后移除指定层数监视的AE,从先赋予的开始按赋予顺序关闭,设置>0时优先级高于RemoveAll默认0,0

Stack.RemoveAll=(Boolean)

触发后移除监视的所有监视的AE,默认yes

这句在启用时,如果多个Stack侦测同一个信号,会在触发任意一个后直接移除信号,使得其他Stack无法触发。非必要不要写yes。

Stack.RemoveSkipNext=(Boolean)

触发后移除监视的AE,并且跳过Next,默认no

简单样例

效果如上
[120mm]
Feedback.AttachEffects=Firesig

[Firesig]
Animation=INVISO
Duration=2

[AP]
AttachEffectTypes=Trigger
AttachToSource=yes
CellSpread=2

[Trigger]
Stack.Watch=Firesig
Stack.Level=1
Stack.Condition=GE
Stack.AttachEffects=WEAPON
Stack.AttachToSource=yes
Duration=400
Cumulative=attacker
Stack.TriggeredTimes=3
MaxStack=3

[WEAPON]
AutoWeapon.Types=MissileLauncher
AutoWeapon.IsAttackerMark=yes
AutoWeapon.ReceiverAttack=no
AutoWeapon.FireOnce=yes