Use this tutorial in combination with my Groove select tutorial.
Requirements :
1.Moderate Knowledge of MUGEN Coding.
2.Sprites (Bar,filler,etc.)
3.Patience.
Tutorial:
1.We add to a variable in each move (movecontact,state) which is,the extra bar's power.
[State 0, VarAdd]
type = VarAdd
trigger1 = movehit
v = 1
value = 70
persistent = 0
and then we limit it to any maximum power in [statedef -2]
[State -2, VarSet]
type = VarSet
trigger1 = var(1) > 3000
v = 1
value = 3000
ignorehitpause = 1
2.We summon the helper which will contain the bar:
[State -2, Helper]
type = Helper
triggerall = roundstate = 2
triggerall = numhelper(999) = 0
triggerall = numenemy
trigger1 = !numpartner
trigger2 = numpartner
id = 999
name = "EX Gauge"
pos = 0,100
postype = P1
stateno = 999
helpertype = normal
keyctrl = 0
ownpal = 1
pausemovetime = 999999
supermovetime = 999999
facing = facing*ifelse(teamside=1,1,-1)
3.We create the helper state with the bar:
[Statedef 999]
ctrl = 0
anim = 899 ;BLANK ANIMATION
ownpal = 1
[State 0, Explod]
type = Explod
trigger1 = numexplod(990) = 0
trigger1 = teamside = 1 ;If you are Player 1 only.
anim = 990 ;The Bar
id = 990
postype = Left
pos = 2,205 ;Set the position
ownpal = 1
bindtime = -1
ignorehitpause = 1
ontop = 1
facing = 1
pausemovetime = -1
supermovetime = -1
[State 0, Explod]
type = Explod
trigger1 = numexplod(990) = 0
trigger1 = teamside = 2 ;If you are Player 1 only.
anim = 991 ;The Bar's mirrored animation.
id = 990
postype = Right
pos = -2,205 ;Position
ownpal = 1
bindtime = -1
ignorehitpause = 1
ontop = 1
facing = 1
pausemovetime = -1
supermovetime = -1
4.We create the fillers.
First part:
[State -2, Explod]
type = Explod
trigger1 = parent, var(1) >= 1000 && parent, var(1) < 2000 ;Only triggers when var(1) has 1000 and above and below 2000 power.
trigger1 = numexplod(992) = 0
anim = 992 ;Animation of the filler
id = 992
postype = Back
pos = Ifelse(teamside = 1,2,7),205 ;Position depending on the bar
ownpal = 1
bindtime = -1
ignorehitpause = 1
ontop = 1
facing = 1
pausemovetime = -1
supermovetime = -1
scale = 1,1
Second part:
[State -2, Explod]
type = Explod
trigger1 = parent, var(1) >= 2000 && parent, var(1) < 3000
trigger1 = numexplod(993) = 0
anim = 992
id = 993
postype = Back
pos = Ifelse(teamside = 1,17,-8),205
ownpal = 1
bindtime = -1
ignorehitpause = 1
ontop = 1
facing = 1
pausemovetime = -1
supermovetime = -1
scale = 1,1
And so on.
You could also use the scale method (which is,scaling the filler instead of creating new fillers) :
[State 0, ModifyExplod]
type = ModifyExplod
trigger1 = parent, var(1) >= 1000 && parent, var(1) < 2000
ID = 992
pos = 0,0
scale = 1,1 ;Scale the X axis
5.Removing the fillers when power is lower than the filler's requirement
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = parent, var(1) < 1000
id = 992
ignorehitpause = 1
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = parent, var(1) < 1000
trigger2 = parent, var(1) >= 1000 && parent, var(1) < 2000
id = 993
ignorehitpause = 1
Good luck.