YesNoOk
avatar

Trouble with a half circle up command (Read 7960 times)

Started by DJH, March 09, 2018, 01:25:40 am
Share this topic:

DJH

Trouble with a half circle up command
#1  March 09, 2018, 01:25:40 am
  • avatar
  • **
  • You must defeat my spriteswaps to stand a chance.
    • USA
I'm trying to make a move that's executed by performing a half circle then up, but it doesn't seem to be properly executing for me.

This is the command itself

Code:
[Command]
name = "UpBallLight"
command = B, $D, F, $U, a
time = 30

And this is the state entry.

Code:
;---------------------------------------------------------------------------
;Light Arcing Medicine Ball
[State -1, Light Arcing Medicine Ball]
type = ChangeState
value = 4000
triggerall = command = "UpBallLight"
triggerall = !Var(2)
triggerall = statetype != A
trigger1 = ctrl || stateno = 40
trigger1 = var(1)

If I try to input the move it either comes out as an empty hop or a jumping light kick. Not sure why it doesn't work.

Does the character's jumpsquat timing also matter? The game my character comes from has no startup time on jumping so I just gave him a frame 1 jumpsquat.
Last Edit: March 10, 2018, 02:36:55 pm by Dylan
Re: Trouble with a half circle up command
#2  March 09, 2018, 04:22:09 am
  • ******
Does the character's jumpsquat timing also matter? The game my character comes from has no startup time on jumping so I just gave him a frame 1 jumpsquat.

Yes it does. If your character is in StateNo 40 for 1 frame, that means it can only be input on that exact frame. You'll either have to increase the animation time, allow him to do the move in the air, or change the command.

DJH

Re: Trouble with a half circle up command
#3  March 09, 2018, 05:34:37 am
  • avatar
  • **
  • You must defeat my spriteswaps to stand a chance.
    • USA
Does the character's jumpsquat timing also matter? The game my character comes from has no startup time on jumping so I just gave him a frame 1 jumpsquat.

Yes it does. If your character is in StateNo 40 for 1 frame, that means it can only be input on that exact frame. You'll either have to increase the animation time, allow him to do the move in the air, or change the command.

Even if I increase the animation time to something like 60 ticks and allow him to do the move in the air it still doesn't work.
Re: Trouble with a half circle up command
#4  March 09, 2018, 01:39:32 pm
  • ****
  • Robotics Engineer
    • USA
    • altoiddealer@gmail.com
comment out all of your other commands and see what happens.

-If it doesn't work then something is either wrong with the command or something in your CNS.

-If it does work, start un-commenting the code until you find the conflict.

Re: Trouble with a half circle up command
#5  March 09, 2018, 01:49:19 pm
  • *****
  • Shame on you!
    • USA
As soon as you press up your char is in the air 99% of the time.
You should want something like
    ;---------------------------------------------------------------------------
    ;Light Arcing Medicine Ball
    [State -1, Light Arcing Medicine Ball]
    type = ChangeState
    value = 4000
    triggerall = command = "UpBallLight"
    ;triggerall = !Var(2)  ;get everything else working then comment this back in.
    triggerall = statetype = A
    trigger1 = ctrl 
    trigger1 = var(1)
    trigger2 = stateno = [40,50]
    ;trigger2 = time <=3 ;comment this in when it works easy ;adjust the 3 until you get it working how you want.
    trigger2 = var(1) ;I like having 2 trigger1s vs all triggeralls.
vVv Wheat Stage Released vVv

DJH

Re: Trouble with a half circle up command
#6  March 10, 2018, 02:15:25 am
  • avatar
  • **
  • You must defeat my spriteswaps to stand a chance.
    • USA
comment out all of your other commands and see what happens.

-If it doesn't work then something is either wrong with the command or something in your CNS.

-If it does work, start un-commenting the code until you find the conflict.

I commented out every single command that would conflict with the input and it still doesn't result in anything.

It's not a CNS problem because the move works fine if I use a different command.

As soon as you press up your char is in the air 99% of the time.
You should want something like
    ;---------------------------------------------------------------------------
    ;Light Arcing Medicine Ball
    [State -1, Light Arcing Medicine Ball]
    type = ChangeState
    value = 4000
    triggerall = command = "UpBallLight"
    ;triggerall = !Var(2)  ;get everything else working then comment this back in.
    triggerall = statetype = A
    trigger1 = ctrl 
    trigger1 = var(1)
    trigger2 = stateno = [40,50]
    ;trigger2 = time <=3 ;comment this in when it works easy ;adjust the 3 until you get it working how you want.
    trigger2 = var(1) ;I like having 2 trigger1s vs all triggeralls.

Not getting a different result with this either.

I'm assuming I'm writing the command wrong but I don't know of another way to write it.
Re: Trouble with a half circle up command
#7  March 10, 2018, 12:22:23 pm
  • *****
  • Shame on you!
    • USA
So then it may be a placement problem. Up, a, may be activating another move.
Extend the buffer time to something stupid.
Drop all the extra movements. Just use

    [Command]
    name = "UpBallLight"
    command = B, $D, F, $U, a
    time = 30

&

;---------------------------------------------------------------------------
    ;Light Arcing Medicine Ball
    [State -1, Light Arcing Medicine Ball]
    type = ChangeState
    value = 4000
    trigger1 = command = "UpBallLight"

Put the command at the top of the commands and the changestate at the top of the changestates.
If you can get this to activate using other commands and it doesn't work with just U, a, then you know it's a problem with being in the air.

One thing that could be happening is when you switch to jump, it's airborne. Then when you activate a second  move the game sees P1 is pixels above 0 and the speed is 0 and it switches right back to statedef 0
vVv Wheat Stage Released vVv

DJH

Re: Trouble with a half circle up command
#8  March 10, 2018, 02:36:47 pm
  • avatar
  • **
  • You must defeat my spriteswaps to stand a chance.
    • USA
So then it may be a placement problem. Up, a, may be activating another move.
Extend the buffer time to something stupid.
Drop all the extra movements. Just use

    [Command]
    name = "UpBallLight"
    command = B, $D, F, $U, a
    time = 30

&

;---------------------------------------------------------------------------
    ;Light Arcing Medicine Ball
    [State -1, Light Arcing Medicine Ball]
    type = ChangeState
    value = 4000
    trigger1 = command = "UpBallLight"

Put the command at the top of the commands and the changestate at the top of the changestates.
If you can get this to activate using other commands and it doesn't work with just U, a, then you know it's a problem with being in the air.

One thing that could be happening is when you switch to jump, it's airborne. Then when you activate a second  move the game sees P1 is pixels above 0 and the speed is 0 and it switches right back to statedef 0

I think that must be it then, because I set it to statetype !=A instead of A and that ended up making it work for me. Thanks!