Jump to content

MVC Tagteam project tutorial


Gladiacloud

Recommended Posts

I decided to open this topic (I hope I have chosen the right section) to help lovers of fighting with tag system (like me) to patch their characters with the only tag patcher available and, in my opinion, more reliable: MVC tagteam project .

I have carefully studied this tag patcher and I managed to patch the 100% most of the characters who had problems when patched (missing dual hyper, missing assist, etc.).

Then I will create this tutorial that will update daily.

Let's go! (images will be posted soon)

1) Go on http://www.infinitymugenteam.com/

2) Click on "Tools" and go on "MvC Tagteam Project", then click on "Download" and on "Source" for download the files.

Posted Image

3) Unpack the two .rar files and put their files in a single folder (that I'll rename "Tag Patcher").

4) Well, now open the file "MVC Project 1.6.ini" with the notepad:

Posted Image

and search this line:

;-REPLACEAI-trigger1 = (ctrl ) && (random >= 990) && (partner, stateno = !StateNum4!) && (statetype != A) && (P2life != 0) && (partner, life > 0) && (power >= 2000) &&

5) Remove the "&&" at the end of the line. Why this? Because, if you patched your characters without removing that "&&", the Mugen will reveal an error in the patched .cmd file of your characters. Done this, save the file.

6) Now go on the folder "Tag Patcher" and open "Tag Team Workshop 1.8"

7) In the panel "available patches" choose "mvc project 1.6", then click on the button "Character directory" and create your directory to patch your characters.

8) When the characters will appear on the window "Characters (0/n):", select your characters and click on the button "Patch characters"

Posted Image

But.... WAIT! Is still too early to say "have fun". Why? I'll tell you shortly.

End of part 1

Link to comment
Share on other sites

I've never seen a tutorial for this program. But i've used it in the past before, very successfully. and yes i only had a few problems with few characters, due to state numbers and stuff.

Link to comment
Share on other sites

PART 2:

I said it was still too early to say have fun with your characters patched. In fact, while patched a character, you may encounter a message like this:

Posted Image

Oh, no! How can I be happy to have a tag patcher if it does not make me patching of all the characters that I have? Calm, stay calm ... Take a deep breath ... and take a look at the problem, indeed, the problems, since other problems will be encountered in the future with this patcher.

So ... we start analyzing the problem, perhaps most important: the incompatibility. Take for example one of best Mugen characters, and one of my favorites, Shin Kazuma (O Ilusionista):

Shin Kazuma - is incompatible (no available variable)

I solved the problem in this way: I opened the file skazuma.cns, I removed and added various parts of the file and I run the tag patching several times. Shin Kazuma was patched without problems of incompatibility, until they have re-inserted this variable list placed under the Statedef -3:

;----------------------------________________-------------------------------

;---------------------------| |------------------------------

;---------------------------| Variable List |------------------------------

;---------------------------|________________|------------------------------

;---------------------------------------------------------------------------

; Var(0) - the simplifier variable

; Var(1) - Pre-Win - Random

; Var(2) - Pre-Intro - Random / Fade

; Var(3) - Fade

; Var(4) - Fatality/Animality Control Set

; Var(5) - Super/Hyper/etc Command Variable

; Var(6) - Shadow Mode - Assist Var

; Var(7) -

; Var(8) -

; Var(9) -

; Var(10) - Super Jump - Start Jump Set

; Var(11) - Super Jump - Direction Jump Set

; Var(12) -

; Var(13) -

; Var(14) -

; Var(15) - Custom Combo Var

; Var(16) - Shadow Mode Var

; Var(17) - Fujin var

; Var(18) - Ikazuchi Var

; Var(19) - Mijin Var

; Var(20) - Dizzy System 1

; Var(21) - Dizzy System 2

; Var(22) - Dizzy System 3

; Var(23) - Dizzy System 4

; Var(24) - Dizzy System 5

; Var(25) - Dizzy System 6

; Var(26) -

; Var(27) - Random quotes

; Var(28) -

; Var(29) -

; Var(30) - Recovery Roll - Variable "Reset"

; Var(31) - Combo Counter - Less Damage - Variable Set 1

; Var(32) - Combo Counter - Less Damage - Variable Set 2

; Var(33) -

