YesNoOk
avatar

Yamazaki Grab Problem (Read 3470 times)

Started by Knuckles8864, July 13, 2019, 01:57:28 pm
Share this topic:
Yamazaki Grab Problem
#1  July 13, 2019, 01:57:28 pm
  • ****
  • Was it something I said?
I feel like I've had help with this problem before, but I'm honestly drawing a blank on this. When Yamazaki grabs an opponent with his Drill, this happens for a blink of a second.


Here's my code:
Spoiler: Code (click to see content)

Last Edit: July 16, 2019, 11:36:22 am by Knuckles8864

DW

Re: Yamazaki Grab Problem
#2  July 13, 2019, 03:01:07 pm
  • *****
    • USA
    • www.trinitymugen.net
Your bindings, except for the second one, are only binding p2 for a single tick. You should do this:

[State 3210, TargetBind 1]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(2) < 0
pos = 44,-93

From frames 3 to 9 should be set up the same way you did it for the 2nd coding of binding. Since he's releasing them on the 10th frame, that's fine. That's the only thing I see off. Along with something more inconsequential, though I'll speak on it anyway:

[State 3210, Hit Spark]
type = Helper
helperType = Normal
trigger1 = AnimElem = 10
stateNo = 8014
pos = 42,-60
posType = P1
size.xScale = 1
size.yScale = 1
sprPriority = 10
ignoreHitPause = 1
persistent = 3

Persistent equals 3...? I don't even think that's a valid parameter value for this. It's either yes(1) or no(0).
 
Re: Yamazaki Grab Problem
#3  July 13, 2019, 03:31:59 pm
  • ****
  • Was it something I said?
Yeah, it's just for the first tick of the grab success. I guess I should also mention that during frames 3-9, the opponent will fall close to place, so that's why it's like that. For reference, here it is
Spoiler: Code for Target (click to see content)

The rest is just making sure that they'll go up, then back down so they lay still for the Drill to take full effect. Maybe I'll change that the 3215 aspect, so it'll fit the real feel of Yamazaki better?

Also, changed the persistent part to 1, just to be sure. I guess it worked the same way, but let's be safe.

DW

Re: Yamazaki Grab Problem
#4  July 13, 2019, 06:29:17 pm
  • *****
    • USA
    • www.trinitymugen.net
You still need to specify how long p2 should be binded. That's happening because you're not specifying. So, you'll need to keep track of the ticks and bind accordingly using the time parameter for binding. So, instead it should be something like this:

[State 3210, TargetBind 3]
type = TargetBind
trigger1 = NumTarget && AnimElem = 3
pos = 44,-126
time = # ;<---The amount of ticks you want p2 bound for
Re: Yamazaki Grab Problem
#5  July 14, 2019, 12:29:28 am
  • *****
  • Shame on you!
    • USA
idk, looks like an animation mess up to me. It's grabbing the 0,0 point. which is her feet. The animation should be her head.
vVv Ryuko718 Updated 10/31/22 vVv

DW

Re: Yamazaki Grab Problem
#6  July 14, 2019, 12:39:15 am
  • *****
    • USA
    • www.trinitymugen.net
I was gonna suggest that as well. Maybe you are not using the right required sprite for it. Looks like you should be using 5012, 0? And align it with his hand.
Last Edit: July 14, 2019, 12:50:34 am by Miriam's Wolf
Re: Yamazaki Grab Problem
#7  July 14, 2019, 06:57:52 am
  • ****
  • Was it something I said?
Re: Yamazaki Grab Problem
#8  July 14, 2019, 11:12:16 am
  • *****
  • Shame on you!
    • USA
You've got more than a few things going different ways. When I do it, I get a clone that snaps out of existence after the super pause.

But you don't send P2 to a custom state on the hitdef or with a targetstate after the hit.
I never did look at the code because it just looked like an anim problem.

At the end of the hitdef add

p2Stateno = 3215

But there are better ways.
vVv Ryuko718 Updated 10/31/22 vVv

DW

Re: Yamazaki Grab Problem
#9  July 14, 2019, 08:08:36 pm
  • *****
    • USA
    • www.trinitymugen.net
I hate when I start tearing down code, only to realize what the real problem is... Solutions/Ideas always come to me when I'm sleep/napping lol. At any rate, the problem is your superpause triggers/timings:

[State 3200, SuperPause FX]
type = Helper
trigger1 = Time = 3
helperType = Normal
stateNo = 8520
ID = 8520
name = "Superpause FX"
posType = P1
pos = 49, -82
superMoveTime = 255
size.xScale = 1
size.yScale = 1
ownPal = 1

