Special move issue

Started by mugenfan89, January 25, 2021, 04:48:20 PM

Previous topic - Next topic

mugenfan89

One of my chars while performing three kicks in a row will usually start to jump and perform them on air, I would like him to stay on the ground while he performs those kick and not in the air, is there any way I could change this ?

Any help is appreciated.

Here is the code.

; triple kick's------------------------------------------------

[Statedef 1400]
type    = S
movetype= A
physics = S
juggle  = 4
ctrl = 0
anim = 1400
sprpriority = 2

[State 1976, 1]
type = VelSet
trigger1 = Time < 14
x = 7
y = -2.25

[State 1976, 2]
type = VelSet
trigger1 = Time > 14
trigger1 = Time < 18
x = 10
y = -1.25

[State 1976, 3]
type = VelSet
trigger1 = Time > 18
x = 8
y = 1

[State 3443, 1]
type = PlaySnd
trigger1 = animelem = 4
value = 4, 10

[State 3443, 1]
type = PlaySnd
trigger1 = time = 0
value = 4, 14

[State 3443, 3]
type = HitDef
trigger1 = !movecontact
attr = S, NA
animtype  = Back
damage    = 120, 20
guardflag = HL
hitflag = MAF
pausetime = 0,0
sparkno = -1
guard.sparkno = -1
hitsound = 5,0
guardsound = 5,14
ground.type = High
ground.slidetime = 30
p2facing = 1
guard.ctrltime = 20
guard.slidetime = 20
ground.hittime  = 30
ground.velocity = -4,-5
air.velocity = -5,-5
air.hittime = 17
fall.recover = 0
ground.cornerpush.veloff = -25
p1stateno = 1401
envshake.time = 13
envshake.freq = 60
envshake.ampl = 6
kill       = (Var(9) = 0)
fall.kill  = (Var(9) = 0)
guard.kill = (Var(9) = 0)


[State 1000, Bounf]
type = ChangeState
trigger1 = Moveguarded = 1
value = 1402

[State 1000, BounceOff]
type = ChangeState
trigger1 = AnimTime = 0
ctrl = 1
value = 0

[StateDef 1401]
type    = S
movetype= A
physics = S
juggle  = 2
ctrl = 0
anim = 1410

[State 1100, aAccell]
type = VelAdd
trigger1 = Time < 47
x = 3
y = 0

[State 3443, 1]
type = PlaySnd
trigger1 = animelem = 4
trigger2 = animelem = 7
value = 4, 10

[State 181, DI]
type = Explod
trigger1 = time = 1
anim = 888
id = 1400
removetime = 240

[State 3443, 3]
type = HitDef
trigger1 = animelem = 4
attr = S, NA
animtype  = Back
damage    = 80, 40
guardflag = HL
hitflag = MAF
pausetime = 0,7
sparkno = -1
guard.sparkno = -1
hitsound = 5,0
guardsound = 5,14
ground.type = High
ground.slidetime = 30
p2facing = 1
guard.ctrltime = 20
guard.slidetime = 20
ground.hittime  = 30
ground.velocity = -6,-3
air.velocity = -6,-3
air.hittime = 17
fall.recover = 0
envshake.time = 13
envshake.freq = 60
envshake.ampl = 6
kill       = (Var(9) = 0)
fall.kill  = (Var(9) = 0)
guard.kill = (Var(9) = 0)

[State 3443, 3]
type = HitDef
trigger1 = animelem = 7
attr = S, NA
animtype  = Back
damage    = 80, 40
guardflag = HL
hitflag = MAF
pausetime = 0,2
sparkno = -1
guard.sparkno = -1
hitsound = 5,0
guardsound = 5,14
ground.type = High
ground.slidetime = 30
p2facing = 1
guard.ctrltime = 20
guard.slidetime = 20
ground.hittime  = 30
ground.velocity = -7,-4
air.velocity = -7,-5
air.hittime = 17
fall.recover = 0
p1stateno = 1402
envshake.time = 15
envshake.freq = 70
envshake.ampl = 7
kill       = (Var(9) = 0)
fall.kill  = (Var(9) = 0)
guard.kill = (Var(9) = 0)

[State 3443, 4]
type = ChangeState
trigger1 = AnimTime = 0
trigger1 = pos Y = root,var(57)
value = 0
ctrl = 1

[State 3443, 4]
type = ChangeState
trigger1 = AnimTime = 0
trigger1 = pos Y != root,var(57)
value = 1402
ctrl = 1

;--------------------
[StateDef 1402]
type    = S
movetype= I
physics = S
ctrl = 0
velset = 4,0
anim = 1411

[State 1000, Accellw]
type = VelSet
trigger1 = time = 0
x = 3

[State 1001, 10]
type = Changestate
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[State 88500, Fall]
type = ChangeState
trigger1 = animelem = 4
trigger1 = pos Y != root,var(57)
value = 1403

[Statedef 1403]; Drop
type    = A
movetype= I
physics = S
juggle  = 4
velset = 0,0
anim = 41
ctrl = 0

[State 1101]
type = Veladd
trigger1 = time > 0
y = .3

[State 1050, 7]
type = selfstate
trigger1 = pos y >= var(57) && vel y > 0
value = 52
anim = 47

Swanky

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).

mugenfan89

Quote from: Swanky on January 25, 2021, 06:41:22 PM
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).

Thanks but can you maybe copy paste the code so I can understand it, I am not an expert.

JJkoolaid

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 =
Your Successor in Netherrealm Service!!!

Cyanide

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.


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.

airforce111

cant you literally just delete all the y values from the velsets? i mean that should do it

edit:cya beat me to it

mugenfan89



Quote from: JJkoolaid on January 27, 2021, 03:57:33 AM
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 =


Quote from: Cyanide on January 27, 2021, 05:42:30 AM
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.

Thanks that worked out.

Thank you guys.