; Var(34) -

; Var(35) -

; Var(36) -

; Var(37) -

; Var(38) -

; Var(39) -

; Var(40) - Dust Rail - Variable Set 1

; Var(41) - Dust Rail - Variable Set 2

; Var(42) - Dust Rail - Variable Set 3

; Var(43) - Dust Rail - Variable Set 4

; Var(44) - Dust Rail - Variable Set 5

; Var(45) - Dust Rail - Variable Set 6

; Var(46) -

; Var(47) -

; Var(48) - Guardar número de hits

; Var(49) - Acumula dano geral

; Var(50) - Ninjitsu Control

; Var(51) - Ninjitsu used control

; Var(52) -

; Var(53) -

; Var(54) -

; Var(55) -

; Var(56) -

; Var(57) - Gametime Var

; Var(58) - Fatalities

; Var(59) - A.I.

;-------------- Generated by Fighter Factory -------------

;--------------------- Variable List ----------------------

; Var(0) - StateDef 1054, 8210, 8211, 89000, 89001, -2

; Var(1) - StateDef 7000, 89000, 9741, 9742, 9743, 180, 190

; Var(2) - StateDef 9100, 9200, 9300, 11000, 11050, 7000, 9741, 9742, 6500

; Var(3) - StateDef 9001, 6501, 6502, 6503, 6504, 6505, 6506, 6507, 6508, 7000, 9741, 9742

; Var(4) - StateDef 9100, 9200, 9300, 11000, 11050, 9741, 9742

; Var(5) - StateDef 1050, 1100, 1200, 1210, 1250, 1300, 1450, 900, 6499

; Var(6) - StateDef 9742, -3

; Var(7) - StateDef 9742

; Var(8) - StateDef 9742

; Var(9) - StateDef 9741, 9742

; Var(10) - StateDef 891

; Var(11) - StateDef 890

; Var(15) - StateDef 6000, 6510, -3

; Var(16) - StateDef 6005, -3

; Var(17) - StateDef -3

; Var(18) - StateDef 6520, -3

; Var(19) - StateDef 6530

; Var(27) - StateDef 18100, 18200

; Var(28) - StateDef -3

; Var(31) - StateDef -3

; Var(32) - StateDef -3

; Var(46) - StateDef -2

; Var(48) - StateDef -2

; Var(49) - StateDef -2

; Var(50) - StateDef 6500

; Var(51) - StateDef -3

; Var(57) - StateDef -3

; Var(58) - StateDef -2

; Var(59) - StateDef 9741, 190, 19000, 19100, 19105, 19200, -2, -3

;--------------------- Float Variable List ----------------------

; fVar(0) - StateDef 1054, 8210, 8211, 89001

; fVar(1) - StateDef 1054, 8210, 8211

; fVar(2) - StateDef 1054, 30004, 8210, 8211, -3

; fVar(3) - StateDef 1250, 6012

; fVar(10) - StateDef 6012

... and I realized that it was this sequence of variables (besides not used by Mugen) to cause the incompatibility of Shin Kazuma, so I removed it and I saved the file. And after the patching...

Posted Image

In summary, if the .cns of some characters you find a variable list like that, just remove it.

I do not know if there are other causes of incompatibility, but as soon as I find them I will let you know.

But now remains the problem of missing Assist... but this will be revealed next time. ;)

End of part 2

Link to comment
Share on other sites

Part 3:

After solving the (first) problem of incompatibility, we pass to the next problem:

Posted Image

The missing assist.

Ok, you know that there is a file that allowed me to understand more deeply the capabilities of this tag patcher, and that allowed me to resolve in part this problem very often:

Posted Image

Opening the file with MS Word, you will find written as follows:

about the patch commands

[animation] 'this will search for the first reference of the search string

t=1 'total animations to search through

'1=taunt 'the search string

'1under=230 'if the found search string is higher than this number the number will go back to default

'1hyper=1 'If set greater than 0 then the move cannot be a hyper move, if it is the value would then be set to the default

'1default=195 'if the search string turns up no results go to this number

'1revert=1 'if revert is set to a value greater than 0 then it will check if the default animation number exists if not the number will set to 0

'1air=1 'if air is set to a value greater than 0 then this move must be an air move or it will go back to default

