Fatality Tutorial

Started by Equinocio, August 01, 2007, 04:47:27 PM

Previous topic - Next topic

Equinocio

Tutorial removed to revision.

Equinocio

#1
Tutorial removed to revision.

DevilDemon

Great Tutorial but i cant get it to work can you help


Shamrock

Yeah I had the same problem. Don't try to use the code it does not work. Just learn what he is doing to make a Fatality.

What I had to do to make this work was use the concepts and then look at Bindo's Fatality code.

This tutorial is only good as a reference or guide the code will not work.

DevilDemon

i tried that and it still did not work i dont know what to do


Ah! Ya! Cos...

I'm making a fatality and i try to understand all the codes used. this tuto help me but I would like to know why it doesn't work! which codes need to be changed?

Cyanide

Well, the 4 people above you have also said it doesn't. Logically it's not copy paste code, and this dude, who's first language obviously isn't english, has either missed some features, or things have been lost in translation.

Use what's there, see what you can find. Ask when something SPECIFIC gets you stuck, not a generic "it's not working" please.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Jessy

mmm..
I used
[State 3300, 1]
type = PosSet
trigger1 = Time = 53
y = 900

-I hate haters and S.o.S chars.....
-time to migrate from winmugen...

Ah! Ya! Cos...

QuoteAsk when something SPECIFIC gets you stuck, not a generic "it's not working" please.

yeah of course Cyanide. sorry ;)

my problem is "making the opponent dizzy". my "finish him" message is ok. but after, i don't know how making my opponent dizzy. I think the problem is probably this :

Quote[State -1, Fatality]
type = Changestate
trigger1 = Ctrl ;It must have the control.
trigger1 = P2Life = 1 ;Life of the opponent must be equal the 1.
trigger1 = NumHelper(7000) = 1 ;It must have at least 1 invisible Helper in the screen.
trigger1 = P2StateNo = 49999 ;Opponent must be in this state.

What is the 49999 state? Which animations must be placed in the 49999 state?

(thank you in advance and sorry for my bad english)

Shamrock

#9
Here is 49999

Spoiler (click to show)
Quote[Statedef 49999]
type    = S
movetype= H
physics = S
juggle  = 1
ctrl = 0
velset = 0,0

;Enemy will be with life equal the 1.
[State 49999, 1]
type = LifeSet
trigger1 = 1
value = 1

;Its personage gains a little more than energy to prevent an equal result.
[State 49999, 2]
type = TargetLifeAdd
trigger1 = P2life <= 1
value = 1

;After 480 ticks without having fatality, P2 falls.
[State 49999, 3]
type = SelfState
trigger1 = Time = 480
trigger1 = P2StateNo != [3000,3200] ;It places here the numbers of states of fatalities.
value = 5050
ctrl = 0

;After 480 ticks without having fatality, P2 is died.
[State 49999, 4]
type = LifeSet
trigger1 = Time = 480
trigger1 = P2StateNo != [3000,3200]
value = 0

;Enemy is dizzy.
[State 49999, 5]
type = ChangeAnim
trigger1 = AnimExist(5300)
trigger1 = Anim != 5300
value = 5300

Basically you are using a giant clsn box to put the p2 in a custom dizzy state. It's been a while since I looked at this code, but it's basically the same a putting p2 into a throw. That the animation is a helper that is coded in your character and uses sprites from p2.

The problem you are having is most likely the same one I was having and that is the triggers on of them being life=1 or whatever.

You need change the dead value to another state so that the character can't be killed until he goes through the state 4999.

Check out the hid def's in another MK character you will see that that they have this added no dead change state.

I'm not good enough with coding to remember ever single trigger and line of code without having the mugen docs open in front of me. but If you can't get what I am saying maybe Cy can tell you the exact lines of code for the hitdef dead thing.

Ah! Ya! Cos...

Thank you for your help shamrock!

QuoteCheck out the hid def's in another MK character you will see that that they have this added no dead change state.

i already looked at mk chars and your mk sagat codes, but i still don't understand what you mean by :

QuoteThe problem you are having is most likely the same one I was having and that is the triggers on of them being life=1 or whatever.

You need change the dead value to another state so that the character can't be killed until he goes through the state 4999.

2 weeks i'm on it, and i tried a lot of solutions but...now i'm totally lost!
for example what's the hell with these parts of codes :
Spoiler (click to show)
;---------------------------------------------------------------------------
[StateDef 30000]
type = S
movetype= I
physics = S
juggle = 1
velset = 0,0
ctrl = 1

