WOW-Vanilla年代LR宏

2020年之前的帖子存档

版主: 吃我咸鱼一击

Bluememo
帖子: 914
注册时间: 2017-09-26 10:10:09

WOW-Vanilla年代LR宏

帖子 Bluememo »

Hi,大家好,我是联盟矮人猎人-Bluememo。

酝酿了很久,还是忍不住想跟大家分享一下我的LR宏命令,这也是我玩LR的兴趣之一,希望喜欢使用宏的各位朋友能够各取所需。

说明一下:因为我使用的是英文端,所以技能名都没汉化,或者我也不知道完整的中文技能名,有需要的自己去修改吧。
#1:急速射击+瞄准射击捆绑宏,瞄准射击放在默认动作条第11号位置,你也可以放在其他位置,但要修改数字。需要提醒的是学习新的瞄准射击后,要把高等级的瞄准射击拖出来替换掉,不然你一直是1级瞄准射击,别问我怎么知道 :lol: :lol:

代码: 全选

/cast Rapid Fire
/run if CheckInteractDistance("target", 3) and (not PlayerFrame.inCombat) then AttackTarget() elseif not IsAutoRepeatAction(11) then CastSpellByName("Aimed Shot") end
#2:追踪人型类生物集合宏(隐藏、潜行、亡灵、巨人、人型),只有技能学全了才会循环切

代码: 全选

/run c=CastSpellByName t=GetTrackingTexture() if t and strfind(t,"Prayer") then c("Track Hidden") elseif t and strfind(t,"Stealth") then c("Track Undead") elseif t and strfind(t,"Dark") then c("Track Giants") else c("Track Humanoids") end
其他追踪宏:追踪龙类、恶魔、元素、野兽。为什么不跟上面的写在一起呢?超过255个字符了。。。。。。。

代码: 全选

/run c=CastSpellByName t=GetTrackingTexture() if t and strfind(t,"_Tracking") then c("Track Dragonkin") elseif t and strfind(t,"Dragon") then c("Track Demons") elseif t and strfind(t,"Fel") then c("Track Elementals") else c("Track Beasts") end
#3:猎豹、群豹守护切换-目标友善的话就切群豹,否则就是猎豹。这个后面要重新修改下:队伍中群豹、否则猎豹。没到40,先不这样改。

代码: 全选

/script if UnitIsFriend("player", "target") then CastSpellByName("Aspect of the Pack") else CastSpellByName("Aspect of the Cheetah") end
#4:驱散、收宝宝宏

代码: 全选

/script if GetUnitName("target")==nil then TargetNearestEnemy() end
/script if UnitExists("pettarget") and UnitIsUnit("target", "pettarget") then PetPassiveMode(); else end
/cast Scatter Shot
#5:一键招宝宝、喂宝宝、治疗宝宝、复活宝宝:宝宝死了-复活;不高兴了,喂养;高兴状态,治疗;宝宝消失,召唤。喂养宝宝的肉放在出生自带包的第一排第二格(0、2 就是这个意思),其他位置需要修改数字。

代码: 全选

/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(0, 2) else c("Mend Pet") end else c("Call Pet") end
#6:一键近战宏,先判断有摔绊没,没有就先上摔绊,否则就猛禽和猫鼬。

代码: 全选

/cast Mongoose Bite
/script local T; for i=0,15,1 do T=UnitDebuff("target", i); if (T and string.find (T,"Trip")) then break; end; end; if (T and string.find (T,"Trip")) then CastSpellByName("Raptor Strike"); else CastSpellByName("Wing Clip"); end
#7:不打断自动攻击宏,捆绑多重使用。LR应该有这样的烦恼,不停的按技能,自动攻击会被中断。

代码: 全选

/cast Multi-Shot
/run if CheckInteractDistance("target", 3) and (not PlayerFrame.inCombat) then AttackTarget() elseif not IsAutoRepeatAction(12) then CastSpellByName("Auto Shot") end
#8:战斗状态恐惧野兽,非战斗状态野兽知识

代码: 全选

/script if UnitAffectingCombat("player") then CastSpellByName("Scare Beast") else CastSpellByName("Beast Lore") end
#9:智能钉刺宏:怪物上毒蛇、有蓝职业上抽蓝的,战士、盗贼上减敏捷的,能解毒的上1级的抽蓝钉刺。

代码: 全选

