YesNoOk
avatar

super cancels & hyper finish (Read 1294 times)

Started by Chyros, October 07, 2012, 12:13:06 pm
Share this topic:
super cancels & hyper finish
#1  October 07, 2012, 12:13:06 pm
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Hiya guys,

Let me introduce myself first; name's Chyros, I've been playing MUGEN for almost ten years now, and have very slowly learned a few basic coding techniques. I've been refining some characters of late, and I've hit a few problems I can't seem to fix. Some help would be greatly appreciated :) .

1) I'm trying to implement a super cancel. Basically, I want to be able to cancel move "tourou" into move "dango" or "yami" and I can't figure out how to do it. I've read http://mugenguild.com/forum/topics/super-cancels-94452.msg836159.html#msg836159 but I don't really understand what to put where and the stuff I've tried with it doesn't work. Could you guys walk me through this in a little more detail?

2) I'm trying to make a certain super move ("Gorintsurane") such that it doesn't kill the opponent until the last hit has struck. I've noticed other supers generally don't KO opponents until the whole combo has finished and I'm guessing this difference is due to a lack in coding. What do I have to implement where to be able to achieve this effect?

Thanks a bunch in advance!
Re: super cancels & hyper finish
#2  October 07, 2012, 08:19:38 pm
  • ******
  • I hang out tough. I'm a real boss.
    • USA
    • litotichues.com/
1. Post your code. For canceling, All you really need is a movecontact and or stateno trigger.

2. Kill = 0 in your hitdefs.
Re: super cancels & hyper finish
#3  October 07, 2012, 08:27:23 pm
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Thanks for the help! I'll try that with kill = 0 now. I'm assuming that needs to be there for all hits except the last?

Here's the code for the moves:

"tourou"
Code:
[State -1]
type = ChangeState
value = 3300
triggerall = power >= 1000
triggerall = command = "tourou"
trigger1 = statetype != A
trigger1 = ctrl
trigger2=movecontact
trigger2=stateno=200||stateno=201||stateno=205||stateno=210||stateno=230||stateno=270
trigger3=movecontact
trigger3=stateno=400||stateno=405||stateno=410||stateno=430
trigger4 = stateno = 101
trigger5 = movecontact && (stateno = 1080)

"dango"
Code:
[State -1]
type = ChangeState
value = 3000
triggerall = power >= 1000
triggerall = command = "dango"
trigger1 = statetype != A
trigger1 = ctrl
trigger2=movecontact
trigger2=stateno=200||stateno=201||stateno=205||stateno=210||stateno=230||stateno=270
trigger3=movecontact
trigger3=stateno=400||stateno=405||stateno=410||stateno=430
trigger4 = stateno = 101
trigger5 = movecontact && (stateno = 1080)

"yami"
Code:
[State -1]
type = ChangeState
value = 3100
triggerall = power >= 2000
triggerall = command = "yami"
triggerall = command != "dango"
trigger1 = statetype != A
trigger1 = ctrl
trigger2=movecontact
trigger2=stateno=200||stateno=201||stateno=205||stateno=210||stateno=230||stateno=270
trigger3=movecontact
trigger3=stateno=400||stateno=405||stateno=410||stateno=430
trigger4 = stateno = 101
Last Edit: October 09, 2012, 11:03:25 am by Chyros
Re: super cancels & hyper finish
#4  October 07, 2012, 08:32:04 pm
  • ******
  • I hang out tough. I'm a real boss.
    • USA
    • litotichues.com/
Yes, all except the finishing blow should have kill = 0.

To cancel into dango from tourou, you follow the examples you have in all of those changestates: stateno = tourou's stateno && movecontact.
Re: super cancels & hyper finish
#5  October 07, 2012, 08:48:38 pm
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
OK, the kill = 0 thing worked beautifully, thanks!

As for the cancels; I added
Code:
trigger6 = stateno = 3300 && movecontact
and
Code:
trigger5 = stateno = 3300 && movecontact
to dango and yami, but it doesn't seem to work. Am I doing something wrong, or is this supposed to work?
Last Edit: October 09, 2012, 11:02:16 am by Chyros
Re: super cancels & hyper finish
#6  October 07, 2012, 08:57:46 pm
  • ******
  • I hang out tough. I'm a real boss.
    • USA
    • litotichues.com/
