首页 > 网事如风 > WOW高级教程-MACRO的使用-by leonking
2004
12-28

WOW高级教程-MACRO的使用-by leonking

WOW高级教程-MACRO的使用-by leonking

BY leonking from TNTclan,转载请注明。

WOW宏的入门知识去这里看:
www.worldofwarcraft.com/info/basics/macros.html

要干活了,玩的时间不多了,这几天全力研究了一下MACRO,也就是宏。发现其中实在是奥妙无穷。毫不夸张的说,掌握好MACRO的使用能极大提高游戏的效率和乐趣,实在是玩WOW的一门必修课。

玩过EQ的都知道一点宏的知识,比如组队时用来告诉队友你的行动,告诉目标等。最简单的比如puller 常用的: /v %t过来了,大家集中火力。 法师常用的: /v 我要催眠%t,大家不要打醒他 这些宏个性鲜明,是EQ的一大乐趣之一。

然而EQ毕竟是N年前的游戏,宏也比较简单,和它比起来。WOW的宏就复杂和强大的多了。它的函数就有上千种,如果都掌握,能实现许多匪夷所思的功能。

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();

大家赶快来开发属于自己的宏吧,有好的别忘了共享哟?不过有些错误的语法会死机,小心啊。

最后提供给大家一些介绍,讨论宏的网站:
http://www.cosmosui.org
http://www.wowwiki.com BY leonking from TNTclan,转载请注明。

觉得文章有用,微信打赏一元。