Attack fail

Started by Lord Mike, September 03, 2010, 03:41:01 PM

Previous topic - Next topic

Lord Mike

Hello everybody.
I have a big issue with a super attack. Basically it is a grab state. 1p grabs 2p and keeps him up in the air for a while says a few things and hits him or lets him go depending on the answer given. It works on every single enemy, expect for one of them. When grabbed he goes down like a scud missile the very next second. And then 1p and 2p remain freezed: 1p in his grab state and 2p in state 0.
I've attached 2 screenshots.
Spoiler (click to show)

My question is: where am i supposed to look in the *.cns files to fix this? I've tried going through states 0-100 and 5000-5900 and everything looks in order.
何故諦める必要がある? 何を迷うことがある奪い取れ。今は悪魔が微笑む時代なんだ。

Lord Mike

I have managed to narrow my search to these 3 statedefs:

[Statedef 7777]
Type = U
MoveType= A
velset = 0,0

[State 7777]
Type = velset
Trigger1 = 1
y = 0
x = 0

[State 2]
Type = DestroySelf
Trigger1 = IsHelper
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777,Anim2]
Type = ChangeAnim2
Trigger1 = !IsHelper
value = 7777
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State -1]
Type = HitDef
Trigger1 = !IsHelper
Attr = C,NP;ƒŒƒA,È"»'è
Damage = 0,0
AnimType = Light
HitFlag = MAFD
Priority = 1,Hit
PauseTime = 0,0
SparkNo = -1
Guard.SparkNo = -1
Sparkxy = 0,0
Ground.Type = High
Air.Type = High
Ground.SlideTime = 0
Ground.HitTime = 0
Air.HitTime = 0
Ground.Velocity = 0
Air.Velocity = 0,0
AirGuard.Velocity = 0,0
Kill = 0
Fall = 0
Air.Fall = 0
Fall.Recover = 0
GetPower = 0
NumHits = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777,End]
Type = SelfState
TriggerAll=!IsHelper
TriggerAll=NumEnemy>0
Trigger1 = MoveReversed
Trigger2 = Time>0
Trigger3 = Anim!=7777
value = 0
Ctrl = (Enemy,Ctrl)
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
;'ŠŽè§Œä—p"–g‰i‹vƒ^[ƒQƒbƒgŽæ"¾,Ì,½,ß,̃Xƒe[ƒg
;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
[Statedef 7779]
Type = U
MoveType = U

[State 7777,End]
Type = SelfState
Trigger1 = 1
value = 0
Ctrl = (Enemy,Ctrl||P2MoveType=H)
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
;'ŠŽè§Œä—p"–g‰i‹vƒ^[ƒQƒbƒgŽæ"¾,Ì,½,ß,Ì"–gƒwƒ‹ƒp[
;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
[Statedef 77777]
Type = U
MoveType= A
Ctrl = 0

[State 7777]
Type = AttackDist
Trigger1 = 1
value = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777,Anim]
Type = ChangeAnim
Trigger1 = !var(9)
value = 77777
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777]
Type = ReversalDef
Trigger1 = !var(9)
Trigger1 = PrevStateNo!=77777
Reversal.Attr = C,NP;ƒŒƒA,È"»'è
HitFlag = MADF
Priority = 7
PauseTime = 0,0
NumHits = 0
SparkNo = -1
GetPower = 0
P1StateNo = 77777
P2StateNo = 7779
ID = 77777
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777,Anim]
Type = ChangeAnim
Trigger1 = var(9)>0
value = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777]
Type = AssertSpecial
Trigger1 = 1
flag = invisible
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777];–³"G
Type = NotHitBy
Trigger1 = 1
value = SAC,NT,ST,HT,NA,SA,HA,NP,SP,HP,NA,SA,HA
Time = 1
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
;P2—p
;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª

