魔兽世界 宏的问题

魔兽世界 宏的问题,第1张

命令完全手册 (wowuiduowancom)

一:基础教程

1什么是宏命令?

玩过EQ的都知道一点宏的知识,比如组队时用来告诉队友你的行动,告诉目标等。最简单的比如puller 常用

的: /v %t过来了,大家集中火力。 法师常用的: /v 我要催眠%t,大家不要打醒他 这些宏个性鲜明,是EQ的一

大乐趣之一。

然而EQ毕竟是N年前的游戏,宏也比较简单,和它比起来。WOW的宏就复杂和强大的多了。它的函数就有上千种

,如果都掌握,能实现许多匪夷所思的功能。

一个宏可以完成一个相对比较复杂的命令比如战斗中发布命令,如果打字当然不算麻烦,但在战斗中却很要命

浪费了时间和生命一个简单的宏便可以用一个键来完成这一切

2宏命令的设置流程:

首先,回车,再敲/MACRO。看见了吧?会d出一个窗口,上面有New(新建宏命令)和Complete(完成宏命令

)两个按键。点New,又会d出一个窗口,哇,花花绿绿的,里面包括了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 <<<

/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 aspectofmon key (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 PlayerFrameinCombat) 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://wwwcosmosuiorg/texts/BlizzardCommandsxml

http://wwwwowwikicom/indexphp/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();

几个简单的宏

1 对自己使用绷带

/script TargetUnit("Player");

/use Mageweave Bandage

/script TargetLastEnemy();

这里用的时 Mageweave Bandage ,你可以改成适合你自己的绷带名

use 是 Cosmos 支持的命令,你必须安装 Cosmos 才能使用这个宏,如果你没有 Cosmos,使用下面的宏(绷带必

须放在主背包第一格)

/script TargetUnit("Player");

/script UseContainerItem(0,1);

/script TargetLastEnemy();

2 对敌人的 Pet 使用技能

/script TargetUnitsPet("target");

/cast Blind

/script TargetLastEnemy();

Blind 是技能名,你可以用自己的技能,这里用了盗贼的 Blind (我是盗贼啦,呵呵)

/script 是使用 脚本 的命令,可供使用的命令参考附件

可以用 Shift + 点击 技能书里图标的方式在宏中添加释放技能的命令

可以用 Shift + 点击 物品的方式在宏中添加物品名

3 打开所有背包

/script OpenBag(0);

/script OpenBag(1);

/script OpenBag(2);

/script OpenBag(3);

/script OpenBag(4);

打开所有背包,可能

/script OpenAllBags()

一样搞定:P

热键Shift + B 也是可以的

4战士用,双手武器切换单手武器+盾:

首先在快捷栏10、11、12(也就是0、 -、 =的位置)拖上双手武器、单手武器、盾的快捷方式;

双手武器:

/script ActionButtonDown(10);ActionButtonUp(10);

单手武器+盾:

/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);

以下命令全部中空格用下划线_来表示

%后面的都是变量

=各种命令分类收集=

参数设置

%t

切换当前目标命令

/target_%name

/assist_%name

/script_TargetLastEnemy();

游戏动作

/cast_%skillname(rank_%d)

/f

/script_UseAction(n%d, %d);

设置延迟命令

/pause_%d

聊天常用命令

/s_

/p_

/g_

/raid_

=应用部分说明=

聊天部分命令我就省略了重点说明游戏中实际关系到游戏 *** 作的命令

首先%t是指当前目标名称,%t大多是用在聊天中比如:

你好,%t

我开始攻击%t,大家请注意

Pull

/script TargetNearestEnemy();

/p Pulling %t

/script AttackTarget();

/v inc

Assist

/assist %t

/script AttackTarget();

UsePoison

/script UseContainerItem(bag,slot); PickupInventoryItem(16);

UseContainerItem(bag,slot);

PickupInventoryItem(17);