/script local c,s,t=UnitClass("target"),"Serpent Sting",UnitPowerType("target");if UnitIsPlayer("target") then if t==0 then s="Viper Sting";if c=="Paladin" or c=="Druid" then s=s.."(Rank 1)";end;else s="Scorpid Sting";end;end;CastSpellByName(s);
#10:雄鹰、灵猴切换宏

代码: 全选

/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"RavenF") then f=1;break;end;end;if f then c("Aspect of the Monkey");else c("Aspect of the Hawk");end;
#11:假死收宠陷阱宏

代码: 全选

/cast Freezing Trap
/script if UnitAffectingCombat("player") then CastSpellByName("Feign Death") end
/script if UnitExists("pettarget") and UnitIsUnit("target", "pettarget") then PetPassiveMode(); else end;
#12:陷阱集合宏。正常按:冰冻陷阱,+Alt:献祭陷阱,+Shift:爆炸陷阱。

代码: 全选

/script if IsAltKeyDown() then CastSpellByName("Immolation Trap");elseif IsShiftKeyDown() then CastSpellByName("Explosive Trap"); else CastSpellByName("Frost Trap") end;
#13:智能照明弹宏:有目标且目标可被攻击,放标记,目标空或者友善,放照明弹。

代码: 全选

/Script if UnitCanAttack("player","target") then CastSpellByName("Hunter's Mark") else CastSpellByName("Flare") end;
#14:智能嘲讽宏:打怪物-嘲讽自动开启,打玩家-自动关闭。下副本请调整。。。。。捆绑了突进技能。技能摆放请按嘲讽-撕咬-爪击-突进 这样摆。

代码: 全选

/script PetAttack() local x,p,j,e,_={1,1,1},UnitPowerType("target");if UnitIsPlayer("target") then if p==0 then x={nil,1,1};else x={nil,1,1};end;end;for j=4,7 do _,_,_,_,_,_,e=GetPetActionInfo(j);if x[j-3]~=e then TogglePetAutocast(j);end;end;
/cast dash
#15:非战斗状态用包裹里的第4个,战斗状态就放奥术射击。目前绑定的是变熊道具,40级后绑定个坐骑。

代码: 全选

/run if UnitAffectingCombat("player") then CastSpellByName("Arcane Shot") else UseContainerItem(0, 4) end;
#16:铁皮手雷宏:自动找包里的铁皮手雷,按一下释放,再按一下取消释放并重新准备释放。

代码: 全选

/script local b,s,l;if PlayerFrame.inCombat then AttackTarget();end;SpellStopCasting();for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"Iron Grenade") then UseContainerItem(b,s);break;end;end;end;

好处就是:妈妈再也不用担心我手残了,LR再多的技能,我也能按完了。。。。。。

希望对大家有点用。
上次由 Bluememo 在 2017-10-25 09:41:34,总共编辑 3 次。
沙漠,扬起你的沙砾,遮蔽太阳的光芒吧!
Bluememo
帖子: 914
注册时间: 2017-09-26 10:10:09

Re: WOW-Vanilla年代LR宏

帖子 Bluememo »

目前的界面
WoWScrnShot_102317_214223.jpg
WoWScrnShot_102317_214223.jpg (184.17 KiB) 查看 6955 次
战斗状态
WoWScrnShot_101917_210854.jpg
WoWScrnShot_101917_210854.jpg (198.05 KiB) 查看 6955 次
上次由 Bluememo 在 2017-10-24 17:19:27,总共编辑 1 次。
沙漠,扬起你的沙砾,遮蔽太阳的光芒吧!
二零一七
帖子: 13
注册时间: 2017-10-24 12:14:07

Re: WOW-Vanilla年代LR宏

帖子 二零一七 »

好贴要顶,感谢分享!
你是要当懦夫一辈子,还是英雄,哪怕只有几分钟?
即使剩下你一人在战斗也必须要继续,
你需要的不仅仅是勇气。

-----------------------来自内心革命的呐喊 只为惊醒少数人 !
二零一七
帖子: 13
注册时间: 2017-10-24 12:14:07

Re: WOW-Vanilla年代LR宏

帖子 二零一七 »

Hello, Bluememo:
我是白天请教你宏命令的小伙伴,今天晚上回家就迫不及待的使用(伸手硬抢 :D )你的宏,确实方便了我这种手残党,
由于我的猎人小号刚32级,许多技能并没有学全,所以不能使用所有的宏,仅我能使用的分享给其他小伙伴,
另有一些其他疑问请教,还请不吝解答,谢谢!

