宏命令完全中文手册
个人觉得 在WOW里面的宏是最难掌握的 也是一个如果掌握好的话做有用的
一:基础教程
1.什么是宏命令?
玩过EQ的都知道一点宏的知识,比如组队时用来告诉队友你的行动,告诉目标等。最简单的比如puller 常用的: /v %t过来了,大家集中火力。 法师常用的: /v 我要催眠%t,大家不要打醒他 这些宏个性鲜明,是EQ的一大乐趣之一。
然而EQ毕竟是N年前的游戏,宏也比较简单,和它比起来。WOW的宏就复杂和强大的多了。它的函数就有上千种,如果都掌握,能实现许多匪夷所思的功能。
一个宏可以完成一个相对比较复杂的命令.比如战斗中发布命令,如果打字当然不算麻烦,但在战斗中却很要命.浪费了时间和生命.一个简单的宏便可以用一个键来完成这一切.
2.宏命令的设置流程:
首先,回车,再敲/MACRO。看见了吧?会弹出一个窗口,上面有New(新建宏命令)和Complete(完成宏命令)两个按键。点New,又会弹出一个窗口,哇,花花绿绿的,里面包括了WOW几乎所有的技能图标,随你喜欢,随便选一个!它就是你设置的宏命令的图标了,给它取个名字吧!方便你用的时候好找。然后回到第一个窗口,在它上面有一个输入菜单(别告诉我找不到…它可是占了这个窗口的一半多…)在里面输入特定的内容,然后点Complete。接下来你要做的就是把这个代表你宏命令的图标用鼠标左键拉到快捷栏里,想怎么用就怎么用…
3.下面就是怎样设置宏的内容了,简单的设置大家可以看我们网站上"基础"篇的宏介绍.
相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以将这些命令按照自己对条件的设置串联起来,比如:/Kneel是让你跪下来的动作而/say就是最基础的对话动作
我们现在用一个宏把他们串起来:
第一行内容:“/Kneel”
第二行内容:“/say 如果你不嫁给我,那么我就一辈子不起来…” ”
这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…"
宏可以应用所有WOW中已经定义了的斜杠"/"和表情命令,更要命的是,宏甚至可以应用人物的魔法和技能,
只需要在宏的定义过程中应用"/cast"命令,下面是已知的一些常用命令:
/Assist 这是个援助进攻的命令。当你的队伍同时面对几个敌人时,只要点击自己的队友(一般是队伍中的战士),然后使用这个命令,你的目标就会变成战士所选中的目标。大家集中火力消灭一个起!
/Cast 这是个使用技能的命令。当你在宏命令里输入/Cast 技能名(技能等级)或者只要按住Shift同时用鼠标点击一下你想要输入的技能的图标。例如当你是一个战士,想制作一个使用战斗怒吼的宏时,你可以输入/Cast Battle Shout(Rank 1)或者是直接按住Shift点击Battle Shout这个技能的图标。当然你可以在一个宏的不同行上输入几个技能,那么当你使用这个宏时,几个技能就会一起释放出来,再用不着你像章鱼一样同时按下几个键了 。
%t 这个符号也许会经常出现在你的宏命令里,它是一个代码,代表你当前所选中的人名。例如,你在宏里写下这么一句。(注意:后面要加一空格。) “/g %t ,今天天气真好,有没兴趣和我一起上山采蘑菇…”
如果你点中一位名叫苯笨的玩家,那么当你按下这个宏时,你就会说:“笨笨,今天天气真好,有没兴趣和我一起上山采蘑菇…”
/Target 这是一个自动选择目标的命令,你可以在宏里输入/Target (xxx),那么当你按下这个宏时,你将自动选定这个叫xxx的目标。
/in 这是一个延时命令,时间以秒为单位.同时它不支持攻击指令.格式:/in 3 dance 三秒后跳舞,如/in 3 dance,就是在3秒后跳舞,
/say start!
/in 3 say 3s later
/in 6 say 6s later
二:进阶教程
一些有用的 Macro
1。允许你在窗口和全屏状态之间切换
/script SetCVar("gxWindow", 1 - GetCVar("gxWindow"));
/console gxRestart
2。对于法师,必须要有的:将“X”换为你目前的变形术等级(下同);用它替换掉变形术技能。当你在队伍之外时使用它会得到“你不在队伍中。”的信息,但在队伍中的时候其它同伴会了解到你将释放的变形术目标。
/p Sheeping >>> %t 0) then CastSpellByName("Curse of Tongues(Rank X)") else
CastSpellByName("Curse of Weakness(Rank X)") end;
17.先治疗自己,然后自动选中上次的敌人
/target Pugar //选择自己,假设自己的名字是Pugar
/cast Lesser Heal (Rank 1) //施展次级治疗rank1
/script TargetLastEnemy(); //重新选择刚刚选择的敌人
/script AttackTarget(); //攻击,等同于右键点击敌人
18.对于一个术士很有用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击
,跟着一个虚弱诅咒。
/assist 队伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
19.等治疗完之后提醒别人注意下自己有可能被怪打,不加延时的话,就没这个效果了。
/p healing %T, need 3s, don"t run away
/cast heal (rank 1)
/in 4 p cured %T 300HP,please notice the enemies turn on me^_^
20.在路上自动护送朋友做任务。
/assist [player name]
/cast 法术(Rank X)
/target [player name]
/follow [player name]
三:高级教程
WOW的宏函数库可以去这两个地方查:
http://www.cosmosui.org/texts/BlizzardCommands.xml
http://www.wowwiki.com/index.php/World_of_Warcraft_API
函数的使用比较简单,学习过编程的都比较容易上手,基本的用法是在函数前加/script 来使用。比如
/script CURRENT_ACTIONBAR_PAGE = X;
/script ChangeActionBarPage();
就是将你的快捷栏翻到第X页。
函数库中有许多函数都是非常有用和方便的,比如一次打开所有包包:
/script OpenAllBags();
配合关闭包包的函数,一次关闭所有包的宏也可以实现:
/script CloseBag(0);
/script CloseBag(1);
/script CloseBag(2);
/script CloseBag(3);
/script CloseBag(4);
怎么样,下次你卖东西的时候不会一个个开包关包了吧?
使用函数还不是最恐怖的,恐怖的是WOW的宏是可以用条件判断的,看下面这两个:
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if (
UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)"); end end
据说这个包含if,then的宏可以让盗贼实现自动根据combo点数来使用技能(未测试),其中还使用了角
色MANA值的调用,恐怖吧?还有这个查找spell的宏:
function GetSpellIdByItsName(myWantedSpell, myWantedRank)
local spellId = 1;
local spellBook = "spell";
local spellName, rankName;
spellName, rankName = GetSpellName(spellId, spellBook);
while (spellName ) do
if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank
) ) ) then return spellId; end
spellName, rankName = GetSpellName(spellId, spellBook);
end
return -1;
end
里面可以自己定义function,还使用了while,do这样的循环,是不是让你想到了N种应用的可能呢?
遗憾的是,目前官方似乎没有提供延时的宏,所以在战斗中使用多种有延时的技能是无法实现的(无延时的技能可以实现同时使用),类似换其他武器-使用技能或法术-换回武器这样的功能也无法实现,
(所谓用宏实现剑盾战士换双手武器MS再换回来是行不通的),不过使用COSMOS的朋友可以用/in 来实现非战斗指令的延时,比如
/in 3 say hi 就会在3秒后说句hi。
/in 6 /script MoveForwardStart(arg1);
就会在6秒后向前跑。
虽然法术和技能无法用/in指令来延时,但这样已经很强大了,比如,你可以编出各种运动的宏,如兜后,转身等。PVP时估计是必不可少的。
下面是一个玩家写的双手武器战士自动逃跑的宏:
/script UseContainerItem(0, 2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown
(12);ActionButtonUp(12);
/cast Thunder Clap(Rank 1);
/script TurnLeftStart(arg1);
/in 1 /script TurnLeftStop(arg1);ToggleAutoRun();
使用这个宏的条件:在大包包第二格放了回复药,快捷栏第11,12分别是一单手一盾的快捷方式。
使用这个宏后,角色自动喝回复药,装备上盾,使用Thunder Clap(这三个动作同时进行),向后转180度后开自动跑步键逃走。其中技能等可以根据需要自己改。怎么样,是不是很夸张啊,哈哈。
还有一些有用的宏:
切换装备,
双手切换单手并换第二个快捷栏,快捷栏第11,12分别是一单手一盾的快捷方式
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
单手切换双手并换回第一快捷栏,快捷栏12是一双手武器快捷方式
/script ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
上绷带不切换目标的宏
不需要选择自己,当然如果你选择队友,会给队友上绷带。
/script UseContainerItem(0,3)
/script TargetUnit("player")
说明下这句/script UseContainerItem(0,3),其中0代表包包代号,3,代表格子代号,具体说明如下
5个背包按照排列位置编号如下:
[4][3][2][1][0]
6格包的格子编号如下:
_____[1][2]
[3][4][5][6]
16格包的格子编号如下:
[ 1][ 2][ 3][ 4]
[ 5][ 6][ 7][ 8]
[ 9][10][11][12]
[13][14][15][16]
其他格数以此类推
不需要~只要看你需要什么样子的宏~然后用wow可以识别的命令创建
具体创建方法可以自己研究下
在游戏里输入/宏
就可以创建自己的宏了
入门级别的宏是不需要很长的命令的
比如制作反击+邪恶攻击宏
/释放 反击
/释放 邪恶攻击(技能等级)
这些只需要shift+鼠标点击技能书中的技能就可以实现
楼上的绷带宏可以不用了
现在wow自带自我施法~可以在界面设置里设置
设置好了以后~如果你的目标是自己或者没有目标或者是敌对目标~点击绷带就默认给自己打~并且不丢星
不需要什么插件。在聊天模式输入“/宏”就可以打开。先新建一个红命令,自己取名字和选择图案。然后在命令框里粘贴命令或者自己写。再新建,重复上述动作。最后把上方的宏图标拖到快捷栏,退出就好了。
宏命令可以自己学习写点。这里给出我收集的部分盗贼宏。
/script if ( GetComboPoints() >= 5 ) then CastSpellByName("剔骨(等级 8)"); else CastSpellByName("背刺(等级 8)"); end
/script if not (dagger == GetInventoryItemLink("player", 16)) then CastSpellByName("邪恶攻击(等级 8)") end
说明:这个宏刚刚做好,首先判断目标身上是否有5星,如果有,则剔骨。如果没有,且主手是匕首,则背刺,如果主手不是匕首,则邪恶攻击。测试有效。但是背刺要在目标背后。注意宏的格式,不要有回车。
----------------------------------------
/script if ( GetComboPoints() >= 5 ) then CastSpellByName("冷血") SpellStopCasting();CastSpellByName("剔骨(等级 8)");else CastSpellByName("邪恶攻击(等级 8)"); end
说明:类似的判断宏,如果目标有5星,则冷血剔骨。如果有5星,冷血没冷却,就普通剔骨。没5星就邪恶攻击
--------------------------------------------
/script CastSpellByName("背刺(等级 8)")
/script if not (dagger == GetInventoryItemLink("player", 16)) then CastSpellByName("邪恶攻击(等级 8)") end
说明:能背刺就背刺,不能就邪恶攻击……
----------------------------------------------
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then CastSpellByName("邪恶攻击(等级 8)") else PickupContainerItem(0,1); PickupInventoryItem(16); end
说明:如果主手不是匕首,则用邪恶攻击。如果主手是匕首,则把主背包第1格的武器换到主手。
------------------------------------------------
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then PickupContainerItem(0,1); PickupInventoryItem(16);else CastSpellByName("背刺(等级 8)");end
说明:如果主手不是匕首,则把主背包第1格的武器换到主手。如果是匕首,就背刺。
注意,以上2个宏要求匕首有唯一属性。如果匕首不是唯一,把GameTooltipTextRight4改成3。
-------------------------------------------------
/施放 冷血
/script SpellStopCasting();
/施放 剔骨(等级 8)
说明:冷血+剔骨,一键发出
--------------------------------------------------
/Script UseContainerItem(0,1);
/Script TargetUnit("player");
说明:绷带给自己,不丢星。其中绷带放在主背包第1个格。也就是最左上的格
--------------------------------------------------
/script x="player";d=UnitHealthMax(x)-UnitHealth(x);if (d>1800) then UseContainerItem(0,1);end
/Script TargetUnit("player");
说明:绷带给自己,不丢星。只有在角色掉1800血以上才使用绷带。
-------------------------------------------------
/Script UseInventoryItem(14);
/Script UseInventoryItem(13);
/Script SpellStopCasting();
/施放 冲动
双开饰品宏。
---------------------------------------------------
/施放 凿击
/Script SpellStopCasting();
/Script d=UnitHealthMax("player")-UnitHealth("player");if (d>1000) then UseContainerItem(4,14);end
/Script SpellTargetUnit("player");
凿击+绷带宏。(4,14)是绷带在背包的位置,可以换。
---------------------------------------------------
Script if (GetComboPoints() >= 4 ) then CastSpellByName("冷血");end
/Script SpellStopCasting();
/施放 剔骨
4星以上冷血剔骨,不到3星就普通剔骨。
---------------------------------------------------
/施放 还击
/施放 邪恶攻击(等级 8)