UPDATED. 3-19-08
fixed:
-base sprpriority of chars (activate anim > non-active animation)
-tag support (follow notes within code)
-if char is not on your ground, you wont focus on the char in opposite ground
-added helper to fix the bg shadow of chars in bg
- in tag simul, partners will appear in bg, then jump to forground and; will strike (when commanded) on the ground that ur controlled player is on)
USES ONE VAR ;D
;=====================================
;-BACKGROUND/FORGROUND SIDESTEP
;VERSION 0.99C- 3-19-08
;=====================================
;*Note
; add: projsprpriority = IfElse(var(25),-3,1) only to all sctrls types of projectile in a char ;)
; This is the solution to quickly fixing the layering of projectiles-
; add: sprpriority = IfElse(var(25),-3,1) only to all sctrls types of explod (personal explods [ex.:like flames from hands and/or dust from feet when u land]) in a char.
; This is the solution to quickly fixing the layering of personal explods. This is also the solution if character sprites need layer fixing (use on the action/move that needs it) -
;================================================
;Var version is used for the proper way in handling this coding by less memory association whole number expressions
;Only use if the majority of your chars have more unused vars than fvars
;If chars use more vars than fvars then change all vars to fvars(don't forget to change the numbers with that to match unused fvars with this coding)
;Using Vars are recommended since nothing in those vars use decimal numbers; Fvars are for decimal number use
;Each char MUST use the same vars OR fvars for this code to function properly
;So the version you pick MUST also be the version you give to ALL your chars
;You have been warned
;Make sure you make backups just in case YOU mess up ;)
;I recommend you use the MUGEN VAR EXCHANGER created by Tatsu if you need to switch vars out of the way so that you can use the vars already provided.
;enjoy!
;=======================================================
;FG/BG Changer code by Shinra358
;=======================================================
;IN CMD FILE
[Command]
name = "DodgeBG"
command = /$a,/$x,B
time = 100
;----
[Command]
name = "DodgeFG"
command = /$a,/$x,F
time = 100
;-------------------------------------------------------------
;means hold a+x then press BACK in foreground to go into background
;means hold a+x then press FWD in background to go into foreground
;a is supposed to be light kick and x is supposed to be light punch.
;If somehow it's different for the char then change the buttons to imply the light attacks.
;-------------------------------------------------------------
;
;=======================================================
;FG/BG Changer code by Shinra358
;end of cmds of cmd file codes
;=======================================================
;--------------------------------------------------------------
;=======================================================
;FG/BG Changer code by Shinra358
;=======================================================
;
[State -1, switch2fg]
type = ChangeState
value = 11110000
triggerall = (TeamMode = Single || TeamMode = Turns) && enemy, TeamMode = Single || enemy, TeamMode = Turns ; put semi-colon here if using tag
triggerall = NumEnemy != 0
triggerall = var(25) = 1
triggerall = var(25) != 0
triggerall = command = "DodgeFG"
triggerall = command != "DodgeBG"
triggerall = statetype != A
triggerall = statetype != L
triggerall = statetype = S
triggerall = movetype != H
triggerall = movetype != A
triggerall = ctrl
triggerall = Pos Y = 0
triggerall = time = 0
trigger1 = 1
;
[State -1, switch2bg]
type = ChangeState
value = 11111111
triggerall = (TeamMode = Single || TeamMode = Turns) && enemy, TeamMode = Single || enemy, TeamMode = Turns ; put semi-colon here if using tag
triggerall = NumEnemy != 0
triggerall = var(25) = 0
triggerall = var(25) != 1
triggerall = command = "DodgeBG"
triggerall = command != "DodgeFG"
triggerall = statetype != A
triggerall = statetype != L
triggerall = statetype = S
triggerall = movetype != H
triggerall = movetype != A
triggerall = ctrl
triggerall = Pos Y = 0
triggerall = time = 0
trigger1 = 1
;;
;===================================================
;FG/BG Changer code by Shinra358
;end of negative cmd file codes
;===================================================
;=======================================================
;FG/BG Changer code by Shinra358
;=======================================================
;===================================================
;make manual changes to the anim of switching to and from the two planes
;===================================================
;IN CNS
;FG/BG Changer ---
;var(25) = 0, foreground - 1, background
;
[Statedef 11110000];foreground
Type = S
movetype= A
physics = S
velset = 0,0
anim = 195 ;Animation for dodging
persistent = 1
ignorehitpause = 1
ctrl = 0
;
;This sets the variable for the effect. Sets var(25) to a value of 0.
[State 11110000, Change2FG]
Type = VarSet
triggerall = RoundState = [0,4]
triggerall = command = "DodgeFG" && command != "DodgeBG"
triggerall = NumEnemy != 0
triggerall = var(25) = 1
triggerall = var(25) != 0
triggerall = time = 0
trigger1 = Pos Y = 0
;trigger2 = TeamMode = Simul ; un-semi colon if using tag
;trigger2 = var(25) = partner, var(25) ; un-semi colon if using tag
time = -1
ctrl = 1
persistent = 1
ignorehitpause = 1
var(25) = 0
;
[State 11110000, wait] ;Can't be thrown or hit right away after using
type = NotHitBy
triggerall = 1
trigger1 = 1
value = SCA
time = animtime
;
[state 11110000, chng2standing]
type = changestate
trigger1 = animtime = 0
value = 0
ctrl = 1
;
;====================================
;
[Statedef 11111111];background
Type = S
movetype= A
physics = S
velset = 0,0
anim = 195 ;Animation for dodging
persistent = 1
ignorehitpause = 1
ctrl = 0
;
;This sets the variable for the effect. Sets var(25) to a value of 1.
[State 11111111, Change2BG]
Type = VarSet
triggerall = RoundState = [0,4]
triggerall = command != "DodgeFG" && command = "DodgeBG"
triggerall = NumEnemy != 0
triggerall = var(25) = 0
triggerall = var(25) != 1
triggerall = time = 0
trigger1 = Pos Y = 0
;trigger2 = TeamMode = Simul ; un-semi colon if using tag
;trigger2 = var(25) = partner, var(25) ; un-semi colon if using tag
time = -1
ctrl = 1
persistent = 1
ignorehitpause = 1
var(25) = 1
;
[State 11111111, wait] ;Can't be thrown or hit right away after using
type = NotHitBy
triggerall = 1
trigger1 = 1
value = SCA
time = animtime
;
[state 11111111, chg2standing]
type = changestate
triggerall = animtime = 0
trigger1 = 1
value = 0
ctrl = 1
;
;---------------------------------------------------------------------------------
;
[Statedef 11111112, helper_char_replacerBG_state]
type = S
movetype = I
physics = N
velset = 0,0
sprpriority = -5
time = -1
persistent = 1
ignorehitpause = 1
ctrl = 0
;
[state 11111112, nothitby]
type = nothitby
triggerall = 1
trigger1 = 1
value = SCA
;
[state 11111112, playerpush]
type = playerpush
triggerall = 1
trigger1 = 1
value = 1
;
[State 11111112, BindToRoot]
type = BindToRoot
triggerall = 1
trigger1 = 1
facing = ifelse(command = "holdback", -1, 1)
pos = 0, -12
;
[State 11111112, ChangeAnim]
type = ChangeAnim
triggerall = selfanimexist(root,anim)
trigger1 = 1
elem = root,animelemno(0)
value = root, anim
;
[State 11111112, destroyself]
type = Destroyself
triggerall = root, var(25) = 0 && root, var(25) != 1
trigger1 = 1
;
;=======================================================
;FG/BG Changer code by Shinra358
;end of positive cns codes
;=======================================================
;=========================================================
;=========================================================
;=======================================================
;FG/BG Changer code by Shinra358
;=======================================================
;========================================================
;BG/FG change attributes -2 states
;========================================================
;to give your char proper projectile priority while using this code,
;you must go to the projectile (fireball, etc) statedef and
;add: projsprpriority = IfElse(var(25),-3,1) --future auto patcher should do this--
;sprite priority 1 is reserved for char foreground attacks
;sprite priority 0 is reserved for chars in foreground
;sprite priority -1 is reserved for hyper backgrounds for the foreground chars
;sprite priority -2 is reserved for if people want to put props in their stages for this code for
;sprite priority -3 is reserved for char background attacks
;sprite priority -4 is reserved for chars in background
;to be in between the forground and the background for more depth. ;)
;========================================================
;
[state -2, varset]; teamside1 leader position set at start of match
type = varset
triggerall = teammode = simul && teamside = 1 && numenemy && screenpos x < 160 && time >= 0 && RoundState != 2
trigger1 = numpartner && ID < partner, ID
trigger2 = !numpartner
var(25) = 0
;
[State -2, VarSet]; teamside1 partner position set at start of match
type = NULL;VarSet ; switch to varset if using tag
trigger1 = TeamMode = simul; un-semi colon if using tag
trigger1 = teamside = 1 && numenemy && screenpos x < 160 && time >= 0 && RoundState != 2
trigger1 = numpartner && ID > partner, ID
var(25) = 1
;
[State -2, VarSet]; teamside1 partner position set during fighting
type = NULL;VarSet ; switch to varset if using tag
triggerall = TeamMode = simul
triggerall = teamside = 1 && numenemy && screenpos x < 160 && time >= 0 && RoundState = 2
trigger1 = numpartner && ID > partner, ID
var(25) = partner, var(25)
;
[state -2, varset]; teamside2 leader position set at start of match
type = varset
triggerall = TeamMode = simul && teamside = 2 && numenemy && screenpos x > 160 && time >= 0 && RoundState != 2
trigger1 = numpartner && ID < partner, ID && ID > enemy, ID
trigger2 = !numpartner && ID > enemy, ID
var(25) = 0
;
[State -2, VarSet]; teamside2 partner position set at start of match
type = NULL;VarSet ; switch to varset if using tag
triggerall = TeamMode = simul
triggerall = teamside = 2 && numenemy && screenpos x > 160 && time >= 0 && RoundState != 2
trigger1 = numpartner && ID > partner, ID
var(25) = 1
;
[State -2, VarSet]; teamside2 partner position set when fighting starts
type = NULL;VarSet ; switch to varset if using tag
triggerall = TeamMode = simul
triggerall = teamside = 2 && numenemy && screenpos x > 160 && time >= 0 && RoundState = 2
trigger1 = numpartner && ID > partner, ID
var(25) = partner, var(25)
;
;---
;
[state -2, fgnormalprior];char sprite normal priorities for various things in foreground
type = sprpriority
triggerall = RoundState = [0,4]
triggerall = Time >= 0
triggerall = var(25) != 1
triggerall = var(25) = 0
trigger1 = 1
trigger2 = MoveType = H
trigger3 = MoveType = I
trigger4 = StateNo = [0,12]
trigger5 = StateNo = [120,150]
trigger6 = StateNo = [151,155]
time = -1
persistent = 1
ignorehitpause = 1
value = 0
;
[state -2, bglesserprior];char sprite lesser priorities for various things in background
type = sprpriority
triggerall = RoundState = [0,4]
triggerall = Time >= 0
triggerall = var(25) != 0
triggerall = var(25) = 1
trigger1 = 1
trigger2 = MoveType = H
trigger3 = MoveType = I
trigger4 = StateNo = [0,12]
trigger5 = StateNo = [120,150]
trigger6 = StateNo = [151,155]
time = -1
persistent = 1
ignorehitpause = 1
value = -4
;
[State -2, fgspriteprior];char sprite priorities for various things in fg
type = SprPriority
triggerall = RoundState = [0,4]
triggerall = Time >= 0
triggerall = var(25) != 1
triggerall = var(25) = 0
trigger1 = Movetype = A && (StateType = S || StateType = C || StateType = A)
trigger2 = StateType = L
trigger3 = StateNo = [20,106]
time = -1
persistent = 1
ignorehitpause = 1
value = 1
;
[State -2, bgspriteprior];char sprite priorities for various things in bg
type = SprPriority
triggerall = RoundState = [0,4]
triggerall = Time >= 0
triggerall = var(25) != 0
triggerall = var(25) = 1
trigger1 = Movetype = A && (StateType = S || StateType = C || StateType = A)
trigger2 = StateType = L
trigger3 = StateNo = [20,106]
time = -1
persistent = 1
ignorehitpause = 1
value = -3
;
;----------------------------------------------------------------
;
[state -2, fgp];foreground perspective
type = angledraw
triggerall = RoundState = [0,4]
triggerall = var(25) != 1
triggerall = var(25) = 0
trigger1 = 1
time = -1
persistent = 1
ignorehitpause = 1
value = 0
scale = 1,1
;
[state -2, bgp];background perspective
type = angledraw
triggerall = RoundState = [0,4]
triggerall = var(25) != 0
triggerall = var(25) = 1
trigger1 = 1
time = -1
persistent = 1
value = 0
scale = 0.93,0.93
;
;-----------------------------------------------------------------------
[state -2, possetbg]
type = offset
triggerall = RoundState = [0,4]
triggerall = var(25) != 0
triggerall = var(25) = 1
trigger1 = 1
time = -1
persistent = 1
ignorehitpause = 1
y = -12
;
[state -2, possetfg]
type = offset
triggerall = RoundState = [0,4]
triggerall = var(25) = 0
triggerall = var(25) != 1
trigger1 = 1
time = -1
persistent = 1
ignorehitpause = 1
y = 0
;
[state -2, possetbgnoshadow]
type = assertspecial
triggerall = RoundState = [0,4]
triggerall = var(25) != 0
triggerall = var(25) = 1
trigger1 = 1
time = -1
persistent = 1
ignorehitpause = 1
flag = noshadow
;
;-----------------------------------------------
[state -2, palfxBG];darkened color for "stepping into the background"
type = PalFx
triggerall = RoundState = [0,4]
triggerall = var(25) != 0
triggerall = var(25) = 1
triggerall = time = 1
trigger1 = 1
time = -1
add = 0, 0, 0
mul = 150, 150, 150
sinadd = 10,10,10,255
invertall = 0
color = 256
persistent = 1
ignorehitpause = 1
;------------
[state -2, palfxFG];lightened color for "stepping into the foreground"
type = PalFx
triggerall = RoundState = [0,4]
triggerall = var(25) != 1
triggerall = var(25) = 0
triggerall = time = 1
trigger1 = 1
time = -1
add = 0, 0, 0
mul = 256, 256, 256
sinadd = 10,10,10,255
invertall = 0
color = 256
persistent = 1
ignorehitpause = 1
;
;------------------------------------
;
[state -2, plyrpsh1]; no push
type = playerpush
triggerall = RoundState = [0,4]
trigger1 = var(25) != enemy, var(25)
persistent = 1
ignorehitpause = 1
value = 0
;
[state -2, plyrpsh2]; push
type = playerpush
triggerall = RoundState = [0,4]
trigger1 = var(25) = enemy, var(25)
persistent = 1
ignorehitpause = 1
value = 1
;
;------------------------------------------------------------
;
[state -2, noautoturn]; dont turn if there is not an enemy on your ground
type = assertspecial
triggerall = RoundState = [0,4]
triggerall = var(25) != enemy, var(25)
trigger1 = 1
persistent = 1
ignorehitpause = 1
flag = noautoturn
;
[State -2, Turn]; turning around rules when u have no target
type = Turn
triggerall = (command != "holdfwd" && command = "holdback") && !time && ctrl && (var(25) != enemy, var(25))
triggerall = RoundState = [0,4]
trigger1 = 1
persistent = 1
ignorehitpause = 1
;
[state -2, noblocking]; dont block if there is not an enemy on your ground
type = assertspecial
triggerall = RoundState = [0,4]
triggerall = var(25) != enemy, var(25)
trigger1 = 1
persistent = 1
ignorehitpause = 1
flag = noairguard
flag2 = nostandguard
flag3 = nocrouchguard
;
;----------------------------------------------
;
[state -2, nothitbyX]
type = nothitby
triggerall = RoundState = [0,4]
triggerall = var(25) != enemy, var(25)
trigger1 = 1
persistent = 1
ignorehitpause = 1
value = SCA
;
-----------------------------------------------
;
[State -2, helper_char_replacerBG]
type = helper
triggerall = RoundState = [0,4]
triggerall = NumEnemy != 0
triggerall = var(25) = 1 && var(25) != 0 && numhelper(11111112) = 0 && time >= 0
trigger1 = 1
time = -1
helpertype = normal
name = "BG_Char"
ID = 11111112
pos = -99999999999999,-99999999999999
postype = left
stateno = 11111112
keyctrl = 0
ownpal = 0
persistent = 1
ignorehitpause = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 1.02
size.yscale = 1.02
size.draw.offset = -12
size.proj.doscale = 1
size.shadowoffset = -12
;
;=======================================================
;FG/BG Changer code by Shinra358
;end of negative cns codes
;=======================================================
Pagina 1 di 1
Mugen-Isuka: Foreground and Background Fighting [UPDATED 3-19-08]
Condividi questa discussione:
Pagina 1 di 1

Aiuto