[lastanimation] 'this will search for the last reference of the search string

t=1 'All other command are the same as above

1=taunt

1default=195

1under=300

1hyper=1

1revert=1

[hyper] 'this will add a move if it ISNT a hyper move

t=1

1=attack1

1num=1000

1true=0 'if set greater than zero then the move will only be added if it is a hyper

1default=0

1revert=1 'if revert is set to a value greater than 0 then it will check if the animation number exists if not the number will revert to 0

[addhyper] 'this is for adding only searching and adding a hypermove

t=1

1=attack1

1move=2 'add the first hyper? (1) the second hyper? (1) dont set lower than 1

1fallback=1 'if move is greater than 1 then if a second hyper isn't found it will go back to the first hyper found

1num=1000 'start from state 1000

1numend=3000 'end search at state 3000

1default=0 'no hyper found then this state will be added

[code if]

t=1

1key=!kvalue! 'search key in patch

1rep=;sludge1 'replace key in patch

1=1000 'animation value

1default=0

1revert=0

'1type=a

1hyper=1 'if this is greater than 0 then the move can't be a hyper move (back to default move)

1abort=0

[cmd]

t=1

1=kick 'replace string

1default=650

1under=999

1revert=1

1type=a 'move type s/c/a/n

1button=c 'button press

1hyper=1

(/start cns)

the cns file goes in here...take note of the case

(/end cns)

(/start cmd statedef)

what to place under statedef -1 goes here

(/end cmd statedef)

While I was reading this file, I immediately noticed these patch commands:

[hyper] 'this will add a move if it ISNT a hyper move

t=1

1=attack1

1num=1000

1true=0 'if set greater than zero then the move will only be added if it is a hyper

1default=0

1revert=1 'if revert is set to a value greater than 0 then it will check if the animation number exists if not the number will revert to 0

[addhyper] 'this is for adding only searching and adding a hypermove

t=1

1=attack1

1move=2 'add the first hyper? (1) the second hyper? (1) dont set lower than 1

1fallback=1 'if move is greater than 1 then if a second hyper isn't found it will go back to the first hyper found

1num=1000 'start from state 1000

1numend=3000 'end search at state 3000

1default=0 'no hyper found then this state will be added

I said to myself: if I change them for those characters that are not patched to 100% I may have solved the problem.

Open the file MVC Project 1.6.ini and search this line:

1num=1000

Ok, let's start to analyzing carefully this line. "1num", in theory, allows the tag patcher to give at the assist a value from number 1000 rummaging in the file .cmd

But if, for example, we go to the .cmd file of Shin Kazuma to find that blessed value 1000, We notice that there is no "value = 1000" from which the patcher can start looking for assist's value. So you have to look for various values of Shin Kazuma's special moves:

;----------------------------________________-------------------------------

;---------------------------| |------------------------------

;---------------------------| special move |------------------------------

;---------------------------|________________|------------------------------

;---------------------------------------------------------------------------

;---------------------------------------------------------------------------

;---------------------------------------------------------------------------

; Kagura Kuzushi (broken dance)

[state -1, Kagura Kuzushi (broken dance) ]

type = changestate

value = 1450

triggerall = command = "HCB_X" || command = "HCB_Y" || command = "HCB_Z"

triggerall = !var(0)

trigger1 = statetype = s

trigger1 = ctrl

trigger2 = stateno = [200,450]

trigger2 = movecontact

trigger3 = stateno = [100,105]

trigger3 = time >= 4

trigger4 = (statetype = S) && movecontact && (Var(15) > 0)

;---------------------------------------------------------------------------

; Kagewari (shadow divide)

[state -1, Kagewari]

type = changestate

value = 1100

triggerall = command = "DPX" || command = "DPY" || command = "DPZ"

triggerall = !var(0)

trigger1 = statetype = s

trigger1 = ctrl

trigger2 = stateno = [200,450]

trigger2 = movecontact

trigger3 = stateno = [100,105]

trigger3 = time >= 4

trigger4 = (statetype = S) && movecontact && (Var(15) > 0)

;---------------------------------------------------------------------------

; MoeTagiru Hono (Raging Flame)

[state -1, MoeTagiru Hono]

type = changestate

value = 1050