Are you sure the character doesn't change from statedef 3300? Otherwise, if the character is hitting and they're in statedef 3300, then the trigger stateno = 3300 && movecontact should work, given all the other conditions of the triggeralls are fulfilled.

Make sure you number the triggers correctly.
Re: super cancels & hyper finish
#7  October 07, 2012, 09:57:30 pm
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
I'm not sure it's entering ANY state, I just did was enter that line you gave me and then performed the key combination for yami and dango while touhou was happening, but nothing happened. Don't I need to add any other lines of code or something? The character I'm doing this on wasn't meant to be able to do this.
Re: super cancels & hyper finish
#8  October 09, 2012, 12:04:54 am
  • ******
  • I hang out tough. I'm a real boss.
    • USA
    • litotichues.com/
You can turn the debug on to and see which statedef your character is in; it's obvious enough.

If you're not sure if the character is entering any statedef, then you might have other problems. =p
Re: super cancels & hyper finish
#9  October 09, 2012, 08:44:10 am
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
That SHOULD function. Therefore there are a few things we can check on.

Is tourou actually a physical attack, not a helper or a projectile making contact instead?
Do you have enough power. All your attacks there have a power requirement, you need 3000 to do both.
Is tourou ONLY state 3300 or does it go 3300>3301>3302 etc? You may only be hitting in the second part of it. Follow through with debug or in the CNS to see what's happening.


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.
Re: super cancels & hyper finish
#10  October 09, 2012, 11:01:35 am
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
OK I switched on the debug mode. Quite useful, that. I'll give a more detailed description of what happens during the moves if that helps.

*Tourou is by itself a four-hit combo super move that's meant to be cancelled into slightly more powerful variations of the same move (and I want be able to cancel tourou into other supers instead). Throughout the whole base combo, all four moves, the character is in state 3300. The stateno doesn't change at all during the whole move.

*Dango is a two-part super move consisting of one big upward slash and a big downward one which is also a projectile. During the whole upward slash, the character is in state 3000,  when performing the downward slash, he's in state 3010.

*Yami is a super grab move; when performed, the character is in state 3100 for a tiny fraction of a second and then immediately changes to state 3105 where it stays during a couple of slashes and changes to 3110 for the final downward slash that ends the move.

To make this a bit more accessible, I made a video of the character performing tourou, dango and yami:

http://www.youtube.com/watch?v=djg9VLSPqTw

I even tried adding the following lines:
Code:
trigger6 = movecontact
trigger6 = stateno = 3000 && command = "dango"
trigger7 = movecontact
trigger7 = stateno = 3100 && command = "yami"
to tourou's code on a hunch that perhaps you need to specify that tourou can be cancelled or something but that didn't work either so I removed it; it doesn't work with or without this code. I do all experiments in Practice mode so power level shouldn't be a problem.

I also updated some fo the older posts as I noticed there were small copy-paste issues with them xD .
Last Edit: October 09, 2012, 11:07:57 am by Chyros
Re: super cancels & hyper finish
#11  October 09, 2012, 10:14:11 pm
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
OK, the kill = 0 thing worked beautifully, thanks!

As for the cancels; I added
Code:
trigger6 = stateno = 3300 && movecontact
and
Code:
trigger5 = stateno = 3300 && movecontact
to dango and yami, but it doesn't seem to work. Am I doing something wrong, or is this supposed to work?
Nope, that should be all it takes, what you have above is definitely the wrong way to do it.

You could try making it MUCH simpler for testing purposes

[state -1]
type = changestate
value = 3000
trigger1 = command = "dango"
trigger1 = stateno = 3300

As a command by itself. See if that works, it takes EVERYTHING out of the equation. If that doesn't function you have an issue of some sort with your numbering and or states (or even other things that may be overwriting this particular changestate.


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.
Re: super cancels & hyper finish
#12  October 10, 2012, 01:46:08 am
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Excellent! It worked beautifully with those parameters. Using a process of checking the triggers piece by piece I found that the thing that made it not work was the suffix "&& movecontact" behind the newly introduced line; without it, it works using all triggers but both yami and dango :D .

Now, to top it all up, I need to make both cancels have one of those nice flashy red star cancel screens. You know, the type that looks like this:

http://www.youtube.com/watch?v=Pe-AzMVTHro

