用eluna给你的魔兽服务器上添加一个智能回复

近期因为服务器上新手玩家来了几个。
他们都会在线问一些帮助指引。
例如:“这服务器渐进吗?”,“有没有免费传家宝和包包?”,“战袍兑换码去哪里搞?”

作为一个负责的GM 每次都不厌其烦的进行回复实在是有够心累的。
突发奇想:我能否检测聊天记录,发现包含某些关键字的时候自动通过系统发送相关的解答指引呢?
让机器来做新手指导员,这真是个不错的想法。

经过几分钟的代码测试,终于搞定。
我补充了一个数据表来存放关键字和回复内容,结构如下:
图片[1]-用eluna给你的魔兽服务器上添加一个智能回复-波叔小栈

其中key代表关键字,replay存放回复的内容。
注册一个全局事件,当玩家发送消息文本时候,对消息进行检测,如果匹配到包含预设好的key,那就发送系统提示给到该玩家。
考虑到快速上线,我使用Eluna脚本来完成。源码如下:

  1. local function OnChat_Command(event, player, message, type, language)
  2.  
  3.         swm = string.lower(message)
  4.         local plrname = player:GetName()
  5.         local query = WorldDBQuery(“SELECT `key`,replay,rtype,replay_name FROM wiosn_kefus LIMIT 10;”)
  6.         
  7.         local a = query:GetRowCount()
  8.         while(a>0)
  9.         do
  10.                 row = query:GetRow()
  11.                 if string.find(swm, row[‘key’])  then
  12.                         player:SendBroadcastMessage(“|cffffff9f☆☆☆|r”)
  13.                         player:SendBroadcastMessage(“|cffffff9f璀璨小助理温馨提示:|r”)
  14.                         player:SendBroadcastMessage(“|cffffff9f |r”)
  15.                         player:SendBroadcastMessage(“|cffffff9f”..row[‘replay’]..“|r。”)
  16.                         player:SendBroadcastMessage(“|cffffff9f |r”)
  17.                 end
  18.                 query:NextRow()
  19.                 a = a-1
  20.         end
  21. end
  22.  
  23.  
  24. RegisterPlayerEvent(18, OnChat_Command)
  25. RegisterPlayerEvent(19, OnChat_Command)
  26. RegisterPlayerEvent(20, OnChat_Command)
  27. RegisterPlayerEvent(21, OnChat_Command)
  28. RegisterPlayerEvent(22, OnChat_Command)
  29. print(“OnChat_Command loading…”)
复制代码

最后一行,在控制台输出加载成功的提示。
分别注册了18、19、20、21、22事件函数。这几个事件代表了玩家发送消息。
他们统统调用OnChat_Command函数。
然后我们执行数据库查询。(注意,这里考虑到性能问题,我添加了limit 10)。
代表一次最多检测10个关键字。
在遍历过程中,我们检查玩家的消息中是否包含预设关键字key。
如果有,则执行player:SendBroadcastMessage,将预设好的信息,回复给该玩家。
使用player:SendBroadcastMessage的是为了不打扰服务器上其他的玩家。该条系统公告,仅当前玩家本人可见。
至此,打完收工!

感谢阅读。

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

Captcha Code

取消
昵称表情代码图片

    请登录后查看评论内容