News:

MFG's Character of the Month: October 2026 Nominations

Main Menu

Command doesn't execute

Started by Onju, March 28, 2010, 12:47:33 PM

Previous topic - Next topic

Onju

It might be a very stupid question but...When i code a move and a command and when i press the buttons then the move doesn't execute. The normal one-button  moves which CMD's i took from the template (punches, kicks) work but when i try to code a button combination move (Shoryuken, Hadoken) then they won't execute.


Heres the CNS code:

;=========<Patriot Circle First>==========
[Statedef 1000]
type=S
movetype=A
physics=S
juggle=3
anim= 1000
velset=0,0
poweradd=0
sprpriority=1
ctrl=0
facep2=1

[State 1000, hit]
type = HitDef
triggerall = command = "Patriot_X"
trigger1 = Animelem = 4
trigger2 = Animelem = 6
trigger3 = Animelem = 8
trigger4 = Animelem = 10
attr = S, NA
damage = 10, 0
animtype = Medium
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = ifelse(var(20),5,10)
sparkno = -1 + 0*(var(33):=7020)
sparkxy = -10 + 0*(var(35):=90), var(36):=-80
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 12+2*var(29)
ground.hittime  = 12+2*var(29)
ground.velocity = ifelse(var(20), -3.12, -5.62), 0
airguard.velocity = -1.9
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 1000, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



and the CMD:

[Command]
name = "Patriot_X"
command = ~D,DF, F, x
time = 12

and

;Patriot_X
[State -1, Patriot_X]
type = ChangeState
value = 1000
triggerall = command = "Patriot_X"
trigger1 = (statetype = s) && ctrl


I might be very supid but i don't get wheres the problem

Bea

Make sure that:

;Patriot_X
[State -1, Patriot_X]
type = ChangeState
value = 1000
triggerall = command = "Patriot_X"
trigger1 = (statetype = s) && ctrl


is placed before the normal, one key only attacks in the CMD file.
Princess Adora: "My friend saw She-Ra take her dress off in the shower. She said she has an 8 pack. She said She-Ra is shredded."

SF2NES is dead. Long live SF2NES.

Onju

Quote from: Beatrice on March 28, 2010, 11:11:46 PM
Make sure that:

;Patriot_X
[State -1, Patriot_X]
type = ChangeState
value = 1000
triggerall = command = "Patriot_X"
trigger1 = (statetype = s) && ctrl


is placed before the normal, one key only attacks in the CMD file.

It is placed before the one key attacks (it's in the special motions).
I think theres a problem in the CNS because when i switched the light punch command with the Patriot Circle attack then it still won't work even if it's only one buttoned.

Cyanide

Caps the S in statetype = S. Mugen is weirdly case sensitive sometimes.


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.

fatnlazy

This might sound weird, but do you have the sprites required for the move in your SFF, and have them labeled correctly? Run MUGEN in debug, and see what it tells you.

Noctis

#5
First of all, why does your hitdef have a triggerall = command = "Patriot_X"?
Second, try making two commands for Patriot_X. One like the one you have now.
D, DF, F, x
and another one just to make it easier to use.
D, F, x
Also, 12 ticks might not be enough time. The shortest time I can get in a command is 20 ticks.

So...

[Command]
name = "Patriot_X"
command = ~D, DF, F, x
time = 20

[Command]
name = "Patriot_X"
command = ~D, F, x
time = 20


If it still didn't work, then try this...

;Patriot_X
[State -1, Patriot_X]
type = ChangeState
value = 1000
triggerall = command = "Patriot_X"
trigger1 = statetype = S
trigger1 = ctrl


Not sure how it will be of help, but you never know.

(Youtube) (WIP) (Mediafire) (New Anime Shop) My Manga Reviews! Personal favorite Patreon! Check her out!

"There is nothing either good or bad, but thinking makes it so."

Onju

#6
I still don't know wheres the problem because When i switch Light Punch and the patriot_x commands and when i press x, then it does patriot_x and when i press ~D,F,X then it does the light punch,but when i change them back and press the x button, then it does the light punch, but when i press ~D,F,X then it doesn't do the patriot_x

Cyanide

I bet you have something else interfering then.

Move your patriot X changestate to directly below

[statedef -1]
then tell us what happens. If it works, you have something else easier than QCF+x but harder than X.


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.

MGMURROW

when you switch patriot x back to the ~D,F,X command is the patriot x changestate before the light punch changestate in the cmd file? this sounds like the problem if they work correctly one way but not when reversed.

most people code the cmd file like this

[Statedef -1]
hypers
specials
throws
basics

hope this helps

MGMURROW

Onju

Yes, I have the patriot x command before the basic moves and i  moved the Patriot_X CMD to the beginning of Statedef -1 (just before Run Fwd) but it still won't work. I've had this problem with every char i tried to make and I always get stuck because of the CMD problem.

Here's the full CNS (don't mention the Patriot Circle Third)
Spoiler (click to show)
;=========<Patriot Circle First>==========
[Statedef 1000]
type = S
movetype = A
physics = S
juggle = 3
anim = 1000
velset = 0,0
poweradd = 0
sprpriority = 1
ctrl = 0
facep2 = 1

