Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • 🔧 Login & Sign-Up Fixed!
    The recent login and sign-up issues have been successfully resolved by @DoomJoshuaBoy. Fresh logins are now working normally, so feel free to log in without any trouble! if you do run into trouble please let us know!

DJB MUGEN & IKEMEN Community

Command List — AdeleinePlushie.zip ← Back to Overview

; 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) ; buffer.time = time (optional) ; ; - 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. Each of these ; buttons or directions is referred to as a "symbol". ; 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 ; greater-than (>) - means there must be no other keys pressed or released ; between the previous and the current symbol. ; egs. command = a, >~a ;press a and release it without having hit ; ;or released any other keys in between ; You can combine the symbols: ; eg. command = ~30$D, a+b ;hold D, DB or DF for 30 ticks, release, ; ;then press a and b together ; ; Note: Successive direction symbols are always expanded in a manner similar ; to this example: ; command = F, F ; is expanded when MUGEN reads it, to become equivalent to: ; command = F, >~F, >F ; ; It is recommended that for most "motion" commads, eg. quarter-circle-fwd, ; you start off with a "release direction". This makes the command easier ; to do. ; ; - time (optional) ; Time allowed to do the command, given in game-ticks. The default ; value for this is set in the [Defaults] section below. A typical ; value is 15. ; ; - buffer.time (optional) ; Time that the command will be buffered for. If the command is done ; successfully, then it will be valid for this time. The simplest ; case is to set this to 1. That means that the command is valid ; only in the same tick it is performed. With a higher value, such ; as 3 or 4, you can get a "looser" feel to the command. The result ; is that combos can become easier to do because you can perform ; the command early. Attacks just as you regain control (eg. from ; getting up) also become easier to do. The side effect of this is ; that the command is continuously asserted, so it will seem as if ; you had performed the move rapidly in succession during the valid ; time. To understand this, try setting buffer.time to 30 and hit ; a fast attack, such as KFM's light punch. ; The default value for this is set in the [Defaults] section below. ; This parameter does not affect hold-only commands (eg. /F). It ; will be assumed to be 1 for those commands. ; ; 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 = 15 ; Default value for the "buffer.time" parameter of a Command. Minimum 1, ; maximum 30. command.buffer.time = 1 ;-| Super Motions |-------------------------------------------------------- ;The following two have the same name, but different motion. ;Either one will be detected by a "command = TripleKFPalm" trigger. ;Time is set to 20 (instead of default of 15) to make the move ;easier to do. ; [Command] name = "TripleKFPalm" command = ~D, DF, F, D, DF, F, x time = 20 [Command] name = "TripleKFPalm" ;Same name as above command = ~D, DF, F, D, DF, F, y time = 20 [Command] name = "SmashKFUpper" command = ~D, DB, B, D, DB, B, x;~F, D, DF, F, D, DF, x time = 20 [Command] name = "SmashKFUpper" ;Same name as above command = ~D, DB, B, D, DB, B, y;~F, D, DF, F, D, DF, y time = 20 ;-| Special Motions |------------------------------------------------------ [Command] name = "blocking" command = $F,x time = 3 [Command] name = "blocking" ;Same name as above (buttons in opposite order) command = x,$F time = 3 [Command] name = "upper_x" command = ~F, D, DF, x [Command] name = "upper_y" command = ~F, D, DF, y [Command] name = "upper_xy" command = ~F, D, DF, x+y [Command] name = "QCF_x" command = ~D, DF, F, x [Command] name = "QCF_y" command = ~D, DF, F, y [Command] name = "QCF_xy" command = ~D, DF, F, x+y [Command] name = "QCB_x" command = ~D, DB, B, x [Command] name = "QCB_y" command = ~D, DB, B, y [Command] name = "QCB_xy" command = ~D, DB, B, x+y [Command] name = "QCF_a" command = ~D, DF, F, a [Command] name = "QCF_b" command = ~D, DF, F, b [Command] name = "QCF_ab" command = ~D, DF, F, a+b [Command] name = "FF_ab" command = F, F, a+b [Command] name = "FF_a" command = F, F, a [Command] name = "FF_b" command = F, F, b ;-| 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 ;-| Dir + Button |--------------------------------------------------------- [Command] name = "down_a" command = /$D,a time = 1 [Command] name = "down_b" command = /$D,b 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 = "start" command = s time = 1 ;-| Hold Dir |-------------------------------------------------------------- [Command] name = "holdfwd";Required (do not remove) command = /$F time = 1 [Command] name = "holdback";Required (do not remove) command = /$B time = 1 [Command] name = "holdup" ;Required (do not remove) command = /$U time = 1 [Command] name = "holddown";Required (do not remove) command = /$D 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] ;============================================================================ ; AI ;============================================================================ ; Setup [State 0, Enemy Detection] type = Null triggerall = !ishelper trigger1 = numenemy = 1 trigger1 = var(55):= 0 || 1 trigger2 = numenemy = 2 trigger2 = enemynear(0),alive trigger2 = enemynear(1),alive trigger2 = var(55):= cond(((abs(pos x - enemynear(0),pos x)) < (abs(pos x - enemynear(1),pos x))),0,1) || 1 trigger3 = numenemy = 2 trigger3 = !enemynear(0),alive || !enemynear(1),alive trigger3 = var(55):= cond(enemynear(0),alive,0,1) || 1 ignorehitpause = 1 [State 0, P2Bodydist X] type = Null triggerall = !ishelper triggerall = 1||fvar(7):=facing*(enemynear(var(55)),pos x-(pos x+facing*(ifelse(statetype = A, const(size.air.front),const(size.ground.front))))) trigger1 = enemynear(var(55)),facing != facing && fvar(7)>=0 || enemynear(var(55)),facing = facing && fvar(7)<0 trigger1 = 1||fvar(7):=(fvar(7)-ifelse(enemynear(var(55)),statetype = A, enemynear(var(55)),const(size.air.front), enemynear(var(55)),const(size.ground.front))) trigger2 = 1||fvar(7):=(fvar(7)-ifelse(enemynear(var(55)),statetype = A, enemynear(var(55)),const(size.air.back), enemynear(var(55)),const(size.ground.back))) ignorehitpause = 1 [State 0, P2Bodydist Y] type = Null triggerall = !ishelper trigger1 = 1||fvar(8):=enemynear(var(55)),pos y-pos y ignorehitpause = 1 [State -1, AI Random] type = null triggerAll = random % 3 = 0 trigger1 = 0 && var(41) := random % 2 trigger2 = 0 && var(41) := var(41) + ((random % 2) * 2) trigger3 = 0 && var(41) := var(41) + ((random % 2) * 4) trigger4 = 0 && var(41) := var(41) + ((random % 2) * 8) trigger5 = 0 && var(41) := var(41) + ((random % 2) * 16) trigger6 = 0 && var(41) := var(41) + ((random % 2) * 32) trigger7 = 0 && var(41) := var(41) + ((random % 2) * 64) trigger8 = 0 && var(41) := var(41) + ((random % 2) * 128) trigger9 = 0 && var(41) := var(41) + ((random % 2) * 256) trigger10 = 0 && var(41) := var(41) + ((random % 2) * 512) trigger11 = 0 && var(41) := var(41) + ((random % 2) * 1024) trigger12 = 0 && var(41) := var(41) + ((random % 2) * 2048 - var(41) % 2)/2 trigger13 = 0 && var(41) := var(41) + ((random % 2) * 4096 - var(41) % 4)/4 trigger14 = 0 && var(41) := var(41) + ((random % 2) * 8192 - var(41) % 8)/8 trigger15 = 0 && var(41) := var(41) + ((random % 2) * 16384 - var(41) % 16)/16 trigger16 = 0 && var(41) := var(41) + ((random % 2) * 32768 - var(41) % 32)/32 trigger17 = 0 && var(41) := var(41) + ((random % 2) * 65536 - var(41) % 64)/64 trigger18 = 0 && var(41) := var(41) + ((random % 2) * 131072 - var(41) % 128)/128 trigger19 = 0 && var(41) := var(41) + ((random % 2) * 262144 - var(41) % 256)/256 trigger20 = 0 && var(41) := var(41) + ((random % 2) * 524288 - var(41) % 512)/512 trigger21 = 0 && var(41) := var(41) + ((random % 2) * 1048576 - var(41) % 1024)/1024 trigger22 = 0 && var(41) := var(41) + ((random % 2) * 2097152 - var(41) % 2048)/2048 trigger23 = 0 && var(41) := var(41) + ((random % 2) * 4194304 - var(41) % 4096)/4096 trigger24 = 0 && var(41) := var(41) + ((random % 2) * 8388608 - var(41) % 8192)/8192 trigger25 = 0 && var(41) := var(41) + ((random % 2) * 16777216 - var(41) % 16384)/16384 trigger26 = 0 && var(41) := var(41) + ((random % 2) * 33554432 - var(41) % 32768)/32768 trigger27 = 0 && var(41) := var(41) + ((random % 2) * 67108864 - var(41) % 65536)/65536 trigger28 = 0 && var(41) := var(41) + ((random % 2) * 134217728 - var(41) % 121072)/121072 trigger29 = 0 && var(41) := var(41) + ((random % 2) * 268435456 - var(41) % 262144)/262144 trigger30 = 0 && var(41) := var(41) + ((random % 2) * 536870912 - var(41) % 524288)/524288 trigger31 = 0 && var(41) := var(41) + ((random % 2) * 1073741824 - var(41) % 1048576)/1048576 trigger32 = 0 && var(41) := var(41) + ((random % 2) * -2147483648 - var(41) % 2097152)/2097152 ignorehitpause = 1 ;============================================================================ ; Code ;============================================================================ [State -1, Helper] type = Helper triggerall = AILevel && RoundState = 2 triggerall = !numhelper(240) triggerall = numhelper(3500) triggerall = ctrl || stateno = 100 || movetype = A trigger1 = helper(3500),var(1) > 0 helpertype = Normal ;Player name = "Plushy" ID = 240 stateno = 240 pos = 70,0 postype = p1 ;P2, Front, Back, Left, Right facing = 1 keyctrl = 0 ownpal = 1 size.xscale = 0.3 size.yscale = 0.3 [State -1, Soul Beam] type = ChangeState value = var(58) triggerall = ailevel && roundstate = 2 triggerall = (ctrl || (stateno = [200,210])) triggerall = power >= 1000 triggerall = !numhelper(311) triggerall = random <= (50 + (50 * (!enemynear(var(55)),ctrl))) trigger1 = var(41)%1000 = [0,500] trigger1 = var(58):= 310 || 1 trigger2 = fvar(7) >= 0 trigger2 = var(41)%1000 = [500,1000] trigger2 = var(58):= 300 || 1 [State AI Throw] type = ChangeState value = 800 triggerall = ailevel && roundstate = 2 triggerall = (ctrl || (stateno = [200,210])) && statetype != A triggerall = fvar(7) >= 0 triggerall = fvar(8) >= -60 triggerall = enemynear(var(55)),name != "Ribbon Plushie" triggerall = enemynear(var(55)),name != "Adeleine Plushie" triggerall = enemynear(var(55)),stateno != 5120 && enemynear(var(55)),prevstateno != 5120 trigger1 = random <= (100 + (100 * (!enemynear(var(55)),ctrl))) trigger2 = enemynear(var(55)),stateno = [120,159] trigger3 = enemynear(var(55)),statetype = L [State AI Secondary Attacks] type = ChangeState value = var(58) triggerall = ailevel && roundstate = 2 && (ctrl || (stateno = [200,210])) triggerall = random <= 250 trigger1 = var(41)%1000 = [0,500] trigger1 = var(58):= 230 || 1 trigger2 = var(41)%1000 = [500,1000] trigger2 = var(58):= 220 || 1 [State AI Primary Spam] type = ChangeState value = var(58) triggerall = ailevel && roundstate = 2 && (ctrl || (stateno = [200,210])) trigger1 = fvar(7) >= 0 trigger1 = numhelper(211) || (var(41)%1000 = [0,500]) trigger1 = var(58):= 200 || 1 trigger2 = !numhelper(211) trigger2 = var(41)%1000 = [500,1000] trigger2 = var(58):= 210 || 1 [State AI Teleport] type = ChangeState value = 100 triggerall = ailevel && roundstate = 2 && (ctrl || (stateno = [200,210])) trigger1 = fvar(7) >= 120 trigger2 = fvar(7) < 100 trigger2 = enemynear(var(55)),movetype != H trigger2 = cond(enemynear(var(55)),facing = facing, frontedgebodydist <= 30, backedgebodydist <= 30) trigger3 = inguarddist || enemynear(var(55)),movetype = A || enemynear(var(55)),numproj > 0 ;============================================================================ ; End AI ;============================================================================ ;---------------------------------------------------------------------------- ; Actions [State -1, Helper] type = Helper triggerall = !AILevel triggerall = !numhelper(240) triggerall = numhelper(3500) triggerall = ctrl || stateno = 100 || movetype = A trigger1 = helper(3500),var(1) > 0 trigger1 = command = "start" helpertype = Normal ;Player name = "Plushy" ID = 240 stateno = 240 pos = 70,0 postype = p1 ;P2, Front, Back, Left, Right facing = 1 keyctrl = 0 ownpal = 1 size.xscale = 0.3 size.yscale = 0.3 [State -1, Frosty Shower] type = ChangeState value = 310 triggerall = !AILevel triggerall = command = "y" && command = "z" triggerall = power >= 1000 triggerall = !numhelper(311) trigger1 = ctrl || (stateno = [200,210]) [State -1, Soul Beam] type = ChangeState value = 300 triggerall = !AILevel triggerall = command = "x" && command = "y" triggerall = power >= 1000 triggerall = !numhelper(311) trigger1 = ctrl || (stateno = [200,210]) [State -1, Lighting Attack] type = ChangeState value = 200 triggerall = !AILevel triggerall = command = "x" trigger1 = ctrl || (stateno = [200,210]) [State -1, Plushie Landmines] type = ChangeState value = 210 triggerall = !AILevel triggerall = !numhelper(211) triggerall = command = "y" trigger1 = ctrl || (stateno = [200,210]) [State -1, Slam] type = ChangeState value = 220 triggerall = !AILevel triggerall = command = "z" trigger1 = ctrl || (stateno = [200,210]) [State -1, Flamethrower] type = ChangeState value = 230 triggerall = !AILevel triggerall = command = "c" trigger1 = ctrl || (stateno = [200,210]) [State -1, Throw] type = ChangeState value = 800 triggerall = !AILevel triggerall = statetype != A triggerall = command = "b" trigger1 = ctrl || (stateno = [200,210]) [State -1, Teleport] type = ChangeState value = 100 triggerall = !AILevel triggerall = command = "a" trigger1 = ctrl || (stateno = [200,210])
Back
Top