魔兽世界宏命令设置


相信很多人都知道 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<<< /cast Polymorph (Rank X) 3。作为一个术士,这是在队伍中使用的宏:首先将目标转为拖怪手或者坦克正 在攻击的目标,然后命令宠物向前攻击,跟着一个虚弱诅咒。 /assist 队伍中的拖怪手或者坦克的名字 /script PetAttack(); /cast Curse of Weakness (Rank X) 4。从背包和袋子里切换身上的武器 /script if ( not CursorHasItem() ) then PickupContainerItem(, ); PickupInventoryItem( ); end bag# - 使用哪一个袋子的物品(0、1、2、3、4。0 是背包) slot# - 袋子里的位置(从 0 至左上) equip# - 16 是主要武器, 17 是副武器 5。这个宏治疗队伍里你指定的人,如果你不在队伍中它会治疗你自己。然后会

自动将目标切换回你最后一个敌人。 它同时还会使用队聊提醒队友你会治疗哪一 个人。 /script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "Party") else TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy(); end 6。加速任务显示速度 /script QUEST_DEscriptION_GRADIENT_CPS = 600000 /script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS") /script DEFAULT_CHAT_FRAME:AddMessage("quest text will scroll faster now"); 7。消除等待接受任务的时间 /script AcceptQuest() 8。这个宏可以在路上自动护送玩家做任务。 /assist [player name] /cast 法术(Rank X) /target [player name] /follow [player name] 9。切换主副武器,详情看第四条 /script PickupInventoryItem(16); PickupInventoryItem(17); 10。在没有目标或者目标是敌人的时候给自己加增益魔法或治疗。

CastSpellByName("Spell Name(Rank X)");

if ((SpellIsTargeting()) and (not UnitIsFriend("player","target"))) then SpellTargetUnit("player"); end; TargetLastEnemy(); 11。切换双手武器与单手+盾或者双手挥舞武器 /script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem (4,2);PickupContainerItem(4,1);PickupInventoryItem(16);else PickupContainerItem (4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem( 17);end 12。设定“真实鼠标视野” /script CameraOrSelectOrMoveStart(arg1); 想取消就再次输入。 13。切换近程技能栏和远程技能栏 /script CURRENT_ACTIONBAR_PAGE = 2; /script ChangeActionBarPage(); /cast aspectofmonkey (just use the left click) /script CURRENT_ACTIONBAR_PAGE = 1; /script ChangeActionBarPage(); /cast aspectofhawk (just use the left click) 14。牧师对队友的一键加血,比如一号键给第一队友加血,二号键给第二队友 加血,免除了还要鼠标确

定目标的操作。依次类推,从第一个人到最后一个 给队友 1 加血: /script TargetUnit(GetPartyMember(1)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 给队友 2 加血: /script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 给队友 3 加血: /script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 15。一键解决喂养宠物:这个宏会从最左边的袋子里的第一个位置拿出食物喂 养宠物,如果所在的位置 没有食物,它会自动打开袋子。 /script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then OpenBag(4); else CastSpellByName("Feed Pet"); PickupContainerItem(4, 1); end end 16。术士宏 1)如果目标生命大于 20,释放抽取生命法术,否则使用灵魂抽取。 /script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else CastSpellByName("Drain Soul(Rank 2)") end; 2)虚弱诅咒版本 /script if (UnitMana("target")>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);ActionButt onUp(12); /script CURRENT_ACTIONBAR_PAGE = 2; /script ChangeActionBarPage(); 单手切换双手并换回第一快捷栏,快捷栏 12 是一双手武器快捷方式 /script ActionButtonDown(12);ActionButtonUp(12); /script CURRENT_ACTIONBAR_PAGE = 1; /script ChangeActionBarPage();

下面是另一篇

作者:重返荣誉 来源:17173 宏只是一种辅助的手段,希望通过下面的讲解让大家能轻松编辑属于自己的宏。 先来看宏的结构: /script if (UnitHealthMax(target)>80) then CastSpellByName(''火球术(等级 4)'') SendChatMessage(''对 %T 使用火球术'', ''EMOTE'') else CastSpellByName(''奥术飞弹(等级 2)'')

SendChatMessage(''对 %T 使用奥术飞弹'', ''EMOTE'') 这是一个没有延时功能的宏,带延时功能的宏将在稍后说明, 第一句/script 申明函数开始,这句是必须的,整个宏的中文意思是 如果你选定的目标的生命值大于 80,就执行 4 级火球术,并告知周围的人你对 目标使用了这个动作, %t 就是代表目标,否则就执行 2 级飞弹,告知周围的人你对目标使用了这个动 作。 值得注意的是比如 SendChatMessage(''对 %T 使用火球术'', ''EMOTE'') 中的 EMOTE 如果你换成 party 就 只是队内可见。 此例使用到的函数: UnitHealthMax(target) 返回目标生命值 同样此例如不要判断就直接是 /script CastSpellByName(''火球术(等级 4)'') SendChatMessage(''对 %T 使用火球术'', ''EMOTE'') 注意本文注重介绍思路! 下面是一些常用的宏 MoveBackwardStart 向后移动, 用时写成 MoveBackwardStart() 注意每句后面 的;号并不是必须的,主要是习惯。 MoveBackwardStop 停止后退 StrafeLeftStart 向左移动 StrafeLeftStop 停止左移 StrafeRightStart 向右移动 StrafeRightStop 停止右移 ToggleAutoRun 向正面跑 TurnLeftStart 向左转 TurnLeftStop 停止左转 TurnRightStart 向右转 TurnRightStop 停止右转 jump() 跳


相关文档

更多相关文档

魔兽世界实用宏命令
魔兽世界(宏)的设置
魔兽世界宏命令全表
魔兽世界战士宏命令
魔兽世界宏命令
魔兽世界游戏宏命令
WOW基本宏命令
魔兽世界宏命令基础教学
魔兽世界宏命令完全教程
魔兽世界宏命令完全教程
魔兽世界宏命令普及教程(附送快捷键等新手知识集
魔兽世界宏命令基础教学
最经典 魔兽世界宏命令完全教程 2011年修正版
魔兽世界宏命令教程
电脑版