№6 技能喊话模版BY NGA axb
电脑党可以直接NGA:
http://nga.178.com/read.php?tid=1989774&_fp=2`````````````````````````````````````````````
简单版
最朴素的技能说话宏
/cast 技能名
/y 我对%t使用了XXX
优点:简单
缺点:缺点太多说不过来
`````````````````````````````````````````
朴素改良版
/cast 技能名
/stopmacro [btn:2]
/y 我对%t使用了XXX
优点:左键点使用技能+喊话,右键点使用技能不喊话
缺点:缺点太多说不过来
`````````````````````````````````````````
X秒内只说一次
/脚本 local t=GetTime()macroT=macroT or 0;if t-macroT>3 then SendChatMessage("施放技能","SAY")macroT=t;end
/cast 技能名
注:宏中的3是间隔时间
优点:不管怎么按每X秒内只会说一次,不会刷屏
缺点:无法判断法术是否成功施放,同时有两个公共变量有可能导致插件出错(基本不会)
`````````````````````````````````````````
人物在施法或在共cd中不会刷屏 by Xstubborn
/脚本 if not UnitCastingInfo("player")and 0==GetSpellCooldown("寻找矿物")then SendChatMessage("施放技能","SAY")end
/cast 技能名
注:寻找矿物改成任意有共cd的技能;无共cd的技能不能用这个宏
优点:基本不会刷屏
缺点:法术施放不出来的时候(比如被晕时)还是会刷屏,
`````````````````````````````````````````
上一个宏的无共cd技能版
/脚本 if not UnitCastingInfo("player")and 0==GetSpellCooldown("圣盾术")then SendChatMessage("天杀的,快治疗我,我快嗝P了。","yell")end
/cast 圣盾术
优点:基本不会刷屏
缺点:法术施放不出来的时候(比如空蓝时)还是会刷屏
```````````````````````````````````````````````````````
使用饰品版
/script if not UnitCastingInfo("player")and 0==GetInventoryItemCooldown("player",13)then SendChatMessage("使用饰品","SAY")end
/use 13
优点:基本不会刷屏
缺点:饰品无法使用时候还是会刷屏
````````````````````````````````````````````
前几个宏的改进版
/脚本 macroT,macrot=macroT or 0,GetTime()if not UnitCastingInfo("player")and 0==GetSpellCooldown("圣盾术")and macrot-macroT>3 then SendChatMessage("施放技能","SAY")macroT=macrot;end
/cast 圣盾术
优点:施法失败在X秒内只会说一次,不会刷屏
缺点:施放失败还是会说话
`````````````````````````````````````````
高级版
施放成功后喊话(带目标)
12.10 3.0更新
/脚本 U="UNIT_SPELLCAST_S"F=F or CreateFrame("frame")R=F.RegisterEvent;R(F,U.."ENT")R(F,U.."UCCEEDED")F:SetScript("OnEvent",function(_,_,a,b,_,c)if a=="player"and b=="变形术"then n=type(c)=="string"and c or SendChatMessage(n.."已被我变羊")end end)
/施放 变形术
优点:施法成功后才会说话,失败不喊话,不会刷屏
缺点:对不同目标技能用的太快有可能出现目标错误;可能和不知名插件冲突造成不知名错误~
`````````````````````````````````````````````````````````````````````
施放前喊话(带目标)
/脚本 F=F or CreateFrame("frame");F:RegisterEvent("UNIT_SPELLCAST_SENT")F:SetScript("OnEvent",function()if arg1=="player" and arg2=="变形术" then SendChatMessage("对"..arg4.."使用变羊术")F:SetScript("OnEvent",nil)end end)
/施放 变形术
注:想要减少字符数的话可以把F:SetScript("OnEvent",nil)去掉
优点:开始施法时喊话,基本不会刷屏
缺点:字数限制相当死;当目标不在视野中等情况施法失败时还是会喊话;可能和不知名插件冲突造成不知名错误~
```````````````````````````````````````````````
施放成功后喊话(无目标)by 恒砂
/脚本 F=F or CreateFrame("frame")F:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")F:SetScript("OnEvent",function()if arg1=="player"and arg2=="圣盾术"then SendChatMessage("使用圣盾术")F:SetScript("OnEvent",nil)end;end)
/施放 圣盾术
稍微改了一下,用宏之后直接用技能不会喊话了。
优点:施法成功后才会说话,不会刷屏
缺点:可能和不知名插件冲突造成不知名错误~
`````````````````````````````````````````
随机说话内容
1.在/脚本后面添加local n={"要说的话1","要说的话2","要说的话3"}
2.SendChatMessage()中说话的内容改为n[random(#n)](原来的引号要去掉)
如
中级加强施法版(上一个宏的改进版,施法失败在X秒内只会说一次,不会刷屏)这个加上随机说话就是:
/脚本 local n={"要说的话1","要说的话2","要说的话3"}macroT,macrot=macroT or 0,GetTime()if not UnitCastingInfo("player")and 0==GetSpellCooldown("圣盾术")and macrot-macroT>3 then SendChatMessage(n[random(#n)],"SAY")macroT=macrot;end
/cast 技能名
````````````````````````````````````
随机是否说话
1.在SendChatMessage前面加上if 2>random(3)then
2.在end后面再补一个end
3. 2>random(3)代表有1/3的几率说话,3>random(5)代表2/5几率说话,类推。
比如
中级版(适合有cd切无***的技能,不过在施法失败的情况下还是会刷屏)改成有几率喊话就是:(注意空格!)
/script if not UnitCastingInfo("player")and 0==GetSpellCooldown("圣盾术")then if 2>random(3)then SendChatMessage("天杀的,快治疗我,我快嗝P了。","yell")end end
/cast 圣盾术
友情提示:高级版的几个宏除了喊话内容和技能名称之外其他不建议新手修改,否则可能出现各种不知名错误。