triggerall = command = "QCF_X" || command = "QCF_Y" || command = "QCF_Z"

triggerall = !var(0) && NumHelper(1051) = 0

trigger1 = statetype = s

trigger1 = ctrl

trigger2 = stateno = [200,450]

trigger2 = movecontact

trigger3 = stateno = [100,105]

trigger3 = time >= 4

trigger4 = (statetype = S) && movecontact && (Var(15) > 0)

;---------------------------------------------------------------------------

; Shuriken

[state -1, Shuriken]

type = changestate

value = 1300

triggerall = command = "QCF_X" || command = "QCF_Y" || command = "QCF_Z"

triggerall = !var(0) && NumHelper(1310) = 0

trigger1 = statetype = A

trigger1 = ctrl

trigger2 = stateno = [600,650]

trigger2 = movecontact

trigger3 = stateno = [100,105]

trigger3 = time >= 4

trigger4 = (statetype = A) && movecontact && (Var(15) > 0)

;---------------------------------------------------------------------------

; Senpu no Hakujin (Whirlwind's Blade)

[state -1, Senpu no Hakujin]

type = changestate

value = (ifelse(statetype =A,1210,1200))

triggerall = command = "QCB_A" || command = "QCB_B" || command = "QCB_C"

triggerall = !var(0)

trigger1 = ctrl

trigger2 = stateno = [200,650]

trigger2 = movecontact

trigger3 = stateno = [100,105]

trigger3 = time >= 4

trigger4 = (statetype = S) && movecontact && (Var(15) > 0)

;---------------------------------------------------------------------------

; Taka Otoshi (Downing Falcon)

[state -1, Taka Otoshi (Downing Falcon)]

type = changestate

value = 1250

triggerall = command = "QCF_A" || command = "QCF_B" || command = "QCF_C"

triggerall = !var(0) && (statetype = A)

trigger1 = ctrl

trigger2 = stateno = [600,650]

trigger2 = movecontact

trigger3 = movecontact && (Var(15) > 0)

So, change:

1num=1000

with a new value, for example:

1num=1050

Warning: try all values, because this does not work with every value. Once done, here's the result:

Posted Image

Ok, one less problem ... Next time I will explain how to correct hyper missed.

Posted Image

End of part 3

P.S: When you edit the file "MVC Project 1.6.ini", reset the commands as they were before.

Link to comment
Share on other sites

Part 4:

I am a little tired but I still have some energy to explain how to correct the missing Hyper:

The cause is practically the same of missing Assist: the tag patcher doesn't find the value number set in the file MVC Project 1.6.ini

Then, open the file "MVC Project 1.6.ini" and find the patch command "addhyper":

[addhyper] 'this is for adding only searching and adding a hypermove

t=1

1=hype1

1move=2

1fallback=1

1num=3000

1numend=8060

1default=0

If the patch command "hyper" needed to add the assist, the patch command "addhyper" will add the super move for double super move.

There are two commands that allow you to add the super move's value at the tag system:

1num=3000

1numend=8060

On "1num" is set the value number from which the tag patcher starts looking for super move;

On "1numend" is set the value number where the tag patcher ends looking.

Not all the characters have a super move whose value is a number between 3000 and 8060. So, here is the cause of missing hyper. To remedy, go to the .cmd file of the character who has this problem and find the value number of the hyper that you would like give at the character. Here, for example, the value number is 705:

Posted Image

And then, go into the file MVC Project 1.6.ini and change the value number in 1num:

[addhyper] 'this is for adding only searching and adding a hypermove

t=1

1=hype1

1move=2

1fallback=1

1num=700

1numend=8060

1default=0

Save the file and patch the character. The missing hyper problem should be solved.

I don't know when there will be the Part 5, I hope soon.

Link to comment
Share on other sites

Part 5:

I am a little tired but I still have some energy to explain how to correct the missing Hyper:

Posted Image

The cause is practically the same of missing Assist: the tag patcher doesn't find in the file .cmd of a character the value's number set in the file MVC Project 1.6.ini

Now open the file "MVC Project 1.6.ini" and find the patch command "addhyper":

[addhyper] 'this is for adding only searching and adding a hypermove

t=1

1=hype1

1move=2

1fallback=1

1num=3000

1numend=8060

1default=0

If the patch command "hyper" needed to add the assist, the patch command "addhyper" will add the super move for double super move.

There are two commands that allow you to add the super move's value at the tag system:

1num=3000

1numend=8060

On "1num" is set the value number from which the tag patcher starts looking for super move;

On "1numend" is set the value number where the tag patcher ends looking.

Not all the characters have a super move whose value is a number between 3000 and 8060. So, here is the cause of missing hyper. To remedy, go to the .cmd file of the character who has this problem and find the value number of the hyper that you would like give at the character. Here, for example, the value number is 705:

Posted Image

And then, go into the file MVC Project 1.6.ini and change the value number in 1num:

[addhyper] 'this is for adding only searching and adding a hypermove

t=1

1=hype1

1move=2

1fallback=1

1num=700

1numend=8060

1default=0

Save the file and patch the character. The missing hyper problem should be solved.

I don't know when there will be the Part 6, I hope soon. Part 6 will be simple, I will explain how to add assists and hypers in the file "tag_system.cns" and how to add patched characters in mugen.

Link to comment
Share on other sites

Part 6:

Well, after revealing the trick to bypass missing assist/hyper and the problem of incompatibility (I could find out others in the future), it is time to explain what happens to a character when he gets patched.

As I already said in the first post, after selecting one or more characters, you must press the button "Patch characters" for patch them. If you instead press "Un patch characters" after you select a patched character, the tag patch will be removed (though the program will reveal an error and will close automatically).

Once the patching is completed, this white box will appear:

Posted Image

You'll notice that a seperate .def file has been created in each character's directory. Reference this .def file in your select.def file to be able to play tag team matches in team mode.

Posted Image

Fine, but what happened in the files of my characters? Do not worry, the files are intact ... they are just added some new ones:

Posted Image

As you can see, we have created a directory containing the duplicates of the .cmd file, the main .cns file and a new file, called "tag_system.cns", while in the character's folder there is a new .def file that says the character's name plus the word "tag".

Now I show you the difference of the two .def files.

Before the patching:

; Definition file for Kung Fu Man

; Contains all the filenames needed for the character

; Player information

[info]

name="Ranma-chan"

displayname="Ranma-chan"

versiondate=04,14,2001

mugenversion=04,14,2001

author="Toni"

pal.defaults=1,2,3,4,5,6

; Files for the player

[Files]

cmd=ranma.cmd

cns=ranma.cns

st=ranma.cns

stcommon=common1.cns

sprite=ranma.sff

anim=ranma.air

sound=ranma.snd

pal1 = ranma.act ;Palettes (can have up to 12)

pal2 = ranma2.act

pal3 = ranma3.act

pal4 = ranma4.act

pal5 = ranma5.act

pal6 = ranma6.act

; Arcade mode

pal1=ranma.act

[Arcade]

intro.storyboard=

ending.storyboard=

After the patching:

; Definition file for Kung Fu Man

; Contains all the filenames needed for the character

; Player information

[info]

name="Ranma-chan"

displayname="Ranma-chan"

versiondate=04,14,2001

mugenversion=04,14,2001

author="Toni"

pal.defaults=1,2,3,4,5,6

; Files for the player

[Files]

cmd=ab-ranma_tag/ranma.cmd

cns=ab-ranma_tag/ranma.cns

st=ab-ranma_tag/ranma.cns

stcommon=common1.cns

sprite=ranma.sff

anim=ranma.air

sound=ranma.snd

pal1 = ranma.act ;Palettes (can have up to 12)

pal2 = ranma2.act

pal3 = ranma3.act

pal4 = ranma4.act

pal5 = ranma5.act

pal6 = ranma6.act

; Arcade mode

pal1=ranma.act

st9=ab-ranma_tag/tag_system.cns

[Arcade]

intro.storyboard=

ending.storyboard=

You will notice that the main .cns file and the .cmd file are now routed to the new folder that you created, and it has also created a new "st9" that contains the file tag_system.cns. The only inconvenience is that if the "ST9" is already occupied by another .cns file, it will be replaced by the file tag_system.cns. To remedy, you can copy the contents of the ST9 .cns file in the st8 .cns file and save.

That said, now is the long awaited moment, which is to give at the characters a move for the assist and a super move for the dual hyper.

Open the file "tag_system.cns" and search for these two keywords:

;<--- Assist state

;<--- Hyper state

They will be pointing to the state numbers (StateNo) that refer to the character's assist move and hyper move (dual hypers). Just simply change the number values to the state number that you want to be executed when those moves are called upon.

A warning: don't will be taken into consideration all the moves and hyper, so try all state number of a character. Moreover, if a character has short range super moves or super moves that do not want to work in tagsystem, replace the hyper with a long range special movee (if he has them).

At this point, my tutorial seems to be come to the end ... But no!

Soon I will explain why.

End of part 6.

Link to comment
Share on other sites

  • 2 weeks later...

SPECIAL PART:

Part 7 is still in progress, but since I discovered new things I decided to post a special part. In fact these days I discovered two very interesting things:

1) There is a much faster way to patch the characters with missing assists/hypers. Well, just open the file MVC Project 1.6.ini, go in the commands [hyper] and [addhyper] and set "1default" equal to 1.