[State 77777,LifeSet];‰ñ•œ–³Œø‰»—p
Type = varSet
TriggerAll=NumTarget
Trigger1 = Time<1
var(0) = Target,Life
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];‰ñ•œ–³Œø‰»
Type = TargetLifeAdd
TriggerAll=NumTarget
TriggerAll=NumEnemy=1
TriggerAll=(Target,Life-var(0))>0
Trigger1 = Root,var(58)>0
Trigger1 = Root,var(39)>0||Root,var(58)>1
Trigger2 = Root,var(39)>999
value = -(Target,Life-var(0))
absolute = 1
Kill = 0
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];‰ñ•œ–³Œø‰»—p
Type = varSet
TriggerAll=NumTarget
Trigger1 = var(0)>=Target,Life
Trigger2 = Root,var(39)=0
var(0) = Target,Life
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];"Å
Type = varAdd
TriggerAll=NumTarget
TriggerAll=GameTime%10=0
Trigger1 = Root,var(58)>1
Trigger1 = Root,var(39)>0
Trigger2 = Root,var(39)>999
var(0) = -(Target,LifeMax*0.005)
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];‰ñ•œ–³Œø‰»—p
Type = varSet
Trigger1 = var(0)<0
var(0) = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];Šm"F—p
Type = varSet
Trigger1 = NumTarget
var(9) = 1
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];Šm"F—p
Type = varSet
Trigger1 = Root,ProjHit(77770)=1
var(8) = 1
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];'§"­Œø‰Ê
Type = TargetPowerAdd
TriggerAll=NumEnemy>0
Trigger1 = NumTarget
Trigger1 = Root,StateNo=199
Trigger1 = Root,Time=1
value = Enemy,PowerMax/2
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];'§"­Œø‰Ê
Type = TargetPowerAdd
TriggerAll=NumEnemy>0
TriggerAll=NumTarget
Trigger1 = NumHelper(1610)
Trigger1 = Helper(1610),StateNo=1615
Trigger1 = Helper(1610),Time=1
Trigger2 = NumHelper(1611)
Trigger2 = Helper(1611),StateNo=1615
Trigger2 = Helper(1611),Time=1
Trigger3 = NumHelper(1612)
Trigger3 = Helper(1612),StateNo=1615
Trigger3 = Helper(1612),Time=1
Trigger4 = NumHelper(1613)
Trigger4 = Helper(1613),StateNo=1615
Trigger4 = Helper(1613),Time=1
Trigger5 = NumHelper(1614)
Trigger5 = Helper(1614),StateNo=1615
Trigger5 = Helper(1614),Time=1
Trigger6 = NumHelper(1615)
Trigger6 = Helper(1615),StateNo=1615
Trigger6 = Helper(1615),Time=1
Trigger7 = NumHelper(1616)
Trigger7 = Helper(1616),StateNo=1615
Trigger7 = Helper(1616),Time=1
Trigger8 = NumHelper(1617)
Trigger8 = Helper(1617),StateNo=1615
Trigger8 = Helper(1617),Time=1
Trigger9 = NumHelper(1618)
Trigger9 = Helper(1618),StateNo=1615
Trigger9 = Helper(1618),Time=1
Trigger10= NumHelper(1619)
Trigger10= Helper(1619),StateNo=1615
Trigger10= Helper(1619),Time=1
Trigger11= NumHelper(1620)
Trigger11= Helper(1620),StateNo=1615
Trigger11= Helper(1620),Time=1
value = -Enemy,PowerMax/20
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];‰ñ•œ–³Œø‰»
Type = TargetState
TriggerAll=NumTarget
TriggerAll=0;var(0)<1
Trigger1 = Target,StateNo=15120||Target,StateNo!=[15100,15150]
Trigger1 = Target,StateNo=5120||Target,StateNo!=[5100,5150]
value = 5050
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];‰ñ•œ–³Œø‰»
Type = TargetState
TriggerAll=NumTarget
TriggerAll=0;var(0)<1
Trigger1 = Target,StateNo=[15100,15150]
Trigger2 = Target,StateNo=[5100,5150]
value = 5150
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

Something in here conflicts with that grab i mentioned earlier. Can someone please help me identify what is?
何故諦める必要がある? 何を迷うことがある奪い取れ。今は悪魔が微笑む時代なんだ。

Cyanide

Can we do some more identification please.