[State 1000, hit]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
damage = 23, 0
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 6, 6
sparkno = -1 + 0*(var(33):=7010)
sparkxy = -10 + 0*(var(35):=73), var(36):=-67
hitsound = 2,0
guardsound = 6, 0
ground.type = High
ground.slidetime = 5
ground.hittime  = 10
ground.velocity = -4.5
airguard.velocity = -1.9
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 1000, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;=========<Patriot Circle Third>==========
[Statedef 1002]
type=S
movetype=A
physics=S
juggle=3
anim= 1002
velset=0,0
poweradd=0
sprpriority=1
ctrl=0
facep2=1

[State 1002, hit]
type = HitDef
trigger1 = Animelem = 10
trigger2 = animelem = 13
trigger3 = animelem = 15
trigger4 = animelem = 18
attr = S, NA
damage = 10, 0
animtype = Medium
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = ifelse(var(20),5,10)
sparkno = -1 + 0*(var(33):=7020)
sparkxy = -10 + 0*(var(35):=90), var(36):=-80
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 12+2*var(29)
ground.hittime  = 12+2*var(29)
ground.velocity = ifelse(var(20), -3.12, -5.62), 0
airguard.velocity = -1.9
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
[State 1002, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

and the full CMD

Spoiler (click to show)
; The CMD file.
;
; Two parts: 1. Command definition and  2. State entry
; (state entry is after the commands def section)
;
; 1. Command definition
; ---------------------
; Note: The commands are CASE-SENSITIVE, and so are the command names.
; The eight directions are:
;   B, DB, D, DF, F, UF, U, UB     (all CAPS)
;   corresponding to back, down-back, down, downforward, etc.
; The six buttons are:
;   a, b, c, x, y, z               (all lower case)
;   In default key config, abc are are the bottom, and xyz are on the
;   top row. For 2 button characters, we recommend you use a and b.
;   For 6 button characters, use abc for kicks and xyz for punches.
;
; Each [Command] section defines a command that you can use for
; state entry, as well as in the CNS file.
; The command section should look like:
;
;   [Command]
;   name = some_name
;   command = the_command
;   time = time (optional -- defaults to 15 if omitted)
;
; - some_name
;   A name to give that command. You'll use this name to refer to
;   that command in the state entry, as well as the CNS. It is case-
;   sensitive (QCB_a is NOT the same as Qcb_a or QCB_A).
;
; - command
;   list of buttons or directions, separated by commas.
;   Directions and buttons can be preceded by special characters:
;   slash (/) - means the key must be held down
;          egs. command = /D       ;hold the down direction
;               command = /DB, a   ;hold down-back while you press a
;   tilde (~) - to detect key releases
;          egs. command = ~a       ;release the a button
;               command = ~D, F, a ;release down, press fwd, then a
;          If you want to detect "charge moves", you can specify
;          the time the key must be held down for (in game-ticks)
;          egs. command = ~30a     ;hold a for at least 30 ticks, then release
;   dollar ($) - Direction-only: detect as 4-way
;          egs. command = $D       ;will detect if D, DB or DF is held
;               command = $B       ;will detect if B, DB or UB is held
;   plus (+) - Buttons only: simultaneous press
;          egs. command = a+b      ;press a and b at the same time
;               command = x+y+z    ;press x, y and z at the same time
;   You can combine them:
;     eg. command = ~30$D, a+b     ;hold D, DB or DF for 30 ticks, release,
;                                  ;then press a and b together
;   It's recommended that for most "motion" commads, eg. quarter-circle-fwd,
;   you start off with a "release direction". This matches the way most
;   popular fighting games implement their command detection.
;
; - time (optional)
;   Time allowed to do the command, given in game-ticks. Defaults to 15
;   if omitted
;
; If you have two or more commands with the same name, all of them will
; work. You can use it to allow multiple motions for the same move.
;
; Some common commands examples are given below.
;
; [Command] ;Quarter circle forward + x
; name = "QCF_x"
; command = ~D, DF, F, x
;
; [Command] ;Half circle back + a
; name = "HCB_a"
; command = ~F, DF, D, DB, B, a
;
; [Command] ;Two quarter circles forward + y
; name = "2QCF_y"
; command = ~D, DF, F, D, DF, F, y
;
; [Command] ;Tap b rapidly
; name = "5b"
; command = b, b, b, b, b
; time = 30
;
; [Command] ;Charge back, then forward + z
; name = "charge_B_F_z"
; command = ~60$B, F, z
; time = 10
;
; [Command] ;Charge down, then up + c
; name = "charge_D_U_c"
; command = ~60$D, U, c
; time = 10
;

;-| Button Remapping |-----------------------------------------------------
; This section lets you remap the player's buttons (to easily change the
; button configuration). The format is:
;   old_button = new_button
; If new_button is left blank, the button cannot be pressed.
[Remap]
x = x
y = y
z = z
a = a
b = b
c = c
s = s

