The Mugen Fighters Guild

Help => M.U.G.E.N Development Help => Topic started by: mugenfan89 on January 25, 2021, 04:48:20 PM

Title: Special move issue
Post by: mugenfan89 on January 25, 2021, 04:48:20 PM
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
Title: Re: Special move issue
Post by: 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).
Title: Re: Special move issue
Post by: mugenfan89 on January 25, 2021, 07:12:43 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.
Title: Re: Special move issue
Post by: 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 =
 
Title: Re: Special move issue
Post by: 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.
Title: Re: Special move issue
Post by: airforce111 on January 27, 2021, 06:10:48 AM
cant you literally just delete all the y values from the velsets? i mean that should do it

edit:cya beat me to it
Title: Re: Special move issue
Post by: mugenfan89 on January 27, 2021, 06:26:32 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 =
 

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.