/in 1740 /script DEFAULT_CHAT_FRAME:AddMessage("Poison wearing off in one minute")

相信很多人都知道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 PlayerFrameinCombat) 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://wwwcosmosuiorg/texts/BlizzardCommandsxml

] http://wwwwowwikicom/indexphp/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(''奥术飞d(等级2)'')

SendChatMessage(''对 %T 使用奥术飞d'', ''EMOTE'')

这是一个没有延时功能的宏,带延时功能的宏将在稍后说明,

第一句/script 申明函数开始,这句是必须的,整个宏的中文意思是

如果你选定的目标的生命值大于80,就执行4级火球术,并告知周围的人你对目标使用了这个动作,

%t就是代表目标,否则就执行2级飞d,告知周围的人你对目标使用了这个动作。

值得注意的是比如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() 跳

一:基础教程

1什么是宏命令?

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

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

一个宏可以完成一个相对比较复杂的命令比如战斗中发布命令,如果打字当然不算麻烦,但在战斗中却很要命浪费了时间和生命一个简单的宏便可以用一个键来完成这一切

2宏命令的设置流程:

首先,回车,再敲/MACRO。看见了吧?会d出一个窗口,上面有New(新建宏命令)和Complete(完成宏命令)两个按键。点New,又会d出一个窗口,哇,花花绿绿的,里面包括了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 <<<

/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 aspectofmon key (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 PlayerFrameinCombat) 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://wwwcosmosuiorg/texts/BlizzardCommandsxml

http://wwwwowwikicom/indexphp/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();

几个简单的宏

1 对自己使用绷带

/script TargetUnit("Player");

/use Mageweave Bandage

/script TargetLastEnemy();

这里用的时 Mageweave Bandage ,你可以改成适合你自己的绷带名

use 是 Cosmos 支持的命令,你必须安装 Cosmos 才能使用这个宏,如果你没有 Cosmos,使用下面的宏(绷带必须放在主背包第一格)

/script TargetUnit("Player");

/script UseContainerItem(0,1);

/script TargetLastEnemy();

2 对敌人的 Pet 使用技能

/script TargetUnitsPet("target");

/cast Blind

/script TargetLastEnemy();

Blind 是技能名,你可以用自己的技能,这里用了盗贼的 Blind (我是盗贼啦,呵呵)

/script 是使用 脚本 的命令,可供使用的命令参考附件

可以用 Shift + 点击 技能书里图标的方式在宏中添加释放技能的命令

可以用 Shift + 点击 物品的方式在宏中添加物品名

3 打开所有背包

/script OpenBag(0);

/script OpenBag(1);

/script OpenBag(2);

/script OpenBag(3);

/script OpenBag(4);

打开所有背包,可能

/script OpenAllBags()

一样搞定:P

热键Shift + B 也是可以的

4战士用,双手武器切换单手武器+盾:

首先在快捷栏10、11、12(也就是0、 -、 =的位置)拖上双手武器、单手武器、盾的快捷方式;

双手武器:

/script ActionButtonDown(10);ActionButtonUp(10);

单手武器+盾:

/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);

以下命令全部中空格用下划线_来表示

%后面的都是变量

=各种命令分类收集=

参数设置

%t

切换当前目标命令

/target_%name

/assist_%name

/script_TargetLastEnemy();

游戏动作

/cast_%skillname(rank_%d)

/f

/script_UseAction(n%d, %d);

设置延迟命令

/pause_%d

聊天常用命令

/s_

/p_

/g_

/raid_

=应用部分说明=

聊天部分命令我就省略了重点说明游戏中实际关系到游戏 *** 作的命令

首先%t是指当前目标名称,%t大多是用在聊天中比如:

你好,%t

我开始攻击%t,大家请注意

Pull

/script TargetNearestEnemy();

/p Pulling %t

/script AttackTarget();

/v inc

Assist

/assist %t

