魔兽世界宏命令设置.docx
《魔兽世界宏命令设置.docx》由会员分享,可在线阅读,更多相关《魔兽世界宏命令设置.docx(11页珍藏版)》请在冰豆网上搜索。
魔兽世界宏命令设置
相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以将这些命令按照自己对条件的设置串联起来,比如:
/Kneel是让你跪下来的动作而/say就是最基础的对话动作
我们现在用一个宏把他们串起来:
第一行内容:
“/Kneel”
第二行内容:
“/say如果你不嫁给我,那么我就一辈子不起来…””
这样你的人物就会先下跪再说:
"如果你不嫁给我,那么我就一辈子不起来…"
宏可以应用所有WOW中已经定义了的斜杠"/"和表情命令,更要命的是,宏甚至可以应用人物的魔法和技能,
只需要在宏的定义过程中应用"/cast"命令,下面是已知的一些常用命令:
/Assist这是个援助进攻的命令。
当你的队伍同时面对几个敌人时,只要点击自己的队友(一般是队伍中的战士),然后使用这个命令,你的目标就会变成战士所选中的目标。
大家集中火力消灭一个起!
/Cast这是个使用技能的命令。
当你在宏命令里输入/Cast技能名(技能等级)或者只要按住Shift同时用鼠标点击一下你想要输入的技能的图标。
例如当你是一个战士,想制作一个使用战斗怒吼的宏时,你可以输入/CastBattleShout(Rank1)或者是直接按住Shift点击BattleShout这个技能的图标。
当然你可以在一个宏的不同行上输入几个技能,那么当你使用这个宏时,几个技能就会一起释放出来,再用不着你像章鱼一样同时按下几个键了。
%t这个符号也许会经常出现在你的宏命令里,它是一个代码,代表你当前所选中的人名。
例如,你在宏里写下这么一句。
(注意:
后面要加一空格。
)“/g%t,今天天气真好,有没兴趣和我一起上山采蘑菇…”
如果你点中一位名叫苯笨的玩家,那么当你按下这个宏时,你就会说:
“笨笨,今天天气真好,有没兴趣和我一起上山采蘑菇…”
/Target这是一个自动选择目标的命令,你可以在宏里输入/Target(xxx),那么当你按下这个宏时,你将自动选定这个叫xxx的目标。
/in这是一个延时命令,时间以秒为单位.同时它不支持攻击指令.格式:
/in3dance三秒后跳舞,如/in3dance,就是在3秒后跳舞,
/saystart!
/in3say3slater
/in6say6slater
二:
进阶教程
一些有用的Macro
1。
允许你在窗口和全屏状态之间切换
/scriptSetCVar("gxWindow",1-GetCVar("gxWindow"));
/consolegxRestart
2。
对于法师,必须要有的:
将“X”换为你目前的变形术等级(下同);用它替换掉变形术技能。
当你在队伍之外时使用它会得到“你不在队伍中。
”的信息,但在队伍中的时候其它同伴会了解到你将释放的变形术目标。
/pSheeping>>>%t<<<
/castPolymorph(RankX)
3。
作为一个术士,这是在队伍中使用的宏:
首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击,跟着一个虚弱诅咒。
/assist队伍中的拖怪手或者坦克的名字
/scriptPetAttack();
/castCurseofWeakness(RankX)
4。
从背包和袋子里切换身上的武器
/scriptif(notCursorHasItem())thenPickupContainerItem(,);
PickupInventoryItem();end
bag#-使用哪一个袋子的物品(0、1、2、3、4。
0是背包)
slot#-袋子里的位置(从0至左上)
equip#-16是主要武器,17是副武器
5。
这个宏治疗队伍里你指定的人,如果你不在队伍中它会治疗你自己。
然后会自动将目标切换回你最后一个敌人。
它同时还会使用队聊提醒队友你会治疗哪一个人。
/scriptif(UnitName("target")~=nilandUnitIsFriend("player","target"))then
CastSpellByName("Heal(RankX)")SendChatMessage("IncomingHealto%T","Party")else
TargetUnit("player")CastSpellByName("Heal(RankX)")TargetLastEnemy();end
6。
加速任务显示速度
/scriptQUEST_DEscriptION_GRADIENT_CPS=600000
/scriptRegisterForSave("QUEST_DEscriptION_GRADIENT_CPS")
/scriptDEFAULT_CHAT_FRAME:
AddMessage("questtextwillscrollfasternow");
7。
消除等待接受任务的时间
/scriptAcceptQuest()
8。
这个宏可以在路上自动护送玩家做任务。
/assist[playername]
/cast法术(RankX)
/target[playername]
/follow[playername]
9。
切换主副武器,详情看第四条
/scriptPickupInventoryItem(16);PickupInventoryItem(17);
10。
在没有目标或者目标是敌人的时候给自己加增益魔法或治疗。
CastSpellByName("SpellName(RankX)");
if((SpellIsTargeting())and(notUnitIsFriend("player","target")))
then
SpellTargetUnit("player");
end;
TargetLastEnemy();
11。
切换双手武器与单手+盾或者双手挥舞武器
/scriptPickupInventoryItem(17);if(CursorHasItem())thenPickupContainerItem
(4,2);PickupContainerItem(4,1);PickupInventoryItem(16);elsePickupContainerItem
(4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end
12。
设定“真实鼠标视野”
/scriptCameraOrSelectOrMoveStart(arg1);
想取消就再次输入。
13。
切换近程技能栏和远程技能栏
/scriptCURRENT_ACTIONBAR_PAGE=2;
/scriptChangeActionBarPage();
/castaspectofmonkey(justusetheleftclick)
/scriptCURRENT_ACTIONBAR_PAGE=1;
/scriptChangeActionBarPage();
/castaspectofhawk(justusetheleftclick)
14。
牧师对队友的一键加血,比如一号键给第一队友加血,二号键给第二队友加血,免除了还要鼠标确
定目标的操作。
依次类推,从第一个人到最后一个
给队友1加血:
/scriptTargetUnit(GetPartyMember
(1))
CastSpellByName(Heal(RankX))TargetLastEnemy()
给队友2加血:
/scriptTargetUnit(GetPartyMember
(2))CastSpellByName(Heal(RankX))TargetLastEnemy()
给队友3加血:
/scriptTargetUnit(GetPartyMember(3))CastSpellByName(Heal(RankX))TargetLastEnemy()
15。
一键解决喂养宠物:
这个宏会从最左边的袋子里的第一个位置拿出食物喂养宠物,如果所在的位置
没有食物,它会自动打开袋子。
/scriptif(notPlayerFrame.inCombat)thenif(notGetContainerItemLink(4,1))then
OpenBag(4);elseCastSpellByName("FeedPet");PickupContainerItem(4,1);endend
16。
术士宏
1)如果目标生命大于20,释放抽取生命法术,否则使用灵魂抽取。
/scriptif(UnitHealth("target")>20)thenCastSpellByName("DrainLife(RankX)")else
CastSpellByName("DrainSoul(Rank2)")end;
2)虚弱诅咒版本
/scriptif(UnitMana("target")>0)thenCastSpellByName("CurseofTongues(RankX)")else
CastSpellByName("CurseofWeakness(RankX)")end;
17.先治疗自己,然后自动选中上次的敌人
/targetPugar//选择自己,假设自己的名字是Pugar
/castLesserHeal(Rank1)//施展次级治疗rank1
/scriptTargetLastEnemy();//重新选择刚刚选择的敌人
/scriptAttackTarget();//攻击,等同于右键点击敌人
18.对于一个术士很有用的宏:
首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击
,跟着一个虚弱诅咒。
/assist队伍中的拖怪手或者坦克的名字
/scriptPetAttack();
/castCurseofWeakness(RankX)
19.等治疗完之后提醒别人注意下自己有可能被怪打,不加延时的话,就没这个效果了。
/phealing%T,need3s,don"trunaway
/castheal(rank1)
/in4pcured%T300HP,pleasenoticetheenemiesturnonme^_^
20.在路上自动护送朋友做任务。
/assist[playername]
/cast法术(RankX)
/target[playername]
/follow[playername]
三:
高级教程
WOW的宏函数库可以去这两个地方查:
]http:
//www.cosmosui.org/texts/BlizzardCommands.xml
]
函数的使用比较简单,学习过编程的都比较容易上手,基本的用法是在函数前加/script来使用。
比如
/scriptCURRENT_ACTIONBAR_PAGE=X;
/scriptChangeActionBarPage();
就是将你的快捷栏翻到第X页。
函数库中有许多函数都是非常有用和方便的,比如一次打开所有包包:
/scriptOpenAllBags();
配合关闭包包的函数,一次关闭所有包的宏也可以实现:
/scriptCloseBag(0);
/scriptCloseBag
(1);
/scriptCloseBag
(2);
/scriptCloseBag(3);
/scriptCloseBag(4);
怎么样,下次你卖东西的时候不会一个个开包关包了吧?
使用函数还不是最恐怖的,恐怖的是WOW的宏是可以用条件判断的,看下面这两个:
/scriptif(GetComboPoints()>=3)thenCastSpellByName("Rip(Rank2)");elseif(
UnitMana("player")>=40)thenCastSpellByName("Rake(Rank1)");endend
据说这个包含if,then的宏可以让盗贼实现自动根据combo点数来使用技能(未测试),其中还使用了角
色MANA值的调用,恐怖吧?
还有这个查找spell的宏:
functionGetSpellIdByItsName(myWantedSpell,myWantedRank)
localspellId=1;
localspellBook="spell";
localspellName,rankName;
spellName,rankName=GetSpellName(spellId,spellBook);
while(spellName)do
if((spellName==myWantedSpell)and((notmyWantedRank)or(rankName=myWantedRank
)))thenreturnspellId;end
spellName,rankName=GetSpellName(spellId,spellBook);
end
return-1;
end
里面可以自己定义function,还使用了while,do这样的循环,是不是让你想到了N种应用的可能呢?
遗憾的是,目前官方似乎没有提供延时的宏,所以在战斗中使用多种有延时的技能是无法实现的(无延时的技能可以实现同时使用),类似换其他武器-使用技能或法术-换回武器这样的功能也无法实现,
(所谓用宏实现剑盾战士换双手武器MS再换回来是行不通的),不过使用COSMOS的朋友可以用/in来实现非战斗指令的延时,比如
/in3sayhi就会在3秒后说句hi。
/in6/scriptMoveForwardStart(arg1);
就会在6秒后向前跑。
虽然法术和技能无法用/in指令来延时,但这样已经很强大了,比如,你可以编出各种运动的宏,如兜后,转身等。
PVP时估计是必不可少的。
下面是一个玩家写的双手武器战士自动逃跑的宏:
/scriptUseContainerItem(0,2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown
(12);ActionButtonUp(12);
/castThunderClap(Rank1);
/scriptTurnLeftStart(arg1);
/in1/scriptTurnLeftStop(arg1);ToggleAutoRun();
使用这个宏的条件:
在大包包第二格放了回复药,快捷栏第11,12分别是一单手一盾的快捷方式。
使用这个宏后,角色自动喝回复药,装备上盾,使用ThunderClap(这三个动作同时进行),向后转180度后开自动跑步键逃走。
其中技能等可以根据需要自己改。
怎么样,是不是很夸张啊,哈哈。
还有一些有用的宏:
切换装备,
双手切换单手并换第二个快捷栏,快捷栏第11,12分别是一单手一盾的快捷方式
/scriptActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
/scriptCURRENT_ACTIONBAR_PAGE=2;
/scriptChangeActionBarPage();
单手切换双手并换回第一快捷栏,快捷栏12是一双手武器快捷方式
/scriptActionButtonDown(12);ActionButtonUp(12);
/scriptCURRENT_ACTIONBAR_PAGE=1;
/scriptChangeActionBarPage();
下面是另一篇
作者:
重返荣誉
来源:
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()跳