1.楼主所提供的宏是基于英文客户端,针对CC提供的客户端,需要将宏中的技能名字改为中文,方可使用,
例如:雄鹰、灵猴切换宏 ,可更改为:
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);
if b and strfind(b,"RavenF") then f=1;break;end;end;if f then c("灵猴守护");else c("雄鹰守护");end;
亲测,非常好用,妥妥省了一个键位。

2. 请教下#6一键近战宏,我更改完中文技能名字后如下:
/cast 猫鼬撕咬
/script local T; for i=0,15,1 do T=UnitDebuff("target", i); if (T and string.find (T,"Trip")) then break; end; end; if (T and string.find (T,"Trip")) then CastSpellByName("猛禽一击"); else CastSpellByName("摔绊"); end
但是在我使用的时候,对很多没有摔绊的,并不是每次按一下键位就上摔绊,感觉大多时候按第一下会直接猛禽,请问这是我使用的问题,还是我修改的不正确?

3.#5一键宝宝宏,我更改完中文技能名字后如下:
/run local c=CastSpellByName if UnitExists("pet") then if UnitHealth("pet")==0 then c("复活宠物") elseif GetPetHappiness()~=nil and GetPetHappiness()~=3 then c("喂养宠物") PickupContainerItem(0, 2) else c("治疗宠物") end else c("召唤宠物") end
这个宏我按照楼主所说,把喂养宝宝的肉放在出生自带包的第一排第二格,但是宏命令,不起作用,解散后宠物,也不能召唤,也不能喂养,
烦请楼主帮忙看下,是否我更改的有问题。

4.#7:不打断自动攻击宏 这个宏可以正常使用,但是我不太明白这个宏的作用是什么,我是想省去一个自动攻击的键位,
但是这个宏,我测试时,感觉是直接对怪释放多重,如果遇上一堆怪的时候,也是多重,这样不就ADD了吗?
请问是否我食用的姿势不对,还请帮忙解惑,谢谢!

再次感谢楼主的无私分享,盼望楼主的回复,谢谢!
你是要当懦夫一辈子,还是英雄,哪怕只有几分钟?
即使剩下你一人在战斗也必须要继续,
你需要的不仅仅是勇气。

-----------------------来自内心革命的呐喊 只为惊醒少数人 !
Bluememo
帖子: 914
注册时间: 2017-09-26 10:10:09

Re: WOW-Vanilla年代LR宏

帖子 Bluememo »

二零一七 写了: 2017-10-24 21:17:00 Hello, Bluememo:
我是白天请教你宏命令的小伙伴,今天晚上回家就迫不及待的使用(伸手硬抢 :D )你的宏,确实方便了我这种手残党,
由于我的猎人小号刚32级,许多技能并没有学全,所以不能使用所有的宏,仅我能使用的分享给其他小伙伴,
另有一些其他疑问请教,还请不吝解答,谢谢!

1.楼主所提供的宏是基于英文客户端,针对CC提供的客户端,需要将宏中的技能名字改为中文,方可使用,
例如:雄鹰、灵猴切换宏 ,可更改为:
/script local c,i,b,f=CastSpellByName;for i=1,16 do b=UnitBuff("player",i);
if b and strfind(b,"RavenF") then f=1;break;end;end;if f then c("灵猴守护");else c("雄鹰守护");end;
亲测,非常好用,妥妥省了一个键位。

2. 请教下#6一键近战宏,我更改完中文技能名字后如下:
/cast 猫鼬撕咬
/script local T; for i=0,15,1 do T=UnitDebuff("target", i); if (T and string.find (T,"Trip")) then break; end; end; if (T and string.find (T,"Trip")) then CastSpellByName("猛禽一击"); else CastSpellByName("摔绊"); end
但是在我使用的时候,对很多没有摔绊的,并不是每次按一下键位就上摔绊,感觉大多时候按第一下会直接猛禽,请问这是我使用的问题,还是我修改的不正确?

代码: 全选

猫鼬撕咬学了吗?修改得没问题。
3.#5一键宝宝宏,我更改完中文技能名字后如下:
/run local c=CastSpellByName if UnitExists("pet") then if UnitHealth("pet")==0 then c("复活宠物") elseif GetPetHappiness()~=nil and GetPetHappiness()~=3 then c("喂养宠物") PickupContainerItem(0, 2) else c("治疗宠物") end else c("召唤宠物") end
这个宏我按照楼主所说,把喂养宝宝的肉放在出生自带包的第一排第二格,但是宏命令,不起作用,解散后宠物,也不能召唤,也不能喂养,
烦请楼主帮忙看下,是否我更改的有问题。