/script AttackTarget();

UsePoison

/script UseContainerItem(bag,slot); PickupInventoryItem(16);

UseContainerItem(bag,slot);

PickupInventoryItem(17);

/in 1740 /script DEFAULT_CHAT_FRAME:AddMessage("Poison wearing off in one minute

lua错误一般在插件更新的时候发生, 可能说明你的插件版本和魔兽新版本不兼容了,可以去尝试下载新版本插件。 常用的一键驱散插件名字好像是Decursive。 习惯用大脚魔盒之类的整合插件的话,可以尝试进行一下手动更新。

一:基础教程

1什么是宏命令?

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

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

一个宏可以完成一个相对比较复杂的命令比如战斗中发布命令,如果打字当然不算麻烦,但在战斗中却很要命浪费了时间和生命一个简单的宏便可以用一个键来完成这一切

2宏命令的设置流程:

首先,回车,再敲/MACRO。看见了吧?会d出一个窗口,上面有New(新建宏命令)和Complete(完成宏命令)两个按键。点New,又会d出一个窗口,哇,花花绿绿的,里面包括了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'));

作者: 我想做斑竹 2006-1-9 17:52 回复此发言

--------------------------------------------------------------------------------

2 宏命令完全入门手册[申精]

/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 aspectofmon key (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()

作者: 我想做斑竹 2006-1-9 17:52 回复此发言

--------------------------------------------------------------------------------

3 宏命令完全入门手册[申精]

给队友2加血:

/script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()

给队友3加血:

/script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()

15。一键解决喂养宠物:这个宏会从最左边的袋子里的第一个位置拿出食物喂养宠物,如果所在的位置

没有食物,它会自动打开袋子。

/script if (not PlayerFrameinCombat) 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://wwwcosmosuiorg/texts/BlizzardCommandsxml

http://wwwwowwikicom/indexphp/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;

作者: 我想做斑竹 2006-1-9 17:52 回复此发言

--------------------------------------------------------------------------------

4 宏命令完全入门手册[申精]

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

几个简单

作者: 我想做斑竹 2006-1-9 17:52 回复此发言

--------------------------------------------------------------------------------

5 回复:宏命令完全入门手册[申精]

为完 陆续跟心

作者: 我想做斑竹 2006-1-9 17:54 回复此发言

--------------------------------------------------------------------------------

6 回复:宏命令完全入门手册[申精]

1 对自己使用绷带

/use Mageweave Bandage

/script TargetLastEnemy();

这里用的时 Mageweave Bandage ,你可以改成适合你自己的绷带名

use 是 Cosmos 支持的命令,你必须安装 Cosmos 才能使用这个宏,如果你没有 Cosmos,使用下面的宏(绷带必须放在主背包第一格)

/script TargetUnit('Player');

/script UseContainerItem(0,1);

/script TargetLastEnemy();

2 对敌人的 Pet 使用技能

/script TargetUnitsPet('target');

/cast Blind

/script TargetLastEnemy();

Blind 是技能名,你可以用自己的技能,这里用了盗贼的 Blind (我是盗贼啦,呵呵)

/script 是使用 脚本 的命令,可供使用的命令参考附件

可以用 Shift + 点击 技能书里图标的方式在宏中添加释放技能的命令

可以用 Shift + 点击 物品的方式在宏中添加物品名

3 打开所有背包

/script OpenBag(0);

/script OpenBag(1);

/script OpenBag(2);

/script OpenBag(3);

/script OpenBag(4);

打开所有背包,可能

/script OpenAllBags()

一样搞定:P

热键Shift + B 也是可以的

4战士用,双手武器切换单手武器+盾:

首先在快捷栏10、11、12(也就是0、 -、 =的位置)拖上双手武器、单手武器、盾的快捷方式;

双手武器:

/script ActionButtonDown(10);ActionButtonUp(10);

单手武器+盾:

/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);

以下命令全部中空格用下划线_来表示

%后面的都是变量

=各种命令分类收集=

参数设置

%t

切换当前目标命令

/target_%name

/assist_%name

/script_TargetLastEnemy();

游戏动作

/cast_%skillname(rank_%d)

/f

/script_UseAction(n%d, %d);

设置延迟命令

/pause_%d

聊天常用命令

/s_

/p_

/g_

/raid_

=应用部分说明=

聊天部分命令我就省略了重点说明游戏中实际关系到游戏 *** 作的命令

首先%t是指当前目标名称,%t大多是用在聊天中比如:

你好,%t

我开始攻击%t,大家请注意

Pull

/script TargetNearestEnemy();

/p Pulling %t

/script AttackTarget();

/v inc

Assist

/assist %t

/script AttackTarget();

UsePoison

/script UseContainerItem(bag,slot); PickupInventoryItem(16);

UseContainerItem(bag,slot);

PickupInventoryItem(17);

/in 1740 /script DEFAULT_CHAT_FRAME:AddMessage('Poison wearing off in one minute')

_________________________

1 常用指令

2 队长指令

3 聊天指令

4 聊天频道指令

5 公会指令

6 表情指令

1 常用指令

/help

列出常用指令帮助

/assist [名字]

协助你当前所选择的目标,或者指定的目标

/cast spell

施放指定的法术,可以包含法术的等级。比如: '/cast Slow Fall', '/cast Polymorph(Rank 2)'

/afk [文字]

开启AFK模式显示你要离开一会儿,再输一次/afk关闭AFK模式。

/combatlog

导出你的战斗信息到(wow目录)LogsPlayerCombatLogtxt 文件里。

/dnd [文字]

开启DND模式表示“请勿打扰”,再输一次/dnd关闭DND模式。

/duel [名字]

要求与你锁定的目标决斗,或者要求与指定的目标决斗。

/yield

(/forfeit) 在决斗时投降。

/emote 文字

(/em, /me) 表示接下来的文字是动作。

/exit

退出游戏。

/follow

(/f) 自动跟随当前目标。

/ignore 名字

忽略目标玩家。

/inspect

(/ins) 查看目标玩家的装备。

/logout

(/camp) 坐下并且登出。

/macro

打开宏设置界面。

/macrohelp

给出关于设置宏的帮助。

/played

显示你游戏人物的在线时间。

/pvp

在接下来的5分钟内开启PVP模式。

作者: 我想做斑竹 2006-1-9 17:59 回复此发言

--------------------------------------------------------------------------------

7 回复:宏命令完全入门手册[申精]

/raid 文字

(/r) 在RAID频道里说话。

/random 数字 [数字2]

(/rnd, /rand) 扔出一个从1到某个数字范围内的随机数字,或者是两个数字范围之间的随机数字。

/remfriend 名字

(/removefriend) 把一个好友从你的好友列表里去掉。

/split 数量

把一部分的钱平均分给你的队友。

/target 名字

(/tar) 从当前目标转向你所指定的玩家。

/time

显示当前游戏的服务器时间。

/trade

(/tr) 与当前选择的目标交易

/who [文字[ 文字2]] [数字[-数字2]] [r-'种族'] [c-'职业'] [z-'区域'] [g-'公会']

如果没有添加任何后缀的话,列出在当前区域与你等级相近的所有在线玩家。文字指定玩家的名字,公会,职业,种族或者所在的区域;数字表示指定列出玩家的等级范围。

/bug

提交出错报告。

/suggest

提交建议。

/note 文字

提交一条信息。

/script LUA-command

用于UI设计者。

/console command

用于一些游戏的内部指令,比如'gxrestart', 'reloadui' and 'quit'

/console 设置名 [新设置]

用于调整游戏设置。

2.队长指令

/invite [名字]

(/inv) 邀请目标玩家到你的队伍里。

/uninvite [名字]

(/un) 从你的队伍里移除目标玩家。

/ffa

把掠夺方式设置成“自由掠夺”。

/master [名字]

指定目标玩家在“计划分配”的掠夺方式中担当分配者。

/roundrobin

把掠夺方式设置成”轮流掠夺“。

3 聊天指令

/guild 文字

(/g) 在公会频道内说话。

/party 文字

(/p) 在队伍频道内说话。

/reply 文字

(/r, R) 回复最后一个玩家给你的密语。

/say 文字

(/s) 跟周围的玩家说话。

/yell 文字

(/shout) 喊叫(比/say传的距离要远)

/whisper 名字 信息

(/w, /tell) 给目标玩家密语。

播放一段声音!每种语音都有两到三种变化。而且你的角色不同,语音也不一样。

/v help

/v inc

/v charge

/v flee

/v attack

/v oom

/v fol

/v wait

/v heal

/v cheer

/v fire

/v rasp

4 聊天频道指令

/chat

(/chathelp) 列出聊天指令。

/join 频道 [密码]

(/chan, /channel) 加入(或者创建)一个特殊聊天频道。

/leave 频道|#

(/chatleave, /chatexit) 离开这个特殊聊天频道,或者离开指定号码的聊天频道。

/# 文字

(/c, /csay) 在聊天频道内说话,#表示所要说话的频道号码。

/announcements 频道|#

(/ann) 开启/关闭指定聊天频道的公告。

/ban 频道|# 名字

禁止目标玩家进入指定的频道。

/unban 频道|# 名字

解除目标玩家的禁令。

/chatlist

(/chatwho, /chatinfo) 列出所有的聊天频道和他们的号码。

/chatinvite 频道|# 名字

(/cinvite) 邀请目标玩家到一个指令的聊天频道里。

/ckick 频道|# 名字

把目标玩家从指定频道中踢出去。

/moderator 频道|# 名字

(/mod) 把目标玩家设成指定聊天频道的管理员。

/unmoderator 频道|# 名字

(/unmod) 解除目标玩家在指定聊天频道里的管理员身份。

/moderate 频道|#

开启指定聊天频道的管理模式。

/mute 频道|# 名字

(/squelch, /unvoice) 把目标玩家在指定的聊天频道里禁言。

/unmute 频道|# 名字

(/unsquelch, /voice) 解除目标玩家在指定的聊天频道里的禁言。

/password 频道|# [密码]

(/pass) 设置,改变或者去除聊天频道的密码。

/owner 频道|# [名字]

显示或者改变所建立的聊天频道名字。

5 公会指令

/ginfo

给出关于你的公会的基本信息。

/g 文字

(/guild) 在公会频道里说话

/o 文字

对所有公会里的管理员说话。

/ginvite 名字

(/guildinvite) 邀请目标玩家加入到你的公会里。

/gremove 名字

(/guildremove) 从你的公会里移除目标玩家。

/gpromote 名字

(/guildpromote) 提升在你公会里的目标玩家公会等级。

作者: 我想做斑竹 2006-1-9 17:59 回复此发言

--------------------------------------------------------------------------------

8 回复:宏命令完全入门手册[申精]

/gdemote 名字

(/guilddemote) 降低在你公会里的目标玩家公会等级。

/gmotd 信息

(/guildmotd) 设置今天的公会公告。

/gquit

(/guildquit) 离开你的公会。

/groster

(/guildroster) 给出整个公会成员的列表(只限管理员和会长使用)。

/gleader name

(/guildleader) 把目标玩家设为会长(只限会长使用)。

/gdisband

(/guilddisband) 解散公会(只限会长使用)。

1、通过一种自己习惯的方式登录到游戏的主界面,选择自己的游戏角色,登录到游戏当中,一定要看好要做宏的角色啊。

2、在键盘上点击一下ESC按键,d出命令。在菜单中选择宏命令设置。

3、上面默认的是通用宏,点记一下旁边你的角色名专用宏,然后点击下面的新建按钮。

4、选择一个自己看得顺眼的图标,然后输入一个名字。再点击确定之后,就保存成功了,这时,我们就需要编写内容了。

5、将你想要写的内容编辑到上面。如果编写有问题是不能使用的哦。

6、编写好之后,再点击保存,就完成宏设置了。如图所示。

7、将你的图标拖拽到你的技能栏上,你就可以使用你的宏来 *** 作了。

  1、由于CastSpellByName()和TargetUnit()在20被禁用,所以20之前的大部分宏将无法使用。现在,宏写法也有了很大的变化。没有宏可以检查Buff,Debuff,冷却,血量,魔法,怒气,能量。但是,大家也不用太惋惜,现在的宏可以实现许多新的功能,并且非常强大。

  2、---在使用一些宏之前请先检查你的按键设置。系统默认Ctrl+1到10是使用宠物技能栏,而Shift+1到6是选定动作条。有些宏在使用时由于自己的设置有可能和这些默认的按键冲突,解决办法为改宏或者改掉系统默认的按键设置。

  --- 后面带“[option]”的命令都是可以加条件判定的命令!貌似只有个别的几个不可加条件判定。。。=。=!

  3、wowwiki首页:http://wwwwowwikicom/Main_Page

  wiki的20宏首页:http://wwwwowwikicom/HOWTO:_Make_a_Macro

  4、把这篇帖子一字不漏的看完,那么99%的宏你都可以自己写了。

  5、感谢gzkuru的补充~

  写宏很简单,只要肯研究。

  QUOTE:

  如何写一个宏---术士实例讲解

  壹:初步制作

  恩。。。因为我是个恶魔术士,所以我现在想写个瞬招胖子牺牲宏。

  第一步,用“/cast”来施放“牺牲”:

  /cast 牺牲

  这样就写好了,“/cast”也就是“/施放”,作用是可以让你在宏内施放一个技能。而“牺牲”,是术士宠物的一个技能。

  第二步,光有牺牲没有瞬招怎么行~牺牲完胖子我还想瞬招一个出来呢。

  /cast 恶魔支配

  “恶魔支配”,术士无公共CD法术。

  第三步,光有瞬招却不招宠物是不行的,所以。。。

  /cast 召唤虚空行者

  “召唤虚空行者”,不用解释了吧。。。。。。。。

  第四步,现在“牺牲”、“恶魔支配”、“召唤虚空行者”都写好了,下面把他们组合起来。

  /cast 牺牲

  /cast 恶魔支配

  /cast 召唤虚空行者

  组合起来之后就是这样了,这个宏可以先牺牲胖子,然后使用恶魔支配,然后召唤虚空。一共按键3次。

  注意:并不是所有宏都可以这样写的!原因是牺牲和恶魔支配,一个是宠物技能,一个是无公共CD技能,都不占用公共CD,所以这个“傻瓜”格式的宏才会有效。同样,所有无公共CD的技能、物品和宠物技能,都可以只加一个占用公共CD的技能写在一个无任何条件的宏中。比如先使用护符,再放技能的宏!

  贰:添加条件

  虽然有了瞬招牺牲宏,但是我不想让这个宏单独占我一个宝贵的快捷键。。。所以,我要给这个宏添加几个条件让它在适当的时候能做出适当的动作。具体如下。

  第一步:要是这个宏能在我需要瞬招牺牲的时候才会起作用该多好~~~所以我想到了只有在没有宠物的情况下在使用恶魔支配所以,上面的宏就变成了下面这样。

  /cast 牺牲

  /cast [nopet]恶魔支配

  /cast 召唤虚空行者

  这个宏里面多了一个“[nopet]”。“nopet”是条件,也就是“没有宠物”的意思。而“[]”的作用就是告诉WOW都有什么是条件,所有写在“[]”里面的东西都是条件。

  第二步:我觉得光是在没有宠物的情况下使用“恶魔支配”还是不能满足我的需要,因为使用完牺牲之后宠物并没有消失,而是死亡状态,所以,我又给宏加了一个条件。如下~

  /cast 牺牲

  /cast [nopet][target=pet,dead]恶魔支配

  /cast 召唤虚空行者

  这次,宏里面添加了“target=pet,dead”这个条件,但是实际上这是两个条件。首先,“taregt=pet”是一个条件,作用是把你的隐藏目标(隐藏目标其实是我自己起的名字,这个条件的意思就是并不会改变你当前的目标,并且选择一个目标做为将要进行的动作的目标)指向你的宠物。而“dead”的作用就是判断目标是否死亡。而“,”半角逗号,也就是不用任何输入法打出来的逗号,作用为“并且”存在着,所以“target=pet,dead”的实际意思是“把隐藏目标指向你的宠物,并且判断其是否死亡”,白话一点就是“判断你的宠物是否死亡”。

  还要说一点~“[nopet][target=pet,dead]”,前面的“[nopet]”和“[target=pet,dead]”的关系为“或者”,当两个“[]”连在一起写的时候都为“或者”。就是说当“[nopet]”不成立的时候会检查“[target=pet,dead]”是否成立,如果“[target=pet,dead]”也不成立那么这个法术是不会被施放的。相反,只要这两组条件中有一个是成立的,那么这个技能就会被施放,这就是“并且”的作用。

  基本内容就这么多,个人感觉真的是很少很少,并且非常简单。献给喜欢宏并且想学习写宏的人。

  一些基本知识

  ==========================================================

  ==========================================================

  QUOTE:

  身上各个部位编号:

  1:头

  2:颈

  3:肩

  4:衬衣

  5:胸

  6:腰带

  7:腿

  8:脚

  9:手腕

  10:手套

  11:手指1

  12:手指2

  13:饰品1

  14:饰品2

  15:背

  16:主手

  17:副手

  18:远程武器

  动作条名称及编号:

  主动作条1:ActionButton

  主动作条2:不知道。。。。。。。

  主动作条3(右1):MultiBarRightButton

  主动作条4(右2):MultiBarLeftButton

  主动作条5(右下):MultiBarBottomRightButton

  主动作条6(左下):MultiBarBottomLeftButton

  每个动作条的按钮从左至右都是1~12。

  背包及包裹格子编号:

  背包从右到左的编号分别是:4、3、2、1、0~

  包裹格子的编号是从左至右排列,一个包的第一行分别是:1、2、3、4~

  然后是包裹第2行:5、6、7、8~下面几行依次类推。

  姿态编号:

  | 战士 | 德鲁伊 | 牧师 | 盗贼 | 萨满祭祀

  ------------------------------------------

  姿态 1 | 战斗 | 熊 | 暗影形态 | 潜行 | 幽魂之狼

  姿态 2 | 防御 | 海豹 | | |

  姿态 3 | 狂暴 | 猫 | | |

  姿态 4 | | 旅行 | | |

  姿态 5 | | 枭兽/树 | | |

  姿态 6 | | 飞行 | | |

  从20开始宏内可用的条件:

  QUOTE:

  help---判断目标是否为友善;

  比如“/cast [help]治疗术”,如果目标为友善那么施放治疗术。

  harm---判断目标是否为敌对;

  比如“/cast [harm]惩击”,如果目标为敌对那么施放惩击。

  party---判断目标是否在本小队中;

  比如“/cast [party]治疗术”,如果目标在本小队中那么施放治疗术。

  raid---判断目标是否在团队中;

  比如“/cast [raid]治疗术”,如果目标在本团队中那么施放治疗术。

  group---判断自己是否在一个队伍中(小队或团队);

  比如“/cast [group]治疗导言”,如果自己在一个队伍中那么施放治疗导言。

  group:party/raid判断自己是否在一个指定的集体中:小队/团队;

  比如“/cast [group:raid]治疗导言;[group:party]快速治疗”,如果在团队中就施放导言,在小队中就施放快速。

  combat---判断你是否在战斗中;

  比如“/cast [combat]消失;[nocombat]潜行”,如果在战斗就消失,不在战斗就潜行。

  stance或stance:#---判断你是否在姿态中或是否在指定姿态中。#为数字,也就是姿态编号。

  比如“/cast [stance]精神鞭挞”,如果在暗影形态就施放鞭挞。“/cast [stance:3]潜行”,如果在猫形态就潜行。

  stealth---判断你是否在潜行;

  比如“/cast [stealth]背刺;邪恶攻击”,如果在潜行就用背刺,否则邪恶攻击。

  modifier或modifier:x---x可为shift、ctrl、alt 或者是它们的组合,判断某个或某几个按键是否被按下。

  equipped:<item>---判断某件物品是否在装备中。<item>可以是装备栏编号、装备分类(武器、副手。。。)、装备子类(双手剑、法仗等等。。。)

  target=<unit>---可以把技能目标指定为任何有效的目标,并且可以另你不丢失当前目标!<unit>还可以为“none”,用来指定没有目标的时候。“player”,用来指定只对自己施放。比如“/use [target=player] 厚符文布绷带”,无论任何时候都只对自己使用绷带。关于“self”,这个条件在使用时经多人测试都会报错,原因不明,所以暂时大家先不要用。

  actionbar:<number>---判断当前动作条是否被列出。<number>可为1、2、3、4、5、6

  pet:<pet type 或 pet name>---pet type为宠物类型;pet name为宠物名字。如果不填写宠物类型或名字则判断宠物是否存在。

  mounted---判断是否在坐骑上。

  swimming---判断是否在游泳。

  flying---判断是否在飞行中。

  outdoors---判断你是否在室外。

  indoors---判断你是否在室内。

  button:<#>---判断某个特定按钮是否被用来触发技能。<#>可为1(鼠标左键)、2(鼠标右键)、3(鼠标按键3,也就是鼠标滚轮向下按,不是向上滚也不是向下滚)、4(鼠标按键4,多键鼠标专用)、5(鼠标按键5,多键鼠标专用)。默认为1。

  channeling或channeling:法术名称---判断你是否在引导法术或是否在引导指定的法术。

  比如“/cast [nochanneling:奥术飞d]奥术飞d”,在这个例子里我把“channeling:奥术飞d”前面加了“no”,所以这个宏的意思就变成了如果没有在引导奥术飞d,那么施放奥术飞d,避免浪费~~~

  exists---判断特定目标是否存在。

  dead---判断目标是否死亡。请注意,这个是判断目标是否死亡。如果你想判断你自己的宠物是否死亡就要写成这样“[target=pet,dead]”。

  比如“/cast [target=pet,dead]复活宠物(猎人的复活宠物技能。。。)”。这个宏的意思就是如果你的宠物死亡了那么施放复活宠物。

  equipped:装备名称/类型/子类型---判断某件装备是否在装备中。

  比如“/cast [equipped:魔杖] 射击”,这个宏的意思是如果装备魔杖就使用射击。

  ==========================================================

  ==========================================================

  一些命令的讲解及应用

  施放法术相关

  -----------------------------------------------------------------------------------------------------------

  -----------------------------------------------------------------------------------------------------------

  QUOTE:

  /cast [option]

  简单的说就是/施放,并且使用这个命令的宏只有一个法术会被施放。现在的这个命令可以加入条件来判定法术是否被施放。比如“/cast [help,combat] 快速治疗”,这个宏的意思是当目标为友善,并且在战斗中,那么施放快速治疗。

  

  还有好多,字数超限了,自己看网站吧

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12186035.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存