第一行内(✡)容:“/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);ActionButtonUp(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() 跳