Turn on debug, press it twice to view p2's debug information. Do the move and press the pause key. Then scroll lock through and follow his states. Please paste the relevant states and describe what they do. I would actually blame the second character here. He's the only one with the problem so he probably has some stupidity in him somewhere.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Lord Mike

#3
It is p2's fault.
I've turned on debug and pressed it twice like you suggested, and this is what i get:
Down message:
"ACTIONID: 3105; SPR: 5062,0 ELEMNO 2/2; TIME: 25/-1
STATE NO: 3105; CTRL: 0; TYPE:1; MOVETYPE: 2; TIME:24"

Up message:
"PLAYER SHIN(33) IN STATE 3105: 78.7500009300: WARNING: PLAYER SHIN(33) IN STATE 3105:
HAS NO 1-TH ENEMY"

From what i could figure, there is this piece of code to blame in p2's *.cns file.
;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
;'ŠŽè§Œä—p"–g‰i‹vƒ^[ƒQƒbƒgŽæ"¾,Ì,½,ß,Ì"–gƒwƒ‹ƒp[
;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
[Statedef 77777]
Type = U
MoveType= A
Ctrl = 0

[State 7777]
Type = AttackDist
Trigger1 = 1
value = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777,Anim]
Type = ChangeAnim
Trigger1 = !var(9)
value = 77777
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777]
Type = ReversalDef
Trigger1 = !var(9)
Trigger1 = PrevStateNo!=77777
Reversal.Attr = C,NP;ƒŒƒA,È"»'è
HitFlag = MADF
Priority = 7
PauseTime = 0,0
NumHits = 0
SparkNo = -1
GetPower = 0
P1StateNo = 77777
P2StateNo = 7779
ID = 77777
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777,Anim]
Type = ChangeAnim
Trigger1 = var(9)>0
value = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777]
Type = AssertSpecial
Trigger1 = 1
flag = invisible
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 7777];–³"G
Type = NotHitBy
Trigger1 = 1
value = SAC,NT,ST,HT,NA,SA,HA,NP,SP,HP,NA,SA,HA
Time = 1
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
;P2—p
;,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª

[State 77777,LifeSet];‰ñ•œ–³Œø‰»—p
Type = varSet
TriggerAll=NumTarget
Trigger1 = Time<1
var(0) = Target,Life
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];‰ñ•œ–³Œø‰»
Type = TargetLifeAdd
TriggerAll=NumTarget
TriggerAll=NumEnemy=1
TriggerAll=(Target,Life-var(0))>0
Trigger1 = Root,var(58)>0
Trigger1 = Root,var(39)>0||Root,var(58)>1
Trigger2 = Root,var(39)>999
value = -(Target,Life-var(0))
absolute = 1
Kill = 0
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];‰ñ•œ–³Œø‰»—p
Type = varSet
TriggerAll=NumTarget
Trigger1 = var(0)>=Target,Life
Trigger2 = Root,var(39)=0
var(0) = Target,Life
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];"Å
Type = varAdd
TriggerAll=NumTarget
TriggerAll=GameTime%10=0
Trigger1 = Root,var(58)>1
Trigger1 = Root,var(39)>0
Trigger2 = Root,var(39)>999
var(0) = -(Target,LifeMax*0.005)
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];‰ñ•œ–³Œø‰»—p
Type = varSet
Trigger1 = var(0)<0
var(0) = 0
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];Šm"F—p
Type = varSet
Trigger1 = NumTarget
var(9) = 1
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeSet];Šm"F—p
Type = varSet
Trigger1 = Root,ProjHit(77770)=1
var(8) = 1
IgnoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

;[State 77777,LifeStop];'§"­Œø‰Ê
;Type = TargetPowerAdd
;TriggerAll=NumEnemy>0
;Trigger1 = NumTarget
;Trigger1 = Root,StateNo=199
;Trigger1 = Root,Time=1
;value = Enemy,PowerMax/2
;ID = 0
;IgNoreHitPause = 1
;PauseMoveTime = -1
;SuperMoveTime = -1
;SuperMove = 1