;-| Default Values |-------------------------------------------------------
[Defaults]
; Default value for the "time" parameter of a Command. Minimum 1.
command.time = 30

; Default value for the "buffer.time" parameter of a Command. Minimum 1,
; maximum 30.
command.buffer.time = 1

;-| Super Motions |--------------------------------------------------------

;-| Special Motions |------------------------------------------------------
[Command]
name = "patriotx" ;Required (do not remove)
command = ~D, F, x
time = 1

[Command]
name = "Patriot_Y"
command = ~D,DF, F, y
time = 12

[Command]
name = "Patriot_Z"
command = ~D,DF, F, z
time = 12
;-| Double Tap |-----------------------------------------------------------
[Command]
name = "FF"     ;Required (do not remove)
command = F, F
time = 10

[Command]
name = "BB"     ;Required (do not remove)
command = B, B
time = 10

;-| 2/3 Button Combination |-----------------------------------------------
[Command]
name = "recovery" ;Required (do not remove)
command = x+y
time = 1

[Command]
name = "recovery"
command = y+z
time = 1

[Command]
name = "recovery"
command = x+z
time = 1

[Command]
name = "recovery"
command = a+b
time = 1

[Command]
name = "recovery"
command = b+c
time = 1

[Command]
name = "recovery"
command = a+c
time = 1

;-| Dir + Button |---------------------------------------------------------
[Command]
name = "back_x"
command = /$B,x
time = 1

[Command]
name = "back_y"
command = /$B,y
time = 1

[Command]
name = "back_z"
command = /$B,z
time = 1

[Command]
name = "down_x"
command = /$D,x
time = 1

[Command]
name = "down_y"
command = /$D,y
time = 1

[Command]
name = "down_z"
command = /$D,z
time = 1

[Command]
name = "fwd_x"
command = /$F,x
time = 1

[Command]
name = "fwd_y"
command = /$F,y
time = 1

[Command]
name = "fwd_z"
command = /$F,z
time = 1

[Command]
name = "up_x"
command = /$U,x
time = 1

[Command]
name = "up_y"
command = /$U,y
time = 1

[Command]
name = "up_z"
command = /$U,z
time = 1

[Command]
name = "back_a"
command = /$B,a
time = 1

[Command]
name = "back_b"
command = /$B,b
time = 1

[Command]
name = "back_c"
command = /$B,c
time = 1

[Command]
name = "down_a"
command = /$D,a
time = 1

[Command]
name = "down_b"
command = /$D,b
time = 1

[Command]
name = "down_c"
command = /$D,c
time = 1

[Command]
name = "fwd_a"
command = /$F,a
time = 1

[Command]
name = "fwd_b"
command = /$F,b
time = 1

[Command]
name = "fwd_c"
command = /$F,c
time = 1

[Command]
name = "up_a"
command = /$U,a
time = 1

[Command]
name = "up_b"
command = /$U,b
time = 1