[hyper]

t=1

1=assist

1num=1000

1true=0

1default=1

1revert=0

[addhyper]

t=1

1=hype1

1move=2

1fallback=1

1num=3000

1numend=8060

1default=1

In the file tag_system.cns the [statedef 1] will be placed in the assist state and in the hyper state. Yes, the characters in this state will not make assist moves or hyper moves, you must provide to put state numbers that you want.

2) And this is the interesting part. Remember when, in the previous part, I said that not all value of the moves of the characters will be taken into consideration? Well, forget what I said. I just discovered that you can put all the assist moves and the hyper moves that you want. But how?

Now I'll tell you:

Take, for example, Android 16 by Choujin. I want that he used the his cannon hyper move during the dual hyper or during the assist. Then I go in .cmd file and and I look the command of his hyper move:

[Command]

name = "shinku"

command = ~D, F, D, F, y

time = 25

; ƒwƒ‹ƒYƒtƒ‰ƒbƒVƒ…MAX

[state -1,]

type = ChangeState

value = 3000

triggerall = command = "shinku"

triggerall = power >= 1000

trigger1 = statetype != A

trigger1 = ctrl

trigger2 = stateno = 52 || stateno = 101

trigger2 = animelem = 1, >= 1

trigger3 = stateno = 200 && MoveContact