[State 77777,LifeStop];'§"­Œø‰Ê
Type = TargetPowerAdd
TriggerAll=NumEnemy>0
TriggerAll=NumTarget
Trigger1 = NumHelper(1610)
Trigger1 = Helper(1610),StateNo=1615
Trigger1 = Helper(1610),Time=1
Trigger2 = NumHelper(1611)
Trigger2 = Helper(1611),StateNo=1615
Trigger2 = Helper(1611),Time=1
Trigger3 = NumHelper(1612)
Trigger3 = Helper(1612),StateNo=1615
Trigger3 = Helper(1612),Time=1
Trigger4 = NumHelper(1613)
Trigger4 = Helper(1613),StateNo=1615
Trigger4 = Helper(1613),Time=1
Trigger5 = NumHelper(1614)
Trigger5 = Helper(1614),StateNo=1615
Trigger5 = Helper(1614),Time=1
Trigger6 = NumHelper(1615)
Trigger6 = Helper(1615),StateNo=1615
Trigger6 = Helper(1615),Time=1
Trigger7 = NumHelper(1616)
Trigger7 = Helper(1616),StateNo=1615
Trigger7 = Helper(1616),Time=1
Trigger8 = NumHelper(1617)
Trigger8 = Helper(1617),StateNo=1615
Trigger8 = Helper(1617),Time=1
Trigger9 = NumHelper(1618)
Trigger9 = Helper(1618),StateNo=1615
Trigger9 = Helper(1618),Time=1
Trigger10= NumHelper(1619)
Trigger10= Helper(1619),StateNo=1615
Trigger10= Helper(1619),Time=1
Trigger11= NumHelper(1620)
Trigger11= Helper(1620),StateNo=1615
Trigger11= Helper(1620),Time=1
value = -Enemy,PowerMax/20
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];‰ñ•œ–³Œø‰»
Type = TargetState
TriggerAll=NumTarget
TriggerAll=0;var(0)<1
Trigger1 = Target,StateNo=15120||Target,StateNo!=[15100,15150]
Trigger1 = Target,StateNo=5120||Target,StateNo!=[5100,5150]
value = 5050
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

[State 77777,LifeStop];‰ñ•œ–³Œø‰»
Type = TargetState
TriggerAll=NumTarget
TriggerAll=0;var(0)<1
Trigger1 = Target,StateNo=[15100,15150]
Trigger2 = Target,StateNo=[5100,5150]
value = 5150
ID = 0
IgNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

This statedef 77777 has an animation with the following code in it:
[Begin Action 77777]
Clsn1: 1
  Clsn1[0] = -30000, -9999, 30000, -9999
-1,0, 0,0, -1,


Also, this statedef is involved in the AI code. I have tried to remove it and the grab works, the downside is that another p2 in statedef 0 appears and remains on the stage the entire match, and when p2 loses he sinks in the floor.

The states 15120,15100,15150 refer to the states 5120,5100 and 5150.
何故諦める必要がある? 何を迷うことがある奪い取れ。今は悪魔が微笑む時代なんだ。

Cyanide

I am lost here. P1 is in state 3105, and at this point p2 should be in state 7777?

How is p2 even getting into the state you've posted? Do other characters go to that state? More research needed.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Lord Mike

#5
Uhm...i guess i should have tried to explain a little better than i did. Sorry.
Here goes:
p1 begins that grab in state 3100. If the move connects, he goes to state 3101.
p2 goes to state 3105 when grabbed. That state only requires sprite no. 5062,0 and nothing more. Which he has (all chars have that sprite).
I've added below the states for p1.

;,,±,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,±,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
;,,«‰´,Ì–¼'O,ðŒ¾,Á,Ä,Ý,ëI,,«ƒ,[ƒh•Ê,Ő«"\•ω»
;,,³,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,³,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª,,ª
[Statedef 3100]
type     = S
movetype = A
physics  = S
anim     = 3100
ctrl     = 0
sprpriority = 1

[State 3100, AttackDist]
type     = AttackDist
trigger1 = 1
value    = 0