[Command]
name = "up_c"
command = /$U,c
time = 1


;-| Single Button |---------------------------------------------------------
[Command]
name = "a"
command = a
time = 1

[Command]
name = "b"
command = b
time = 1

[Command]
name = "c"
command = c
time = 1

[Command]
name = "x"
command = x
time = 1

[Command]
name = "y"
command = y
time = 1

[Command]
name = "z"
command = z
time = 1

[Command]
name = "s"
command = s
time = 1

;-| Single Dir |------------------------------------------------------------
[Command]
name = "fwd" ;Required (do not remove)
command = $F
time = 1

[Command]
name = "downfwd"
command = $DF
time = 1

[Command]
name = "down" ;Required (do not remove)
command = $D
time = 1

[Command]
name = "downback"
command = $DB
time = 1

[Command]
name = "back" ;Required (do not remove)
command = $B
time = 1

[Command]
name = "upback"
command = $UB
time = 1

[Command]
name = "up" ;Required (do not remove)
command = $U
time = 1

[Command]
name = "upfwd"
command = $UF
time = 1

;-| Hold Button |--------------------------------------------------------------
[Command]
name = "hold_x"
command = /x
time = 1

[Command]
name = "hold_y"
command = /y
time = 1

[Command]
name = "hold_z"
command = /z
time = 1

[Command]
name = "hold_a"
command = /a
time = 1

[Command]
name = "hold_b"
command = /b
time = 1

[Command]
name = "hold_c"
command = /c
time = 1

[Command]
name = "hold_s"
command = /s
time = 1

;-| Hold Dir |--------------------------------------------------------------
[Command]
name = "holdfwd" ;Required (do not remove)
command = /$F
time = 1

[Command]
name = "holddownfwd"
command = /$DF
time = 1

[Command]
name = "holddown" ;Required (do not remove)
command = /$D
time = 1

[Command]
name = "holddownback"
command = /$DB
time = 1

[Command]
name = "holdback" ;Required (do not remove)
command = /$B
time = 1

[Command]
name = "holdupback"
command = /$UB
time = 1

[Command]
name = "holdup" ;Required (do not remove)
command = /$U
time = 1

[Command]
name = "holdupfwd"
command = /$UF
time = 1