trigger4 = stateno = 201 && MoveContact

trigger5 = stateno = 251 && movecontact

trigger6 = stateno = 250 && movecontact

trigger7 = stateno = 210 && movecontact

trigger8 = stateno = 211 && movecontact

trigger9 = stateno = 260 && movecontact && AnimElem = 4, >= 1 && AnimElem = 6, <= 1 && var(51) != 1

trigger10 = stateno = 261 && movecontact

trigger11 = (stateno = 400 || stateno = 450) && (movecontact)

trigger12 = stateno = 410 && movecontact && AnimElem = 4, >= 1 && AnimElem = 7, <= 1

trigger13 = stateno = 900 && movecontact && AnimElem = 4, >= 1 && AnimElem = 7, <= 1

The value is 3000. Now, we open each .cns file until we find the [statedef 3000] of the hyper move.

[statedef 3000]

type = S

movetype = A

physics = S

anim = 3000

poweradd = -1000

velset = 0

ctrl = 0

sprpriority = 2

And finally unveils the secret: in the file "tag_system.cns" there is this line:

triggerall = selfanimexist (3000) ;<--- Hyper state

Selfanimexist does not take into consideration the statedef of the move...

[statedef 3000]

type = S

movetype = A

physics = S

anim = 3000 <---------------------------------------------- BUT THIS, THE ANIM!

poweradd = -1000

velset = 0

ctrl = 0

sprpriority = 2

