-= NMAMECombo 37B51 巨集使用說明 =-


在kbmame發展出巨集(combo)之後,很多修改版的MAME都有支援這個功能。可是有用過的人都知道,編寫巨集檔是一件很麻煩的事情。要編寫一個複雜的巨集,更是難上加難。NMAMECombo針對這個問題,發展出一個新型態的巨集使用系統。使用者可以不用再編寫巨集,只要用錄的就好。再加上巨集分支的功能,使用者甚至可以把一整套複雜的攻擊模式簡化成簡單的幾個按鍵

0.NMAMEC使用說明
1.基本使用說明
2.錄製、讀取巨集
3.巨集檔的寫法
4.最佳化已錄製的巨集
5.巨集分支系統的使用及寫法
6.錄製、播放教學檔
7.錄製、播放展示檔
8.還有問題嗎?
9.範例檔下載

 

範例檔下載
募集中!!
巨集檔 教學檔 展示檔
LastBld2.zip (分支範例) KOF99.zip KOF99.zip
KOF98.zip KOF98.zip
LastBld2.zip

想要更多的巨集檔嗎?? 想分享你的巨集檔嗎??



 

1.基本使用說明 回上頁
  • 新版的NMAMECombo的檔案格式已經和舊有的不太一樣了。但是舊有的巨集檔還是可以用的,因為新的格式只是在每個巨集的前後加上幾行字。
    ex:

舊的是︰
2 f d df + A end
新的只要改成︰
$combo=
{ }
2 f d df + A end
$endcombo
就可以了。

  • 在檔名方面也做了更改。每個遊戲可以有9個巨集檔,分別是 .cb0~.cb9。而每個巨集檔最多可以存8個巨集。
    ex:

KOF98的第8個巨集檔︰KOF98.cb8
LastBld2的第0個巨集檔︰LastBld2.cb0

  • 巨集檔內的8個巨集則是用"$combo="做分隔。
  • 遊戲一開始會自動到combo目錄下讀取此遊戲的.cb0巨集檔,做為預設的巨集設定。您可以在遊戲中按右Shift+F7,讀取其他的巨集檔。
  • 設定巨集按鈕請在設定選單(Tab)自訂按鈕設定(Custom Buttons)選項下設定。
    ex:

如果設定 自訂按鈕1 為 巨集輸入8 ,則按下 自訂按鈕1 會執行 巨集8 這個巨集。

  • 所有的巨集是以對手在右邊方向,也就是自己在左邊的情形下發出。若是要以相反方向發出,請按 →+巨集鈕
    ex:

P1自訂按鈕1設為巨集輸入2(氣功↓↘→+A)。P2自訂按鈕1設為巨集輸入2(氣功↓↘→+A)。
當P1在左,P2在右時

P1按自訂鈕1,發氣功。
P2按→+自訂鈕1,發氣功。

當P1在右,P2在左時

P1按→+自訂鈕1,發氣功。
P2按自訂鈕1,發氣功。

  • 巨集執行中,再按一次同一顆巨集鈕,可以取消巨集
  • 若是巨集含有分支,在分支點按下對應的分支鈕就可以執行對應的分支。詳細說明請參考第5節巨集分支系統的使用。
    ex:

巨集鈕1的內容是這樣︰

