如图是我参考好感度系统搞的加金币部分,但是只能给单个人自己发信息来加金币,如果想要自己艾特某人就能随意加金币,应该怎么设置?
如何在好感度系统里通过艾特给别人手动加好感度?
- 最佳回复由 fy678 选择
你需要从指令文本中抓取操作对象的QQ号码,随后即可使用setUserConf()
函数设定其金币数量。
如果使用的是支持cq码的框架,那么论坛中其实已经有好些插件实现了从cq码中正则匹配QQ号码的功能,供你参考。
如 【指令脚本】暗检定骰指令 和 【指令脚本】爬/丢/赞 .
10 天 后
不太懂正则表达式的规则,稍微这些写了一下,果然脚本完全运行不动。
然后换了简单版本的,也一样出错QAQ到底问题出在哪?
- 已编辑
- 1.在你的“简单版本”中,骰娘告诉你:
atttempt to index a nil value (global 'msg_order')
。
这说明msg_order
这个变量的值是nil
,却试图将其当成一个table
,为其中的一个索引赋值。
由于图中看不出行数,所以我猜测是你在msg_order["加点金币"]="giver_money"
这行之前没有初始化msg_order
。正常情况下,应该这样:
答应我,学会看报错 X )
2.第一张图中,
local QQ=string.match(str,"[%s]*%[CQ:at,qq=(%d*)%]")
这一行就写的挺好的,如果是go-cqhttp
框架的话确实可以实现抓取QQ号。如果是go-cqhttp
框架的话。
你需要搞清楚自己所用的是什么框架,是否支持CQ码,支持的话格式是啥样的。3.可以去群里问,里面除了我都是大佬