So, in selfanimexist (####), you must put the number of Statedef's anim, not the Statedef. ;)

End of special part.

Link to comment
Share on other sites

  • 3 weeks later...

Part 7:

Although we have solved the main problem of patching, there are still some problems to resolve and which must be corrected after the patching operation.

There are several problems, and this is perhaps the most important: the statedefs -2 and -3.

During the patching, in fact, the new constants of tag system will be added in statedef -2 and -3 of your characters.

However there are two categories of characters: the characters that have the statedef -2 and -3 in their main .cns file, and the characters that have the statedef -2 and -3 in one or more .cns files separately.

If a character gets patched with statedef -2 and -3 in its main .cns file, there will be no problem. The new tag constants will be added together with the other -2 and -3 constants.

But if a character gets patched with statedef -2 and -3 in another .cns file, the tag constants will be added in its main .cns file, creating two new statedef -2 and -3 that the Mugen will read at the expense of the original statedefs.

And it's a big problem. In statedef -2 and -3 are contained some constants essential for the character, and, without them, the character may have different problems.

What should we do, then, to solve it?

It's very easy:

1) First of all, patch a character with statedef -2 and -3 in other .cns files.

2) When you open the patched main .cns file of you character, you can found this tag constants:

[statedef -2]

; Run into the screen (tagged in, or team won)

[state -2, default]

type = VarSet

trigger1 = (ID > Partner, ID) && NumPartner

triggerall = var(10) = 0

v = 10

value = 1

[state -2, default2]

type = VarSet

trigger1 = (ID < Partner, ID) && NumPartner

triggerall = var(10) = 0

v = 10

value = 2

[state -2, enter the screen]

type = ChangeState

triggerall = (roundstate >= 3) ; the match is over

trigger1 = Win && (stateno = 4714) && (Life)

trigger2 = LoseTime && (stateno = 4714) && (Life)

trigger3 = WinTime && (stateno = 4714) && (Life)

value = 4715

[state -2, staydead]

type = VarSet

triggerall = !(Life)

trigger1 = (var(10) != 4) && NumPartner && (partner, BackEdgeBodyDist > 0) && (partner, Life) && (roundstate < 1)

v = 10

value = 4

[statedef -3]

; TAG

; Run into the screen (tagged in)

[state -3, enter the screen]

type = ChangeState

triggerall = stateno = 4714 ; Player waiting outside the screen

trigger1 = NumPartner && (partner, stateno = 4712) && (Life)

value = 4711

;repvalue = 4715

[state -3, assist]

type = ChangeState

triggerall = stateno = 4714 ; Player waiting outside the screen

trigger1 = NumPartner && (partner, stateno = 4716) && (Life) ; Partner waiting for assist And you're alive

value = 4717

[state -3, dualhypers]

type = ChangeState

triggerall = stateno = 4714 ; Player waiting outside the screen

trigger1 = NumPartner && (partner, stateno = 4718) && (Life) ; waiting for partner to show up onscreen And you're alive

value = 4719

; Jump into the screen (partner was KOed)

[state -3, enter the screen]

type = ChangeState

triggerall = NumPartner && (!(Partner, Life))

trigger1 = StateNo = 4714 && (Life) ; Player waiting outside the scre ; youre alive and your partner is dead

value = 4715

[state -3, waitoutofstage];if the character shouldn't be on stage throw him out

type = ChangeState

triggerall = (var(10) = 1) && (stateno != [4713,4714])

trigger1 = Numpartner && (!Win) && (ctrl) && (partner, Life) && (Life)

value = 4713

[state -3, waitforhypertoend] ;This state is for dual hypers, the character that started the hyper will tag out when he is done

type = ChangeState

triggerall = (var(10) = 3)

trigger1 = Numpartner && (ctrl) && (Life) && (partner, Life)

value = 4712

[state -3, deadcharacter] ;character has died so make sure he doesn't come back alive

type = LifeAdd

triggerall = (var(10) = 4)

trigger1 = Numpartner && (partner, Life) && (life > 0)

value = -1000

3) Copy the.... "-2-3.cns" file of the character and paste it into the "tag" folder.

4) Cut the tag constants from the old patched .cns file and paste them in the statedef -2 and -3 of the file that you have just pasted, then save the file.

5) Open the tag def file, put the "tag" folder at the new file and save.

Link to comment
Share on other sites

  • 1 month later...

Does these tag patches still works on the latest mugen version? ..i've also tried to download and use the Tag Team Workshop and every time i try to patch the my characters it just giving me a Run-time error '5' saying "Invalid call of procedure or argument" and i can't even use it..does anyone experiencing the same thing as i do?

Link to comment
Share on other sites

  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...