collapse

Author Topic: You win! PERFECT!  (Read 1763 times)

0 Members and 1 Guest are viewing this topic.

Offline ClubSyN-X-TReME

  • Character and Interactive Stage Specialist
  • Club Syndicate Admin
  • *
  • Posts: 1641
  • Last Login:July 28, 2014, 06:54:54 AM
    • Club SyN -X-treme
You win! PERFECT!
« on: July 06, 2008, 06:32:55 PM »


This is something I added to my screenpack to make the game/announcer tell if you win with a perfect.
The code I will show will tell you how to do that and to avoid glitches I discovered when creating this.

For this method, you will need to place this in a helper thats active at all times, thats why in alot of my guides I use a Dummy/Fake helper.

Code: [Select]
[State -3, Dummy Helper]
type = Helper
triggerall = !numpartner
trigger1 = time = 1 && !numhelper(xxxxx)
helpertype = normal
name = "Dummy Helper"
ID = xxxxx
stateno = xxxxx
pos = 0,-99999999999999999
postype = left    ;p2,front,back,left,right
ownpal = 0
supermovetime = 999999999999
pausemovetime = 999999999999
ignorehitpause = 1
persistent = 0

And below are the Dummy Helper States....

Code: [Select]
;------------------------------------
;Dummy Helper States
;------------------------------------
[Statedef xxxxx]
type = S
physics = n
ignorehitpause = 1

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
ignorehitpause = 1

