Kratos:说明书/叠层检测:修订间差异
小无编辑摘要 |
|||
| (未显示3个用户的6个中间版本) | |||
| 第4行: | 第4行: | ||
层数达成要求时,添加或删除指定的AE。可以指定增删发生在检测器的附着对象上,或检测器的来源上。这样添加的AE默认其来源为检测器的附着对象。 | 层数达成要求时,添加或删除指定的AE。可以指定增删发生在检测器的附着对象上,或检测器的来源上。这样添加的AE默认其来源为检测器的附着对象。 | ||
如果检测的ae没有任何实际效果,一般称为信号。 | |||
这个机制存在联机方面的重大缺陷,极其容易导致断连!!! | |||
== '''但是你不要以为这东西只能做条件判定用''' == | == '''但是你不要以为这东西只能做条件判定用''' == | ||
| 第11行: | 第16行: | ||
== '''已知bug''' == | == '''已知bug''' == | ||
'''Stack.RemoveEffectsSkipNext'''和'''Stack.RemoveSkipNext'''在某些情况下会把Next整个语句都干爆掉。谨慎使用这一机制,如无必要,不要使用。<br>如确实有此功能需求,可参考[[Kratos:说明书/运用范例和模板|'''运用范例和模板''']]中给出的实例<br>检测任何信号,信号AE必须不得为'''仅 1 帧'''的,否则有概率爆炸,无法触发。同时,检测器自己也不要少于2帧,否则有概率触发不了。 | |||
Stack.RemoveEffectsSkipNext在某些情况下会把Next整个语句都干爆掉。谨慎使用这一机制,如无必要,不要使用。 | |||
<br> | |||
== [AttachEffectTypes] == | == [AttachEffectTypes] == | ||
'''Stack.Watch=(AttachEffectType),(AttachEffectType)''' | '''Stack.Watch=(AttachEffectType),(AttachEffectType)''' | ||
| 第25行: | 第27行: | ||
监视的AE叠加到多少层时触发,-1等于无条件触发,'''默认0,0''' | 监视的AE叠加到多少层时触发,-1等于无条件触发,'''默认0,0''' | ||
'''Stack.Condition= (comma-separated | '''Stack.Condition= (two comma-separated strings - Enumeration <code><nowiki>[EQ|NE|GT|LT|GE|LE]</nowiki></code>)''' | ||
条件,''' | 条件,'''默认 EQ,EQ''' | ||
{| class="wikitable" | {| class="wikitable" | ||
| 第95行: | 第97行: | ||
'''Stack.RemoveAll=(Boolean)''' | '''Stack.RemoveAll=(Boolean)''' | ||
触发后移除监视的所有监视的AE,'''默认yes''' | 触发后移除监视的所有监视的AE,'''默认yes''' | ||
这句在启用时,如果多个Stack侦测同一个信号,会在触发任意一个后直接移除信号,使得其他Stack无法触发。非必要不要写yes。 | |||
'''Stack.RemoveSkipNext=(Boolean)''' | '''Stack.RemoveSkipNext=(Boolean)''' | ||
2025年10月29日 (三) 08:58的最新版本
基础特性
此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.RemoveEffectsSkipNext和Stack.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