很多人都问如何在WK里设定和使用宏，我就把我知道的说给大家，这其中还包含宏以外的一些东西，有说的不对的地方请大家指正。
第一次接触宏是因为我看了WK的faq.txt文件，里面包含如下一段，中文是我自己翻译的。
WHAT ARE MACROS, HOW DO THEY WORK?
什么是宏，它们如何工作？
Macros are a powerful features that allows you to map a complex movement to a simple key/button!
宏是一个强大的组件，可以让你把一套复杂的移动规划到一个简单的按键上。
For example, you can set the 'Q' key to make a Hadoken, or a super, or whatever you like.
例如，你可以让Q键发出Hadoken（火球，气功，波，镖，暗器），或者是超必杀，或者任何你愿意的。
You define your macros in each game's INI. That's sfa.ini, xmcota.ini, etc
你把你的宏定义在每个游戏的INI文件里，就是sfa.ini，xmcota.ini，等等。
Each player has 10 personal macros
每个玩家可以定义10个宏。
Macros are composed of the chars:
宏由以下字符组成：
U for Up——上
D for Down——下
L/B for Left/Back——左/后退
R/F for Right/Forward——右/前进
1 for Button 1——按键1
2 for Button 2——按键2
3 for Button 3——按键3
4 for Button 4——按键4
5 for Button 5——按键5
6 for Button 6——按键6
S for Start——开始键
~ for 'Hold this for 20 frames'——按住20帧
, for "next frame"——下一帧
+ says the macro will accept player input during its execution——告诉宏，在执行过程中允许玩家输入
For example, you'll code a Hadoken (fireball) as D,DL,L3
例如，你可以把Hadoken（火球，气功，波，镖，暗器）定义为“D,DL,L3”。
Here are my personal Xmen Versus Street Fighter macros:
这里有一些我个人的超能战警对街霸的宏：
Macro1A=D,DL,L123
Macro1B=L,D,DL123
Macro1C=36
Macro1D=1,,,,,,,,,,,4,,,,,,,,,,,2,,,,,,,,,,,5,,,,,,,,,,,3,,,,,,,,,,,6
Macro1E=D,DL,L36
Macro1F=1,,1,,L,,4,,3
Macro1G=123+
Macro1H=456+
Macro1I=B~~~,F3
Macro1J=4,+
Macro1A is a super (quarter circle forward + 3P)
第一个宏是超必杀（四分之一个正摇圈+3个拳）。
Macro1B is a another super (dragonpunch motion + 3P). I use it for Wolvie's WeaponX
第二个宏是另一个超杀（升龙动作+3个拳）。我用它来定义金刚狼的X武器。
Macro1C is Strong Punch + Strong Kick
第三个宏是“重拳+重脚”。
Macro1D is a combo. LP,LK,MP,MK,HP,HK. Can you say aerial combo ? :)
第四个宏是“轻拳，轻脚，中拳，中脚，重拳，重脚”。你知道这个空中的连技怎么说么？
Macro1E is Team super. Ouch :P
第五个宏是团队超杀。哇呜。
Macro1F is Akuma's Demon Rage
第六个宏是瞬狱杀。
Macro1G is 3 punch, and will allow the player to use other input at the same time
第七个宏是“3个拳”一起按，并且允许玩家同时输入其他指令。
Macro1H is 3 kicks, and will allow the player to use other input at the same time
第八个宏是“3个脚”一起按，并且允许玩家同时输入其他指令。
Macro1I is Sonic boom. Hold back for 1 second, the Forward + Strong punch
第九个宏是音速炸弹（古烈的波）。按住“后退”键一秒，然后“前+重拳”。
Macro1J is Hard Kick, then release, and allow reading the controller while macro performs. Since macros loop if you keep but button down, this macros is "Mash hard kick". Basically, I use it to trigger ChunLi's lightning kicks :D
第十个宏是“重脚”，然后松开，然后当宏执行的时候接着读取。如果你一直按住这个键，这个宏就会循环，这个宏就是千裂脚。基本上，我用它触发春丽的闪电踢。
Now when you've define your macros' behavior, you have to assign them to keys.
当你定义了你的宏的行为，你要把它们分配给按键。
Key_Macro1A executes Macro1A
Key_Macro1A执行Macro1A
Key_Macro1B executes Macro1B
Key_Macro1B执行Macro1B
Next, you also have to map the Macro reverse keys.
接下来，你也要设定反向宏的按键。
The reverse macro key is used to reverse the direction of a macr
反向宏建是用来让宏反向的。
If Macro1A = D,DL,L123 pressing Key1_MacroReverse + Key_Macro1A will execute D,DR,R123
如果第一个宏是“下，下左，左+3个拳”，按“反向宏+第一个宏”就会执行“下，下右，右+3个拳”。
Kawaks knows the side of your character in fighting games, you don't even have to use the reverse key to make a move because you changed side!
WK知道你在格斗游戏中的角色站在哪边，你没必要因为改变方向而使用反向宏。
You can modify all the key settings in the INIs, or use Kawak's redefine keys dialog box
你可以在INI文件中更改所有的键位设定，或者使用WK重定义按键对话框。
看到这里，大家对宏是不是有个大概的了解呢？唯一让我感到迷惑的是，我没看懂“L/R/F/B”究竟是“左”还是“右”，按照字面翻译应该很好理解，但是，在上面的举例中，作者说“D,DL,L123”是“四分之一个正摇圈+3个拳”；还说“L,D,DL123”是“升龙动作+3个拳”，可实际上都写反啦啊，不管它了，我们来实践一下。
打开WK所在的文件夹，在里面有一个INI文件夹，这里面存放着一些INI文件。
每一个文件，对应着一个游戏的按键设置，文件名就是游戏名。有人问：“我怎么找不到‘街头霸王.ini’啊？”这里说的游戏名指的是驱动名，在加载游戏的时候可以看到。
所以街头霸王对应的INI文件应该是sf2ce.ini，找到这个文件打开它。
如果你仍是没有找到，那可能是你还没有运行过这个游戏，运行一下游戏，再退出就应该生成了。正因为如此，在修改INI文件的时候不要运行游戏。
我们看看里面都定义了哪些按键。
[Netchat]这部分定义了我们在网战的时候聊天的快速发言。一共是五句话，从NetSayA=到NetSayE=，默认已经内置了五句，我们可以把这五句话改成我们自己想说的（修改等号后面的内容），比如：“Glad to play with you.”这里最好不要填写中文，因为在游戏屏幕上看不到中文，但是在聊天室里可以看到。这五句话对应的快捷键是键盘上的1，2，3，4，5。
[Controls]这部分定义了游戏的基本操作键，包括重起键，测试模式键，4个玩家的按键，这些都可以在模拟器里设置，这里就不作改动了。
Enhanced macros这部分定义了关于宏的按键，这里的按键指的是执行每个宏的按键，这些也可以在模拟器里设置。
[Macros]是最主要的部分了，定义每个宏的内容。Macros for player 1下面是玩家一的宏，有十个，对应Macro1A=到Macro1J=，按照上面的说明自己设定吧（不区分大小写）。
设定好以后，保存文件并退出，运行WK，加载游戏，重新定义玩家1的键位设定，在对话框中你会看到，你设定的宏已经显示到这里了，自己定义键位吧。
定义完了以后，别忘了保存当前设置到配置文件。
波动拳、升龙拳等一些宏的定义大家都应该会了，下面说说进一步的应用。
[批量修改]
单独修改每个INI文件有些麻烦，当然你可以把一个INI文件中的内容粘贴到另一个配置文件中，不过还是麻烦，能不能自动就生成我们习惯的键位呢？当然可以。
在WK的文件夹下，有两个文件是defaultkeysCPS.ini和defaultkeysMVS.ini，分别对应CPS机板和MVS机板游戏的默认按键。当你运行一个没有INI文件的游戏的时候（比如是新游戏或者删除了原来的INI文件），系统就会调用这两个INI文件中的一个（调用哪个取决于你的游戏的机板）。
读取游戏的时候，系统这栏写着NeoGeo字样的游戏都是MVS机板的游戏，写着CPS1和CPS2字样的都是CPS机板的游戏，WK只支持这两种机板的游戏，所以支持的游戏不如MAME多。
打开defaultkeysCPS.ini和defaultkeysMVS.ini这两个文件，我们发现里面的内容和游戏对应的INI文件差不多，对应修改就可以了。我不了解“等号”后面的数字代表哪些按键（0代表不设定），所以就从其它的INI文件中复制对应的部分好了。
[葵花]
葵花是“轻脚、重拳”一起按；葵花二，古烈是“轻脚、中拳”一起按，我们可以定义为“24+”和“34+”，分别代替“中拳”和“重拳”。龙、肯、古烈等人可以这样使用，但是维加和沙盖特用着就不方便了，因为他们的一些必杀技按“拳”或“脚”都是一样的出招指令，例如沙盖特按“宏重拳”发波的话出的是“轻脚”的波。当然，没有葵花的角色也没必要这样定义。
用龙、肯、古烈的时候，按“宏中拳”和“宏重拳”出的是“中拳”和“重拳”，但也有例外的时候。你先按一下“轻脚”，然后立刻狂按“宏重拳”，你会发现人物出的是连续“轻脚”而不是“重拳”，难道需要掌握一个停顿时间么？其实没必要，因为这种情况只出现在同一水平线上，而葵花都是在非同一水平线上的。
[古烈]
大家在使用古烈和维加的时候会注意到一个现象，当你向后续力再按“前+拳”的时候，偶尔古烈会出一个“轻拳”然后立刻发波，维加也是先出一个“轻拳”然后立刻电钻。那是因为，当你按下按钮的时候，系统接受一次输入，松开按钮的时候系统又接受了一次输入，利用这个系统特性，配合宏，我们可以简化古烈的一些出招。
比如“跳重拳〉站重拳〉手刀”这套，可以改成“跳重拳〉站重拳〉前”。按下站立“重拳”，在松开的一瞬间输入“前”这个指令，手刀就出来了。
葵花一“蹲轻脚〉站重拳〉脚刀”这套，可以改成“蹲轻脚〉站宏重拳〉上”。“宏重拳”=“重拳”+“轻脚”，虽然表现出来的是“重拳”，但是系统也认为你输入了“轻脚”，所以松开的时候接受了“轻脚”的输入，脚刀就出来了。
以次类推，举不胜举……
[练习]
用宏来练习是很不错的。我使用古烈练习蹲“重拳”打龙的旋风腿，我就给2P设定这样一个宏：
d,db,b1+,d,db,b2+,d,db,b3+
随机使用3种旋风腿，然后把它定义到空格键上，我在游戏的时候一直按住空格就可以了。这样设定并不合理，因为当一个旋风腿出来的时候，宏继续执行下面的内容，所以落地的时候未必就能再发出一个旋风腿，解决的方法就是适当添加停顿，不过我这样能增加随机性。
千雨给我们提供了一些用来练习的宏（论坛有下载），例如：
db+~~~,db5+,db5+,db5+,db+~~~~,db5+,,,db+~~~~~~~~~~,db5+,,,,,
db+~~~,db6+,db5+,db4+,db+~~~~,db6+,,,db+~~~~~~~~~~,db6+,,,,,
这两段宏可以用来练习回扫，大家也可以修改一下，或者照这个例子自己做，目的就是尽量增加随机性。
[网战]
有人说：“网战用宏，岂不是无敌了？”其实不然，WK在网战的时候对宏的使用作出了一些限制——宏里不可以出现停顿符号，也就是“逗号”和“波浪线”。这样超级螺旋打桩，升龙拳，波动拳，旋风腿就全都不能用了。但也不是那么绝对，我们要知法、懂法，钻法律空子。
首先同时按键是允许的，所以“24+”和“34+”和“123+”都可以使用，葵花和旋风掌和再回首都能用。然后我们要把不能直接使用的招式尽量简化。定义一个“u1+”，也就是“上”和“轻拳”同时按，大坐就可以简化为“后，下，前，u1+”（我个人感觉“前”和“u1+”同时按，成功的几率比较大）。定义一个“u4+”，也就是“上”和“轻脚”同时按，猛虎飞膝就可以简化为“下，前，u4+”。
不知大家注意到没有，按下“u1”这个宏（只是迅速按一下），人物只是出了一个“轻拳”，并没有跳。这让我想到了有些人物的出招可能和我们想像的有些偏差……
WK作者说波动拳的出招是“d,df,f1”，我并不这样认为，因为我把“f1+”定义到了一个宏，然后按“下，f1+”，发不出波，手动发波也是如此，“下，前+拳”也是发不出波，一定是“下，前，拳”。用宏发波意义不大，但我搞清楚了波是如何发的。不知是否有必要规范一下出招，因为我们脑海中的出招表并非很准确，比如这个“d,df,f1”就误导了我很多年。
升龙拳的出招是“f,d,df1”，我们可以定义一个“df34+”，重升龙拳就是“前，下，df34+”，可以加快升龙的出招（强化起身升龙，走升也只须在前进的时候按“下，df34+”）。而且“df34+”表现为“葵花蹲重拳”，用肯来打连招也很方便，例如：“跳df34+〉df34+〉前，下，df34+”；葵花二也容易多了，“站轻脚〉df34+〉前，下，df34+”。
关于宏我就说这些了。
~The End~