I know this screen is also present in the character at hand because he can use another super cancel (though it's pretty unreliable). How should I start with setting up such a screen? I assume it will need assigning sprites, a sound, and some kind of game pause. I'm guessing I should be able to copy at least a part of this from another move, but where do I start?
Re: super cancels & hyper finish
#13  October 10, 2012, 02:06:57 am
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
I am very surprised movecontact was the problem. When you hit, that's movecontact, regardless of whether they're in a hitstate for any length of time afterwards or not.

I don't suppose you could post the code for tourou? You really do want the movecontact in there unless you want to be able to cancel before the super actually hits anyone.


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.
Re: super cancels & hyper finish
#14  October 10, 2012, 02:32:24 am
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Of course, the code for tourou is as follows:

Code:
[State -1]
type = ChangeState
value = 3300
triggerall = power >= 1000
triggerall = command = "tourou"
trigger1 = statetype != A
trigger1 = ctrl
trigger2=movecontact
trigger2=stateno=200||stateno=201||stateno=205||stateno=210||stateno=230||stateno=270
trigger3=movecontact
trigger3=stateno=400||stateno=405||stateno=410||stateno=430
trigger4 = stateno = 101
trigger5 = movecontact && (stateno = 1080)

Of course, ideally, the move shouldn't be cancellable if you're not hitting, but I checked, and indeed, it is.
Re: super cancels & hyper finish
#15  October 10, 2012, 04:24:23 am
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
I mean the state not the command stuff. [Statedef 3300]

dango and yami reference that state and are the ones having trouble with it based on movecontact.


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.
Re: super cancels & hyper finish
#16  October 10, 2012, 11:49:55 am
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Oh ok, yeah that's quite a block of text :xD: . Everything after the first "..." may refer to a different character mode, it could be these are not applicable.

Code:
[Statedef 3300]
type    = S
movetype= A
physics = S
juggle  = 3
poweradd= 0 ; -1000
velset = 0,0
anim = 3300
ctrl = 0
sprpriority = 2

[State 3300, NHB]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 12

[State 3300, SP]
type = SuperPause
trigger1 = AnimElem = 2
time = 1
movetime = 1
anim = 3300
darken = 0
p2defmul = 1.2

[State 3300, HyperEX]
type = explod
trigger1 = AnimElem = 2
postype = p1
pos = 30, -62
bindtime = 1
sprpriority = 6
anim = 8000
supermove = 1
ontop = 0

[State 3300, Wid01]
type = Width
trigger1 = (AnimElemTime (2) >= 0) && (AnimElemTime (29) < 0)
value = 20,0

[State 3300, Wid02]
type = Width
trigger1 = (AnimElemTime (31) >= 0) && (AnimElemTime (34) < 0)
value = 30,0

[State 3300, Wid03]
type = Width
trigger1 = (AnimElemTime (32) >= 0) && (AnimElemTime (36) < 0)
value = 60,0

[State 3300, VelSet]
type = VelSet
trigger1 = AnimElem = 2,>= 0 && AnimElem = 6,< 0
x = 3.5

[State 3300, VelSet]
type = VelSet
trigger1 = AnimElem = 7,>= 0 && AnimElem = 26,< 0
x = 2.5

[State 3300, HyperSound]
type = PlaySnd
trigger1 = AnimElem = 2
value = S1, 7
volume = -20

[State 3300, SlashSound]
type = PlaySnd
trigger1 = AnimElem = 6 || AnimElem = 13 || AnimElem = 22 || AnimElem = 35
value = S1,0

[State 3300, AttackVoice]
type = PlaySnd
trigger1 = AnimElem = 6 || AnimElem = 13 || AnimElem = 22
value = S5,0 + (random %3)
channel = 5

[State 3300, ZanVoice]
type = PlaySnd
trigger1 = AnimElem = 35
value = S8,0
channel = 5
volume = 50

;-----------------------------------
; å¹å¥‘onE©ŽãŽa‚è
[State 3300, HD]
type = HitDef
trigger1 = AnimElem = 7 || AnimElem = 23
attr = S, HA     
damage = 25,3
getpower = 0,0
animtype = midium
guardflag = MA
pausetime = 5,5
sparkno = s7205
guard.sparkno = s7300
sparkxy = -35,-50
hitsound = s3,2+floor(Random/500)
guardsound = s2,4+floor(Random/500)
ground.type = Low
ground.slidetime = 10
ground.hittime  = 22
ground.velocity = -2.8
airguard.velocity = -1.9,-.8
air.velocity = -2,-5.5
air.hittime  = 5

[State 3300, BloodEX01]
type = explod
trigger1 = movehit && AnimElem = 7,1
postype = p2
pos = -12, -50
sprpriority = 6
anim = 7400
ID = 7400
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, BloodEX02]
type = explod
trigger1 = movehit && AnimElem = 23,1
postype = p2
pos = -12, -50
sprpriority = 6
anim = 7400
ID = 7400
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, VarSet01]
type = VarSet
trigger1 = AnimElem = 7 || AnimElem = 23
v = 10
value = 1