代码: 全选

这个宏趁维护我下个中文端来试试
4.#7:不打断自动攻击宏 这个宏可以正常使用,但是我不太明白这个宏的作用是什么,我是想省去一个自动攻击的键位,
但是这个宏,我测试时,感觉是直接对怪释放多重,如果遇上一堆怪的时候,也是多重,这样不就ADD了吗?
请问是否我食用的姿势不对,还请帮忙解惑,谢谢!

代码: 全选

那你把多重修改为奥术射击,或者其他你想绑的技能
再次感谢楼主的无私分享,盼望楼主的回复,谢谢!

代码: 全选

不客气
沙漠,扬起你的沙砾,遮蔽太阳的光芒吧!
Bluememo
帖子: 914
注册时间: 2017-09-26 10:10:09

Re: WOW-Vanilla年代LR宏

帖子 Bluememo »

到时候我把中文和英文的macros-cache发上来你们直接替换WOW文件下的相同文件,就不用复制黏贴了,怕这个过程出问题。
沙漠,扬起你的沙砾,遮蔽太阳的光芒吧!
Bluememo
帖子: 914
注册时间: 2017-09-26 10:10:09

Re: WOW-Vanilla年代LR宏

帖子 Bluememo »

一键治疗宠物宏,不支持中文端,有空我再改改。
找了个替代的

‘如果宠物存在,死的就复活,没死就++,宠物消失了的话就召唤,如果是尸体消失,请同时按住Alt键,
会强制使用复活,因为WOW消失了仍然认为是活的……

代码: 全选

/script local p,s="pet","召唤";if UnitIsDead(p) then s="复活";elseif UnitExists(p) then s="治疗" elseif IsAltKeyDown() then s="复活";end;CastSpellByName(s.."宠物");


其他宏修改为中文技能后没问题
沙漠,扬起你的沙砾,遮蔽太阳的光芒吧!
头像
facqou
帖子: 227
注册时间: 2017-11-27 10:19:42

Re: WOW-Vanilla年代LR宏

帖子 facqou »

请教大腿,能否授人以鱼不如授人以渔。

最近一直想写宏,苦于语法不懂,又不想看英文网站,所以请问中文的宏进阶教程有么
YOU ARE NOT PERPARE!
伦鲁迪洛尔,上古守护者的长弓(1/1)
断牙(1/1)
Bluememo
帖子: 914
注册时间: 2017-09-26 10:10:09

Re: WOW-Vanilla年代LR宏

帖子 Bluememo »

facqou 写了: 2017-12-12 15:03:28 请教大腿,能否授人以鱼不如授人以渔。

最近一直想写宏,苦于语法不懂,又不想看英文网站,所以请问中文的宏进阶教程有么
viewtopic.php?f=6&t=1332

这里有宏函数库,我也是半灌水。反正也是看着人家的宏修改修改。
当然如果你有时间仔细研究,提供一个专门的网站给你。
http://wowwiki.wikia.com/index.php/Worl ... rcraft_API
沙漠,扬起你的沙砾,遮蔽太阳的光芒吧!
头像
facqou
帖子: 227
注册时间: 2017-11-27 10:19:42

Re: WOW-Vanilla年代LR宏

帖子 facqou »

Bluememo 写了: 2017-12-12 15:33:18
facqou 写了: 2017-12-12 15:03:28 请教大腿,能否授人以鱼不如授人以渔。

最近一直想写宏,苦于语法不懂,又不想看英文网站,所以请问中文的宏进阶教程有么
viewtopic.php?f=6&t=1332

这里有宏函数库,我也是半灌水。反正也是看着人家的宏修改修改。
当然如果你有时间仔细研究,提供一个专门的网站给你。
http://wowwiki.wikia.com/index.php/Worl ... rcraft_API

非常感谢!有个请教下:
/script
local c,s,t=UnitClass("target"),"毒蛇钉刺",UnitPowerType("target");
if UnitIsPlayer("target") then if t==0 then s="蝰蛇钉刺";
if c=="圣骑士" or c=="德鲁伊" then s=s.."(等级 1)";
end;
else s="毒蝎钉刺";
end;
end;
CastSpellByName(s);
这个宏中,最后面的“CastSpellByName()”再整个宏中的作用是什么
YOU ARE NOT PERPARE!
伦鲁迪洛尔,上古守护者的长弓(1/1)
断牙(1/1)
主题已锁定