# The Mugen Fighters Guild Forum

## Help => Tips, Tricks, Tutorials => Topic started by: squallcolin on November 19, 2003, 01:19:35 AM

Title: If you win a perfect match...
Post by: squallcolin on November 19, 2003, 01:19:35 AM

Hello! This is my next Tip and Tricks for Mugen. This has no division whatsoever. It doesn't matter which type of member are you, whether veteran or newbies. Those of you who wants to know more can continue reading.
Have you ever wondered if there was anyway you can make Mugen make the announcer announce "Perfect!" and display the text "Perfect" if you managed to finish a round with a full life bar (a perfect win)? Here's a tip I received last year from a guy in MugenDev in 27 August 2002 (Whoever you are, I thank you for your help. If you are reading this, please let me know, so that I may give credit to you... :))
He stated this:
"The only way to do this that i know of is to add these functions to your character. So if you want it on every character, you will need to add it to each character individually.
You'll need to add 2 things to each win pose state:
- an explod for the perfect animation/sprite
- a playsnd function for the sound effect
Look in your docs folder, and open sctrls.txt (or sctrls.doc) and look up the explod and playsnd functions.
Now once you have these in your win poses, you'll need to trigger them only when the character has full life. So lets say the character's maximum life is 1000 (default) then the triger would look like this:
trigger1 = (life > 999) && (time = 5)
Basically that says the event will trigger when the characters life is greater that 999 points, and 5 ticks have passed in the win pose state. Adjust the time to a number closer to when you would want it displayed, and the life to one point below your characters max life value.
Hope that you can understand that, don't have time to be more precise.
Tips and Tricks courtesy of ? ? ? ? ? ? ? ? ?
EDIT:
After some discussions, the guys in this forum have a better way of doing it:
trigger1 = WinPerfect
trigger1 = time = 350
Basically that says the event will trigger when the characters managed to achieve a Perfect, and 350 ticks have passed in the win pose state. Adjust the time to a number closer to when you would want it displayed.
END of EDIT
Elecbyte did mention this in "mugenfaq.txt":
Quote
Does MUGEN support hidden characters and other secrets?
=======================================================
No, it doesn't.
So, my next topic:
Highlight of the month: "Making hidden/secret characters. Is it really possible?"
Find out in my highlight of the month topic!
Post modified and updated.

Title: Re:If you win a perfect match...
Post by: TMFG on November 19, 2003, 01:26:25 AM

thanks thats a good one. But I wonder if there is a way to do so without adding this function to every character?

Title: Re:If you win a perfect match...
Post by: Beatrice on November 19, 2003, 04:18:45 AM

No, no, no!!! That's ugly and doesn't makes sense when you have a winperfect trigger.
People, please, read the whole triggers.txt. There are lots of unusual triggers that no one uses there.
Instead of using Life >= 999, use this:
[State whatever, I don't care]
Type = Explod
trigger1 = winperfect
...
Kisses.

Title: Re:If you win a perfect match...
Post by: Valodim on November 19, 2003, 06:24:21 AM

besides, life=const(data.life) would make more sense than life>999 ::)

Title: Re: If you win a perfect match...
Post by: Sepp on November 19, 2003, 06:34:51 AM

Problem with the constants: Doesn't adjust according to Turns mode, for example. You'd need LinuxMUGEN's LifeMax triggers for that. I guess WinPerfect'd be really the best solution.

Title: Re:If you win a perfect match...
Post by: Booba92i on November 19, 2003, 07:21:29 AM

Yes WinPerfect is the best solution available because people around don't use the same values for life data.

Title: Re:If you win a perfect match...
Post by: Valodim on November 19, 2003, 07:31:43 AM

didn't say it wasn't, I just said that life>999 doesn't make any sense :P

Title: Re:If you win a perfect match...
Post by: squallcolin on November 19, 2003, 11:21:08 AM

So, I guess this is it then:
trigger1 = WinPerfect && (time = 5)
or maybe even
trigger1 = WinPerfect
trigger1 = time = 5
How about this method, then:
[State stateno, Perfect]
type = Explod
trigger1 = time = 350
trigger1 = life >= 999
trigger1 = p2life = 0
trigger1 = WinPerfect
value = ?, ?
type = Playsnd
trigger1 = time = 350
trigger1 = life >= 999
trigger1 = p2life = 0
trigger1 = WinPerfect
value = ?, ?