[State 3300, VarSet02]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimElem = 8 || AnimElem = 24
v = 10
value = 0

[State 3300, Var01-EX01]
type = Explod
triggerall = var(15) = 0
trigger1 = Var(10) = 1
persistent = 2
ignorehitpause = 1
anim = 6001
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 3300, Var02-EX02]
type = Explod
trigger1 = Var(10) = 0
persistent = 2
ignorehitpause = 1
anim = 6666
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

;-----------------------------------
; å¹å¥‘onEŽãŽa‚è
[State 3300, HD]
type = HitDef
trigger1 = AnimElem = 14
attr = S, HA
damage = 25, 3
getpower = 0,0
animtype = midium
guardflag = MA
priority = 3, Hit
pausetime = 5, 5
sparkno = s7200
guard.sparkno = s7300
sparkxy = -40, -70
hitsound = s3,0+floor(Random/500)
guardsound = s2,4+floor(Random/500)
ground.type = High
ground.slidetime = 10
ground.hittime  = 22
ground.velocity = -4
airguard.velocity = -2,-.8
air.type = High
air.velocity = -2,-5.5
air.hittime = 5

[State 3300, Blood03]
type = explod
trigger1 = movehit && AnimElem = 14,1
postype = p2
pos = -12, -70
sprpriority = 6
anim = 7400
ID = 7400
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, VarSet03]
type = VarSet
trigger1 = AnimElem = 14
v = 10
value = 3

[State 3300, VarSet04]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimElem = 15
v = 10
value = 2

[State 3300, Var03-EX03]
type = Explod
triggerall = var (15) = 0
trigger1 = Var(10) = 3
persistent = 2
ignorehitpause = 1
anim = 6000
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 3300, Var04-EX04]
type = Explod
trigger1 = Var(10) = 2
persistent = 2
ignorehitpause = 1
anim = 6666
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

;-----------------------------------
; å¹å¥‘onE¨‹­Ža‚è
[State 3300, HD]
type = HitDef
trigger1 = AnimElem = 36
attr = S, HA
animtype  = Heavy
damage    = 40,5
getpower = 0,0
guardflag = MA
pausetime = 15,15
sparkno = s7215
guard.sparkno = s7300
sparkxy = -15,-70
hitsound = s1,8
guardsound = s2,4+floor(Random/500)
ground.type = High
ground.slidetime = 16
ground.hittime  = 25
ground.velocity = -5
air.velocity = -2.2,-6
air.hittime  = 15

[State 3300, Blood04]
type = explod
trigger1 = movehit && AnimElem = 36,1
postype = p2
pos = -15, -70
sprpriority = 6
anim = 7405
ID = 7405
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, VarSet05]
type = VarSet
trigger1 = AnimElem = 36
v = 10
value = 5

[State 3300, VarSet06]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimElem = 37
v = 10
value = 4

[State 3300, Var05-EX05]
type = Explod
triggerall = var (15) = 0
trigger1 = Var(10) = 5
persistent = 2
ignorehitpause = 1
anim = 6003
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 3300, Var06-Ex06]
type = Explod
trigger1 = Var(10) = 4
persistent = 2
ignorehitpause = 1
anim = 6666
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 000, red]
type = EnvColor
trigger1 = movehit
value = 200,10,10
under = 1
time = 1
ignorehitpause = 1
persistent = 1

[State 3300, MHR]
type = movehitReset
trigger1 = movehit
ignorehitpause = 1

