Posted by mugenfan89
in turn Character transparent (Started by mugenfan89 December 02, 2021, 12:15:42 am
Board: M.U.G.E.N Configuration Help
Board: M.U.G.E.N Configuration Help
Hmm. No P2stateno detected in HitDef, nor TargetState. Which means the opponent didn't get put into a custom state. Instead, lots of complicated ChangeState(s) and SelfState(s) detected in 5120 - a non-custom StateDef.
I just gave your code a run on my character. Here's a quick fix that I used on the code.
;-
[Statedef 5120]
type = L
movetype= I
physics = N
anim = 5120
ctrl = 0
[State 810, reset]
type = nothitby
trigger1 = time = 0
value = SCA,NA,SA
time = 1
[State 1001, combo receive]
type = selfstate
triggerall = abs(p2dist x) < 60 || abs(p2bodydist x) < 12
trigger1 = p2stateno = 24 && numexplod(24) = 0; not sure
value = 0
ctrl = 1
[State 810, Grab Sound]
type = Statetypeset
trigger1 = time = 12
value = C
[State 810, Grab Sound]
type = Statetypeset
trigger1 = time = 20
trigger2 = AnimTime = 0 && p2dist x < -20
value = S
[State 810, Grab Sound]
type = ctrlset
trigger1 = time = 20 && life > 1
trigger1 = p2dist x > 0
value = 1
[State 810, Grab Sound]
type = assertspecial
trigger1 = time >= 12
flag = nowalk
[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0
value = 0
ctrl = 1
;-
Remove the current [StateDef 5120] and paste this instead. Your problem should be fixed by indicating the "stand-up" animation and remove a couple of redundant ChangeState(s) and SelfState(s).
You can try to open his .cns file, check the "liedown.time" line and reduce the number to 60 or lower. This line determines how long the character lies until he gets up back.
[State ]
type = posadd
trigger1 = !time
x = 103
[State ]
type = posadd
trigger1 = animelem = 9
x = -103
you already have velsets, you should work with those more.
Having big posadds like those will make the character go past the enemy.
The problem should be solved by itself once you put a collision box to the animation.
You can use a posset to bring back player down in second statedef 1402. Y = 0 brings them backdown to the ground
[State 0, PosSet]
type = PosSet
trigger1 = ; animelem = ;or anim=
x = 0
y = 0
;ignorehitpause =
;persistent =
Just take the y parts out of the velset if you want him on the ground. Y means up and down from a velocity point of view. Don't want up? Don't do up.
Your velsets in Statedef 1400 are set with time < xx, which means frame 0 - xx of the state. You may want to use different conditions if you want the first kick to remain on the ground. Also, at the time the move changes to air, you can insert a ChangeStateType to reflect that the character is now in the air (may be useful for when the character is hit out of the move, so it won't float in the air).