字号:

分享怀旧服可用的宏 打断喊话变羊喊话等

时间:2019-12-29 21:42 作者:1q2w3e400 手机订阅 参与评论(0) 【投稿】
文 章
摘 要
分享一些怀旧服可用的宏 打断喊话变羊喊话等

二、高级宏

说明:之所以叫“高级宏”,是为了与上面那些宏有所区分。由于宏有255字符的限制,导致很多功能都实现不了,比如很多人提到的根据情况在团队、小队中喊话的功能。而高级宏的出现正是为了解决这个问题,这些宏一般是由两个或两个以上的宏组成,功能也比一般的宏高级很多,合理利用的话能实现很多有用的功能(我不确定有多少人会做这种宏,所以就先保留上面的基础宏吧,后面我可能会把它们删了,只保留这种高级宏)。另外提一下,其实这种做法早就有了,比如这个:[[>>>[PVP]插旗和竞技场打断施法提示宏<<<]],它这个宏就是将一个比较长的宏拆分成了三个,虽然功能很强大,但是有个缺点,就是需要每次上线都依次点一下,比较麻烦。而我的高级宏则不需要依次点击,只要每次上线点击一次就行了(也可以绑定技能),这种方法我也是最近才发现的,不确定之前有没有人发现过。后续我会发一个帖子详细聊一下这种方法。

1.常用宏

举报离开玩家

首先做一个宏, 命名为 举报按钮:

RP_AFK=nil if UnitAffectingCombat("player")then SendSystemMessage("提示:战斗中无法使用举报宏!!")else local x,i,b,j=_,_,DropDownList1,"举报离开玩家";for _,x in ipairs({b:GetChildren()})do f=x.tooltipTitle if f==j then RP_AFK=x break end end end

然后再做一个宏,名字随便,比如举报离开玩家之类的都可以:

/click TargetFrame RightButton

/run local m={GetMacroInfo("举报按钮")}loadstring(m[3])()CreateFrame("Button", "B", UIParent, "SecureActionButtonTemplate")B:SetAttribute("type", "click")B:SetAttribute("clickbutton", RP_AFK)

/stopmacro [combat]

/click B

然后把这个宏拖入技能栏,选中要举报的人,点击这个宏就可以愉快地举报啦!

注意:这个宏无法在战斗中使用。

其实现在还有另外一种举报方式:shift+M 打开作战地图,右键地图上的人,全部举报(不用担心误举报,只要进入战斗举报状态就会消失)。

进入战场

首先做一个宏, 命名为 进入按钮:

J_B=nil if UnitAffectingCombat("player")then SendSystemMessage("提示:战斗中无法使用进入战场宏!!")else local x,f,j,b=_,_,"进入战场",DropDownList1;for _,x in ipairs({b:GetChildren()})do f=x.value if f==j then J_B=x break end end end

再做一个宏,名字随便,比如 进入战场:

/click MiniMapBattlefieldFrame RightButton

/脚本 local m={GetMacroInfo("进入按钮")}loadstring(m[3])()CreateFrame("Button", "J", UIParent, "SecureActionButtonTemplate")J:SetAttribute("type", "click")J:SetAttribute("clickbutton", J_B)

/stopmacro [combat]

/click J

然后把这个宏拖入技能栏,战场出的时候点击这个宏就行啦!(这个宏的原理是右键小地图旁边的战场按钮,然后点击进入战场)

注意:跟举报宏一样,无法在战斗状态下使用。

2.技能喊话宏

首先做一个宏,取名叫 CB

CreateFrame("frame",'F')F:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")return function(t)c=InActiveBattlefield()and"SAY"or IsInRaid()and"RAID"or IsInGroup()and"PARTY"or"EMOTE"SendChatMessage(t,c)end,i and"{rt"..i.."}"or '',CombatLogGetCurrentEventInfo

说明: 这是一个基础宏,只要放在那就行了,不用点击。它的意思是,如果在战场中,则打白字,如果在团队中,则在团队中喊话,如果在小队中,则在小队中喊话,如果不在队伍中,则打橙字(表情)(如果你想把白字 改成 大喊,把 SAY 替换成 YELL 就行了),如果目标身上有标记,则会在喊话中加上标记。后续的几个宏都会调用这个基础宏,所以名字什么的一定要填对。效果图:

做好基础宏之后,就可以做下面这些宏了:

打断成功喊话

/脚本 i=GetRaidTargetIndex("target")local d,b,c=loadstring(GetMacroBody("CB"))()F:SetScript("OnEvent",function()C={c()}m=C[2]:find("PT")and C[4]==UnitGUID("player")and d("打断→"..b..C[9].."的 ["..C[16].."]")end)

/stopcasting

/施放 法术反制

变羊成功喊话(技能生效喊话):

/脚本 i=GetRaidTargetIndex("target")local d,b,c=loadstring(GetMacroBody("CB"))()F:SetScript("OnEvent",function()C={c()}m=C[2]:find('AP')and C[13]=="变形术"and C[4]==UnitGUID("player")and d(b..C[9].." >>已被我变羊")end)

/施放 变形术

监测到目标身上的 BUFF 之后才喊话。

驱散喊话(通报驱散的BUFF)

/脚本 i=GetRaidTargetIndex("target")local d,b,c=loadstring(GetMacroBody("CB"))()F:SetScript("OnEvent",function()C={c()}m=C[2]=='SPELL_DISPEL'and C[4]==UnitGUID("player")and d("驱散→"b..C[9].."的 ["..C[16].."] ")end)

/施放 驱散魔法

驱散成功喊话,可以根据需要把 净化术 换成其他技能。

未命中喊话(包括抵抗、免疫之类的)

/脚本 i=GetRaidTargetIndex("target")local d,b,c=loadstring(GetMacroBody("CB"))()F:SetScript("OnEvent",function()C={c()}m=C[2]:find("MI")and C[4]==UnitGUID("player")and"嘲讽"==C[13]and d("嘲讽→"..b..C[9].." ( 被".._G[C[15]].." )")end)

/施放 嘲讽

如果技能被未命中则喊话(包括抵抗、免疫、躲闪之类的),此处以 嘲讽 为例。可以根据需要把 嘲讽 替换成其它技能。

如果只想要抵抗喊话的话,可以用下面这个:

/脚本 i=GetRaidTargetIndex("target")local d,b,c=loadstring(GetMacroBody("CB"))()F:SetScript("OnEvent",function()C={c()}m=C[2]:find("MI")and C[4]==UnitGUID("player")and"嘲讽"==C[13]and"抵抗"==_G[C[15]]and d("嘲讽→"..b..C[9].." ( 被抵抗 )")end)

/施放 嘲讽

以上宏中的技能可以根据需要替换成别的技能,这些宏我会不定期更新,请大家收藏此贴。

加入17173玩家俱乐部,100%领《原神》月卡、《王者荣耀》888点券、《魔兽世界》T恤等周边好礼!
加入方式:微信关注“17173服务号”

热点推荐

游戏头条