[State 3300, CS-Command]
type = ChangeState
trigger1 = AnimElem = 7,>= 0 && AnimElem = 30,< 0
trigger1 = command = "ryu2"
value = 3305

[State 3300, CS-Command]
type = ChangeState
trigger1 = AnimElem = 7,>= 0 && AnimElem = 30,< 0
trigger1 = command = "ryu3"
value = 3320

[State 3300,CS]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1

...

[State 3300, VelSet]
type = VelSet
trigger1 = AnimElem = 2,>= 0 && AnimElem = 26,< 0
x = 2.5

[State 3300, Wid01]
type = Width
trigger1 = (AnimElemTime (2) >= 0) && (AnimElemTime (29) < 0)
value = 20,0

[State 3300, Wid02]
type = Width
trigger1 = (AnimElemTime (31) >= 0) && (AnimElemTime (34) < 0)
value = 30,0

...

[State 3300, HyperEX]
type = explod
trigger1 = AnimElem = 2
postype = p1
pos = 30, -62
bindtime = 1
sprpriority = 6
anim = 8000
supermove = 1
ontop = 0

[State 3300, HyperSound]
type = PlaySnd
trigger1 = AnimElem = 2
value = S1, 7
volume = -20

[State 3300, SlashSound]
type = PlaySnd
trigger1 = AnimElem = 6 || AnimElem = 13 || AnimElem = 22 || AnimElem = 35
value = S1,0

[State 3300, AttackVoice]
type = PlaySnd
trigger1 = AnimElem = 6 || AnimElem = 13 || AnimElem = 22
value = S5,0 + (random %3)
channel = 5

[State 3300, ZanVoice]
type = PlaySnd
trigger1 = AnimElem = 35
value = S8,0
channel = 5
volume = 50

...

[State 3300, HD]
type = HitDef
trigger1 = AnimElem = 7 || AnimElem = 23
attr = S, HA     
damage = 30,3
getpower = 0,0
animtype = midium
guardflag = MA
pausetime = 5,5
sparkno = s7205
guard.sparkno = s7300
sparkxy = -35,-50
hitsound = s3,2+floor(Random/500)
guardsound = s2,4+floor(Random/500)
ground.type = Low
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -2.8
airguard.velocity = -1.9,-.8
air.velocity = -2,-5.5
air.hittime  = 5

[State 3300, BloodEX01]
type = explod
trigger1 = movehit && AnimElem = 7,1
postype = p2
pos = -12, -50
sprpriority = 6
anim = 7400
ID = 7400
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, BloodEX02]
type = explod
trigger1 = movehit && AnimElem = 23,1
postype = p2
pos = -12, -50
sprpriority = 6
anim = 7400
ID = 7400
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, VarSet01]
type = VarSet
trigger1 = AnimElem = 7 || AnimElem = 23
v = 10
value = 1

[State 3300, VarSet02]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimElem = 8 || AnimElem = 24
v = 10
value = 0

[State 3300, Var01-EX01]
type = Explod
triggerall = var(15) = 0
trigger1 = Var(10) = 1
persistent = 2
ignorehitpause = 1
anim = 6001
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 3300, Var02-EX02]
type = Explod
trigger1 = Var(10) = 0
persistent = 2
ignorehitpause = 1
anim = 6666
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

;-----------------------------------
; å¹å¥‘onEŽãŽa‚è
[State 3300, HD]
type = HitDef
trigger1 = AnimElem = 14
attr = S, HA
damage = 30, 3
getpower = 0,0
animtype = midium
guardflag = MA
priority = 3, Hit
pausetime = 5, 5
sparkno = s7200
guard.sparkno = s7300
sparkxy = -40, -70
hitsound = s3,0+floor(Random/500)
guardsound = s2,4+floor(Random/500)
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -4
airguard.velocity = -2,-.8
air.type = High
air.velocity = -2,-5.5
air.hittime = 5

[State 3300, Blood03]
type = explod
trigger1 = movehit && AnimElem = 14,1
postype = p2
pos = -12, -70
sprpriority = 6
anim = 7400
ID = 7400
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, VarSet03]
type = VarSet
trigger1 = AnimElem = 14
v = 10
value = 3

[State 3300, VarSet04]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimElem = 15
v = 10
value = 2