;---------------------------------------------------------------------------
; 2. State entry
; --------------
; This is where you define what commands bring you to what states.
;
; Each state entry block looks like:
;   [State -1, Label]           ;Change Label to any name you want to use to
;                               ;identify the state with.
;   type = ChangeState          ;Don't change this
;   value = new_state_number
;   trigger1 = command = command_name
;   . . .  (any additional triggers)
;
; - new_state_number is the number of the state to change to
; - command_name is the name of the command (from the section above)
; - Useful triggers to know:
;   - statetype
;       S, C or A : current state-type of player (stand, crouch, air)
;   - ctrl
;       0 or 1 : 1 if player has control. Unless "interrupting" another
;                move, you'll want ctrl = 1
;   - stateno
;       number of state player is in - useful for "move interrupts"
;   - movecontact
;       0 or 1 : 1 if player's last attack touched the opponent
;                useful for "move interrupts"
;
; Note: The order of state entry is important.
;   State entry with a certain command must come before another state
;   entry with a command that is the subset of the first.
;   For example, command "fwd_a" must be listed before "a", and
;   "fwd_ab" should come before both of the others.
;
; For reference on triggers, see CNS documentation.
;
; Just for your information (skip if you're not interested):
; This part is an extension of the CNS. "State -1" is a special state
; that is executed once every game-tick, regardless of what other state
; you are in.


; Don't remove the following line. It's required by the CMD standard.
[Statedef -1]

;===========================================================================
;---------------------------------------------------------------------------

;===========================================================================
;---------------------------------------------------------------------------


;Patriot_X
[State -1, patriotx]
type = ChangeState
value = 1000
triggerall = command = "patriotx"
trigger1 = statetype = S
trigger1 = ctrl

; Run Fwd
[State -1, Run Fwd]
type = ChangeState
value = 100
trigger1 = command = "FF"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Run Back
[State -1, Run Back]
type = ChangeState
value = 105
trigger1 = command = "BB"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Throw
[State -1, Throw]
type = ChangeState
value = 800
triggerall = command = "y" || command = "z"
triggerall = statetype = S
triggerall = ctrl
triggerall = stateno != 100
trigger1 = command = "holdfwd"
trigger1 = p2bodydist X < 10
trigger1 = (p2statetype = S) || (p2statetype = C)
trigger1 = p2movetype != H
trigger2 = command = "holdback"
trigger2 = p2bodydist X < 10
trigger2 = (p2statetype = S) || (p2statetype = C)
trigger2 = p2movetype != H

;===========================================================================
;---------------------------------------------------------------------------
; Taunt
[State -1, Taunt]
type = ChangeState
value = 195
triggerall = command = "s"
trigger1 = statetype != A
trigger1 = ctrl

;---------------------------------------------------------------------------
; Stand Light Punch
[State -1, Stand Light Punch]
type = ChangeState
value = 200
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Stand Medium Punch
[State -1, Stand Medium Punch]
type = ChangeState
value = 210
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Stand Strong Punch
[State -1, Stand Strong Punch]
type = ChangeState
value = 220
triggerall = command = "z"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Stand Light Kick
[State -1, Stand Light Kick]
type = ChangeState
value = 230
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Standing Medium Kick
[State -1, Standing Medium Kick]
type = ChangeState
value = 240
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Standing Strong Kick
[State -1, Standing Strong Kick]
type = ChangeState
value = 250
triggerall = command = "c"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl

;---------------------------------------------------------------------------
; Crouching Light Punch
[State -1, Crouching Light Punch]
type = ChangeState
value = 400
triggerall = command = "x"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
; Crouching Medium Punch
[State -1, Crouching Medium Punch]
type = ChangeState
value = 410
triggerall = command = "y"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
; Crouching Strong Punch
[State -1, Crouching Strong Punch]
type = ChangeState
value = 420
triggerall = command = "z"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
; Crouching Light Kick
[State -1, Crouching Light Kick]
type = ChangeState
value = 430
triggerall = command = "a"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
; Crouching Medium Kick
[State -1, Crouching Medium Kick]
type = ChangeState
value = 440
triggerall = command = "b"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
; Crouching Strong Kick
[State -1, Crouching Strong Kick]
type = ChangeState
value = 450
triggerall = command = "c"
triggerall = command = "holddown"
trigger1 = statetype = C
trigger1 = ctrl

;---------------------------------------------------------------------------
; Jump Light Punch
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl

;---------------------------------------------------------------------------
; Jump Medium Punch
[State -1, Jump Medium Punch]
type = ChangeState
value = 610
triggerall = command = "y"
trigger1 = statetype = A
trigger1 = ctrl

;---------------------------------------------------------------------------
; Jump Strong Punch
[State -1, Jump Strong Punch]
type = ChangeState
value = 620
triggerall = command = "z"
trigger1 = statetype = A
trigger1 = ctrl

;---------------------------------------------------------------------------
; Jump Light Kick
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl

;---------------------------------------------------------------------------
; Jump Medium Kick
[State -1, Jump Medium Kick]
type = ChangeState
value = 640
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl

;---------------------------------------------------------------------------
; Jump Strong Kick
[State -1, Jump Strong Kick]
type = ChangeState
value = 650
triggerall = command = "c"
trigger1 = statetype = A
trigger1 = ctrl

;---------------------------------------------------------------------------


Cyanide

Quote[Command]
name = "patriotx" ;Required (do not remove)
command = ~D, F, x
time = 1
Time = 1? Yeah, try increasing it THEN tell us what happens. I see no point in troubleshooting further at this point.


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.

Onju

Quote from: Cyanide on April 01, 2010, 11:00:00 AM
Quote[Command]
name = "patriotx" ;Required (do not remove)
command = ~D, F, x
time = 1
Time = 1? Yeah, try increasing it THEN tell us what happens. I see no point in troubleshooting further at this point.

(Umm...yeah...i'll just slowly disappear...They won't notice me being stupid...)

This was my plan all along! I was just...umm...testing you...guys if you are worthy of becoming almost the same good as me! >:(

Ok I feel really stupid right now but thanks anyways  :sugoi:

Noctis

You said the command was at 12 ticks, not 1 tick.
Also, I already said your time to execute the command was probably not long enough. --;
Anyways, hope your character goes well.

(Youtube) (WIP) (Mediafire) (New Anime Shop) My Manga Reviews! Personal favorite Patreon! Check her out!

"There is nothing either good or bad, but thinking makes it so."

PhoenixVA