[State 3200, Super Pause]
type = SuperPause
trigger1 = Time = 3
time = 43
moveTime = 43
p2DefMul = 1
unHittable = 0
anim = -1
sound = s8500,0
darken = 0

These triggers are wrong, because you want the superpause to last for as long as his start up for the move is. Which is 43 ticks. Though you're having the superpause trigger 3 ticks in, so it's technically lasting longer than his startup ticks. Change them to this:

[State 3200, SuperPause FX]
type = Helper
trigger1 = !Time
helperType = Normal
stateNo = 8520
ID = 8520
name = "Superpause FX"
posType = P1
pos = 49, -82
superMoveTime = 255
size.xScale = 1
size.yScale = 1
ownPal = 1

[State 3200, Super Pause]
type = SuperPause
trigger1 = !Time
time = 43
moveTime = 43
p2DefMul = 1
unHittable = 0
anim = -1
sound = s8500,0
darken = 0

This will fix it:



Well, the sprpriority is wrong, but I trust you can adjust that. It's still good that you fixed the binding times. This is something you'll want to keep in mind with the superpause stuff, moving forward.
Last Edit: July 14, 2019, 08:11:51 pm by Miriam's Wolf
Re: Yamazaki Grab Problem
#10  July 15, 2019, 01:53:24 am
  • ******
  • If you’re gonna reach for a star...
  • reach for the lowest one you can.
    • USA
    • network.mugenguild.com/jmorphman
These triggers are wrong, because you want the superpause to last for as long as his start up for the move is. Which is 43 ticks. Though you're having the superpause trigger 3 ticks in, so it's technically lasting longer than his startup ticks. Change them to this:
Not necessarily, because in CvS2, the pause (and super spark itself) don't kick in until a few ticks into the startup of the super animation, and the pause then continues for a few ticks after the super spark animation has finished. So changing those would make it not reflect how it's supposed to work.

Instead, the best way to approach this while preserving the way super pauses work, I think, would be to have another SuperPause controller (with Time = 0) in state 3210, which will cancel out the current SuperPause and let the opponent put themselves in the correct animation.

Unfortunately, this won't kick in right away: the opponent will still be frozen on the first tick. So instead of having Yamazaki launch immediately into his throw, it might be better to add another element using the throw attempt sprite (800,1 with a time of 1) at the very start of the animation, so that Yamazaki delays the actual throw one more tick so that the opponent can "catch up". I did something similar with my Benimaru's Elec-Trigger (though I didn't add a new element to the animation, I did increase the time of the first element by a tick), if you wanted to see it in action.
Re: Yamazaki Grab Problem
#11  July 15, 2019, 10:54:45 am
  • ****
  • Was it something I said?
Jmorph's way works.... sort of. Sometimes it'll be correct, and sometimes, it'll do the same thing. I updated the link above if you want to check it out.
Re: Yamazaki Grab Problem
#12  July 15, 2019, 06:06:11 pm
  • ******
Before it was like this:

Code:
[State 3210, TargetBind 1]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(2) < 0
pos = 44,-93

[State 3210, TargetBind 2]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(2) > 0 && AnimElemTime(3) < 0
pos = 44,-125

[State 3210, TargetBind 3]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(3) >= 0 && AnimElemTime(4) < 0
pos = 44,-126

[State 3210, TargetBind 4]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(10) = 0
pos = 34,-15


It works after 1 tick so add && Time > 0 in the first TargetBind.

There is another mistake:
Code:
[State 3210, TargetBind 2]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(2) > 0 && AnimElemTime(3) < 0
pos = 44,-125

the AnimElemTime(2) > 0 should be AnimElemTime(2) >= 0 or there would be another 1 tick mistake.



So the fix will look like this:

Code:
[State 3210, TargetBind 1]
type = TargetBind
trigger1 = NumTarget && Time > 0 && AnimElemTime(2) < 0 ;added && Time > 0
pos = 44,-93

[State 3210, TargetBind 2]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(2) >= 0 && AnimElemTime(3) < 0 ;added AnimElemTime(2) >= 0
pos = 44,-125

[State 3210, TargetBind 3]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(3) >= 0 && AnimElemTime(4) < 0
pos = 44,-126

[State 3210, TargetBind 4]
type = TargetBind
trigger1 = NumTarget && AnimElemTime(10) = 0
pos = 34,-15

This will fix the problem.

Custom states ALWAYS work after 1 tick.
Re: Yamazaki Grab Problem
#13  July 16, 2019, 11:36:07 am
  • ****
  • Was it something I said?
It's working good now! Many thanks to all of you!