YesNoOk
avatar

Tag team system for ANY CHARACTER by Rednavi. (Read 31339 times)

Started by rednavi, March 13, 2009, 10:55:12 pm
Share this topic:
Re: Tag team system for ANY CHARACTER by Rednavi.
#41  March 24, 2009, 10:22:52 pm
  • avatar
  • ******
    • USA
kinda had a issue was using waru's ryu to implement as a test it didnt seem to work does this work when your using all ryu's as a test... ive only added this to waru's ryu for the moment gonna try more later.

Im not really asking for help on it... it seems simple enough just wanted to get verification if warus characters have been working with this... video would be nice...  --

a video would be totally useless as the system works with ANYONE as long as you take the time to read the readme which tells you why a character wouldnt be compatible, I even used warusaki3 characters as an example, go check the readme to get the proper answer, this WORKS with warusaki3 characters. In case you dont get it then there are 2 possible problems:

1. you implemented it wrong or...

2. you skipped the compatibility note, it's about statedef -3 in waru's case, just move the changestate for turns mode intro into a created statedef 5900 on his cns (his chars lacks this state) and follow the instructions in the readme. That should fix any problem.

Uploaded at our place. Sorry I've neglected to do this, haven't noticed until now.

Thanks for the alternative hosting :D
Re: Tag team system for ANY CHARACTER by Rednavi.
#42  November 19, 2009, 05:12:31 pm
  • **
    • Philippines
i'm having a bit difficulty here please i need help...
please check where i made it wrong...

;---------------------------------------------------------------------------
; Initialize (at the start of the round)
; This sends your character to his teammate intro state if he's the partner (means not the leader of the team).
[State 5900, ChangeState]
type = ChangeState
triggerall = numenemy
triggerall = roundstate < 2
triggerall = time = 0
trigger1 = numpartner
trigger1 = ID>partner,ID
value = 358000
ctrl = 0


; This will send oyur character to his intro state as usual (also works as a turns mode intro).
[State 5900, Changestate]
type = ChangeState
triggerall = roundstate < 2
trigger1 = roundsexisted = 0
trigger1 = time = 0
value = 190

[Statedef 5900]
type = S