[State 3300, Var03-EX03]
type = Explod
triggerall = var (15) = 0
trigger1 = Var(10) = 3
persistent = 2
ignorehitpause = 1
anim = 6000
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 3300, Var04-EX04]
type = Explod
trigger1 = Var(10) = 2
persistent = 2
ignorehitpause = 1
anim = 6666
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

;-----------------------------------
; å¹å¥‘onE¨‹­Ža‚è
[State 3300, HD]
type = HitDef
trigger1 = AnimElem = 36
attr = S, HA
animtype  = Heavy
damage    = 50,5
getpower = 0,0
guardflag = MA
pausetime = 15,15
sparkno = s7215
guard.sparkno = s7300
sparkxy = -15,-70
hitsound = s1,8
guardsound = s2,4+floor(Random/500)
ground.type = High
ground.slidetime = 16
ground.hittime  = 25
ground.velocity = -5
air.velocity = -2.2,-6
air.hittime  = 15

[State 3300, Blood04]
type = explod
trigger1 = movehit && AnimElem = 36,1
postype = p2
pos = -15, -70
sprpriority = 6
anim = 7405
ID = 7405
ignorehitpause = 1
bindtime = -1
ownpal = 1
persistent = 0

[State 3300, VarSet05]
type = VarSet
trigger1 = AnimElem = 36
v = 10
value = 5

[State 3300, VarSet06]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimElem = 37
v = 10
value = 4

[State 3300, Var05-EX05]
type = Explod
triggerall = var (15) = 0
trigger1 = Var(10) = 5
persistent = 2
ignorehitpause = 1
anim = 6003
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 3300, Var06-Ex06]
type = Explod
trigger1 = Var(10) = 4
persistent = 2
ignorehitpause = 1
anim = 6666
pos = 0,0
sprpriority = 3
removetime = 1
bindtime = -1
ownpal = 1

[State 000, red]
type = EnvColor
trigger1 = movehit
value = 200,10,10
under = 1
time = 1
ignorehitpause = 1
persistent = 1

[State 3300, MHR]
type = movehitReset
trigger1 = movehit
ignorehitpause = 1

[State 3300, CS-Command]
type = ChangeState
trigger1 = AnimElem = 7,>= 0 && AnimElem = 30,< 0
trigger1 = command = "ryu2"
value = 3305

[State 3300, CS-Command]
type = ChangeState
trigger1 = AnimElem = 7,>= 0 && AnimElem = 30,< 0
trigger1 = command = "ryu3"
value = 3320

[State 3300,CS]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1
3305 and 3320 refer to other natural follow-ups to the tourou combo move.
Re: super cancels & hyper finish
#17  October 10, 2012, 09:25:39 pm
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
[State 3300, MHR]
type = movehitReset
trigger1 = movehit
ignorehitpause = 1

And those are why it's breaking. You have hit, then turned off the fact that you've hit. Use persistent = 0 on things if you want to use movehit as a boolean. Otherwise use movehit = 1 which will only be true on the very first tick of a hit and will be reset on the second one if that's what you're after.

The above code causes movecontact = 0. You'll need to remove all of those if you want it to only combo with movecontact as a trigger.


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.
Re: super cancels & hyper finish
#18  October 11, 2012, 12:01:14 am
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Nice, removing it works! I think it was put in to prevent the previous lines from showing a red screen during the whole move; I took out those lines as well. A red flash is kind of unnecessary in this move anyway so it's fine like this. Thanks! :)

Now for the red flash screen to trigger on the cancel. Where do I even start?
Re: super cancels & hyper finish
#19  October 11, 2012, 12:17:36 am
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
Put it in the second state that you cancel into with a prevstateno trigger.

type = bgpalfx
trigger1 = time = 0 && prevstateno = 3300

etc


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.
Re: super cancels & hyper finish
#20  October 11, 2012, 12:34:07 am
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
OK, slow it down a little please xD .

Looking for the "bgpalfx" you mentioned in the code, I got a block of code that is as follows:

Code:
[State 8101, 2]
type = BGPalFX
Trigger1 = time = 0
ignorehitpause = 1
add = -128,-128,128
time = 1

[State 8101, 3]
type = BGPalFX
Trigger1 = time = 2
ignorehitpause = 1
add = 256,256,256
time = 1

[State 8101, 4]
type = BGPalFX
Trigger1 = time = 4
ignorehitpause = 1
add = -128,-128,128
time = 1