[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
ignorehitpause = 1

Now we have a Dummy helper that is active at all times when needed and it will kill that delay that having a helper alone in a negative state causes when needing something to happen at the correct moment as well as hitpause desyncs.

in the dummy states above, add another helper to it for the PERFECT win codes.

Code: [Select]
[State 0, Perfect Victory]
type = Helper
trigger1 = (roundstate > 3 && !drawgame)&& (root,WinKO || root,LoseKO) && !numhelper(yyyyy)
helpertype = normal ;player
name = "Perfect Victory"
ID = yyyyy
stateno = yyyyy
pos = 0,-99999999999999999
postype = left    ;p2,front,back,left,right
ownpal = 0
supermovetime = 999999999999
pausemovetime = 999999999999
ignorehitpause = 1
persistent = 0

See this trigger here:
trigger1 = (roundstate > 3 && !drawgame)&& (root,WinKO || root,LoseKO) && !numhelper(yyyyy)
This will prevent the helper from kicking in when there is a draw game and time over regardless if you have full health and the enemy doesn't.

IMO it's pointless for a perfect to be displayed if you won by a time over.

Now for the Perfect states.

Code: [Select]
;------------------------------------
;Perfect Victory
;------------------------------------
[Statedef yyyyy]
type = S
physics = n
ignorehitpause = 1
sprpriority = -4

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
flag3 = roundnotover
ignorehitpause = 1

[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
ignorehitpause = 1

;---------------<perfect!>-----------

use a perfect Explod code here

use a Playsnd to make the announcer or voice say perfect.

[State 0, DestroySelf]
type = DestroySelf
trigger1 = statetime = 200

Even though helpers destroy themselves when a round is over, you MUST destroy this one since we are using the roundnotover asserted trigger which means mugen will not end this round properly.










Offline Jelux Da Casual

  • of the Old Guard
  • Infinity Administrator
  • *
  • Posts: 5324
  • Country: United States us
  • Last Login:April 27, 2024, 07:01:29 PM
  • 7/18/11 - Death of a Legend
    • JeluxDaCasual
    • Email
Re: You win! PERFECT!
« Reply #1 on: July 06, 2008, 06:36:47 PM »
Legen, wait for it...
(ಠ_益ಠ) (~_~) CAPCOM
    Fyro^                 ^Me
\(゜0゜)/  (╯°Д°)╯彡WOƆԀ∀Ɔ
(╯^_^)/*\(^o^╯)       WOƆԀ∀Ɔ

Offline MirageAtoli

  • Infinity Faithful
  • ****
  • Posts: 584
  • Last Login:May 13, 2011, 03:25:23 AM
  • Oh, my Paws and Whiskers!
Re: You win! PERFECT!
« Reply #2 on: July 09, 2008, 12:38:39 AM »
Why is there a second helper involved? Why not use changeanim on the first one?

Offline ClubSyN-X-TReME

  • Character and Interactive Stage Specialist
  • Club Syndicate Admin
  • *
  • Posts: 1641
  • Last Login:July 28, 2014, 06:54:54 AM
    • Club SyN -X-treme
Re: You win! PERFECT!
« Reply #3 on: July 09, 2008, 05:28:03 AM »
Why is there a second helper involved? Why not use changeanim on the first one?

Because

Quote
Now we have a Dummy helper that is active at all times when needed and it will kill that delay that having a helper alone in a negative state causes when needing something to happen at the correct moment as well as hitpause desyncs.

btw, I really hate explaining myself twice. no offense but it gets to me.

As far as changeanim, I dont know, if coded in a character maybe ( I seriously doubt that), but my version was not coded in a character, its for my screenpack with uses the fightfx.sff so it would be compatible with all chars, thats why I didnt use changeanim since the sprite is not the chars own sff and to be honest, changeanim is a very bad idea for this.

Oh yeah I forgot to mention for the perfect explod and playsnd, use this trigger to activate it.

trigger1 = (root,life = lifemax || enemy,life = lifemax)
« Last Edit: July 09, 2008, 05:34:56 AM by |mmö®†åL -$yN- »

Offline BEATMASTERMIKE

  • Forum Member
  • ***
  • Posts: 209
  • Last Login:November 23, 2013, 07:30:51 PM
  • SHINKU HADOUKEN真空波動拳!!!
    • Youtube.com
    • Email
Re: You win! PERFECT!
« Reply #4 on: July 09, 2008, 08:59:10 PM »
this is pretty cool ^^(PM)^
優秀な反作用

Offline shinra358

  • Infinity Regular
  • ****
  • Posts: 736
  • Last Login:August 16, 2008, 07:20:26 PM
Re: You win! PERFECT!
« Reply #5 on: July 09, 2008, 09:02:39 PM »
maybe you should have this done by hits instead of life cuz a person life can be taken and someone may have life regain(or just defense, etc). if does by hits then you can say if the person wasnt hit at all. just becuz being hit and gaining life back != to a perfect

Offline ClubSyN-X-TReME

  • Character and Interactive Stage Specialist
  • Club Syndicate Admin
  • *
  • Posts: 1641
  • Last Login:July 28, 2014, 06:54:54 AM
    • Club SyN -X-treme
Re: You win! PERFECT!
« Reply #6 on: July 09, 2008, 09:14:55 PM »
Then I would need a variable for the root character which was the reason Why I made this method. Avoid using root vars.

Offline shinra358

  • Infinity Regular
  • ****
  • Posts: 736
  • Last Login:August 16, 2008, 07:20:26 PM
Re: You win! PERFECT!
« Reply #7 on: July 09, 2008, 09:16:19 PM »
what about helpervar instead?

Offline ClubSyN-X-TReME

  • Character and Interactive Stage Specialist
  • Club Syndicate Admin
  • *
  • Posts: 1641
  • Last Login:July 28, 2014, 06:54:54 AM
    • Club SyN -X-treme
Re: You win! PERFECT!
« Reply #8 on: July 09, 2008, 09:18:01 PM »
to detect, count hits, etc, a var would need to be assigned to that characters attack states, all of them. which im trying to avoid.

Offline shinra358

  • Infinity Regular
  • ****
  • Posts: 736
  • Last Login:August 16, 2008, 07:20:26 PM
Re: You win! PERFECT!
« Reply #9 on: July 09, 2008, 09:19:31 PM »
k

Offline MirageAtoli

  • Infinity Faithful
  • ****
  • Posts: 584
  • Last Login:May 13, 2011, 03:25:23 AM
  • Oh, my Paws and Whiskers!
Re: You win! PERFECT!
« Reply #10 on: July 09, 2008, 10:43:03 PM »
Why is there a second helper involved? Why not use changeanim on the first one?

Because

Quote
Now we have a Dummy helper that is active at all times when needed and it will kill that delay that having a helper alone in a negative state causes when needing something to happen at the correct moment as well as hitpause desyncs.

btw, I really hate explaining myself twice. no offense but it gets to me.

trigger1 = (root,life = lifemax || enemy,life = lifemax)

You do realize that you run the risk of running out of the total amount of possible helpers each with 100 variables each.
To me it would make more sense to have the helper change to different state or anim while still asserting roundnotover, but that is also from the guy who can't stand for his code not to be optomized.

I also don't know enough about the latency problem that you are trying to avoid.

Quote
to detect, count hits, etc, a var would need to be assigned to that characters attack states, all of them. which im trying to avoid.

As for a perfect round compare the roots life to its maxlife and set one of the helpers values and use that to switch between an "untouchable" and "perfect" rounds. It is very doable, but may not be what you intended.
« Last Edit: July 09, 2008, 10:51:29 PM by MirageAtoli »

Offline ClubSyN-X-TReME

  • Character and Interactive Stage Specialist
  • Club Syndicate Admin
  • *
  • Posts: 1641
  • Last Login:July 28, 2014, 06:54:54 AM
    • Club SyN -X-treme
Re: You win! PERFECT!
« Reply #11 on: July 10, 2008, 06:06:24 AM »
Quote
You do realize that you run the risk of running out of the total amount of possible helpers each with 100 variables each.

LOL, yeah im aware of that and I rarely use vars in the helpers anyway. I am not actually coding a character you know. I did say this was for my screenpack. also if I needed more helpers, I can always increase them in the mugen.cfg

Quote
To me it would make more sense to have the helper change to different state or anim while still asserting roundnotover.

I understand the changing to a different state but I cant use a sprite from the fightfx with a changeanim code and thats why I did it the way I did. If I use a changeanim code then I would have to insert that sprite and anim code into all mugen chars that exist. I swear I already said that and I also said,
Quote
I am not actually coding a character you know. I did say this was for my screenpack,

Quote
I also don't know enough about the latency problem that you are trying to avoid.

Of course you don't, thats why you always question my methods without having the full understanding.

This was something I have experienced when making interactive stages or using coding methods by having something activate from a negative state. A negative state has a 2 tick delay from anything happening in a positive state when tryong to sync events and effects. Rednavi and I discovered this while we were working on separate projects and he showed me how to properly fix that and thats when I figured I would make a helper thats active at all time, but dont do anything which I call a dummy helper and if I needed something to hapen when I want in the right time, I code it in that dummy helper states so it would execute at the exact moment when I needed it to. Even hitpauses, pause triggers, or super triggers wont throw it off sync like it would if I used whatever code I used in a negative state alone.

Quote
As for a perfect round compare the roots life to its maxlife and set one of the helpers values and use that to switch between an "untouchable" and "perfect" rounds. It is very doable, but may not be what you intended.

Sigh, just for you, I will repeate myself, again.

1.
to detect, count hits, etc, a var would need to be assigned to that characters attack states, all of them. which im trying to avoid.

2.
Quote
I am not actually coding a character you know. I did say this was for my screenpack,






« Last Edit: July 10, 2008, 11:16:16 AM by |mmö®†åL -$yN- »

Offline MirageAtoli

  • Infinity Faithful
  • ****
  • Posts: 584
  • Last Login:May 13, 2011, 03:25:23 AM
  • Oh, my Paws and Whiskers!
Re: You win! PERFECT!
« Reply #12 on: July 10, 2008, 08:17:49 PM »
Thanks for the precise answers and clarification; it really is quite useful.

Of course you don't, thats why you always question my methods without having the full understanding.

How else would I learn, if I don't have a complete understanding. It isn't like there are any other experts to ask with this expertise or a textbook I could check.

My psuedologic for the perfect and untouchable rounds still stand and are very doable. That wasn't a suggestion of what to do, but a statement that it is possible, mostly for the benefit of others. Sorry, I wasn't to clear to whom that was direct to, and am fault here.

Quote
LOL, yeah im aware of that and I rarely use vars in the helpers anyway.

I'd be worried that the memory stack has a buffer overflow, especially in the case of DragonClaw. Do player objects have a fixed size in memory?

Offline ClubSyN-X-TReME

  • Character and Interactive Stage Specialist
  • Club Syndicate Admin
  • *
  • Posts: 1641
  • Last Login:July 28, 2014, 06:54:54 AM
    • Club SyN -X-treme
Re: You win! PERFECT!
« Reply #13 on: July 13, 2008, 05:39:11 AM »
as far as the fixed size memory, I doubt thatm but im sure when I do release my screenpack since it contains alot of custom features im trying to make compatible with all mugen chars I expect some possible bug reports and ppls thoughts on their experience with my works.

I will wait until then before going into that aspect. That will help me better everything in the future.

Tags:
 


* IMT Facebook

Help us by Donating!

IMT Discord

Join us at our Discord! Click the image below!

* IMT Shoutbox

Sorry, this shoutbox does not exist.

* Recent Posts

* IMT Calendar

April 2024
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
[28] 29 30

SimplePortal 2.3.5 © 2008-2012, SimplePortal