; 汉化版功夫人的cmd文件
;
; 两部分:按键定义和state入口(就是按什么键进入什么state。原谅我吧……想不出好名字了)
; (state入口在按键定义之后)
;
; 1. 按键定义
; ---------------------
; 注意: 按键和招式名分大小写。
; 八个方向分别是:
; B, DB, D, DF, F, UF, U, UB (全大写)
; 对应后,下后,下,下前,前,前上,上,上后。
; 六个按键是:
; a, b, c, x, y, z (全小写)
; 在默认按键的情况下,xyz在上排,abc在下排。
; 推荐使用xyz作为拳,abc作为脚。
;
; 每一个[Command]定义一个操作指令。
; 这些操作指令可以在cmd和cns里被调用。
; 操作指令的语法规范如下:
;
; [Command]
; name = "指令名"
; command = 按键输入
; time = 接受指令输入的时间 (可选)
; buffer.time = 输入缓存的时间 (可选)
;
; - 指令名
; 指令的名字,在调用时需要输入同样的名字,比如trigger1=command="指令名"。
; 指令名区分大小写。(QCB_a和Qcb_a或者QCB_A不同)。
;
; - 按键输入
; 输入的按键的列表。每一个键由逗号隔开。一个方向键或者一个攻击键叫为一个符号。
; 方向键和攻击键之前可以用特殊符号来达到一些效果:
; 斜杠 (/) - 表示之后的一个键必须被按住不放
; 举例, command = /D ;按住不放下方向键
; command = /DB, a ;按住不放下后方向键的时候按a
; 波浪号 (~) - 表示按键被松开
; 举例, command = ~a ;松开a键
; command = ~D, F, a ;松开下方向键,按前方向键,再按a
; 如果你想让某个键蓄力一段时间再放开,可以再波浪号之后加入你想保持蓄力的时间(以帧为单位)
; 举例, command = ~30a ;按住a30帧,再松开
; 美金 ($) - 仅限上下左右方向键。表示包括正和斜方向
; 举例, command = $D ;包括下,下后和下前
; command = $B ;包括后,下后和上后
; 加号 (+) - 仅限攻击键。表示同时按多个键。
; 举例, command = a+b ;同时按a和b
; command = x+y+z ;同时按x,y和z
; 大于号 (>) - 表示上一次按键和这一次按键之中不能掺杂其他的按键
; 举例, command = a, >~a ;按下a再松开a,而其中不按下或者松开其他键
; 这些符号可以组合使用:
; 举例, command = ~30$D, a+b ;按住下,下后或者下前30帧,松开,然后同时按a和b
;
; 注意: 连续按方向键的指令会被MUGEN引擎自动理解如下:
; 举例,cmd文件中的定义:
; command = F, F
; 会被引擎理解成:
; command = F, >~F, >F
;
; 对于有多个方向键的定义,例如四分之一圈下前,为了让招数能更容易的使出,最好在定义由一个"松开方向键"起始。
;
; - 指令输入时间 (可选)
; 接受指令输入的时间,以帧为单位。默认值可以在[Defaults]条目修改,通常为15。
;
; - 指令缓存时间 (可选)
; 输入的指令被缓存的时间。当一个指令被输入时,它在这段时间里都是有效的。
; 最基本的情况是设置成值为1。这种情况下只有在这一帧输入指令才会执行。如果值更高,比如3或4,输入会提前进入缓存,然后当可以执行时就被执行。这样人物的操作会松快一些,因为玩家可以提前输入指令,比如在还没有击中敌人时就开始取消,或者从受击状态还没有获得控制时就切反。
; 但这也有副作用,因为在缓存的期间会认为一直在输入这个指令。举例来说,把这个值设成30,然后发一个很快的招式,比如功夫人的站轻拳,看它的效果。
; 默认值可以在[Defaults]条目修改。
; 这个参数对蓄力指令不起作用,参数的值会自动当作1。
;
; 如果有多种输入有同样的名子,每一种输入都会读出这个指令。你可以用这个技巧来让一个招式接受不同的输入。
;
; 以下是一些常用指令的输入示例:
;
; [Command] ;下前 + x
; name = "下前x"
; command = ~D, DF, F, x
;
; [Command] ;向后半圈 + a
; name = "后半圈a"
; command = ~F, DF, D, DB, B, a
;
; [Command] ;下前下前 + y
; name = "下前下前y"
; command = ~D, DF, F, D, DF, F, y
;
; [Command] ;连打b
; name = "连打b"
; command = b, b, b, b, b
; time = 30
;
; [Command] ;蓄后,前 + z
; name = "蓄后前z"
; command = ~60$B, F, z
; time = 10
;
; [Command] ;蓄下,上 + c
; name = "蓄下上c"
; command = ~60$D, U, c
; time = 10
;-| 重新排列按键 |-----------------------------------------------------
; 这一段可以让玩家简单的重新排列攻击按键。格式是:
; 以前对应的键 = 修改后的键
; 如果不填写修改后的键,则以前对应的键将失效。
[Remap]
x = x
y = y
z = z
a = a
b = b
c = c
s = s
;-| 默认输入时间 |-------------------------------------------------------
[Defaults]
; 默认接受指令的时间,最小为1。
command.time = 15
; 默认指令蓄力的时间,最小为1,最大为30。
command.buffer.time = 1
;-| 超必杀技 |--------------------------------------------------------
;下面有两个技能是一样的,但是输入不同。
;两种输入都会触发command = 三连功夫掌"。
;为了方便玩家操作,指令接受时间不是默认的15,而是20。
;
[Command]
name = "start"
command = s
time = 1
;---------------------------------------------------------------------------
; 2. state入口
; --------------
; 在这一段里,人物会依据输入来转到相应的state里。
;
; 入口示例如下:
; [State -1, 标签] ;标签可以是任意你想要来标注这个入口的名字
; type = ChangeState ;不要改
; value = 要跳转到的state
; trigger1 = command = "招式名"
; . . . (其他trigger)
;
; - 一些常用的trigger:
; - statetype
; S, C or A : 现在人物的状态 (站立, 下蹲, 空中)
; - ctrl
; 0 or 1 : 如果人物可控,则值为1,否则为0。除非取消另一个招数,否则出招是一般要求ctrl=1
; - stateno
; 现在人物的state号 - 在取消招数时常用。
; - movecontact
; 0 or 1 : 如果上一个招数接触到了敌人,则值为1,否则为0。在取消招数时常用。
;
; 注意: 入口的顺序很重要。
; 如果指令A是指令B的一部分,则指令B的入口应排在指令A前。
; 比如说,下前下前XY应该排在下前XY之前,下前XY应该排在下前X之前,下前X应该排在X之前。
;
; 关于trigger的详细解释,请参阅MUGEN自带的cns参考说明。
;
; 提示:
; 这部分是cns的延伸。-1这个state是一个特殊state,无论人物实际上在哪个state,-1这个state每一帧都会执行。
; 不要删除下面这行。语法标准要求CMD文件必须包括这行。
[Statedef -1]
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = ishelper
trigger1 = name != "Infinite Soulabyss"
trigger1 = roundstate >= 3
id = -1
ignorehitpause = 1
[State ]
type = destroySelf
trigger1 = ishelper
trigger1 = name != "Infinite Soulabyss"
trigger1 = roundstate >= 3
ignorehitpause = 1