问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教一个魔兽世界猎人的宏

发布网友 发布时间:2024-03-12 09:35

我来回答

4个回答

热心网友 时间:2024-03-18 05:06

宏 Macro
相信很多人都知道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);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() 跳

热心网友 时间:2024-03-18 05:07

说实话,在10人以上FB绝对不会把奥术射击和多重加进宏里..很简单的道理..加进去后蓝就不够用..LR本身就是少蓝职业..多重容易打开羊
25FB有的BOSS要打近10分钟,象DD一般的工会也要打20分钟..30分钟就狂暴了..如果不是全程蝰蛇守护你蓝根本不够用,要不停的磕药的.所以征正常的抽筋宏根本不会把奥术射击和多重加进去

热心网友 时间:2024-03-18 05:07

打绝对木桩时的高伤害抽筋宏(加入了多重,把羊打开别来找我,慎用)
#showtooltip 稳固射击
/petautocastoff 闪电吐息
/cast !自动射击
/cast [targepettarget, exists] 杀戮命令
/cast [pet:风蛇,targepettarget]闪电吐息
/castrandom 稳固射击,奥术射击,多重射击
/script UIErrorsFrame:Hide()

热心网友 时间:2024-03-18 05:08

你想的那种宏是ZC上用的,如果下FB一*就把羊的、锁的打醒了!团长不T你才怪
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我在电脑上面下的电影在手机上面不显示? 为什么视频在手机里放不出来在电脑里放得出来? 求问bb霜什么牌‍子‍好 BB霜哪个牌子的比较好啊? 我用很多BB霜都过敏脱皮,该用哪个牌子的才能不过敏?拜托了各位 谢谢... 没有去继续教育会计证会不会被吊销? 会计证连续几年未继续教育会被吊销 我想请问,能不能从视频里抓出一段声音,然后保存,变成手机铃声的那种格式... 高中地理知识如何描述地貌特征 中国地理第一讲:自然地理之河流 文件转换问题?如何将word文件转换为swf文件?转换的意义是什么,步骤是... 天龙3d九游端版本下载 天龙3d爱思版本安卓游戏官方下载 天龙八部九游版本下载 天龙八部云游戏职业介绍如何下载 腾讯天龙八部手游职业推荐如何下载 腾讯天龙八部手游职业选择如何下载 水有没有粘性?如果没有,那为什么筷子蘸水后可以粘住米粒?谢谢...2 水是否有粘性?11 水的粘性系数大概是多少3 水有粘性吗?19 我是94年属狗的,女生,他是92年属猴的,我俩相克吗?先看属...4 1994年属狗女的正缘5 94年属狗的女生找什么属相的男生最配?28 94年属狗女和什么属相最配277 女朋友的妈妈说,她不能和我在一起。因为生肖相克。她94属狗,...8 ...权力和义务关系,包括平向法律关系和纵向法律关系,是否正确? 男孩的发育期为什么咪咪会有硬块 水(H2O)是酸还是碱14 水(H2O)是酸性氧化物么?9 ...猎手的大招用地图编辑器改得犀利些,到底该怎么做?(详情见下表... 天津黑牛城客运站到天津站多远 为什么筷子插入装在罐子里的米,拔出来筷子上没有米5 如图所示,小明用筷子的一端捆上棉花蘸水后充当活塞,插入两端开...3 公安监控微信,会被知道吗。 下葬棺木用什么材料好 吃香蕉后半个小时后可以喝椰汁 在一密封的纸箱上挖一个圆洞,拍打一下圆洞的对面的一面,纸箱旁边的一摞... 有甲乙丙三个木柱,甲柱上套着五个中间有孔大小不同的圆盘,大的在下,小... 求表面积 三个不同大小的圆柱摞起来的图形 高都是2厘米,最大的圆柱底... 水(H2O)是完全没有粘性的吗 为什么书沾了水后会黏在一起,水都已经干了不应该就分开了吗,为... 如何才能使失去粘性的贴纸重新恢复粘性(不用胶水,透明贴) 诗名里带德字的诗词有哪些3 带“德”字的诗词有哪些?5 带“德”字的诗句有哪些?6 有关“德”的古诗词有哪些?6 名位大大,诗词中含德字的名句?请告知,不甚感激13 虹桥文星中学的介绍 虹桥文星中学的学校简介