;Invisible Helper that will make P2(opponent) is dizzy.
[State 30000, 1]
type = Helper
trigger1 = 1
trigger1 = NumHelper(7000) = 0 ;another Helper cannot exist as this in the screen.
ID = 7000
stateno = 7000
pos = 160, -140
postype = left
helpertype = normal
name = "FINISH HIM!"
keyctrl = 0
ownpal = 1

[State 30000, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


-------------------------------------
This is the HitDef for the Helper bred above.

[StateDef 7000]
type = S
movetype = A
physics = S
anim = 7010
velset = 0,0
ctrl = 1

;Affecting all the screen.
[State 7000, 1]
type = HitDef
trigger1 = AnimElem = 1
trigger1 = P2StateType != A
attr = S, SA
damage = 0,0
animtype = Heavy
hitflag = MF
guardflag = A
priority = 7
pausetime = 0,3
sparkxy = 0,0
sparkno = -1
gurad.sparkno = -1
hitsound = -1
guardsound = -1
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = 0
air.velocity = 0
air.fall = 1
fall = 0
numhits = 0
p2stateno = 9050 ;P2 will go for this state after to be affected by the Helper.

;"FINISH HIM!" - MSG
[Statedef 7010]
type = S
movetype= I
physics = S
juggle = 1
velset = 0,0
anim = 7010
ctrl = 0

;"FINISH HIM!" it will not have shadow while it will be in the screen.
[state 7010, 2]
type = AssertSpecial
trigger1 = 1
flag = noshadow

;The message will appear above of all the elements of the screen(scene, lifebars, chars...)
[State 7010, 3]
type = SprPriority
trigger1 = 1
value = 5

;Helper do "FINISH HIM!" - MSG
[state 7010, 4]
type = Helper
trigger1 = NumHelper(7000) = 1 ;It must have a Helper that makes P2 is dizzy in the screen.
trigger1 = NumHelper(7010) = 0 ;It cannot have message "FINISH HIM!" in the screen.
trigger1 = P2StateNo = 9050 ;P2 must be in this state it message to appear.
id = 7010
stateno = 7010
pos = 160, -140
postype = left
helpertype = normal
name = "FINISH HIM! - MSG"
keyctrl = 0
;---------------------------------------------------------------------------

[Statedef 9050]
type    = S
movetype= H
physics = S
juggle  = 1
ctrl = 0
velset = 0,0

;Enemy will be with life equal the 1.
[State 9050, 1]
type = LifeSet
trigger1 = 1
value = 1

;Its personage gains a little more than energy to prevent an equal result.
[State 9050, 2]
type = TargetLifeAdd
trigger1 = P2life <= 1
value = 1

;After 700 ticks without having fatality, P2 falls.
[State 9050, 3]
type = SelfState
trigger1 = Time = 700
trigger1 = P2StateNo != [4000,4999] ;It places here the numbers of states of fatalities.
value = 5050
ctrl = 0

;After 700 ticks without having fatality, P2 is died.
[State 9050, 4]
type = LifeSet
trigger1 = Time = 700
trigger1 = P2StateNo != [4000,4999]
value = 0

;Enemy is dizzy.
[State 9050, 5]
type = ChangeAnim
trigger1 = AnimExist(5300)
trigger1 = Anim != 5300
value = 5300
;---------------------------------------------------------------------------
[Statedef -2]

;This VAR will be set in motion when one round previous will be gained.
[State -2, 1]
type = varset
trigger1 = Win = 1
trigger1 = NumHelper(7000) = 0 ;Invisible Helper that makes the opponent is dizzy.
v = 58
value = 1

;When the enemy is deceased, it erases.
[State -2, 2]
type = varset
trigger1 = Win = 1
trigger1 = NumHelper(7010) = 1
trigger1 = p2life != 0
v = 58
value = 0

;When P2 will be with 1 of energy, it is died with any blow.
[State -2, 3]
type = AttackMulSet
triggerall = !Var(58)
triggerall = p2Life <= 1
trigger1 = Win = 0
trigger1 = RoundNo != 1
trigger2 = P2StateNo = 9050
value = 9999

[State 9050, Change]
type = ChangeState
trigger1 = P2StateNo = 4000 ;-> State of fatality.
value = 8501 ;-> Custom State for where P2 is sent.
ctrl = 0

and thanks for your help!

Shamrock

I wouldn't look at my code if I were you. It's ugly hacked up, MKSagat's fatality has a bug that I can't seem to get rid of. Check out binho's characters he's got it down pat.

Ok let's see what you have gotten right so far.

Does p2 die when hit or does he go into a custom dizzy animation.

Ah! Ya! Cos...

QuoteI wouldn't look at my code if I were you. It's ugly hacked up, MKSagat's fatality has a bug that I can't seem to get rid of. Check out binho's characters he's got it down pat.

the same problem for binho's code. I don't understand his "state 003" and "004" for dizzy animations...

QuoteDoes p2 die when hit or does he go into a custom dizzy animation.

P2 directly die, no fatality time and no dizzy animation. But the message "finish him" appears...



Shamrock

#13
Ok I look at my own code which is Mike O and Binho inspired as in I read there shit over and over copying it and playing with it.

Make sure you thank Cy though because I think he's the one who told me about the kill value.

The following is my standing light punch state 200 check out the bolded code.

[State 200, 1-1]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA                     ;Attribute: Standing, Normal Attack
damage = 43,8                   ;Damage that move inflicts
animtype = Light                 ;Animation type: Light, Medium, Heavy, Back (def: Light)
getpower = 75,150                 ;Power to get on hit, on guard
givepower = 15,8                 ;Power to give opponent on hit, on guard
guardflag = MA                   ;Flags on how move is to be guarded against
hitflag = MAF                    ;Flags of conditions that move can hit
priority = 3, Hit                ;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 0,0                  ;Time attacker pauses, time victim shakes
numhits = 0                      ;Number of hits to count as (Def: 1)
sparkno = -1                      ;Spark image group and no (Def: set above)
sparkxy = -10,-70                ;X-offset for the "hit spark" rel. to p2,
hitsound = S5,9                   ;Sound to play on hit
guardsound = 6,0                 ;Sound to play on guard
ground.type = Low               ;Type: High, Low, Trip (def: Normal)
ground.slidetime = 5             ;Time that the victim slides back
ground.hittime = 11             ;Time victim is in hit state
ground.velocity = -2             ;Velocity at which victim is pushed
airguard.velocity = -1.9         ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.velocity = -1.3,-3           ;X-velocity at which victim is pushed,
kill = !var(58) || 1*p2stateno = 003

That line needs to be added to all your hitdefs.

What it does is this following variable which goes into your state -2

[Statedef -2]


[State -2, 1]
type = varset
trigger1 = Win = 1
trigger1 = NumHelper(9010) = 0 ;Helper
v = 58
value = 1



[State -2, 2]
type = varset
trigger1 = Win = 1
trigger1 = NumHelper(9010) = 1
trigger1 = p2life != 0
v = 58
value = 0



[State -2, 3]
type = AttackMulSet
triggerall = !Var(58) && p2Life <= 1
trigger1 = RoundNo != 1 && Win = 0
trigger2 = P2StateNo = 003
value = 9999


[state -2, 4]
type = AssertSpecial
trigger1 = NumHelper(9010)=1
flag = nomusic
flag2 = nobardisplay

It's self explanatory but that is the missing stuff from this tutorial.

What it does is keep your opponent alive and kills him when you hit him after the "finsih him" has be called.

If you need to know more just follow what state -2 is doing by the state numbers and it should come clear.

Thanks again Cy I think you were the one that helped me through this part.

Sorry I didn't post this when you guys were asking what is wrong. It's just that I'm still a noob at coding and I have to re study everything to figure things out.

Have fun.

P.S. This is why MKSagat is not finished. I had to figure this shit out and after that the fucking sff was corrupted by FF. After I fixed that I just lost interest in finishing the character. Because every time I look at him I get pissed about that sff file.

Shamrock

Yeah I'm double posting. I just remembered another problem I had. I was using the winanne ai method so I had var 58 with that code.

And then I used 58 for the fatality, this caused problems.

Make the fatality thing the last variable and not winanne even if her tutorial says
to make hers the last variable.

Ah! Ya! Cos...


I tested and...it works!!! :sugoi: :sugoi: :sugoi:
A big Thank you to CY and to you SHAMROCK! thanks for the time you took ;D

AlumDixon

wheres the first part of it?

Making Stick Figures in MS Paint is Fun....
Continuing Kung Lao =]

Russell_0010

#17
Hey, Guys! I'm having trouble doing a fatality for rosalina from super mario galaxy......I wanted her to do some fatalities and wanted to show logos like finish him!, Fatality, Brutality, Animality, And Friendship.

P.S. I would also like her to do babality....

ROCK ON, BRO!

Equinocio

#18
Hi!

My English no good.  ;D

Tutorial removed to revision.

If I do not appear here, send an email to igyur@yahoo.com

By! ;)