;ƒ`[ƒ€ƒ‚[ƒhƒCƒ“ƒgƒ”»’èiŽ©•ªŒð‘㎞j
[State -3, Turns Mode Intro]
type = ChangeState
trigger1 = roundsexisted <= 0
trigger1 = roundstate = 0
trigger1 = time = 1
value = 190

;ƒ`[ƒ€ƒ‚[ƒhƒCƒ“ƒgƒ”»’èi‘ŠŽèŒð‘㎞j
[State -3, Turns Mode Intro]
type = ChangeState
triggerall = roundstate = 0
triggerall = numenemy
triggerall = enemynear,roundsexisted <= 0
triggerall = time = 1
triggerall = !var(12)
trigger1 = P2Name = "Sagat" || P4Name = "Sagat"
trigger2 = P2Name = "CVSSagat" || P4Name = "CVSSagat"
trigger3 = (P2Name = "cvsken" || P4Name = "cvsken") && (EnemyNear,PalNo = [1,6]) && EnemyNear,AuthorName = "warusaki3"
trigger4 = (P2Name = "cvsken_normal" || P4Name = "cvsken_normal") && EnemyNear,AuthorName = "warusaki3"
trigger5 = (P2Name = "cvskyo" || P4Name = "cvskyo") && (EnemyNear,PalNo = [1,6])
trigger6 = (P2Name = "cvskyo_normal" || P4Name = "cvskyo_normal") && EnemyNear,AuthorName = "warusaki3"
trigger7 = (P2Name = "cvsryo" || P4Name = "cvsryo") && EnemyNear,AuthorName = "warusaki3"
trigger8 = (P2Name = "cvssakura" || P4Name = "cvssakura") && EnemyNear,AuthorName = "warusaki3"
trigger9 = (P2Name = "cvssakura_normal" || P4Name = "cvssakura_normal") && EnemyNear,AuthorName = "warusaki3"
trigger10 = (P2Name = "cvssakura_ex" || P4Name = "cvssakura_ex") && EnemyNear,AuthorName = "warusaki3"
value = 190
Re: Tag team system for ANY CHARACTER by Rednavi.
#43  November 19, 2009, 05:14:26 pm
  • **
    • Philippines
[State 5900,1]
type=Changeanim
trigger1 = var(12)
trigger1=Anim!=1
value=1

[State 5900, 3] ;Intro
type = ChangeState
trigger1 = roundno = 1
value = 190

;---------------------------------------------------------------------------
[Statedef -2]

; Camera won't follow you during any of the tagging phases or if you previously were on a tagging phase state.
; This is to prevent you from being in the battle field once the round starts or ends.
[State -2]
type = ScreenBound
triggerall = numpartner
trigger1 = stateno = [358000,358003]
trigger2 = stateno = [358101,358102]
trigger3 = Prevstateno = 358003
trigger4 = prevstateno = 358001
trigger5 = numhelper(905904)!=0
trigger6 = ID>partner,ID && roundstate < 2
value = 0
movecamera = 0,0
ignorehitpause = 1
persistent = 1


; you are invincible during any of the tagging phases (except when trying to tag out) or if you previously were on a
; tagging phase state (again, except when trying to tag out).
; This is to prevent you from being able to be hit once the round starts or ends and also gives you inbincibility
; once you land from a tag in.
[State -2]
type = NotHitBy
triggerall = numpartner
trigger1 = stateno = [358000,358003]
trigger2 = stateno = [358101,358102]
trigger3 = Prevstateno = [358002,358003]
trigger4 = numhelper(905904)!=0
trigger5 = ID>partner,ID && roundstate < 2
value = SCA
time = 1
ignorehitpause = 1
persistent = 1


; you have no width during any of the tagging phases (except when trying ot tag) or if you previously were on a
; tagging phase state (again, except when trying ot tag).
; This is to prevent you from having witdh once the round starts or ends.
[State -2]
type = PlayerPush
triggerall = numpartner
trigger1 = stateno = [358000,358003]
trigger2 = stateno = [358101,358102]
trigger3 = Prevstateno = 358003
trigger4 = numhelper(905904)!=0
trigger5 = ID>partner,ID && roundstate < 2
value = 0
ignorehitpause = 1
persistent = 1


; Here goes the changestate with the "TAG" command. If you wan't you can edit this so the AI won't use it.
[State -2]
type = ChangeState
triggerall = numpartner
triggerall = roundstate = 2
triggerall = command = "TAG"
triggerall = statetype !=A && ctrl
trigger1 = partner,alive
value = 358100
ctrl = 0


; Avoids the return to any normal state once the battle starts or ends (it's a normal mugen property to put you
; on a state with ctrl = 1 for a while to start and end a battle so with this you go to the state with ctrl = 1 for
; a tick but never notice or have the chance of really moving). This controls the moment you win.
[State -2]
type = Changestate
triggerall = win || losetime || drawgame
triggerall = partner,numhelper(905903)=0
triggerall = numpartner
triggerall = partner,stateno != [358100,358102]
trigger1 = numhelper(905904)!=0
trigger1 = roundstate > 2
trigger1 = prevstateno != 358002
trigger1 = prevstateno != 52
trigger1 = prevstateno != 0
value = 358003
ctrl = 0
persistent = 1
ignorehitpause = 1

; Same as above but this controls the moment the battle starts.
[State -2]
type = Changestate
triggerall = numpartner
triggerall = partner,stateno != 358002
trigger1 = numhelper(905904)!=0
trigger1 = roundstate = 2
value = 358001
ctrl = 0
persistent = 1
ignorehitpause = 1


; Same as above but this controls the moment you win or loose by a time over while being outside of the screen.
; This also helps when your enemy and your partner kill one each other and the round ends before you being on the
; screen.
[State -2]
type = Changestate
triggerall = stateno = 358003 || stateno = 358001
triggerall = numpartner
trigger1 = partner,numhelper(905903)!=0
trigger1 = roundstate > 1
value = 358002
ctrl = 0
persistent = 1
ignorehitpause = 1

Re: Tag team system for ANY CHARACTER by Rednavi.
#44  November 19, 2009, 05:16:42 pm
  • **
    • Philippines
; Helps to avoid infinite loops and getting stuck on state 0. Gives you control for a few ticks on roundstate = 3
; so the character can go to the winpose, however you really never have the chance to move at all.
; This is mainly used for when you tag during a time over.
[State 0, CtrlSet]
type = CtrlSet
triggerall = roundstate = 3
triggerall = stateno = 0
triggerall = win
trigger1 = prevstateno = 52
value = 1
ignorehitpause = 1
persistent = 0


; Second part of the stuff above, now gives the character 0 control so he won't be able to move while he's on the
; winpose. This is mainly used for when you tag during a time over.
[State 0, CtrlSet]
type = CtrlSet
triggerall = roundstate = 4
triggerall = stateno = 0
triggerall = win
trigger1 = prevstateno = 52
value = 0
ignorehitpause = 1
persistent = 0


; Helper to identify the first character who dies (useful for another extra purposes like coding lifebars and
; other mugen fullgame-like stuff if you wan't).
[State -2]
type = Helper
triggerall = numpartner
triggerall = numhelper(905903)=0
triggerall = partner,numhelper(905903)=0
trigger1 = stateno = 5150 && time > 30
trigger2 = alive = 0 && losetime
id = 905903
name = "CVSW: DEAD"
pos = 0,0
postype = left
stateno = 905903
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
supermovetime = 999999999
pausemovetime = 999999999
persistent = 1


; Helper to identify the character who's outside of the stage (in wait mode or non-active).
[State -2]
type = Helper
triggerall = numpartner
triggerall = numhelper(905904)=0
trigger1 = stateno = [358000,358001] ; WAIT MODE / TEAMMATE INTROS
trigger2 = stateno = 358003 ; WIN IN WAIT MODE
id = 905904
name = "CVSW: WAIT MODE"
pos = 0,0
postype = left
stateno = 905904
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
supermovetime = 999999999
pausemovetime = 999999999
persistent = 1


; Helpers to lock the camera when needed
[State -2]
type = Helper
triggerall = numpartner
triggerall = numhelper(905905)=0
trigger1 = stateno = 358100
trigger2 = stateno = 358002 && partner,alive = 0
id = 905905
name = "CVSW: LOCK LEFT"
pos = 0,0
postype = left
stateno = 905905
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
supermovetime = 999999999
pausemovetime = 999999999
persistent = 1

; Same as above
[State -2]
type = Helper
triggerall = numpartner
triggerall = numhelper(905906)=0
trigger1 = stateno = 358100
trigger2 = stateno = 358002 && partner,alive = 0
id = 905906
name = "CVSW: LOCK RIGHT"
pos = 0,0
postype = right
stateno = 905905
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
supermovetime = 999999999
pausemovetime = 999999999
persistent = 1

[State -2, 3]
type = null;LifeSet
trigger1 = Movetype != H
value = 200

;configŒÄ‚яo‚µ
[State 3001, Super]
type = Helper
triggerall = !NumHelper(10000)
trigger1 = roundsexisted <= 0
trigger1 = roundstate = 0
id = 10000
name = "config"
pos = -300,0
postype = Left
stateno = 10000
helpertype = normal
keyctrl = 0
pausemovetime = 99999999999999
supermovetime = 99999999999999
Re: Tag team system for ANY CHARACTER by Rednavi.
#45  November 19, 2009, 05:20:16 pm
  • **
    • Philippines
At the end of the cns i put this one

; Partner intro state. You can give this state it's own animation if you wan't (I recommend that).
; Add the animation 358000 on your character if you wan't, it must be 80 ticks long, no more no less.
; in this state the character stands with the anim 358000 (or with his stand anim 0 if he doesn't have the 358000)
; and then jumps outside of the screen.
[Statedef 358000]
type = S
ctrl = 0


; Velocity applied after the "jump start" animation.
[State 358000]
type = VelSet
triggerall = roundsexisted = 0
trigger1 = time > 82
x = -12
Y = -5
persistent = 1


; In case the character does have the anim 358000.
[State 358000]
type = ChangeAnim
triggerall = SelfAnimExist(358000)
triggerall = roundsexisted = 0
trigger1 = time = 0
value = 358000
persistent = 0


; In case the character doesn't have the anim 358000.
[State 358000]
type = ChangeAnim
triggerall = !SelfAnimExist(358000)
triggerall = roundsexisted = 0
trigger1 = time = 0
value = 0
persistent = 0


; Goes to the jump start animation (anim 40).
[State 358000]
type = ChangeAnim
triggerall = roundsexisted = 0
trigger1 = time = 80
value = 40
persistent = 0


; Goes to the jump up animation (anim 41).
[State 358000]
type = ChangeAnim
triggerall = roundsexisted = 0
trigger1 = time = 82
value = 41
persistent = 0


; OPTIONAL: you can add any sound for the jump here. just give it a valid sound value and remove the "null".
[State 358000]
type = NULL ;PlaySnd
triggerall = roundsexisted = 0
trigger1 = time = 82 ;Don't touch this, it's the exact moment your character jumps out.
value = S100,10 ;Give this a valid sound value.
channel = -1
ignorehitpause = 1
persistent = 0


; Changestate once out of the screen
[State 358000]
type = ChangeState
triggerall = roundsexisted = 0
trigger1 = backEdgeDist <= -40
value = 358001


; avoids being in the screen once the character was fighting for more than 1 round (skips the teammate intro).
[State 358000]
type = ChangeState
triggerall = roundsexisted != 0
trigger1 = time = 0
value = 358001





; This is the state were the non-active character waits outside of the screen. The animation used here is the blank
; animation 358999 that's optional.
[Statedef 358001]
type = S
ctrl = 0
anim = 0
velset = 0,0
movetype= I
physics = S


; In case the character does have the optional anim 358999.
[State 358001]
type = ChangeAnim
triggerall = SelfAnimExist(358999)
trigger1 = time = 0
value = 358999
persistent = 0


; In case the character doesn't have the optional anim 358999.
[State 358001]
type = ChangeAnim
triggerall = !SelfAnimExist(358999)
trigger1 = time = 0
value = 0
persistent = 0


; In case the character doesn't have anim 358999 this makes him invisible.
[State 358001]
type = AssertSpecial
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
flag = noshadow
flag2 = invisible


; In case the character doesn't have anim 358999 this avoids him from getting hit.
[state 358001]
type = NotHitBy
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
value = SCA


; In case the character doesn't have anim 358999 this avoids giving push to him.
[state 358001]
type = playerpush
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
time = 1
ignorehitpause = 1
persistent = 1
value = 0


; The character turns to face the same direction as the active character so they both will be on the same side in
; case of tagging.
[State 358001]
type = Turn
trigger1 = 1
trigger1 = numpartner
trigger1 = facing != partner,facing
ignorehitpause = 1
persistent = 1


; The character's position is setted far away from the battle so it won't affect it, if he's setted just barelly
; outside of the screen then the enemy will turn around if he's in the middle of both characters. this prevents
; that from happening.
[State 358001]
type = PosSet
trigger1 = 1
x = -10000*(facing)
y = 0
ignorehitpause = 1
persistent = 1


; This changestate is the execution of the tagging action itself.
[State 358001]
type = ChangeState
triggerall = numpartner
trigger1 = partner,stateno = 358102
value = 358002
persistent = 0


; Same as the above but if partner is dead, on his liedead state and if 30 ticks has passed (so there will be a
; brief moment of space before tagging in).
[State 358001]
type = ChangeState
triggerall = numpartner
trigger1 = partner,stateno = 5150 && partner,time > 30
value = 358002
persistent = 0


; This avoids any kind of bug regarding the requirement mugen has to have ctrl = 1 before passing to roundstate = 4.
; This changestate sends you to the win while being on wait mode state.
[State 358001]
type =  Changestate
triggerall = numpartner
triggerall = partner,stateno != [358100,358102]
trigger1 = partner,alive
trigger1 = win
trigger2 = drawgame
trigger3 = losetime
value = 358003


; This prevents any bug in case of rare situations like time over stuff and whatnot.
[State 358001]
type = Changestate
triggerall = partner,numhelper(905903)!=0
triggerall = losetime || wintime || drawgame
triggerall = roundstate = 3
trigger1 = numpartner
value = 358002
ctrl = 0
persistent = 0
ignorehitpause = 1





; This is the state when the active character tries to tag out. It uses anim 358100 if exist, if not then this state
; uses the taunt animation (anim 195), however I highly recommend you to add the character an animation 358100 for
; the sake of balance because the tag must happen once 33 tick of time has been reached and the taunt animation
; doesn't have a fixed time for everybody so if you plan everybody to have the same tagteam system then give your
; character an animation 358100 with 33 ticks long, no more, no less. Also give it a decent CLSN.
[Statedef 358100]
type = S
ctrl = 0
velset = 0,0


; In case the character does have the anim 358100.
[State 358100]
type = ChangeAnim
triggerall = SelfAnimExist(358100)
trigger1 = time = 0
value = 358100
persistent = 0


; In case the character doesn't have the anim 358100.
[State 358100]
type = ChangeAnim
triggerall = !SelfAnimExist(358100)
trigger1 = time = 0
value = 195
persistent = 0


; OPTIONAL: Voice while trying to tag out, add here a valid sound and the time when it must come out if you wan't
; your character to say something while tagging out. Also remove the "null".
; This uses the channel 0 so it will shut up the character before the tag out voice comes out.
; Sound will only come out if the character is in the animation 358100.
[State 358100]
type = NULL ;PlaySnd
triggerall = SelfAnimExist(358100)
trigger1 = time = 2 ;Set this too
value = S0,10 ;Give this a valid sound value.
channel = 0


; SUCCESS!! You are going to jump out of the screen now.
[State 358100]
type = ChangeState
trigger1 = animtime = 0
value = 358101





; This is the state where you go to jump out of the screen after trying to tag out. It uses the jump start
; animation (anim 40) and the starting Jumping up animation (anin 41).
[Statedef 358101]
type = A
ctrl = 0
anim = 40


; Animation changes once the character is ready to jump out.
[State 358101]
type = ChangeAnim
trigger1 = time = 2
value = 41


; Velocity the character get's so he can jump out of the screen. Feel free to modify the velocity if you wan't.
[State 358101]
type = VelSet
trigger1 = time = 2
x = -15
Y = -5
persistent = 0


; OPTIONAL: the sound that comes out once you jump. If you wanna use this then give it the same sound value you gave
; to the teammate intro jumping sound so both will sound the same. Also remove the "null" if you plan to use this.
[State 358101]
type = NULL ;PlaySnd
trigger1 = time = 2
value = S100,10 ;Give this a valid sound value
channel = -1
ignorehitpause = 1
persistent = 0


; This is the changestate outside of the screen, this also tells the non-active character that's time to come in the
; battle field.
[State 358101]
type = ChangeState
trigger1 = backEdgeDist <= -40
value = 358102





; This is the character outside of the stage state and it's the previous state to the non-active one. The animation
; used here is the blank animation 358999 that's optional.
[Statedef 358102]
type = A
ctrl = 0
anim = 0
movetype= I
physics = S


; In case the character does have the optional anim 358999.
[State 358102]
type = ChangeAnim
triggerall = SelfAnimExist(358999)
trigger1 = time = 0
value = 358999
persistent = 0


; In case the character doesn't have the optional anim 358999.
[State 358102]
type = ChangeAnim
triggerall = !SelfAnimExist(358999)
trigger1 = time = 0
value = 0
persistent = 0


; In case the character doesn't have anim 358999 this makes him invisible.
[State 358102]
type = AssertSpecial
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
flag = noshadow
flag2 = invisible


; In case the character doesn't have anim 358999 this avoids him from getting hit.
[state 358102]
type = NotHitBy
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
value = SCA


; In case the character doesn't have anim 358999 this avoids giving push to him.
[state 358102]
type = playerpush
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
time = 1
ignorehitpause = 1
persistent = 1
value = 0


; Same use as any previous turn sctrl.
[State 358102]
type = Turn
trigger1 = numpartner
trigger1 = facing != partner,facing
ignorehitpause = 1
persistent = 1


; Same use as any previous posset sctrl.
[State 358102]
type = PosSet
trigger1 = 1
x = -10000*(facing)
y = 0
ignorehitpause = 1
persistent = 1


; Goes to waitmode (non-active or outside of the screen).
[State 358102]
type = ChangeState
triggerall = numpartner
trigger1 = partner,stateno = 358002
value = 358001





; This is the state where you jump in the screen and become active again. It uses the fall from jump animation
; (anim 44) if available, otherwise uses the animation 41 for jump up.
; Changestates you to the jump jand state once you reach the floor because this state have aerial physics.
[Statedef 358002]
type = A
ctrl = 0
physics = A


; In case the character does have the anim 44.
[State 358002]
type = ChangeAnim
triggerall = SelfAnimExist(44)
trigger1 = time = 0
value = 44
persistent = 0


; In case the character doesn't have the anim 44.
[State 358002]
type = ChangeAnim
triggerall = !SelfAnimExist(44)
trigger1 = time = 0
value = 41
persistent = 0


; Set's your character on a height from where you will jump in. Feel free to modify this if you wan't.
[State 358002]
type = PosSet
trigger1 = time = 0
x = -170*(facing)
y = -140
ignorehitpause = 1
persistent = 0


; Velocity at which your character will fall to the ground. Feel free to modify this if you wan't.
[State 358002]
type = VelSet
trigger1 = time >=0
x = 3
Y = 10


; OPTIONAL: Sound that will come out once you land on the ground. Remove the "null" and give it a valid sound value
;if you plan to use this.
[State 358002]
type = NULL ;PlaySnd
trigger1 = pos y >= 0
value = S105,0 ;Give it a valid sound value
channel = -1
ignorehitpause = 1
persistent = 0





; This is the state where you go if you are a non-active character (on wait mode) and your partner wins the battle.
; This is needed because otherwise mugen will lock the active character in his stand state unless both characters
; have control at least for one tick after winning. This state avoids all those bugs. The animation used here is
; the blank animation 358999 that's optional.
[Statedef 358003]
type    = S
movetype= I
physics = S
ctrl = 0
anim = 0
velset = 0,0


; In case the character does have the optional anim 358999.
[State 358003]
type = ChangeAnim
triggerall = SelfAnimExist(358999)
trigger1 = time = 0
value = 358999
persistent = 0


; In case the character doesn't have the optional anim 358999.
[State 358003]
type = ChangeAnim
triggerall = !SelfAnimExist(358999)
trigger1 = time = 0
value = 0
persistent = 0


; In case the character doesn't have anim 358999 this makes him invisible.
[State 358003]
type = AssertSpecial
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
flag = noshadow
flag2 = invisible


; In case the character doesn't have anim 358999 this avoids him from getting hit.
[state 358003]
type = NotHitBy
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
value = SCA


; In case the character doesn't have anim 358999 this avoids giving push to him.
[state 358003]
type = playerpush
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
time = 1
ignorehitpause = 1
persistent = 1
value = 0


; You know why this is here at this point
[State 358003]
type = PosSet
trigger1 = 1
x = -10000*(facing)
y = 0
ignorehitpause = 1
persistent = 1


; You know why this is here at this point
[State 358003]
type = Turn
trigger1 = 1
trigger1 = numpartner
trigger1 = facing != partner,facing
ignorehitpause = 1
persistent = 1


; This avoid the bug I told you about a few lines above, You get control in the exact moment your partner get's it.
; This also prevents any infinite lock/loop state if the character has a special winpose (like after a shun goku
; satsu or something like that).
[State 358003]
type = CtrlSet
triggerall = numpartner
trigger1 = partner,ctrl = 1
value = 1


; Just another sctrl. To avoid any bugs.
ignorehitpause = 1
[State 358003]
type = AssertSpecial
trigger1 = 1
flag = Intro


; Mainly used for rare cases like tagging in or out during time over or winning and loosing during a time over.
[State 358003]
type = Changestate
triggerall = partner,numhelper(905903)!=0
triggerall = losetime || wintime || drawgame
triggerall = roundstate > 2
trigger1 = numpartner
value = 358002
ctrl = 0
persistent = 0
ignorehitpause = 1





; This is the state where both camera locking helpers go, this indicates when the camera must lock and must be free.
; The animation used here is the blank animation 358999 that's optional.
[Statedef 905905]
type    = S
physics = S
movetype = I
anim = 0
ctrl = 0


; In case the character does have the optional anim 358999.
[State 905905]
type = ChangeAnim
triggerall = SelfAnimExist(358999)
trigger1 = time = 0
value = 358999
persistent = 0


; In case the character doesn't have the optional anim 358999.
[State 905905]
type = ChangeAnim
triggerall = !SelfAnimExist(358999)
trigger1 = time = 0
value = 0
persistent = 0


; In case the character doesn't have anim 358999 this makes the helper invisible.
[State 905905]
type = AssertSpecial
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
flag = noshadow
flag2 = invisible


; In case the character doesn't have anim 358999 this avoids the helper from getting hit.
[state 905905]
type = NotHitBy
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
value = SCA


; In case the character doesn't have anim 358999 this avoids the helper to get push.
[state 905905]
type = playerpush
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
time = 1
ignorehitpause = 1
persistent = 1
value = 0


; Controls the movement of the camera.
[State 905905]
type = ScreenBound
trigger1 = time>=0
value = 1
movecamera = 1,1
ignorehitpause = 1
persistent = 1


; When the helper destroys itself and let's the camera free. The camera locks when you try to tagout, when coming
; in the battle field from a tag in and when you land from a tag in.
[State 905905]
type = destroyself
triggerall = numpartner
trigger1 = root,movetype = H && partner,alive
trigger2 = root,stateno != 358002 && partner,alive = 0
trigger3 = partner,prevstateno = 52
trigger4 = root,movetype = A
trigger5 = root,ctrl = 1
ignorehitpause = 1
persistent = 1





; This identifies who's the character outside of the screen. uses blank anim 358999 that's optional.
[Statedef 905904]
type    = S
physics = S
movetype = I
anim = 0
ctrl = 0


; In case the character does have the optional anim 358999.
[State 905904]
type = ChangeAnim
triggerall = SelfAnimExist(358999)
trigger1 = time = 0
value = 358999
persistent = 0


; In case the character doesn't have the optional anim 358999.
[State 905904]
type = ChangeAnim
triggerall = !SelfAnimExist(358999)
trigger1 = time = 0
value = 0
persistent = 0


; In case the character doesn't have anim 358999 this makes the helper invisible.
[State 905904]
type = AssertSpecial
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
flag = noshadow
flag2 = invisible


; In case the character doesn't have anim 358999 this avoids the helper from getting hit.
[state 905904]
type = NotHitBy
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
value = SCA


; In case the character doesn't have anim 358999 this avoids the helper to get push.
[state 905904]
type = playerpush
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
time = 1
ignorehitpause = 1
persistent = 1
value = 0


; Destroys itself when get's active.
[State 905904]
type = destroyself
trigger1 = root,stateno = 358002
ignorehitpause = 1
persistent = 1





; Identifies who's the first character to die. uses blank anim 358999 that's optional.
[Statedef 905903]
type    = S
physics = S
movetype = I
anim = 0
ctrl = 0


; In case the character does have the optional anim 358999.
[State 905903]
type = ChangeAnim
triggerall = SelfAnimExist(358999)
trigger1 = time = 0
value = 358999
persistent = 0


; In case the character doesn't have the optional anim 358999.
[State 905903]
type = ChangeAnim
triggerall = !SelfAnimExist(358999)
trigger1 = time = 0
value = 0
persistent = 0


; In case the character doesn't have anim 358999 this makes the helper invisible.
[State 905903]
type = AssertSpecial
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
flag = noshadow
flag2 = invisible


; In case the character doesn't have anim 358999 this avoids the helper from getting hit.
[state 905903]
type = NotHitBy
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
value = SCA


; In case the character doesn't have anim 358999 this avoids the helper to get push.
[state 905903]
type = playerpush
triggerall = !SelfAnimExist(358999)
trigger1 = time>=0
time = 1
ignorehitpause = 1
persistent = 1
value = 0


; OPTIONAL: A sound that comes out once the character is dead, you can add a "DOWN" sound like in KOF XI for example.
; Remove the "null" and blah blah blah...
[State 905903]
type = null;PlaySnd
triggerall = roundstate = 2
trigger1 = time = 0
value = F80,13 ;Give it a valid sound value
loop = 0
abspan = -1
ignorehitpause = 1
Re: Tag team system for ANY CHARACTER by Rednavi.
#46  November 26, 2009, 07:34:39 am
  • **
    • Philippines
i check it out for the last try there is a grammatical error on his part 2 statedef 5900 txt
Re: Tag team system for ANY CHARACTER by Rednavi.
#47  December 12, 2009, 11:58:59 am
  • **
    • Philippines
another bug which i discovered when you use this patch on H"'s Cvs Characters like Iori and Mai they lose their chances of doing their super combos when they are use in single mactch.
Tag team system for ANY CHARACTER by Rednavi. that works on H's CvS Characters
#48  January 15, 2010, 06:38:54 pm
  • **
    • Philippines
If your reading this I assumed you have the Tag team system of Master Rednavi. I used it on H's Cvs Iori. And perfectly when I did this one on CvS Iori. He's able to do all his super combos. and before I forgot because of my joy about sharing you guys this code I forgot to test it on his ex mode. Still here's the code.

STEP 1: DO WHAT IT'S SAID ON PART ONE.
STEP 2: COPY WHAT SHOULD BE COPIED AT PART TWO...
BUT DELETE THE FOLLOWING...

[State 5900, 1]
type = VarRangeSet
trigger1 = roundno >= 1
first = 0
last = 28
value = 0

[State 5900, 1]
type = VarRangeSet
trigger1 = roundno >= 1
first = 31
last = 42
value = 0

[State 5900, 1]
type = VarRangeSet
trigger1 = roundno >= 1
first = 44
last = 49
value = 0

[State 5900, 2]
type = VarRangeSet
trigger1 = roundno >= 1
fvalue = 0
first = 0
last = 30

[State 5900, 1]
type = VarSet
trigger1 = Time = 0
trigger1 = ((fvar(8) || var(53)!=1) && var(30) = 6)
trigger2 = var(30)!= 6 && roundno >= 1
trigger3 = var(30) = 6 && roundno = 1
fvar(37) = 0

[State 5900, 1]
type = VarSet
trigger1 = roundno >= 1
var(53) = 0

AND THIS ONE AFTER [STATE 190, GROOVE]...

[State 5900, 1]
type = VarSet
trigger1 = !Numhelper(20000)
trigger1 = NumPartner
trigger1 = var(30) = 0
var(30) = 1

[State 5900, 3] ;Intro
type = ChangeState
Trigger1 = RoundNo = 1
Trigger2 = TeamMode = Turns
Trigger2 = RoundsExisted = 0
value = 190

REPLACE IT WITH...

[State 5900,1]
type=Changeanim
trigger1 = var(12)
trigger1=Anim!=1
value=1

STEP 3: CHANGE THIS...

[State 5900, 3] ;Intro
type = ChangeState
Trigger1 = RoundNo > 1
value = 0

TO THIS ONE...

[State 5900, 3] ;Intro
type = ChangeState
Trigger1 = RoundNo = 1
value = 190

STEP 4: SWAP [STATE 190, GROOVE] AND [STATEDEF -2]'S [STATE -3, TURNS MODE INTRO]

STEP 5: CHANGE THIS ONE...

[State -3, Turns Mode Intro]
type = ChangeState
trigger1 = roundsexisted <= 0
trigger1 = roundstate = 0
trigger1 = time = 0
value = 5900

TO THIS ONE...

[State -3, Turns Mode Intro]
type = ChangeState
trigger1 = roundsexisted = 0
trigger1 = roundstate = 0
trigger1 = time = 31
value = 5900

STEP 6: PUT PART THREE AT THE END OF THE CHARACTER'S CNS FILE

LAST STEP: DO WHAT IT'S SAID ON PART FOUR.

Note: if this one doesn't work on his ex mode... I think you guys should do the trial and error thing.
Re: Tag team system for ANY CHARACTER by Rednavi.
#49  January 15, 2010, 06:48:57 pm
  • avatar
  • ******
    • USA
nice, ill test it out. thanks man
Re: Tag team system for ANY CHARACTER by Rednavi.
#50  January 15, 2010, 07:34:51 pm
  • **
    • Philippines
ok it also works on ex mode....


credits all to Master Rednavi...
Re: Tag team system for ANY CHARACTER by Rednavi.
#51  January 16, 2010, 12:19:43 am
  • ******
  • I am hilarious
  • and you will quote everything I say
    • USA
You could've compressed that wall of 7 posts into like 1-2 with code tags, you know

GT

Re: Tag team system for ANY CHARACTER by Rednavi.
#52  January 16, 2010, 12:22:35 am
  • *****
    • USA
    • Skype - gt_ruby
Yeah Titiln, in fact, You Made Him