< 魔兽世界百科 >
|
![]() |
一直在断断续续的玩wow,没有太急于练级,却整天穿梭于整个艾泽拉斯世界,风景不错,嘿嘿,旅游世界各地也是wow的一大乐趣哦。尽管如此,我的小术士也24级了,有了好多技能,对操作的要求也越来越高,经常疲于应付,于是突然想起了wow中的宏命令,嗯,该是派上用场的时候了,尤其对于学计算机的来说,这实在是一大优势,不利用不行啊^_^好了,上来就专业点,推荐个wow函数库查询地址:http://www.wowwiki.com/index.php/World_of_Warcraft_API 不用多说,懂编程的人都能看的懂这些东西是干什么的吧,至于怎么组合怎么用就看你的编程造诣了,嘿嘿,另外不得不说的是:系统里只能存储18个宏,每个宏不得超过256个字符,延时指令只能用于非战斗指令,而不能用于战斗指令,宏命令里不能调用宏。听上去是非查过那遗憾的,宏的功能大大削弱,但仔细想想wow这么设计也是有道理的,否则岂不是写个程序就可以完全自动的完成战斗了,呵呵,wow变成编程大赛了,那绝对不是暴雪想要的。
好了,看看我现在写的几个宏吧,基本上是针对术士的,但其它职业改一改也能使用。
M1:进攻
/script if(%t~=nil and UnitCanAttack("target","player")) then SendChatMessage("%t,去见上帝吧!","SAY",this.Language);PetAttack();if (UnitMana("target")>0) then CastSpellByName("痛苦诅咒(等级 3)") else CastSpellByName("虚弱诅咒(等级 2)") end;end;
M2:帮助协助目标
/assist %t;
/s %t,我来帮你了!
/script PetAttack();
/script if (UnitMana("target")>0) then CastSpellByName("痛苦诅咒(等级 3)") else CastSpellByName("虚弱诅咒(等级 2)") end;
M3:智能加血
/script if(not UnitAffectingCombat("player")) then UseContainerItem(3,1);else UseContainerItem(3,2);end;
M4:智能加魔法
/script
if(not UnitAffectingCombat("player")) then
UseContainerItem(3,3);
else
UseContainerItem(3,4);
end;
M5:牺牲
/script CastPetAction(5);
/script CastSpellByName("恐惧术")
/in 2 /s 我要挂了,救我啊!!
/in 3 /script TurnLeftStop();ToggleAutoRun();
M6:翻到第5页
/script CUREENT_ACTIONBAR_PAGE=5;
/script ChangeActionBarPage();
M7:翻到第4页
/script CUREENT_ACTIONBAR_PAGE=4;
/script ChangeActionBarPage();
M8:翻到第1页
/script CUREENT_ACTIONBAR_PAGE=1;
/script ChangeActionBarPage();
M9:召唤小鬼
/script CastSpellByName("召唤小鬼");
/script CUREENT_ACTIONBAR_PAGE=1;
/script ChangeActionBarPage();
M10:召唤虚空
/script CastSpellByName("召唤虚空行者");
/script CUREENT_ACTIONBAR_PAGE=1;
/script ChangeActionBarPage();
M11:召唤魅魔
/script CastSpellByName("召唤魅魔");
/script CUREENT_ACTIONBAR_PAGE=1;
/script ChangeActionBarPage();
-----------------------------------------------------------------------------------------
/script CastSpellByName("Hellfire(Rank 3)")
SendChatMessage("(Hellfire)", "PARTY");
使用地狱火同时通知队友
/script CastSpellByName("Ritual of Summoning")
SendChatMessage(" 点传送门,不要移动。","SAY")
SendChatMessage("(Summoning) %T","PARTY")
SendChatMessage("(Summoning) %T","RAID");
拉人以后说“点传送门,不要移动”,同时通知队友和raid大队
/script CastSpellByName("Enslave Demon(Rank 3)") SendChatMessage("(Enslave Demon) %T", "PARTY");
奴役恶魔的同时通知队友奴役的对象
/script CastSpellByName("Banish(Rank 2)") SendChatMessage("(Banish) %T", "PARTY");
放逐的同时通知队友放逐的对象
Additional macros:
the most important one. period.
/assist [playername]
援护队友攻击
curse caster in party situation:
/script
if (UnitMana("target")>0) then
CastSpellByName("Curse of Tongues(Rank 2)")
else if (GetNumPartyMembers() > 0) then
CastSpellByName("Curse of Shadow(Rank 2)")
else CastSpellByName("Curse of Agony(Rank 6)")
end end;
组队时打击敌人的施法者:当敌人为魔法型单位时使用结舌;否则如果组队时候使用暗影诅咒,SOLO时候使用痛苦
Bolts spell
/script
if (UnitMana("player")>363) then
if (UnitHealth("target")>10) then
CastSpellByName("Shadow Bolt(Rank 9)")
else
CastSpellByName("Shadowburn(Rank 6)") end
else
CastSpellByName("Shoot") end;
当自己魔超过363时判断:目标的血大于10则使用暗影箭,小于10则使用暗影燃烧。没363魔就用棒子射击。——本条语句在暗影燃烧CD时候会出问题。
This one has the bad side effect of failing to cast anything because Shadowburn is cooling down.
Summon
/raid Summoning %t, 2 people need to r-click the portal ONCE.
/cast Ritual of Summoning
也是拉人的
seduce
/script CastPetAction(6)
将女王的魅惑拉到自己的面板上控制。
curse caster in party and solo situations, assumes there are mages in party:
/script
if (UnitMana("target")>0) then
CastSpellByName("Curse of Tongues(Rank 2)")
else if (GetNumPartyMembers() > 0) then
CastSpellByName("Curse of the Elements(Rank 3)") else
CastSpellByName("Curse of Agony(Rank 6)")
end
end;
前面那个组队语句的改进版,暗影诅咒改成了元素诅咒,视有否法师而定
For my alt char when using imp (who is posting)
/cast Shadow Bolt(Rank 2)
/script PetAttack()
For my alt char when using VW:
/cast Curse of Agony(Rank 1)
/script PetAttack()
自动控制宠物攻击。简化操作而已。
地狱犬的吞噬其实很不好用,这个大家都知道,要是可以改成自动释放就好了,这里我用宏来稍微改进一下吞噬这个魔法
/script TargetUnit("player");CastPetAction(4);TargetLastEnemy();
这个宏的功能就是点一下,地狱犬就会对自己放吞噬魔法,而且有个优点就是不必改变目标,也就是说你现在的目标是敌人,但你用这个宏,地狱犬就会自动对你释放吞噬这个魔法,这个在对付法师的变羊效果极佳
第二个是逃命时候用的宏
/script TargetNearestEnemy({reverse});CastSpellByName("诅咒增幅");CastSpellByName("疲劳诅咒");ToggleAutoRun();
这个宏的作用是在你被偷袭的时候,点一下,他会自动帮你切换到偷袭你的目标,并对他释放诅咒增幅和疲劳诅咒,然后逃跑,由于是宏命令,所以这几个动作都是瞬间完成的,比你一个一个按键盘要快多了
第三个宏我一般用在PK当中
/script if(UnitMana("target")>0) then CastSpellByName("语言诅咒(等级 1)");else CastSpellByName("痛苦诅咒(等级 1)");end
这个宏的功能是判断目标是否会使用魔法,如果会用魔法,则用语言诅咒,否则就用痛苦诅咒,当然用几级的痛苦诅咒只要修改后面括号里的等级就可以了,下面是个带狗时候的改良版
/script if(UnitMana("target")>0) then CastSpellByName("语言诅咒(等级 1)");CastPetAction(4);else CastSpellByName("痛苦诅咒(等级 1)");end
这个宏不但会根据目标的类型选择使用的技能,而且目标是会用魔法的单位是,地狱犬会对他使用吞噬,和法师PK时候可以直接吃了他的盾,很不错的
当然你也可以这样写
/script if(UnitMana("target")>0) then CastSpellByName("语言诅咒(等级 1)");else CastSpellByName("痛苦诅咒(等级 1)");end
/script CastPetAction(4);
以下全部为亲身实验过的修改技巧,有问题请发贴
=====术士最常用macro命令=========
使用某宠物的第六个技能
/script CastPetAction(6);
使用 第一个bar的 第5个技能(有bug暂时只能指定第一个bar)
/script UseAction(1,5);
宠物攻击
/script petattack();
注意:把上面的命令复制到macro里面用,不然会出错
========wl为了战斗键位修改技巧============
技巧1:用F键来释放fear吧
按esc 在keybuilding里面 把 1,2 ,3,4,5 这种键位的减号(-)键改为f
再把fear拖到减号的位置(倒数第一格子)如果你开了popbar也可以放到popbar
把那个popbar的键位改为f
这样fear就常年为f启动
同理,我把生命转换也设置为g键
也可以将生命倒流设置为T键
技巧2:将sm的诱惑设置为R键
使用pet技能的话,把secondbaraction(就是ctrl+1 ctrl+2 这种)中的pet对应技能改为 r(r是聊天时的回复信息,你可以改成t,t是近身攻击对wl用处不大,当然你也可以每次聊天/r 来回复别人,为了战斗拼了...)这样遭到偷袭,并且没启动诱惑时能反映快点,也可以将胖胖的牺牲设置为跟sm的位置一致
技巧3:引怪,做个macro吧...
将wand放到=号的位置(第一个bar,最后一个格子)
建个macro
/script UseAction(1,12);
/script petattack();
把上面的代码粘贴进去按确定,把这个放到合适的位置用来引怪
效果是wand同时,然后pet冲过去打...
转NGA 作者:烛光
这个宏就是不管对方是什么单位,都对目标使用吞噬,这个宏其实很使用的,PK时大多数单位都会先对自己加BUFF,用这个可以你在按一个键的情况下,同时做许多事情
今天就写到这里啦,累死我了,以后我发现什么有用的再补充哦
欢迎大家和我做朋友,1区卡扎克,侏儒术士,叫风之天使
哦,对了,再补充一个
/script TargetNearestEnemy({reverse});if(UnitHealth("target")-UnitHealthMax("target")==0) then CastPetAction(6);SendChatMessage("%t,我将在1.5秒后媚惑你,大家不要去攻击它","PARTY");TargetLastEnemy();end
这个宏作用是在有多个敌人的情况下自动选择满血的那个释放媚惑,并且在队伍聊天里面说:"XXX,我将在1.5秒后媚惑你,大家不要去攻击它",这个其实还是挺实用的,并且优点就是不必手动去选择哪个人进行媚惑,他会自己帮你去选则满血的那个,而且不会改变现有目标,不过由于本人水平有限啦,还不太懂for循环和while do循环的具体用法,否则可以把这个宏改得更加好的,有高手在的话请教教我哦
第一个宏:
/script function aa();x=1;while(UnitBuff("target",x) if(string.find(UnitBuff("target",x),"痛苦诅咒" or string.find(UnitBuff("target",x)."腐蚀术" of string.find("target",x),"献祭") of string.find(UnitBuff("target".x),"生命虹吸") then return 0;else x=x+1;end end return 1 end
第二个宏:
/script local state=0;i=0;while(i<=4) do a=UnitHealth("target");TargetNearestEnemy({reverse});b=UnitHealth("target");if(a>=b) then TargetLastEnemy();end;if(!aa()) TargetLastEnemy();end i=i+1;end CastPetAction(6);
这样就可以了,每次进游戏先运行一下第一个宏,然后每次要用媚惑时就用第二个宏,这样魅魔每次就会寻找周围血最多,且没有被放过任何DOT的怪进行媚惑了
引用本页地址(点击复制到粘贴板) 粘贴到你想引用的网页。
HTML形式的传播:
论坛形式的传播:
| 2006年8月3日,由百科玩家 222.82.102.* 发表评论: | |
你不适合当SS |
|
| 2006年7月9日,由百科玩家 222.183.84.* 发表评论: | |
看看 |
|
| 2006年5月19日,由百科玩家 61.133.201.* 发表评论: | |
a |
|