[State 3100, ƒpƒ[ƒQ[ƒWŒ¸­^ƒAƒŒƒ"ƒW]
type     = PowerAdd
trigger1 = !Time
value    = ifelse(var(0),-1000,-2000)

;,,ª,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,²'´•K‰‰o,,°
[State 3100, ŽžŠÔ'âŽ~]
type     = Pause
trigger1 = Time = 4
time     = 30+6
movetime = 30+6

[State 3100, –³"G,P,S,e]
type     = nothitby
trigger1 = !Time
value    = SCA
time     = 14+30

[State 3100, ƒGƒtƒFƒNƒg]
type          = Helper
trigger1      = Time = 4
helpertype    = Normal
name          = "effect"
ID            = 9500
stateno       = 9500
pos           = 20, -60
postype       = p1
keyctrl       = 0
ownpal        = 1
supermovetime = 0
pausemovetime = 30+6
sprpriority   = 3

[state a];
type = Helper
trigger1 = time = 4
id = 16200
name = "BG"
sprpriority = -10
pos = 0,0
postype = back
stateno = 16200
helpertype = normal
supermovetime = 99999
pausemovetime = 99999
keyctrl = 0
ownpal = 1

[State a];
Type = Helper
Trigger1 = time = 3
ID = 3000
Name = "e"
Sprpriority = -5
Pos = 0,-200
PosType = back
StateNo = 8000
HelperType = Normal
SuperMoveTime = 70
PauseMoveTime = 0
KeyCtrl = 0
OwnPal = 1

;[State 3100, "wŒi•ƒJƒbƒgƒCƒ"]
;type          = Helper
;trigger1      = Time = 4
;helpertype    = Normal
;name          = "background&cut-in"
;ID            = 9510
;stateno       = 9510
;pos           = 0, 0
;postype       = left
;keyctrl       = 0
;ownpal        = 1
;supermovetime = 0
;pausemovetime = 30+6
;sprpriority   = -9

;,,ª,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,²•¨—Ý'è,,°
[State 3100, À•W޲ŒÅ'è]
type     = PosFreeze
trigger1 = Time = [4,30+4]
value    = 1

[State 3100, ƒXƒe[ƒgÝ'è‡@]
type     = StateTypeSet
trigger1 = Time = 4
trigger2 = var(20) || PrevStateNo = 500
Physics  = N

[State 3100, ƒXƒe[ƒgÝ'è‡A]
type     = StateTypeSet
trigger1 = Time = 30+4
trigger1 = !var(20) && PrevStateNo != 500
trigger2 = Time >= 30+4
trigger2 = var(20) || PrevStateNo = 500
trigger2 = Abs(Vel X) < 1.0
Physics  = S

[State 3100, '¬"xæŽZ]
type     = VelMul
trigger1 = Time != [4,30+4]
trigger1 = !HitPauseTime
trigger1 = var(20) || PrevStateNo = 500
x        = 0.90

;,,ª,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,ª
[State 3100, ³‰ð"»'è^ƒXƒe[ƒg"àŽ©—R•ϐ"]
type     = VarSet
trigger1 = !Time
var(4)   = 0+(Random%3)

[State 3100, ³‰ð"»'è^ƒXƒe[ƒg"àŽ©—R•ϐ"^•or‹à]
type     = VarSet
trigger1 = var(0) >= 2
trigger1 = !Time
var(4)   = 0+(Random%5)

[State 3100, ƒqƒbƒg'è‹`]
type          = HitDef
trigger1      = AnimElem = 4
trigger1      = P2StateNo != 40
attr          = S, HT
hitflag       = MAFD;M-
guardflag     = ;N
damage        = 0, 0
getpower      = 0, 0
priority      = 10, Hit
sparkno       = -1
guard.sparkno = -1
hitsound      = s4, 3
p1facing      = 1
p2facing      = 1
;p1stateno     = 3101
;p2stateno     = 3105
kill          = 0
numhits       = 0

[State 3100, 'ŠŽèƒXƒe[ƒg§Œä]
type     = TargetState
trigger1 = movehit = 1
trigger1 = NumTarget
value    = ifelse(var(0)>=2,3106,3105)
IgnoreHitPause = 1

[State 3100, "Š,°¬Œ÷]
type     = ChangeState
trigger1 = movehit = 1
trigger1 = NumTarget
trigger1 = Target,StateNo = [3105,3106]
value    = 3101
IgnoreHitPause = 1

[State 3100, "Š,°Ž¸"s]
type     = ChangeState
trigger1 = AnimTime = 0
value    = 0
ctrl     = 1

;,,¦,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,¦,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ
;b‰´,Ì–¼'O,ðŒ¾,Á,Ä,Ý,ëIbŽ©•ª§Œä
;,,¨,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,¨,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ
[Statedef 3101]
type     = S
movetype = A
physics  = S
anim     = 3101
velset   = 0, 0
ctrl     = 0
sprpriority = 1

[State 3101, '¶Ý"»'è]
type     = Width
trigger1 = 1
edge     = 100, 20

[State 3101, 'ŠŽèÀ•WŒÅ'è‡@]
type     = TargetBind
trigger1 = AnimElem = 1
pos      = 60, -130

[State 3101, 'ŠŽèÀ•WŒÅ'è‡A]
type     = TargetBind
trigger1 = AnimElem = 2
pos      = 60, -140

;,,¦||||||||,,¦||||||||||||||||||||
;úUƒwƒ‹ƒp[ŒÄ,яo,µúU
;,,¨||||||||,,¨||||||||||||||||||||
[State 3101, ,«o,µ^Ž©•ª'¤]
type          = Helper
trigger1      = AnimElem = 2
helpertype    = Normal
name          = "hukidasi"
ID            = 3150
stateno       = 3150
pos           = 0, 0
postype       = p1
keyctrl       = 0
ownpal        = 1
supermovetime = 0
pausemovetime = 0
sprpriority   = 10

[State 3101, ,«o,µ^'ŠŽè'¤]
type          = Helper
trigger1      = AnimElemTime(2) = 130
helpertype    = Normal
name          = "e-hukidasi"
ID            = 3160
stateno       = 3160
pos           = 0, 0
postype       = p2
keyctrl       = 0
ownpal        = 1
supermovetime = 0
pausemovetime = 0
sprpriority   = 10

;,,¦||||,,¦||||||||||||||||||||||||
;úU³‰ð"»'èúU
;,,¨||||,,¨||||||||||||||||||||||||
[State 3101, •s³‰ð]
type       = changestate
triggerall = Time >= 140
triggerall = NumTarget
trigger1   = Time >= 170
trigger2   = var(4) = 0
trigger2   = Target,Anim = 3106||Target,Anim = 3107||Target,Anim = 3108||Target,Anim = 3109
trigger2   = Target,command="x"||Target,command="y"||Target,command="z"||Target,command="a"||Target,command="b"||Target,command = "c"
trigger3   = var(4) = 1
trigger3   = Target,Anim = 3105||Target,Anim = 3107||Target,Anim = 3108||Target,Anim = 3109
trigger3   = Target,command="x"||Target,command="y"||Target,command="z"||Target,command="a"||Target,command="b"||Target,command = "c"
trigger4   = var(4) = 2
trigger4   = Target,Anim = 3105||Target,Anim = 3106||Target,Anim = 3108||Target,Anim = 3109
trigger4   = Target,command="x"||Target,command="y"||Target,command="z"||Target,command="a"||Target,command="b"||Target,command = "c"
trigger5   = var(4) = 3
trigger5   = Target,Anim = 3105||Target,Anim = 3106||Target,Anim = 3107||Target,Anim = 3109
trigger5   = Target,command="x"||Target,command="y"||Target,command="z"||Target,command="a"||Target,command="b"||Target,command = "c"
trigger6   = var(4) = 4
trigger6   = Target,Anim = 3105||Target,Anim = 3106||Target,Anim = 3107||Target,Anim = 3108
trigger6   = Target,command="x"||Target,command="y"||Target,command="z"||Target,command="a"||Target,command="b"||Target,command = "c"
value      = 3110

[State 3101, ³‰ð]
type       = changestate
triggerall = Time >= 140
triggerall = NumTarget
triggerall = Target,command="x"||Target,command="y"||Target,command="z"||Target,command="a"||Target,command="b"||Target,command = "c"
trigger1   = var(4) = 0
trigger1   = Target,Anim = 3105
trigger2   = var(4) = 1
trigger2   = Target,Anim = 3106
trigger3   = var(4) = 2
trigger3   = Target,Anim = 3107
trigger4   = var(4) = 3
trigger4   = Target,Anim = 3108
trigger5   = var(4) = 4
trigger5   = Target,Anim = 3109
value      = 3140

;,,¦,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,¦,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ
;b‰´,Ì–¼'O,ðŒ¾,Á,Ä,Ý,ëIb'ŠŽè§Œä^'Í,Ü,ê
;,,¨,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,¨,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ,,Ÿ
[Statedef 3105]
type     = S
movetype = H
physics  = N
velset   = 0, 0
sprpriority = 0

[State 3105, ƒAƒjƒ•ύX,Q]
type     = ChangeAnim2
trigger1 = !Time
value    = 3105

[State 3105, –³"G]
type     = NotHitBy
trigger1 = 1
value    = SCA

[State 3105, ƒJƒƒ‰Ý'è]
type       = screenbound
trigger1   = 1
value      = 1
movecamera = 1, 0

[State 3105, d—Í]
type     = Gravity
trigger1 = P2StateNo = 3110

;,,¦|||,,¦|||||||||||||||||||||||||
;úU'I'ðŽˆúU‡@@Ì@‡A@Ì@‡B
;,,¨|||,,¨|||||||||||||||||||||||||
[State 3105, ‡@Ë‡A]
type     = changeanim2
trigger1 = Time >= 140
trigger1 = anim = 3105
trigger1 = command = "D"
trigger1 = AnimElem = 2, >= 0
value    = 3106

[State 3105, ‡AË‡B]
type     = changeanim2
trigger1 = Time >= 140
trigger1 = anim = 3106
trigger1 = command = "D"
trigger1 = AnimElem = 2, >= 0
value    = 3107

[State 3105, ‡AË‡@]
type     = changeanim2
trigger1 = Time >= 140
trigger1 = anim = 3106
trigger1 = command = "U"
trigger1 = AnimElem = 2, >= 0
value    = 3105

[State 3105, ‡BË‡A]
type     = changeanim2
trigger1 = Time >= 140
trigger1 = anim = 3107
trigger1 = command = "U"
trigger1 = AnimElem = 2, >= 0
value    = 3106

The problem is that the p2 named Shin doesn't stay in that grab and goes below the floor, and then appears next to p1 and remain blocked like that (screenshot no2 in my first post).
I incline to believe that the issue is that statedef 77777 i've posted one post above. If i remove it, p2 goes in and stays in that grab (he acts as he should). The problem is i don't know what the author meant for that state and why did he changed states 5000-5300 to 15000-15300. Also, there are a lot of vars involved there and some animations that use [Begin action 77777] -1,0,0,0-1 and have CLSN's. How is that possible, and why is beyond me.
何故諦める必要がある? 何を迷うことがある奪い取れ。今は悪魔が微笑む時代なんだ。

Cyanide

It sounds like the character has been given super armour. Rather badly in fact. When he attacks does he take the damage and keep going? He's not entering state 3105 at all. You only believe it to be that because if you remove it he works. How does he get into state 7777. This is what we want to look at in debug. That state may have a purpose but if it's super armour the dude just hasn't made a good job of it.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Lord Mike

All i could find about that state was in statedef -2.
[State -2]
Type = HitAdd
Trigger1 = NumHelper(77777+ID)
Trigger1 = Helper(77777+ID),var(9)>0
value = -1

[State -2,P2Ctrl]
Type = Projectile
TriggerAll=NumHelper(77777+ID)
TriggerAll=!Helper(77777+ID),var(8)
TriggerAll=!Helper(77777+ID),var(9)
TriggerAll=NumHelper(30000+ID)
TriggerAll=Helper(30000+ID),var(5)>0
Trigger1 = NumEnemy=1
Trigger1 = Enemy(0),StateNo=0
Attr = S,NT
ProjAnim = 7778
ProjhitAnim = -1
ProjID = 77770
Projpriority = 999999999
ProjSprpriority = 999999999
ProjreMove = 1
ProjreMoveTime = -1
PosType = P1
OffSet = 0,0
velocity = 0
AnimType  = Light
Damage = 0,0
GetPower = 0,0
GivePower = 0,0
GuardFlag =
HitFlag = MAFD
PauseTime = 0,0
SparkNo = -1
Sparkxy = 0,0
hitSound   = -1,0
Guard.Sparkno = -1
GuardSound = -1,0
Ground.Type = high
Ground.SlideTime = 0
Ground.HitTime  = 0
Ground.velocity = 0
Air.velocity = 0,0
P2StateNo = 7777
NumHits = 0

[State -2,P2Ctrl]
Type = Projectile
TriggerAll=NumHelper(77777+ID)
TriggerAll=!Helper(77777+ID),var(8)
TriggerAll=NumHelper(30000+ID)
TriggerAll=Helper(30000+ID),var(5)>0
Trigger1 = NumEnemy=1
Trigger1 = Enemy(0),StateNo=0
Trigger1 = Enemy(0),Time=1
Attr = S,NA
ProjAnim = 7778
ProjhitAnim = -1
ProjID = 77770
Projpriority = 999999999
ProjSprpriority = 999999999
ProjreMove = 1
ProjreMoveTime = -1
PosType = P1
OffSet = 0,0
velocity = 0
AnimType  = Light
Damage = 0,0
GetPower = 0,0
GivePower = 0,0
GuardFlag =
HitFlag = MAFD
PauseTime = 0,0
SparkNo = -1
Sparkxy = 0,0
hitSound   = -1,0
Guard.Sparkno = -1
GuardSound = -1,0
Ground.Type = high
Ground.SlideTime = 0
Ground.HitTime  = 0
Ground.velocity = 0
Air.velocity = 0,0
P2StateNo = 7777
NumHits = 0

[State -2,P2Ctrl]
Type = Projectile
TriggerAll=NumHelper(77777+ID)
TriggerAll=!Helper(77777+ID),var(8)
TriggerAll=NumHelper(30000+ID)
TriggerAll=Helper(30000+ID),var(5)>0
Trigger1 = NumEnemy=1
Trigger1 = Enemy(0),StateNo=0
Trigger1 = Enemy(0),Time=1
Attr = S,NP
ProjAnim = 7778
ProjhitAnim = -1
ProjID = 77770
Projpriority = 999999999
ProjSprpriority = 999999999
ProjreMove = 1
ProjreMoveTime = -1
PosType = P1
OffSet = 0,0
velocity = 0
AnimType  = Light
Damage = 0,0
GetPower = 0,0
GivePower = 0,0
GuardFlag =
HitFlag = MAFD
PauseTime = 0,0
SparkNo = -1
Sparkxy = 0,0
hitSound   = -1,0
Guard.Sparkno = -1
GuardSound = -1,0
Ground.Type = high
Ground.SlideTime = 0
Ground.HitTime  = 0
Ground.velocity = 0
Air.velocity = 0,0
P2StateNo = 7777
NumHits = 0

[State -3];AI‹N"®—pƒwƒ‹ƒp[
Type=Helper
Trigger1 = !NumHelper(77777+ID)
HelperType = Normal
Name = "AI"
StateNo = 77777
ID = 77777+ID
Pos = 0,0
KeyCtrl = 0
igNoreHitPause = 1
PauseMoveTime = -1
SuperMoveTime = -1
SuperMove = 1

This var(9)>0 keeps popping in. I'm gonna see where it leads...
何故諦める必要がある? 何を迷うことがある奪い取れ。今は悪魔が微笑む時代なんだ。

Cyanide

That helper turns on AI. This is bringing it down. Does that character in his custom AI have any attack breaking moves? Burst or other things similar? It sounds like the AI is in fact breaking out of a hitstate. This means there is a counter or recovery happening when movetype = H with no other requirements.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.