A,A,B,┬ ↓↘→+A
     {
      └ →↓↘+A

當按下巨集鈕1,巨集會打出A,A,B此時

若不按任何鈕則會接著打出↓↘→+A。
若是按B鈕則會接著打出→↓↘+A。

回上頁

2.錄製、讀取巨集 回上頁
  • 如何錄製巨集︰

    1. 玩家1(player 1)進入遊戲。
    2. 站好位置(面向右邊)。
    3. 右Shift+F6,此時螢幕會出現"開始錄製巨集..."的訊息。
    4. (不用急著馬上輸入連技,程式會自動把你開始輸入前的空白時間吃掉。)
    5. 開始輸入你的連技,你要打多少hit,多長都沒關係,他都記得住。
    6. 輸入完成後按右Shift+F6,此時螢幕會出現"儲存巨集"的對話視窗。
    7. ←→可以選擇要存到.cb0~.cb9哪個巨集檔。按Enter確定。或按ESC取消。
    8. 此時螢幕會出現 "巨集已存入."的訊息。OK!

     

  • 如何讀取巨集︰

    1. 在遊戲中。
    2. 右Shift+F7,此時螢幕會出現"讀取巨集"的對話視窗。
    3. ←→可以選擇要讀取.cb0~.cb9哪個巨集檔。按Enter確定。或按ESC取消。
    4. 此時螢幕會出現 "巨集已讀出."的訊息。OK!

 

3.巨集檔的寫法 回上頁
  • 巨集檔是text檔,副檔名為.cb0~.cb9。你可以用一般的文字編輯器(ex:記事本)編輯它。
  • 每個巨集是由以下這些符號組成,並一定要以空白做間隔大小寫也要一致!!  

$combo= 代表每個巨集的開始。後面可以加上此巨集的說明文字。
$endcombo 代表每個巨集的結束。
{ 和 } 合用,用以設定分支點。$combo=的下一行一定要接 { }。
} 和 { 合用。分支點的詳細設定方法請參見第5章。
1~9 速度。最快為1
n 表示搖桿方向置中。
u up。表示搖桿方向向上。↑
d down。表示搖桿方向向下。↓
f forward。表示搖桿方向向前。→
b backward。表示搖桿方向向後。←
uf 表示搖桿方向向↗。
ub 表示搖桿方向向↖。
df 表示搖桿方向向↘。
db 表示搖桿方向向↙。
A NeoGeo的按鈕A。
B NeoGeo的按鈕B。
C NeoGeo的按鈕C。
D NeoGeo的按鈕D。
+ 和按鈕配合,用以表示組合鍵。
end 表示巨集內容結束。

以下是一些方向的簡寫︰

qcf quarter circle forward。↓↘→的簡寫。
qcb quarter circle backward。↓↙←的簡寫。
hcf half circle forward。←↙↓↘→的簡寫。
hcb half circle backward。→↘↓↙←的簡寫。
dp dragon punch。昇龍拳。→↓↘的簡寫。
rdp right dragon punch。反昇龍拳。←↓↙的簡寫。

 

  • 每個巨集是以"$combo="開始"$endcombo"結尾。
    ex:發氣功(↓↘→+A)︰

$combo=Fire Ball
{ }
1 d df f + A end
$endcombo

$combo=表示一個巨集的開始,=後面接的Fire Ball是這個巨集的註解(可用英文或中文書寫),可有可無。接著一定要換行。下一行的{ }表示中斷點。{}之間要用空白格開接著一定要換行。下一行1 d df f + A end就是巨集的內容了。

巨集的內容第一個字一定要是數字。1代表著按鈕動作佔了1個畫面的頁數(Frame)。
ex:

1 d 表示d被按下了1個Frame的時間。
2 d 表示d被按下了2個Frame的時間。
1 d 1 df 表示d被按下了1個Frame的時間。df被按下了1個Frame的時間。
1 d 2 df 表示d被按下了1個Frame的時間。df被按下了2個Frame的時間。
1 d df 表示d被按下了1個Frame的時間。df也被按下了1個Frame的時間。

1 d df f + A end可以用下表解釋其每個Frame的動作。

第幾個Frame 1 2 3 4 5    
按鈕動作
結束      

由上表可看出這個巨集只花了3個Frames就完成了。再看下個例子。
ex:昇龍拳(→↓↘+C)︰

$combo=
{ }
2 f d df + C end
$endcombo

其動作如下︰

1 2 3 4 5 6 7 8 9  



     

由上表可知這個巨集花了6個Frames來完成動作。大部分的招式可以以1這速度完成,但有些卻不行。
以下再舉幾個例子︰
ex:

$combo=
{ }
2 f d df C end
$endcombo

其動作如下︰

1 2 3 4 5 6 7 8 9  

 

ex:

$combo=
{ }
1 qcb hcf 2 + C end
$endcombo

其動作如下︰

1 2 3 4 5 6 7 8 9          



         
1 qcb hcf 2 + C end                      

ex:

$combo=
{ }
3 C n n 2 n 1 f + A 2 qcf C end
$endcombo

其動作如下︰

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17      






     
3 C n n 2 n 1 f + A 2 qcf C end                        

 

4.最佳化已錄製的巨集 回上頁
  • 為什麼要最佳化︰
  1. 加快出招速度和準確度。
  2. 寫好看一點可以分享給別人看。^^;
  • 第一種方式︰自己用文字編輯器(ex:記事本)修改巨集檔。在第3章已經教過巨集檔的寫法。在錄製好巨集之後,你可以自行用文字編輯器開始它。以下是一些最佳化的小技巧︰
  1. 一般的指令絕招都可以以1的速度打出。ex: 2 d 3 df 3 f 3 + A end ===> 1 d df f + A end ===> 1 qcf + A end
  2. 連技的Timing是非常重要的,所以當你把出招時間縮小,相對的等待時間就要加長。ex: 2 d df f + A 4 n 2 dp + A  end ===> 1 d df f + A 7 n 2 dp end ===> 1 qcf + A 7 n 2 dp end
  • 第二種方式︰用最佳化的巨集來錄製巨集。 這個方式是比較簡單也比較好的方式。
    ex:若要錄製 qcf + A, qcf + A, dp + A, dp + B

Step1.先用手寫的方式,寫出每一小段的巨集︰

$combo=
{ }
1 qcf + A end
$endcombo

$combo=
{ }
1 dp + A end
$endcombo

$combo=
{ }
1 dp + B end
$endcombo

Step2.進入遊戲,讀取上述的巨集,並設定巨集鈕1,2,3為巨集1,2,3。

Step3.開始錄製巨集。利用巨集鈕1,2,3打出qcf + A, qcf + A, dp + A, dp + B。儲存。

 

5.巨集分支系統的使用及寫法 回上頁
  • 恭喜你...你已經看到NMAMECombo巨集系統最神奇的地方了。我已經寫了好幾天的使用說明,已經寫到沒力了...所以,我廢話少說直接舉例。
  • 以 月華劍士2 白虎-直衛士源 的多段摔為例︰
    1 hcb f + C 66 n ─→   2 hcf + B 117 n ─→ 2 hcb + C end
    ─→ 2 hcb + A end
    ─→ 2 hcb hcb + C end 血紅且氣滿

    ─→   2 hcf + A 72 n ─→ 2 hcb + A end
    ─→ 2 hcb + B end
    ─→ 1 hcb hcb + A + B end 血紅或氣滿

這就是一個有分支的連技。由同樣的招式開頭,中間分支形成多種不同的連技打法。NMAMECombo 的巨集功能支援這種型式的巨集指令。使用者必須修改巨集檔,自行加入分支點的位置並告知如何分支。

  • 我們將上述例子的每一段分支,由0開始,加以編號︰
    (0)1 hcb f + C 66 n (1)2 hcf + B 117 n (2)2 hcb + C end 連段A
    (3)2 hcb + A end 連段B
    (4)2 hcb hcb + C end 連段C

    (5)2 hcf + A 72 n (6)2 hcb + A end 連段D
    (7)2 hcb + B end 連段E
    (8)1 hcb hcb + A + B end 連段F

在巨集檔中,分支的編號是從"$combo="開始,由上而下由0開始。上述例子的巨集檔會是以下這個樣子︰

巨集檔內容

各行註解

$combo=直衛示源 多段摔
{ }
1 hcb f + C 66 n
{ }
2 hcf + B 117 n
{ }
2 hcb + C end
{ }
2 hcb + A end
{ }
2 hcb hcb + C end
{ }
2 hcf + A 72 n
{ }
2 hcb + A end
{ }
2 hcb + B end
{ }
1 hcb hcb + A + B end
$endcombo
巨集開頭
分支點0
分支0
分支點1
分支1
分支點2
分支2,
連段A結束
分支點3
分支3,
連段B結束
分支點4
分支4,
連段C結束
分支點5
分支5
分支點6
分支6,
連段D結束
分支點7
分支7,
連段E結束
分支點8
分支8,
連段F結束
巨集結束
  • 光是有分支是不夠的。我們還必須要讓NMAMEC知道我們要如何分支。因此,我們再為它加上分支鈕
    (0)1 hcb f + C 66 n ─→ (1)2 hcf + B 117 n ─→ (2)2 hcb + C end 連段A
    A (3)2 hcb + A end 連段B
    D (4)2 hcb hcb + C end 連段C

    A (5)2 hcf + A 72 n ─→ (6)2 hcb + A end 連段D
    B (7)2 hcb + B end 連段E
    D (8)1 hcb hcb + A + B end 連段F

    上圖為各個分支加上對應的分支鈕,讓NMAMEC知道在分支點時是否要分支、分支到哪兒去。在上圖中,若使用者要打連段F。使用者在按下巨集鈕之後,當執行完分支(0),使用者必須按按鈕A跳到分支(5)。當執行完分支(5),要按按鈕D跳到分支(8),這樣就可以打出連段F。我們可以將連段F的按鈕順序可以表示成巨集鈕->(0)->按鈕A->(5)->按鈕D->(8)
    其他連段的按法如下︰

    連段A︰ 巨集鈕->(0)->(1)->(2)
    連段B︰ 巨集鈕->(0)->(1)->按鈕A->(3)
    連段C︰ 巨集鈕->(0)->(1)->按鈕D->(4)
    連段D︰ 巨集鈕->(0)->按鈕A->(5)->(6)
    連段E︰ 巨集鈕->(0)->按鈕A->(5)->按鈕B->(7)
    連段F︰ 巨集鈕->(0)->按鈕A->(5)->按鈕D->(8)

    巨集檔的內容要這樣寫︰

    巨集檔內容

    各行註解

    $combo=直衛示源 多段摔
    { }
    1 hcb f + C 66 n
    { A_5 }
    2 hcf + B 117 n
    { A_3 D_4 }
    2 hcb + C end
    { }
    2 hcb + A end
    { }
    2 hcb hcb + C end
    { }
    2 hcf + A 72 n
    { B_7 D_8 }
    2 hcb + A end
    { }
    2 hcb + B end
    { }
    1 hcb hcb + A + B end
    $endcombo
    巨集開頭
    分支點0
    分支0
    分支點1,按A跳到分支5
    分支1
    分支點2,按A跳到分支3,按D跳到分支4
    分支2,
    連段A結束
    分支點3
    分支3,
    連段B結束
    分支點4
    分支4,
    連段C結束
    分支點5
    分支5
    分支點6,按B跳到分支7,按D跳到分支8
    分支6,
    連段D結束
    分支點7
    分支7,
    連段E結束
    分支點8
    分支8,
    連段F結束
    巨集結束

    以上就是巨集檔分支的寫法。

  • { A_3 D_4 }表示︰在這個分支點有兩個分支鈕AD。按A會執行分支3,按D會執行分支4。其優先順序和編排的順序相同,也就是說,若AD同時按,則會執行A的分支。
  • 可用的分支鈕為︰ABCDudfb
  • 以下為編製巨集分支的步驟︰(以 直衛示源 多段摔 為例)
  1. 用NMAMEC錄製巨集的功能,分別錄製連段A~連段F。
  2. 開啟已錄製好的巨集檔。
  3. 最佳化每個連段。(本步驟可以省略)
  4. 將各個連段的"$combo="去掉,只留最前面第一個。
  5. 將各個分支點找出,並設定之。
  6. 加上分支鈕的設定
  7. 存檔,完成。
  • 使用者可以利用巨集分支功能來做出很多的應用。例如︰ 迴圈(無限段)、一整套的攻擊模式、等。

 

回上頁
6.錄製、播放教學檔 回上頁
  • 播放教學檔這個功能乃是即時存取和巨集功能的組合。
  • 開始錄製時NMAMEC會把當時的狀態儲存在combo目錄下(副檔名為.000~.099)。接著將使用者的輸入錄製成巨集(副檔名為.c00~.c99)。
  • 播放教學檔的原理則是先將狀態讀出(ex:.\combo\lastbld2.000),再輸出巨集(ex:.\combo\lastbld2.c00)。這樣看起來就像是播放影片一般。
  • 錄製方式︰
  1. 玩家1(player 1)進入遊戲。
  2. 站好位置。
  3. 右Ctrl+F6。此時螢幕會出現"錄製教學"的對話視窗。
  4. ←→可以選擇要儲存的編號(00~99)。按Enter確定。或按ESC取消。
  5. 確定後,螢幕會出現"開始錄製教學..."的訊息。
  6. 開始輸入連段。
  7. 再按一次右Ctrl+F6,結束錄製。
  8. 此時螢幕會出現"教學已存入."的訊息。完成!
  • 播放方式︰
  1. 在遊戲中。
  2. 右Ctrl+F7。此時螢幕會出現"讀取教學"的對話視窗。
  3. ←→可以選擇要讀取的編號(00~99)。按Enter確定。或按ESC取消。
  4. 確定後,螢幕上就會開始秀出教學內容。
  5. 教學播放中,按右Ctrl+F7可以取消播放。
  6. 當播放完畢時,螢幕會出現"教學播放終了."的訊息。

 

回上頁
7.錄製、播放展示檔 回上頁
  • 展示檔(Demo)的原理是將好幾個教學檔連續播放出來。本來我是想做成Screen Saver的,但是由於NMAME的一個bug(一段時間不按任何鍵就會當住),所以我只讓它播放一次(不會重播)。【此問題win32版已解決】
  • 展示檔的格式和教學檔一模一樣,只差在副檔名不同。為.900~.999。(格式和sta目錄下的狀態檔一樣),和.s00~.s99(格式和巨集檔一樣)。都放在combo目錄下。
  • 展示檔的錄製方式和教學檔一模一樣,兩種檔案也可以互通。
  • 錄製展示檔的功能鍵為右ALT+F6
  • 播放展示檔的功能鍵為右ALT+F7。播放中再按一次可以取消。

 

回上頁
8.還有問題嗎? 回上頁
  • 請好好看一次這篇使用說明!!!
  • 請詳細檢查格式有無錯誤。(ex: 空格、大小寫、換行)
  • mail告訴我您的問題。但請注意!! 如果您的問題這篇使用說明已有講解,我將不會回信。