神级技术进阶-小蛇的宝藏
原作者:小蛇天尊
声明:此宝藏内的教程非官方教程都是本人自己做的笔记,如有解释错误的地方请联系QQ1419690049
(作为转载者,我也是乱排的。不过我添加了一些注释,并且经过原作者同意修改了一些不正确的地方)
-----------------------------------------混线-----------------------------------
看看能不能被即死返 查找lifeset和lifeadd的漏洞
看看能不能被贯通炮、潘多拉杀手、ayuayu杀手即死
看看能不能被变数弄
看看有没有hitby或者hitdef的状态号,如果有hitby就让人物进入受击状态配合溢出伤害,如果有hitdef就让人物返
进自己本H的状态,然后配合当身类技术杀死敌人
--------------------------------------削死----------------------------------------
看看能不能被削死 查看-2下的lifeadd lifeset和noko条件
----------------------------------------其他击破方法---------------------------------------
人物死亡后会不会八百长,如果有就R3 R4 时止对面解除八百长
强制死宣即死
当身类技术配合OTHK即死
伪装击破
helper占有击破
欠损杀手让敌人召唤helper然后被混线类技术击破
超即死投+时止
亲变更变数弄即死
人物有没有死宣,如果有就逆满足对方死宣条件,让对面自杀再进行R3 R4下noko和锁血进行死宣防御击破敌人
其余击破方法请拆人物自行搜索
1,!time贯通
[Statedef -2]
[state ]
type=selfstate
trigger1=!ishelper
value=8888
ignorehitpause=1
[statedef 8888,专用对策]
type = S
movetype = A
physics = S
anim= 100045
ctrl=0
sprpriority = 10
movehitpersist = 1
hitdefpersist = 1
[State !time]
Type = ReversalDef
trigger1 = !target,ishelper
Reversal.Attr = SCA,AA,AP,AT
PauseTime = 0,0
SparkNo = -1
HitSound = -1
p2stateno = -1
numhits = 0
IgnoreHitPause = 1
[State ]
type = TargetState
trigger1 = !target,ishelper
value = 5150
ignorehitpause =1
[Statedef 5150]
type = U
movetype = U
physics = N
ctrl = 0
movehitpersist = 1
hitdefpersist = 1
[state ]
type=hitfalldamage
trigger1=!ishelper
ignorehitpause=1
[State ]
type = lifeset
trigger1 = !ishelper
value = 0
ignorehitpause = 1
注:这是魔女安吉丽娜的对策,如果神级人物结构出现问题可以用这种办法本体对策然后当身转5150
(转载者注:这也是泛用的神级技术,针对以!time为条件的脱离)
魔女:!time贯通用当身p2stateno写-1也可以完成,不一定要用飞行道具,魔女5150下有漏洞。。于是就。。。。。
!time贯通可以配合超即死投来使用
2,NOKO检测
[State ]
type = Null
trigger1=enemy,life=0
trigger1=enemy,alive=1
trigger1=var(0):=1
trigger2=enemy,life=0
trigger2=enemy,alive=0
trigger2=roundstate=2
trigger2=var(0):=1
检测对方生命为0但是alive不为0视为本体使用了noko,当对方life和alive都为0但是卡在了R2视为helper使用了noko
3,八百长检测
[State ]
type = Varadd
trigger1 = roundstate=4
v = 0
value = 1
ignorehitpause=1
[State ]
type = Varset
trigger1 = var(0)>1000
v = 1
value = 1
ignorehitpause=1
在R4的时候开始计时,检测超过一定时间就让某个开关打开
4,变数弄检测
[state ]
type=varset
trigger1 = var(0)!=0 ;var(0)这里举例为不使用的变量
sysfvar(1) = 1
ignorehitpause=1
[State ] ;检测成功
type = LifeSet
trigger1=!ishelper
trigger1=sysfvar(1) = 1
value = 0
ignorehitpause =1
;检测自己某个不使用变量被修改成了0以外的数值使自己sys的变量开关开启等于1,然后检测自己本体这个开关等于1就检测成功(转载者注:只是简单的开关的话 也可以用explod或者proj来开启)
5,超即死检测
[State ]
type = Null
trigger1=life>0
trigger1=alive=0
trigger1=var(1):=1
当自身生命大于0但是alive=0的时候检测
6,脱离检测
[statedef X]
[State ]
type = Varset
trigger1 = numtarget>0
v = 0
value = 1
ignorehitpause=1
[State ]
type = Projectile
trigger1=X
projremovetime = 1
attr = SCA,AA,AT,AP
ProjID = 99999
projanim = 99999
priority = 7,Hit
damage=X
p2getp1state=0
p2stateno= X
projheightbound=-1000000,1000000
projedgebound=1000000
projstagebound=1000000
pausemovetime = 999999999999999
supermovetime = 999999999999999
ignorehitpause = 1
[State ]
type = varset
trigger1 = var(0)=1
trigger1 = enemy,stateno!=X
v = 1
value = 1
ignorehitpause=1
原理:检测自己在X状态下获取了一次目标让某个开关开启,检测到开关开启但是对方不在你的p2状态下时检测成功
7,血量检测
[State ]
type = VarSet
trigger1 = 1
v = 0
value = life
ignorehitpause=1
[State ]
type = VarSet
trigger1=gametime%30=0
v = 1
value = life
ignorehitpause=1
[State ]
type = VarSet
trigger1=1
v = 2
value = var(1)-var(0)
ignorehitpause=1
[State ]
type = Null
trigger1=var(2)>600
trigger1=var(4):=1
[State ]
type = LifeSet
trigger1=var(4)=1
value = lifemax
ignorehitpause=1
[State ]
type = AssertSpecial
trigger1=var(4)=1
flag = noko
ignorehitpause=1
原理:变量0记录着自己每一帧的生命,变量1每多少帧记录自己生命,变量2记录生命值的差,当这个差大于600的时候视为我受到了大于600点伤害,那就让变量4等于1执行锁血和noko
提示:这里测试人物总共生命值1000点,所以只能检测差是小于等于1000点,不然检测不到
8,援护最大值
占满56个helper之后,敌人的helper就召唤不出来,敌人身上用援护进行的神技术全部失效
[state ]
type=helper
trigger1=X
stateno=X
Id=X
helpertype=player
pos=0,0
postype=p1
pausemovetime=2147483647
supermovetime=2147483647
ignorehitpause=1
......写满56个
9,hitby反与movetype=H反(转载者注:可用于ayu杀手等)
[State ]
type = Parentvarset
triggerall = ishelper(X) ;受击helper状态号
triggerall = playerIDexist(parent,ID)
triggerall = stateno != X ;受击helper状态
triggerall = stateno != X ;混线处理状态
triggerall = stateno != [5000,5150] ;排除下落状态
triggerall = !root,var(X) ;不等于这个变量时
trigger1 = sysfvar(0) != gametime
trigger1 = gethitvar(damage)&&movetype=H ;检测自身存在伤害且为受击状态
var(X) = stateno ;记录helper自身的状态
原理:通过利用型探查的办法检测自己受击helper的状态,检测到敌人的大伤害受击状态之后可以通过proj返返送回去,
配合打击类技术杀死敌人
10,life伪装
[Statedef xxx]
[State ]
type = Changeanim
triggerall = ishelper
trigger1 = anim!= xxx&&!numTarget;超大攻击框
trigger2 = anim!= yyy&& numTarget;无框动画
value = ifelse(!numTarget,xxx,yyy)
ignorehitpause = 1
[State ]
type = Screenbound
trigger1 = ishelper
value = 0
ignorehitpause = 1
[State ]
type = Assertspecial
trigger1 = ishelper
flag = invisible
ignorehitpause = 1
[State ]
type = BindToroot
trigger1 = ishelper
pos = 0, 0
ignorehitpause = 1
[State ]
type = statetypeset
trigger1 = IsHelper
trigger1 =!numtarget||target,id != root,id
movetype = A
ignorehitpause = 1
[State 取得本体target]
type = hitdef
trigger1 = IsHelper
trigger1 =!numtarget||target,id != root,id
attr = ,NA
damage = 0,0
hitflag = MAFDP
priority = 7, Hit
pausetime = 0, 0
sparkno = -1
sparkxy = -10, -76
hitsound = -1
ground.velocity = 0
airguard.velocity = 0,0
air.velocity = 0,0
affectteam = F
ignorehitpause = 1
[State ]
type = statetypeset
trigger1 = IsHelper
trigger2 = numtarget&&target,id = root,id
movetype = I
ignorehitpause = 1
[State 永续维持target]
type = ReversalDef
trigger1 = IsHelper
trigger1 = numtarget&&target,id = root,id
reversal.attr = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
ignorehitpause = 1
[State ]
type = TargetDrop
trigger1 = IsHelper
trigger1 = NumTarget > 1
keepone = 1
ignorehitpause=1
[State ]
type = TargetDrop
trigger1 = IsHelper
trigger1 = NumTarget = 1
trigger1 = target,id != root,id
keepone = 0
ignorehitpause=1
[State life伪装]
type = TargetLifeAdd
trigger1 = IsHelper
trigger1 = roundstate < 3
value = -root,lifemax
absolute = 1
ignorehitpause = 1
首先召唤一个上面的helper,对本体进行永续
[Statedef -2]
[State ]
type = LifeSet
trigger1 =!ishelper
value = ifelse(roundstate = 2,(!hitpausetime)+(var(39) >= 10),lifemax)
ignorehitpause = 1
[state ]
type = null
triggerall =!ishelper
trigger1 =!hitpausetime
trigger1 = var(39):= 0
trigger2 = hitpausetime
trigger2 = var(39):= var(39)+1
ignorehitpause = 1
第二种方法
[State ]
type = LifeSet
trigger1=ishelper
trigger1 =roundstate=2
value = 0
ignorehitpause =1
[State ]
type = LifeSet
trigger1=ishelper
trigger1 =roundstate=3
value = lifemax
ignorehitpause =1
[State ]
type = AssertSpecial
trigger1=ishelper
trigger1 =roundstate=2
flag = noko
ignorehitpause =1
某些人物的击破条件是对面life=0,所以生命归0配合noko就可以让对方被击破
如果对方的击破条件是我方alive<=0,那么可以使用强制死宣或者alive伪装成负数击破
10,mugen运行顺序
执行代码的顺序 -3 -2 -1 自定义状态
statedef框里写不能辨别的状态号会在0状态号执行 比如 [statedef @]
比较大的负数状态号可以通过隔离stateno弄进入 比如 [statedef -256]
11,noko
本体noko让life=0时alive=1且不进入R3
helper维持noko让life=0且alive=0时不进入R3
所以某些直死或超即死使alive=0的时候可以用helper noko来防御
最简单的helper维持Noko条件
[State ]
type = AssertSpecial
trigger1=enemy,alive!=0
trigger2=root,life=0||root,alive=0
flag = noko
ignorehitpause=1
12,地下送
[State ]
type = TargetVelSet
trigger1 =1
y = 999999999999999
ignorehitpause=1
当对方Y轴过大时会自动进入下落状态,配合下落即死技术杀死敌人,无视对方某些脱离
下落技术的参数必须是 fall=1 fall.recover=0 不然没用
13,速度伪装&&位置伪装
[State ]
type = VelSet
trigger1=!ishelper
x = 2
y = 2
ignorehitpause =1
或
[State ]
type = VelSet
trigger1=!ishelper
x = 0
y = 0
ignorehitpause =1
位置伪装
[State ]
type = Offset
trigger1=!ishelper
x = X
y = X X为正数
ignorehitpause=1
伪装成正数或者伪装成0,配合即死或者削血类技术击破敌人
(转载者注:伪装系技术都是用来逆满足对面的条件的,如果对面不写相关的就没什么用)
14,强制死宣
[statedef -2]
[State ] ;自杀
type = LifeSet
trigger1=!ishelper
trigger1=X X为达到某种条件
value = 0
ignorehitpause =1
[State ] ;零回
type = LifeSet
trigger1=!ishelper
trigger1=roundstate=[3,4]
value = lifemax
ignorehitpause =1
[State ] ;苏生
type = SelfState
triggerall=!ishelper
trigger1=alive=0
value = X ;苏生中转状态
ignorehitpause = 1
[statedef XX];永续状态
[State ]
type = ReversalDef
trigger1=!target,ishelper ;确认是敌人本体被获取target
reversal.attr =SCA,AA,AT,AP
[State ]
type = TargetlifeAdd
trigger1 = roundstate=[3,4] R3 R4下给予猛毒
value = -9999999999999999999999999999
ignorehitpause =1
[State ]
type = TargetState
trigger1 = roundstate=[3,4] R3 R4下让敌人进超即死投状态
value = X
ignorehitpause =1
(转载者注:时止请配合人物结构添加)
[State ]
type = Pause
trigger1 = roundstate=[3,4] R3 R4下让helper维持时止
time = 9999999999999999999
movetime = 9999999999999999999
ignorehitpause = 1
[State ]
type = Superpause
trigger1 = roundstate=[3,4]
anim = -1
time = 9999999999999999999
movetime = 9999999999999999999
darken = 0
p2defmul = 1
unhittable = 0
ignorehitpause = 1
[statedef X] ;苏生中转状态
type = U
movetype = U
physics = N
ctrl = 0
movehitpersist = 1
hitdefpersist = 1
[state ]
type = changeanim
trigger1=!ishelper
value= X ;巨大红框
ignorehitpause = 1
[State ]
type = Statetypeset
trigger1=!ishelper
statetype = C
movetype = A 维持攻击状态
physics = C
ignorehitpause = 1
[State ]
type = HitDef
trigger1=!ishelper
attr = ,AA
damage = 0
guardflag =
hitflag = MADFL
getpower = 0,0
givepower = 0,0
priority = 7, HIT
pausetime = 30
sparkno = -1
sparkxy = -9999, -9999
hitsound = -1
guardsound = -1
affectteam = f ;攻击友军,也就是自己的受击helper
ignorehitpause=1
[State ]
type = Changestate
trigger1=hitpausetime>2
value = X ;苏生刷值状态
ignorehitpause = 1
[statedef X] ;苏生刷值状态
[state1]
type = Null
trigger1 =1
。。。
刷553个控制器
强制死宣:对方R3下有漏洞的话就可以用强制死宣的办法击破
方法:用漏洞对应的办法 比如R3下的毒或者R2下的即死返或变数弄等等 主要看对方的击破条件是什么
具体操作:先自杀,自杀完毕后转入苏生中转维持锁血
然后本体攻击友方helper获得hitpausetime 最后转入苏生把alive刷成正数
死宣防御方法:R3 R4下维持锁血和noko就可以了(转载者注:R3锁在防御状态号一样可以防御死宣)
15,亲变更
helperA召唤helperB,helperA就是helperB的亲,helperA注销之后helperC填充进来
那么helperC就是helperB的亲,当helperB通过512刷值法修改亲ID为helperC的PlayerID之后
就可以使用Parentvarset来修改helperC的变量
16,邪眼杀手
写完邪眼文件的时候需要排除状态,邪眼状态和自身cns里的状态不要重复,同时要把系统状态也要去除
(转载者注:在cns里的状态也写上邪眼杀手,这被称为本体邪眼杀手)
混线攻击helper状态下
[State ] ;记录0-10000的状态
type = Varset
triggerall=numtarget
trigger1=target,stateno=[1,500]
trigger2=target,stateno=[501,1000]
trigger3=target,stateno=[1001,1500]
trigger4=target,stateno=[1501,2000]
trigger5=target,stateno=[2001,2500]
trigger6=target,stateno=[2501,3000]
trigger7=target,stateno=[3001,3500]
trigger8=target,stateno=[3501,4000]
trigger9=target,stateno=[4001,4500]
trigger10=target,stateno=[4501,5000]
trigger11=target,stateno=[5001,5500]
trigger12=target,stateno=[5501,6000]
trigger13=target,stateno=[6001,6500]
trigger14=target,stateno=[6501,7000]
trigger15=target,stateno=[7001,7500]
trigger16=target,stateno=[7501,8000]
trigger17=target,stateno=[8001,8500]
trigger18=target,stateno=[8501,9000]
trigger19=target,stateno=[9001,9500]
trigger20=target,stateno=[9501,10000]
sysvar(1)=target,stateno
ignorehitpause = 1
[State ]
type = Targetstate
trigger1 = target,ishelper
trigger1 = target,name != "X" ;不等于自己的helper
value = IfElse(random%10,sysvar(1),X) ;带入邪眼记录状态和混线处理状态
ignorehitpause = 1
永续下如果对方helper有hitdef且利用了邪眼式方法锁的话就可以夺取敌人的helper,然后带入邪眼状态,突破邪眼式脱离
永续状态下
[State ]
type = ReversalDef
trigger1=target,ishelper ;让对方的攻击helper被我方永续到
reversal.attr =SCA,AA,AT,AP
[State ]
type = Varset ;状态记录
triggerall=numtarget
trigger1=target,stateno=[1,500]
trigger2=target,stateno=[501,1000]
trigger3=target,stateno=[1001,1500]
trigger4=target,stateno=[1501,2000]
trigger5=target,stateno=[2001,2500]
trigger6=target,stateno=[2501,3000]
trigger7=target,stateno=[3001,3500]
trigger8=target,stateno=[3501,4000]
trigger9=target,stateno=[4001,4500]
trigger10=target,stateno=[4501,5000]
trigger11=target,stateno=[5001,5500]
trigger12=target,stateno=[5501,6000]
trigger13=target,stateno=[6001,6500]
trigger14=target,stateno=[6501,7000]
trigger15=target,stateno=[7001,7500]
trigger16=target,stateno=[7501,8000]
trigger17=target,stateno=[8001,8500]
trigger18=target,stateno=[8501,9000]
trigger19=target,stateno=[9001,9500]
trigger20=target,stateno=[9501,10000]
sysvar(1)=target,stateno
ignorehitpause = 1
[State ]
type = Targetstate
trigger1 = 1
value = sysvar(1) ;带入邪眼状态
ignorehitpause = 1
原理:有些人物不容易被混线到,因为需要让人物召唤出未被锁定的helper才能被混线夺取,于是我们就可以通过混线或者永续让对方进入大量的状态号进行读取,如果对方人物本体或者helper被我们获取了target之后刚刚好进入了那个可以召唤helper但是helper没有锁定的状态就可以被我方给混线到
(转载者注:最开始邪眼杀手只是对stateno!=XXX为条件的脱离(邪眼式脱离)的一种逆满足对策)
邪眼BUG:MUGEN在读取数不清的状态号的时候会暂时省略这些状态号
好处:写了邪眼之后会更容易取得敌人的helper,特别是全领域邪眼
17,ayuayu杀手
(转载者注:这个上面有提到怎么探查,不懂可以回去看)
ayuayu杀手也叫亚由亚杀手
举例:A人物可以被混线夺取但是遇到大伤害有霸体作为保护所以不能被即死
B人物混线夺取A人物的helper之后用proj bug把对方打进一个对方cns里不存在的空状态号,然后配合落下即死或超即死投杀死对面
原理:人物进入空状态号的时候霸体处理不了溢出伤害,所以被即死了
18,A封
A封就是AI封印
将本体和helper都锁在5150就可以让对方的AI判定失效,卡在0状态
(转载者注:同时也可以让p2系重定向无法检测到,这也经常用在正常向的ai对战中)
19,helper normal化
通过混线夺取对方helper之后让对方helper进入混线处理
混线处理下让对方的helper进行A状态刷值
A状态下刷6701个null确认地址然后赋值为0
[statedef X] normal化刷值状态
[state1]
type = Null
trigger1 =1
。。。
刷6701个控制器
声明:需要混线anim探查成功后才能使用normal化技术
原理:player型helper可以用作凶恶技术 normal型helper只能用作技能和演出 helpertype这个内存位置刷成0之后对方的player型helper就变成了normal型helper,这样对面的某些凶恶技术就失效了,从而破坏人物结构
20,本体state固
原理:让人物锁定之后不会进入对方的p2状态同时维持自身的技能动画
有两种固定办法,一种是进入技能锁技能状态,一种是常时锁定在一个自己设定的状态,比如锁120
如果要锁技能状态的话我们需要在-2下加入这个
[state ]
type = selfstate;
triggerall = !ishelper
trigger1 = anim = X 本体等于这个动画的时候
value = X 锁定在这个技能状态
ignorehitpause=1
然后在技能状态下要修改下属性
[Statedef X]
type = U
movetype = U ;按这种格式修改属性
physics = N
movehitpersist = 1
hitdefpersist = 1
[State ]
type = Changeanim
trigger1 = anim != X ;按这种格式,动画不等于这个动画时锁在这个动画
value = X
ignorehitpause = 1
如果你在这个statedef里面使用了time条件,那么你需要使用一个var记录时间代替time使用
[State ]
type = Varadd
trigger1 = 1
var(X) = 1 代替时间进行记录
ignorehitpause = 1
[State ]
type = Hitdef
trigger1=var(x)=x 记录的变量等于几帧触发
attr = SCA, AA, AT, AP
damage=X
priority = 7, hit
ignorehitpause = 1
在离开这个statedef前,需要把变量清0
[State]
type = Varset
trigger1 = AnimTime = 0
var(X) = 0
ignorehitpause = 1
[State ]
type = ChangeState
trigger1 = AnimTime = 0
value = X ;状态转出
ignorehitpause = 1
如果要常时锁在一个状态的话需要在-2下加入锁,比如锁120
[State ]
type = Selfstate
trigger1 = !ishelper
value = 120
ignorehitpause = 1
[Statedef 120]
type = U
movetype = U
physics = U
movehitpersist = 1
hitdefpersist = 1
[State ]
type = Null
trigger1 = 1
ignorehitpause = 1
然后每个自己会进入的cns状态都要按照上面的格式修改属性,拉p2的状态不用,需要一个个去仔细修改
21,装甲贯通炮&&潘多拉杀手
混线处理下
[State 贯通炮]
type = Projectile
trigger1 = Ishelper
trigger1 = Root,Alive
projanim = X ;红框探查动画
projid = random
projremove = 0
projremovetime = 5
projscale = 1.0,1.0
velocity = 0,0
affectteam = b
postype = p1
numhits = 0
offset = 0,0
attr = C,HP
hitflag = MAFPDL
damage = 0
sparkno = -1
guard.sparkno = -1
p1stateno = 5110
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999
[State 潘多拉杀手]
type = Projectile
trigger1 = Ishelper
trigger1 = Root,Alive
projanim = X ;红框探查动画
projid = random
projremove = 0
projremovetime = 5
projscale = 1.0,1.0
velocity = 0,0
affectteam = b
postype = p1
numhits = 0
offset = 0,0
attr = C,HP
hitflag = MAFPDL
damage = 0
sparkno = -1
guard.sparkno = -1
p1stateno = 110
ignorehitpause = 1
supermovetime = 9999999
pausemovetime = 9999999
-2下
[State 落下即死]
type = Projectile
trigger1=!ishelper
projremovetime = 1
attr = SCA,AA,AT,AP
ProjID = random
projanim = X ;巨大红框
priority = 7,Hit
damage=99999999999999999
fall=1
fall.recover=0
fall.damage=99999999999999999999
p2getp1state=0
p2stateno= 5110
projheightbound=-1000000,1000000
projedgebound=1000000
projstagebound=1000000
pausemovetime = 999999999999999
supermovetime = 999999999999999
ignorehitpause = 1
贯通炮:对方被混线到之后进入5110然后被落下即死的proj打中进入fall伤害被即死
潘多拉杀手:对方被混线到之后进入110然后被落下即死的proj打中进入fall伤害被即死
人物的110和115状态号下有hitby无敌解除代码所以使用潘多拉杀手之后可以被我方proj打到
22,精密溢出打击即死
原理:所谓精密就是通过计算对方的防御值来决定造成多少伤害
[state ] ;对方防御值记录
type = varset
trigger1 =!ishelper
trigger1 = numenemy
var(16) = abs(enemy,const(data.defence))
ignorehitpause = 1
[state ] ;开始计算
type = null
triggerall =!ishelper
triggerall = var(16) = [1,100]
trigger1 = var(16) = 50||var(16) = 64||var(16) = 80
trigger1 = 1||var(17):= 1
trigger2 = (var(16) = [2,4])||var(16) = 10||var(16) = 16||var(16) = 18||(var(16) = [20,21])||var(16) = 32
trigger2 = 1||var(17):= 2
trigger3 = var(16) = 6||var(16) = 8||var(16) = 14||var(16) = 51
trigger3 = 1||var(17):= 3
trigger4 = var(16) = 7||var(16) = 9
trigger4 = 1||var(17):= 5
trigger5 = (var(16) = [11,12])
trigger5 = 1||var(17):= 6
trigger6 = var(16) = 62
trigger6 = 1||var(17):= 8
trigger7 = var(16) = 37
trigger7 = 1||var(17):= 16
trigger8 = var(16) = 41||var(16) = 63
trigger8 = 1||var(17):= 20
trigger9 = var(16) = 71
trigger9 = 1||var(17):= 21
trigger10 = var(16) = 69
trigger10 = 1||var(17):= 22
trigger11 = var(16) = 73
trigger11 = 1||var(17):= 24
trigger12 = var(16) = 39||var(16) = 65
trigger12 = 1||var(17):= 27
trigger13 = var(16) = 55
trigger13 = 1||var(17):= 34
trigger14 = var(16) = 74
trigger14 = 1||var(17):= 35
trigger15 = var(16) = 59
trigger15 = 1||var(17):= 40
trigger16 = var(16) = 82
trigger16 = 1||var(17):= 43
trigger17 = var(16) = 45||var(16) = 70
trigger17 = 1||var(17):= 45
trigger18 = var(16) = 75
trigger18 = 1||var(17):= 46
trigger19 = var(16) = 78
trigger19 = 1||var(17):= 57
trigger20 = var(16) = 83
trigger20 = 1||var(17):= 67
trigger21 = var(16) = 95
trigger21 = 1||var(17):= 73
trigger22 = var(16) = 85
trigger22 = 1||var(17):= 77
trigger23 = var(16) = 93
trigger23 = 1||var(17):= 88
trigger24 = var(16) = 93
trigger24 = 1||var(17):= 90
trigger25 = var(16) = 91
trigger25 = 1||var(17):= 96
trigger26 = var(16) = 1
trigger26 = 1||var(17):= 558345749
trigger27 = var(16) = 5
trigger27 = 1||var(17):= 644245095
trigger28 = var(16) = 13
trigger28 = 1||var(17):= 558345758
trigger29 = var(16) = 17
trigger29 = 1||var(17):= 730144446
trigger30 = var(16) = 19
trigger30 = 1||var(17):= 816043791
trigger31 = var(16) = 22
trigger31 = 1||var(17):= 944892810
trigger32 = var(16) = 25
trigger32 = 1||var(17):= 1073741824
trigger33 = var(16) = 31
trigger33 = 1||var(17):= 1331439857
trigger34 = var(16) = 35
trigger34 = 1||var(17):= 1503238536
trigger35 = var(16) = 38
trigger35 = 1||var(17):= 1632087581
trigger36 = var(16) = 40
trigger36 = 1||var(17):= 1717986919
trigger37 = var(16) = 46
trigger37 = 1||var(17):= 1975684976
trigger38 = var(16) = 57
trigger38 = 1||var(17):= -5
trigger39 = var(16) = 47
trigger39 = 1||var(17):= -6
trigger40 = var(16) = 23||var(16) = 44
trigger40 = 1||var(17):= -7
trigger41 = var(16) = 33
trigger41 = 1||var(17):= -8
trigger42 = var(16) = 29||var(16) = 42
trigger42 = 1||var(17):= -9
trigger43 = var(16) = 15
trigger43 = 1||var(17):= -10
trigger44 = var(16) = 27;||var(49)
trigger44 = 1||var(17):= -11
trigger45 = var(16) = 26||var(16) = 34||var(16) = 66
trigger45 = 1||var(17):= -12
trigger46 = var(16) = 56
trigger46 = 1||var(17):= -13
trigger47 = var(16) = 94
trigger47 = 1||var(17):= -14
trigger48 = var(16) = 77
trigger48 = 1||var(17):= -15
trigger49 = var(16) = 30||var(16) = 84
trigger49 = 1||var(17):= -16
trigger50 = var(16) = 24||var(16) = 76||var(16) = 88
trigger50 = 1||var(17):= -17
trigger51 = var(16) = 54
trigger51 = 1||var(17):= -18
trigger52 = var(16) = 98
trigger52 = 1||var(17):= -19
trigger53 = var(16) = 53||var(16) = 58
trigger53 = 1||var(17):= -20
trigger54 = var(16) = 79
trigger54 = 1||var(17):= -24
trigger55 = var(16) = 68
trigger55 = 1||var(17):= -27
trigger56 = var(16) = 81
trigger56 = 1||var(17):= -28
trigger57 = var(16) = 36||var(16) = 60
trigger57 = 1||var(17):= 30
trigger58 = var(16) = 52||var(16) = 87
trigger58 = 1||var(17):= -31
trigger59 = var(16) = 43
trigger59 = 1||var(17):= -34
trigger60 = var(16) = 61
trigger60 = 1||var(17):= -36
trigger61 = var(16) = 92
trigger61 = 1||var(17):= -37
trigger62 = var(16) = 48
trigger62 = 1||var(17):= -40
trigger63 = var(16) = 67||var(16) = 89
trigger63 = 1||var(17):= -50
trigger64 = var(16) = 72
trigger64 = 1||var(17):= -58
trigger65 = var(16) = 86
trigger65 = 1||var(17):= -67
trigger66 = var(16) = 96
trigger66 = 1||var(17):= -78
trigger67 = var(16) = 99
trigger67 = 1||var(17):= -103
trigger68 = var(16) = 97
trigger68 = 1||var(17):= -116
trigger69 = var(16) = 100
trigger69 = 1||var(17):= 0
ignorehitpause = 1
[state ]
type=null
triggerall =!ishelper
triggerall = var(16) = [1,100]
trigger1 = var(16) = 18
trigger1 = 1||var(18):= -14
trigger2 = var(16) = 12
trigger2 = 1||var(18):= -13
trigger3 = var(16) = 9
trigger3 = 1||var(18):= -9
trigger4 = var(16) = 59||(var(16) = [69,70])
trigger4 = 1||var(18):= -8
trigger5 = var(16) = 6||var(16) = 57
trigger5 = 1||var(18):= -5
trigger6 = var(16) = 11
trigger6 = 1||var(18):= -2
trigger7 = var(16) = 3||var(16) = 8
trigger7 = 1||var(18):= -1
trigger8 = var(16) = 13
trigger8 = 1||var(18):= 5
trigger9 = var(16) = 17
trigger9 = 1||var(18):= 6
trigger10 = var(16) = 1||var(16) = 5||var(16) = 15||var(16) = 19||var(16) = 22||var(16) = 25||var(16) = 27||(var(16) = [30,31])||var(16) = 33||(var(16) = [35,43])||(var(16) = [45,46])||(var(16) = [48,49])||var(16) = 53
trigger10 = 1||var(18):= 4
trigger11 = (var(16) = [55,56])||(var(16) = [62,63])||(var(16) = [75,76])||var(16) = 79||var(16) = 86
trigger11 = 1||var(18):= 4
ignorehitpause = 1
[state ]
type = null
triggerall=!ishelper
triggerall = var(16) = [1,100]
trigger1 = var(16) = 11||var(16) = 7||var(16) = 14||var(16) = 21||var(16) = 28
trigger1 = 1||var(19):= -5
trigger2 = var(16) = 13||var(16) = 26
trigger2 = 1||var(19):= -3
trigger3 = var(16) = 3||var(16) = 6||var(16) = 9||var(16) = 12||var(16) = 18||var(16) = 24
trigger3 = 1||var(19):= -2
ignorehitpause = 1
[state ] 精密打击
type = Projectile
triggerall = !ishelper
trigger1 = var(16) = [1,100]
attr = SCA, AA,AT,AP
projid = 151
projanim = X
damage = -2147483648+21474000*(100-var(16))+floor(83648*(1-0.01*var(16)))+var(17)
projmisstime = 1
projremovetime = 1
sparkno = -1
guard.sparkno = -1
offset = enemynear,pos x,enemynear,pos y
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state ]
type = Projectile
triggerall = !ishelper
trigger1 = var(16) = [1,100]
attr = SCA, AA,AT,AP
projid = 152
projanim = X
projremovetime = 1
damage = -4+var(18)
sparkno = -1
guard.sparkno = -1
offset = enemynear,pos x,enemynear,pos y
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state ]
type = Projectile
triggerall = !ishelper
trigger1 = var(16) = [1,100]
attr = SCA, AA,AT,AP
projid = 153
projanim = X
projremovetime = 1
damage = var(19)
sparkno = -1
guard.sparkno = -1
offset = enemynear,pos x,enemynear,pos y
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state ]
type = Projectile
triggerall = !ishelper
trigger1 = var(16) = [1,100]
attr = SCA, AA,AT,AP
projid = 161
projanim = X
damage = -2147483648+21474000*(100-var(16))+floor(83648*(1-0.01*var(16)))+var(17)
projmisstime = 1
projremovetime = 1
sparkno = -1
guard.sparkno = -1
offset = enemynear,pos x,enemynear,pos y
fall = 1
fall.damage = enemy,lifemax
fall.recover = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state ]
type = Projectile
triggerall = !ishelper
trigger1 = var(16) = [1,100]
attr = SCA, AA,AT,AP
projid = 162
projanim = X
projremovetime = 1
damage = -4+var(18)
sparkno = -1
guard.sparkno = -1
offset = enemynear,pos x,enemynear,pos y
fall = 1
fall.damage = enemy,lifemax
fall.recover = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
[state ]
type = Projectile
triggerall = !ishelper
trigger1 = var(16) = [1,100]
attr = SCA, AA,AT,AP
projid = 163
projanim = X
projremovetime = 1
damage = var(19)
sparkno = -1
guard.sparkno = -1
offset = enemynear,pos x,enemynear,pos y
fall = 1
fall.damage = enemy,lifemax
fall.recover = 0
supermovetime = 2147483647
pausemovetime = 2147483647
ignorehitpause = 1
23,欠损杀手
通过永续让对方进入p2stateno,p2stateno写对方cns代码中有normal helper的状态号
欠损少女本来是不会被对方混线到的,但是4017状态号下有漏洞,被对方永续进入4017状态号之后强行召唤了一个normal的helper,然后被对方混线夺取之后用贯通炮杀死了
注:永续代码格式
[state ]
type=reversaldef
trigger1=enemynear,name="E Youmu"
reversal.attr=sca,aa,at,ap
pausetime=0,0
sparkno=-1
numhits=0
p2stateno = 4017
p2getp1state = 0
ignorehitpause=1
p2getp1state = 0 意思是让对方进入自己的cns状态,等于1就是进入我方的cns状态
24,时止解除&&奇虾杀手
召唤一个helper不断自我毁灭
helper状态下
[State ] ;时止解除
type = Pause
trigger1=ishelper
time = 0
movetime = 0
ignorehitpause = 1
[State ]
type = Superpause
trigger1=ishelper
anim = -1
time = 0
movetime = 0
darken = 0
p2defmul = 1
unhittable = 0
ignorehitpause = 1
[State ] ;奇虾杀手
type = Pause
triggerall=ishelper
trigger1=enemy,movetype=A
time = 2
movetime = 2
ignorehitpause = 1
[State ]
type = Superpause
triggerall=ishelper
trigger1=enemy,movetype=A
anim = -1
time = 2
movetime = 2
darken = 0
p2defmul = 1
unhittable = 0
ignorehitpause = 1
[State ]
type = DestroySelf
trigger1=ishelper(X) helper的id
trigger1=gametime%2=0 ;不断的自我毁灭再生成
原理:和mugen读取顺序有关,先读取时止解除再读取时止,通过自身的时止解除,解除自己的时止
谢谢教程,真的很实用