Esc点击宏命令设置---新建一个宏选择一个图标在框格内对应输入/Y空格喊话内容/cast空格技能名称然后把图标拉出来,点击图标放技能的同时可以喊话了。
故事背景(黑石之祸)
经历了天灾入侵的艾泽拉斯大陆满目疮痍,费伍德森林变成了一片死地,提瑞斯法林地游荡者那些早已死去却又一次站起的腐朽身躯,夜色镇终日浓雾弥漫,希利苏斯的沙漠中暗流涌动,洛丹伦王国覆灭,伊利丹背叛暗夜精灵被流放外域。
阿尔萨斯这个曾经的王子终于登上了冰封王座,成为了坐镇诺森德的新巫妖王,似乎战争暂时平息,因为战争部落和联盟达成的那些脆弱的协议似乎已经逐渐被人遗忘。
在杜隆塔尔的干旱土地上,由萨尔所领导的部落安营扎寨并继续扩充军队的规模,他们邀请同样憎恨联盟的原高等精灵游侠,现任被遗忘者领袖希尔瓦娜斯以及其麾下的被遗忘者加入到兽人、牛头人和巨魔的部落中来。
比如放一个冲锋,自动一句“党和人民需要我”。怎么搞》
用宏吧······
简单版
最朴素的技能说话宏
/cast 技能名
/y 我对%t使用了XXX
优点:简单
缺点:缺点太多说不过来
朴素改良版
/cast 技能名
/y 我对%t使用了XXX
优点:左键点使用技能+喊话,右键点使用技能不喊话
缺点:缺点太多说不过来
中级版
X秒内只说一次
/脚本 local t=GetTime()macroT=macroT or 0;if t-macroT>3 then SendChatMessage("施放技能","SAY")macroT=t;end
/cast 技能名
注:宏中的3是间隔时间
优点:不管怎么按每X秒内只会说一次,不会刷屏
缺点:无法判断法术是否成功施放,同时有两个公共变量有可能导致插件出错(基本不会)
人物在施法或在gcd中不会刷屏 by Xstubborn
/脚本 if not UnitCastingInfo("player")and 0==GetSpellCooldown("寻找矿物")then SendChatMessage("施放技能","SAY")end
/cast 技能名
注:寻找矿物改成任意有公cd的技能;无gcd的技能不能用这个宏
优点:基本不会刷屏
缺点:法术施放不出来的时候(比如被晕时)还是会刷屏,
上一个宏的无gcd技能版
/脚本 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
优点:基本不会刷屏
缺点:饰品无法使用时候还是会刷屏
前几个宏的改进版
/脚本 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)
/施放 圣盾术
稍微改了一下,用宏之后直接用技能不会喊话了。
优点:施法成功后才会说话,不会刷屏
缺点:可能和不知名插件冲突造成不知名错误~
复活技能比较特殊,使用高级版的几个宏在点尸体复活的时候会喊“未知目标”,单独列出来
复活后说话
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=="先祖之魂"and c~="未知目标" then n=type(c)=="string"and c or SendChatMessage(n.."的睡姿真婀娜")end end)
优点:复活成功后提示复活目标
缺点:字符数封顶了,除了技能名改动的空间几乎为0
复活前说话
/脚本 F=F or CreateFrame("frame");F:RegisterEvent("UNIT_SPELLCAST_SENT")F:SetScript("OnEvent",function()if arg1=="player" and arg2=="先祖之魂" and arg4~="未知目标" then SendChatMessage(arg4.."的睡姿真婀娜") end end)
/cast 先祖之魂
优点:复活前提示复活目标
缺点:目标不在视野中时也会提示
复活前后都说话:
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 "成功"end;SendChatMessage("复活"..n)end end)
/施放 复活术
优点:我正在用的宏,可以提示复活目标,复活成功
缺点:目标不在视野中时也会提示
可选包
(在确认宏不会超字数的情况下使用)
目标是敌对/友善时不会说话
在宏的开头加上(敌对)
或(友善)
修改喊话类型
SendChatMessage的格式为
SendChatMessage("内容","方式"(,"语言","附加"))
方式可选项为emote(表情),guild(公会),party(小队),raid(团队),yell(大喊),say(说话,默认),whisper(密语)
比如在小队里喊话是
SendChatMessage("内容","party")
随机说话内容
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切无gcd的技能,不过在施法失败的情况下还是会刷屏)改成有几率喊话就是:(注意空格!)
/script if not UnitCastingInfo("player")and 0==GetSpellCooldown("圣盾术")then if 2>random(3)then SendChatMessage("天杀的,快治疗我,我快嗝P了。","yell")end end
/cast 圣盾术
友情提示:高级版的几个宏除了喊话内容和技能名称之外其他不建议新手修改,否则可能出现各种不知名错误
你说的可能有2种情况。
一是他的技能设置了宏,你输入/宏就可以找到宏界面了。
比如你想做个嘲讽宏,就可以在宏界面设置
#showtooltip 嘲讽
/施放 嘲讽
/s 孙子诶!!
设置好后你按宏,就会边嘲讽边说话了
还有一种情况也是用宏的。你只需要把/s 孙子诶 改成/嘲笑 /吐口水 /支援 /攻击 之类的表情命令就好了。