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

Kratos:说明书/叠层检测:修订间差异

来自RA2DIY
Kenosis留言 | 贡献
创建页面,内容为“== '''基础特性''' == 此AE附着在物体上后,每帧判定物体身上指定名称AE(可以是几个判定对象)的层数。 层数达成要求时,添加或删除指定的AE。可以指定增删发生在检测器的附着对象上,或检测器的来源上。这样添加的AE默认其来源为检测器的附着对象。 == '''但是你不要以为这东西只能做条件判定用''' == 众所周知,AE的Next语句只能填写1个对象。当…”
 
CCC1478留言 | 贡献
第12行: 第12行:
Stack.RemoveEffectsSkipNext在某些情况下会把Next整个语句都干爆掉。谨慎使用这一机制,如无必要,不要使用。
Stack.RemoveEffectsSkipNext在某些情况下会把Next整个语句都干爆掉。谨慎使用这一机制,如无必要,不要使用。


== '''语句''' ==
== [AttachEffectTypes] ==
[AttachEffectTypes]
'''Stack.Watch=(AttachEffectType),(AttachEffectType)'''


Stack.Watch=AE1,AE2;待监视的AE
待监视的AE,'''默认none'''


Stack.Level=0,0 ;监视的AE叠加到多少层时触发,-1等于无条件触发
'''Stack.Level=(Ingeter),(Ingeter)'''


Stack.Condition=EQ,EQ ;条件,EQ=等于,NE=不等于,GT=大于,LT=小于,GE=大于等于,LE=小于等于
监视的AE叠加到多少层时触发,-1等于无条件触发,'''默认0,0'''


Stack.ActionMode=OR ;监视多条AE时触发条件,AND=与,OR=或,AND时AE1和AE2必须同时满足,才会触发
'''Stack.Condition=(Special),(Special)'''


Stack.AttachEffects=AE1,AE2 ;触发后赋予的新AE
条件,'''默认EQ,EQ'''


Stack.AttachChances=100%,100% ;附加效果的成功率
'''EQ''':等于


Stack.AttachToSource=no ;触发后向Stack的来源附加AE,而是附着对象
'''NE''':等于


Stack.RemoveEffects=AE1,AE2 ;触发后移除的AE
'''GT''':大于


Stack.RemoveEffectsLevel=0,0 ;触发后移除的AE对应的层数
'''LT''':小于


Stack.RemoveEffectsWithMarks=none ;触发后移除带这些标记的AE
'''GE''':大于等于


Stack.RemoveEffectsSkipNext=no ;触发后移除的AE将跳过Next
'''LE''':小于等于


Stack.RemoveToSource=no ;触发后向Stack的来源移除AE,而不是附着对象
'''Stack.ActionMode=(Special)'''


Stack.TriggeredTimes=-1 ;触发多少次后移除自身
监视多条AE时触发条件,AND时AE1和AE2必须同时满足,才会触发,'''默认OR'''


Stack.RemoveLevel=0,0 ;触发后移除指定层数监视的AE,从先赋予的开始按赋予顺序关闭,设置>0时优先级高于RemoveAll
'''AND''':与


Stack.RemoveAll=yes ;触发后移除监视的所有监视的AE
'''OR''':或


Stack.RemoveSkipNext=no ;触发后移除监视的AE,并且跳过Next
'''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.RemoveSkipNext=(Boolean)'''
 
触发后移除监视的AE,并且跳过Next,'''默认no'''


== 简单样例 ==
== 简单样例 ==

2025年3月23日 (日) 20:09的版本

基础特性

此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.RemoveEffectsSkipNext在某些情况下会把Next整个语句都干爆掉。谨慎使用这一机制,如无必要,不要使用。

[AttachEffectTypes]

Stack.Watch=(AttachEffectType),(AttachEffectType)

待监视的AE,默认none

Stack.Level=(Ingeter),(Ingeter)

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

Stack.Condition=(Special),(Special)

条件,默认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.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