什么是骰娘好感度系统?
好感度系统可以认为是好感度记录,以及围绕好感度记录建立的好感度增减机制、差分机制。
对Dice!而言,什么可以是好感度?
好感度可以是一个用户配置项,用作区别对待不同用户的标准。用户配置(UserConf)是一张键值表,可以通过关键词查找读写配置项,例如配置项trust
记录用户的信任度(user trust)。下文为Dice!内置用到的关键词,但你可以使用任何关键词读写用户配置。
关键词 | 值 |
trust | 用户信任 |
nick | 全局nn,未设置则取QQ昵称 |
firstCreate | 用户记录创建时间戳 |
lastUpdate | 用户记录更新时间戳 |
不同骰娘可以将不同的关键词定义为好感度(但同一只骰娘在不同回复、脚本中应当使用同一个关键词),例如:世界的好感度写作亲和度
。
Dice!可以如何调用好感度?
在lua语句中,你可以用getUserConf(msg.fromQQ, key, 0)
的形式读取消息来源QQ的用户配置。参数1表示所取用户的ID;参数2的字符串表示所取配置的关键词;参数3表示如果用户并没有该项配置,则默认返回0。
相应地,写入配置的函数为setUserConf(msg.fromQQ, key, value)
对世界而言,她读写用户好感度的语句即为:
--读取亲和度,存入本地变量favor
local favor = getUserConf(msg.fromQQ, "亲和度", 0)
--将变量favor存入亲和度
setUserConf(msg.fromQQ, "亲和度", favor)
骰主可以根据自己喜好和骰娘设定,设置好感度在每日签到/打卡/送礼时增加,在用户不当发言时减少。
一个简单的好感度应用实例
.reply set Match=我要亲亲
lua=favor=getUserConf(msg.fromQQ, "好感度", 0)
if(favor<50)then
setUserConf(msg.fromQQ, "好感度", favor-ranint(1,6))
return "你谁啊你?"
elseif(favor<100)then
return "我就稍微来那么一下就行了吧?"
else return "*啪嗒*" end