猎人宏
拉怪/风筝宏
用1级奥射命中目标然后停止自动射击。完美的拉怪和风筝。
/script CastSpellByName(“奥术射击(等级 1)”); SpellStopCasting();
自动射击 & 雄鹰守护
开始自动射击,并且如果未激活雄鹰守护的话就激活
/cast 自动射击
/script if (not string.find(UnitBuff(“player”, 1), “Raven”)) then CastSpellByName(“雄鹰守护()”);end
标记, 宠物攻击 & 射击
/script CastSpellByName(“猎人印记”);PetAttack();CastSpellByName(“自动射击”);
震荡
如果目标没有被摔绊,就施放震荡射击
/script if (not isClipped(“target”)) then CastSpellByName(“震荡射击”); end
蝰蛇 & 毒蛇
如果目标有魔法,就施放蝰蛇,如果没有,就施放毒蛇
/script if UnitPowerType(“target”)==0 then CastSpellByName(“蝰蛇钉刺”) else CastSpellByName(“毒蛇钉刺”); end
驱散射击,并且让宠物设置为被动
/cast 驱散射击
/script PetWait()
/script PetPassiveMode()
大宠物宏
如果你的目标是友好的,它将协助你的目标. 如果你的目标是敌对的,它会攻击那个目标. 再次使用宏将召回你的宠物
/script if UnitExists(“target”) then if UnitIsFriend(“player”,”target”) then AssistUnit(“target”);PetAttack();else if UnitExists(“pettarget”) and UnitIsUnit(“target”, “pettarget”) then PetFollow();else PetAttack();end;end;else PetFollow();end;
复活 / 治疗宠物
如果你的宠物还活着,你就治疗宠物。如果你的宠物死了,就复活。
/script if not UnitExists(“pet”) then CastSpellByName(“复活宠物”); else if UnitIsDead(“pet”) then CastSpellByName(“复活宠物”);else CastSpellByName(“治疗宠物”);end;end
召唤 / 解散宠物
如果你的宠物已经解散就召唤他,如果你的宠物活着,就解散他
/script if PetCanBeAbandoned() then CastSpellByName(“解散宠物”) else CastSpellByName(“召唤宠物”);end
一键喂食
首先检查你是否处于战斗状态. 如果不在, 就喂养宠物. 食物在袋子X中找到Y槽中的物品并喂你宠物. “X” 用数字替代,代表是哪个袋子 (从右到左从0开始). “Y” 用数字替代背包里的槽数 (从1开始从左到右,从上到下).
/script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(X,Y)) then OpenBag(X); else CastSpellByName(“喂养宠物”); PickupContainerItem(X,Y); end end
人型生物/隐藏生物/亡灵生物/巨人生物
/run c=CastSpellByName t=GetTrackingTexture() if t and strfind(t,"Prayer") then c("追踪隐藏生物") elseif t and strfind(t,"潜行") then c("追踪亡灵") elseif t and strfind(t,"黑暗") then c("追踪巨人") else c("追踪人型生物") end
野兽/龙类/恶魔/元素
/run c=CastSpellByName t=GetTrackingTexture() if t and strfind(t,"_Tracking") then c("追踪龙类") elseif t and strfind(t,"龙") then c("追踪恶魔") elseif t and strfind(t,"恶魔") then c("追踪元素生物") else c("追踪野兽") end
使用脚本获取当前跟踪技能的纹理
/run icon= GetTrackingTexture() DEFAULT_CHAT_FRAME:AddMessage(icon)
一体化集成宠物 (喂养、解散、召唤或复活宠物,根据适当任何情况下) 仅限英文端
/run local c=CastSpellByName if UnitExists("pet") then if UnitHealth("pet")==0 then c("Revive Pet") elseif GetPetHappiness()~=nil and GetPetHappiness()~=3 then c("Feed Pet") PickupContainerItem(3, 1) else c("Dismiss Pet") end else c("Call Pet") end
猛禽一击/猫鼬撕咬
/script if (not PlayerFrame.inCombat) then AttackTarget() end
/施放 猛禽一击
/施放 猫鼬撕咬
猎人陷阱
/script if UnitAffectingCombat("player") then CastSpellByName("假死") end
/施放 冰冻陷阱
或者:
/script PetPassiveMode();
/script PetFollow();
/script if (UnitAffectingCombat("player")) then CastSpellByName("假死()") elseif not (UnitAffectingCombat("player")) then CastSpellByName("冰冻陷阱"); end
其他国外大神写的宏:
自动目标 + 自动射击/攻击 可替换成各种射击如奥术射击
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if CheckInteractDistance("target", 3) and (not PlayerFrame.inCombat) then AttackTarget() elseif not IsAutoRepeatAction(3) then CastSpellByName("自动射击") end
这两行宏的意义:
如果你没有目标,就自动瞄准你面前的任何东西。
开始使用自动射击,如果你在合适的距离。
如果你离目标太近,则自动切换成近战攻击。
近战
/script if (not PlayerFrame.inCombat) then AttackTarget() end
/施放 猛禽一击
/施放 反击
/施放 猫鼬撕咬
第一行将开始你的近战攻击,不管目标离你多远。接下来的三行技能,因为猛禽一击和猫鼬撕咬的功能不同,他们可以同时使用,反击和猫鼬撕咬不能同时使用,但反击是一个优先级高的技能,所以它首先列出。
抢怪
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/施放 奥术射击(等级 1)
/run if CheckInteractDistance("target", 3) and (not PlayerFrame.inCombat) then AttackTarget() elseif not IsAutoRepeatAction(3) then CastSpellByName("自动射击") end
宠物攻击
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/script CastPetAction(2);
/script CastPetAction(10);
/script PetAttack(target)
/施放 冲锋
/施放 突进
这个宏的6条代码意义如下:
自动瞄准目标。
宠物在脱离战斗时会跟着你。
宠物在脱离战斗时会变成被动模式。
宠物将攻击你的指定目标。
如果有你的宠物有冲锋,就冲锋目标。
如果冲锋不可用或没有冲锋,就施放突进。
宠物跟随
/script PetFollow("你的名字")
/script CastPetAction(10);
/施放 突进
这是一个非常简单的宏。只要改变在括号之间的你的名字。第二行让你的宠物被动,如果被动命令处于宠物动作条的默认位置。第三行会让你的宠物冲回到你身边,这很方便,如果你需要迅速摆脱危险的话。
假死(基础,配合后面的宏)
/script if UnitAffectingCombat("player") then CastSpellByName("假死") end
就其本身而言,这个宏没什么特别的,但这个脚本稍后将与其他功能结合使用。
威慑 + 灵猴守护
/施放 威慑
/run local i,x=1,0 while UnitBuff("player",i) do if UnitBuff("player",i)=="Interface\\Icons\\Ability_Hunter_AspectOfTheMonkey" then x=1 end i=i+1 end if x==0 then CastSpellByName("灵猴守护") else end
猎豹/豹群
/script if UnitIsFriend("player", "target") then CastSpellByName("豹群守护") else CastSpellByName("猎豹守护") end
如果你的目标是友方,这个宏会施放豹群守护,但猎豹是在任何其他情况下,如果你在一个队伍,然后你想给别人豹群,只需点击一个队友,你不必为另一个热键绑定豹群!
物品/恐吓
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/script if UnitIsFriend("player", "target") then UseContainerItem(0, 16) else CastSpellByName("恐吓野兽") end
如果对准友方,否则就恐吓野兽,这将使用在我的背包右下角的物品,比如绷带
献祭/假死
/cast 献祭陷阱
/script if UnitAffectingCombat("player") then CastSpellByName("假死") end
不管脚本顺序如何,你至少需要按两次这个宏
雄鹰/灵猴 切换
/run local i,x=1,0 while UnitBuff("player",i) do if UnitBuff("player",i)=="Interface\\Icons\\Spell_Nature_RavenForm" then x=1 end i=i+1 end if x==0 then CastSpellByName("雄鹰守护") else CastSpellByName("灵猴守护") end
如果你没有守护,或在任何其他守护,它会切换到雄鹰守护,如果你是在雄鹰守护,则会切换到灵猴守护。
雄鹰/灵猴 切换2
/run if CheckInteractDistance("target", 3) then CastSpellByName("灵猴守护") else CastSpellByName("雄鹰守护") end
如果你没有目标,或者你的目标离你很远。它就施放雄鹰,如果你的目标靠近你,它会施放猴灵猴。
2个宏命令的功能不同,但结果相同。
蝰蛇/毒蝎 互换
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/script class=UnitClass("target"); if ((class=="盗贼") or (class=="战士")) then CastSpellByName("毒蝎钉刺"); else CastSpellByName("蝰蛇钉刺"); end
他似乎只作用NPC,NPC有魔法则用蝰蛇钉刺,NPC没魔法则用毒蝎钉刺
AoE 1
/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/施放 多重射击(等级 1)
/施放 乱射
/script if not IsAutoRepeatAction(3) then CastSpellByName("自动射击"); end
如果你按它一次,你会瞄准你前面40码的任何东西,施放多重射击和自动射击,再按一次,如果多重射击是冷却时间中,你会施放乱射
摔绊
/script if (not PlayerFrame.inCombat) then AttackTarget() end
/施放 反击(等级 1)
/施放 摔绊
/施放 摔绊(等级 2)
/施放 摔绊(等级 1)
如果你因为某些原因而超低法力值,不能使用最大等级的摔绊。就施放低等级的摔绊代替。反击优先于摔绊。
这个宏告诉你你当前的坐标,