WeakAuras 不完全指北2

之前做了一期技能监控的插件,这期准备来搞点好玩的

大家都知道,在BT难度下滑之后,2.43版本的SW 强度高的可怕。很多团队在开荒阶段忙活一下午没有染到进度。

所以当你的地区处于 太阳井高地 的时候 总有人发个什么1之类的,借用你的DBM,看看你进度打到哪了。

所以,打不过事小,大家都不过,我能打得过就很值得装这么一B了

我的WA

首先这里我们新建一个 文字 的WA

起个名字,并且清空图示文字(因为我们这里不需要他显示信息)

名字就叫 SW打不过去但我就想装逼专用插件-by 墩儿老板

这里不同的是在于触发部分,要做一个事件触发器

可以看到,我们这里选择了触发 CHAT_MSG_WHISPER 这个事件

接下来就是事件的函数代码了 ps:魔兽内置的是lua,有兴趣的小伙伴可以自己去了解一下语法细节

function(event,...)
    if event == "CHAT_MSG_WHISPER" then
        local text,target = ...
        if (string.find(aura_env.config.keyWord,text)) then
            local msg = "<DBM> "..
            UnitName("player").." 正在与 25人 - "..
            aura_env.config.boss.."交战,(当前 "..
            aura_env.config.hel.." "..
            aura_env.config.nodead.."/"..
            aura_env.config.people..") 生存"
            SendChatMessage(msg,"WHISPER",nil,target)    
        end
    end
end

首先 CHAT_MSG_* 这些事件都是与聊天有关,CHAT_MSG_WHISPER 指的就是蜜语聊天

触发函数后的参数有很多,主要需要了解的就只有前三个,第一个参数是固定的event ,这里就是CHAT_MSG_WHISPER

后面的参数根据触发事件的不同,给与的参数也会不同,咱们监听的这个参数中,第一个代表聊天文本,第二个代表着密语对象

local text,target = ...

这个是lua的语法,表示接受省略参数的前两个

这里有一个东西出现了很多次,就是 aura_env.config 这个是wa内置的配置对象,可以通过他来获取一些自定义配置。

自定义

打开自定义选项卡,进行自定义配置(这里是因为想做一个大家自己配置的方式,所以没有直接写死密语内容)

进入作者模式

可以看到,这里的选项类型,针对的是对应配置的数据结构,比如这里我们选择的 字符串 ,懂变成的小伙伴应该不莫生,就是String

显示的名字 表示在用户模式时,展示的配置项名字

选项键值,表示在lua代码中获取变量的名称

提示,表示在用户模式的提示信息

默认,就不用多说了,不填的时候会有一个默认值

再来回顾一下代码

function(event,...)
    if event == "CHAT_MSG_WHISPER" then
        local text,target = ...
        if (string.find(aura_env.config.keyWord,text)) then
            local msg = "<DBM> "..
            UnitName("player").." 正在与 25人 - ".. //获取当前用户觉得名称
            aura_env.config.boss.."交战,(当前 ".. //根据配置发送跟哪个boss交战
            aura_env.config.hel.." "..             //boss当前血量
            aura_env.config.nodead.."/"..          //生还者数量
            aura_env.config.people..") 生存"       //团队总人数
            SendChatMessage(msg,"WHISPER",nil,target) //调用密语函数发送给M你的玩家
        end
    end
end

到这里小伙应该能发现,我们这里有个 aura_env.config.keyWord 跟别的配置使用的方式不太一样

keyWord(关键字) 这的配置,主要是因为,你不能所有密语都直接回复你在与某某boss交战,所以当有一些比较简短的,没有内容的密语,我们才进行回复,比如M你个“1”、“。”之类的

这里主要针对的就是某些人 (痞子

这里也使用了lua的字符串查找函数,string.find(),这里用于查找密语内容是否被自定义配置包含。

比如,我的配置是【1234567890,.,。】 如果有人单独M我一个1,这样的字符,就会回复他我正在与XXboss交战

载入

最后,这个插件为了提升作假质量,决定需要只有在sw地区时才加载,设置方式是这样的

335表示太阳之井高地

结束

一切搞定,大功告成,展示一下成果

有兴趣的小伙伴,可以自己做来玩玩,不限于SW哦~