[State 8101, 5]
type = BGPalFX
Trigger1 = time = 6
ignorehitpause = 1
add = 256,256,256
time = 1
Which I'm assuming is from another cancel move. I'm assuming this entails four background sprites of the red stars showing. The sound effect is already in place (the hyper sound) and the explod (?) hyper light effect thingy too, but there isn't a pause implemented yet and I don't know what states to assign these things to. Could you help me a bit more in detail on this please? 
Re: super cancels & hyper finish
#21  October 11, 2012, 02:52:59 am
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
Ignoring that i have no idea what colours those will turn it.

Lets say i have 2 states. 1000 and 1010. If i cancel to 1010 from 1000 i want to play a special sound, turn the BG bright red and play a fancy explod, all at slightly different times.

In state 1010 i have the following

type = bgpalfx
trigger1 = time = 0 && prevstateno = 1000
add = 255,0,0
time = 60

type = playsnd
trigger1 = time = 10 && prevstateno = 1000
value = S5,0

type = explod
trigger1 = time = 20 && prevstateno = 1000
anim = 666
etc etc

Prevstateno returns true if the state referenced is the last state you were in, just like stateno references the state you're in at the time.


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.
Re: super cancels & hyper finish
#22  October 11, 2012, 12:02:28 pm
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
OK, I've tried copying bgpalfx lines from the code and modifying them like you said. The result was:

Code:
[State 3000, 14]
type = BGPalFX
Trigger1 = time = 0 && prevstateno = 3300
ignorehitpause = 1
add = -128,-128,128
time = 1

[State 3000, 15]
type = BGPalFX
Trigger1 = time = 2 && prevstateno = 3300
ignorehitpause = 1
add = 256,256,256
time = 1

[State 3000, 16]
type = BGPalFX
Trigger1 = time = 4 && prevstateno = 3300
ignorehitpause = 1
add = -128,-128,128
time = 1

[State 3000, 17]
type = BGPalFX
Trigger1 = time = 6 && prevstateno = 3300
ignorehitpause = 1
add = 256,256,256
time = 1
The normal dango (state 3000) code stops at number 13 so I added the lines after that. The effect this block of code has it that it adds four flashes of coloured backgrounds to the cancel, seemingly white and cyan, so it does WORK, but it's not the red stars thing I was hoping for. Unfortunately I can't find any part of the whole code that has a different bgpalfx even though I KNOW there is a red stars code already present in the character. What am I missing here?
Re: super cancels & hyper finish
#23  October 11, 2012, 09:13:44 pm
  • ******
  • Legendary XIII
  • I am the eye of the storm to come!
    • New Zealand
    • network.mugenguild.com/cyanide/
all bgpalfx does is changes the BG colour. The stars you may be thinking of will be explods, reference the sff file > air file > find animation.


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.
Re: super cancels & hyper finish
#24  October 15, 2012, 07:58:14 pm
  • avatar
  • *
    • Netherlands
    • blahdiblah22@hotmail.com
Sorry I haven't been on the last three days - I just emigrated to another country and it took a while to get my internet up and running.

Inthe meantime, I found the explods that did the trick. For the record, and so that others might profit from this, this is how I did it; I went into the game to perform a move in which the red stars show up, noted the state the character was in, and copied the lines that involved explods, BG colour changes and pauses. I then substituted "state 1500" for "state 3000" and added "&& prevstateno = 3300" to the triggers. Then I removed block by block until only the stuff that was needed was left. This was the following code:

Code:
[State 3000, sp]
type = SuperPause
trigger1 = AnimElem = 3 && prevstateno = 3300
time = 30
anim = 3000
p2defmul = 1.2

[State 3000, exp]
type = Explod
trigger1 = time = 1 && prevstateno = 3300
anim = 2100
pos = 165,245
postype = left
sprpriority = -2
bindtime = -1
scale = 1.09,1.09
ownpal = 1
ignorehitpause = 1
supermove = 1
removetime = 28

[State 3000, ec]
type = EnvColor
trigger1 = time = 0 && prevstateno = 3300
value = 0,0,0
time = 30
under = 1

The result is the following:

http://www.youtube.com/watch?v=shsIXij-vIQ

(note that tourou is no longer a super move; only the follow-ups are supers now)