Title: Re:If you win a perfect match...
Post by: Beatrice on November 19, 2003, 11:48:31 AM

You just need the winperfect trigger and maybe a time trigger...
There is no need to check your life, to check p2 life or whatever. Winperfect only triggers when you win a round with a full life bar...

Title: Re:If you win a perfect match...
Post by: Booba92i on November 19, 2003, 11:57:12 AM

Maybe an additional roundstate trigger would help.

Title: Re:If you win a perfect match...
Post by: Valodim on November 19, 2003, 04:48:10 PM

or matchover...

Title: Re:If you win a perfect match...
Post by: BlackJack on December 06, 2003, 05:25:10 PM

Quote from: Mercykiller on December 06, 2003, 05:15:37 PM
trigger1 = numexplod(9999) = 0
=
trigger1 = !numexplod(9999)

Title: Re:If you win a perfect match...
Post by: Valodim on December 08, 2003, 10:49:57 AM

or persistent = 0, if both chars have the sctrl they are triggered both, anyway... ::)

Title: Re:If you win a perfect match...
Post by: XII [walf] on December 12, 2003, 11:27:44 AM

now you're just showing off/drowning in technicisms ::)

Title: Re:If you win a perfect match...
Post by: Valodim on December 12, 2003, 07:20:31 PM

Quote from: The Church Lady on December 12, 2003, 11:27:44 AM
now you're just showing off/drowning in technicisms ::)
well, at least we're not spamming :P:laugh3:

Title: Re:If you win a perfect match...
Post by: Alucard4ever on December 13, 2003, 01:12:03 AM

Quote
So, I guess this is it then:
trigger1 = WinPerfect && (time = 5)
or maybe even
trigger1 = WinPerfect
trigger1 = time = 5
How about this method, then:
[State stateno, Perfect]
type = Explod
trigger1 = time = 350
trigger1 = life >= 999
trigger1 = p2life = 0
trigger1 = WinPerfect
value = ?, ?
type = Playsnd
trigger1 = time = 350
trigger1 = life >= 999
trigger1 = p2life = 0
trigger1 = WinPerfect
value = ?, ?
Not applyable to DBZ chars.
;Goku cns
[data]
life = 9999
and so on...

Title: Re:If you win a perfect match...
Post by: squallcolin on December 13, 2003, 01:46:13 AM

Quote from: Valodim on December 12, 2003, 07:20:31 PM
Quote from: The Church Lady on December 12, 2003, 11:27:44 AM
now you're just showing off/drowning in technicisms ::)
well, at least we're not spamming :P:laugh3:
Agreed. :yes: As long as the feedback is useful, it is good for others to see. And as long as there is no arguing, it's okay. Helpful feedbacks are appreciated.
^_^
Alucard4ever, about your reply:
Just remove this line:
Code:

    trigger1 = life >= 999

because WinPerfect is the only trigger that is suitable for all HP (or Life).
^_^

Title: Re:If you win a perfect match...
Post by: Valodim on December 13, 2003, 09:35:00 AM

trigger1=life<const(data.life) :laugh3:

Title: Re:If you win a perfect match...
Post by: luner on February 05, 2004, 05:44:12 AM

errr. if you modify the common cns perhaps all the characters can show the perfect message, am i wrong?

Title: Re:If you win a perfect match...
Post by: Valodim on February 05, 2004, 07:48:30 AM

all those who don't overwrite those states... actually, that's about 95% :P

Title: Re:If you win a perfect match...
Post by: Djoulz on February 17, 2004, 09:28:21 PM

can you people agree on ONE thing to change?? i thought even the newbies could uderstand but it seems you guys add differents stuffs to change.....
the real question is:
Quote from: Gato on November 19, 2003, 01:26:25 AM
thanks thats a good one. But I wonder if there is a way to do so without adding this function to every character?
if somebody can answer that (affirmative answer),that would be awesome :)

Title: Re:If you win a perfect match...
Post by: Valodim on February 18, 2004, 01:47:28 PM

no. you can't do ANYTHING to "every char without changing every char's code", because there is no state all chars have in common. not a single one.

Title: Re:If you win a perfect match...
Post by: XII [walf] on February 20, 2004, 10:32:04 AM

hitstates?

Title: Re:If you win a perfect match...
Post by: Valodim on February 20, 2004, 01:15:13 PM

...are common, overwritable, states.
Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC