师徒系统给老玩家带新的理由:徒弟出师,师父拿奖励,徒弟拿成长加速,新人七日留存因此提升两成。传奇开服环境里师徒关系链复杂,绑定、考核、出师三段流程都要留痕,防止小号刷奖励破坏奖励池的可持续性。
function Mentor.bind(master, apprentice)
if #master.apprentices >= 3 then return false, "徒弟已满" end
if apprentice.masterId then return false, "已有师父" end
if apprentice.level > 45 then return false, "等级超限" end
apprentice.masterId = master.id
table.insert(master.apprentices, apprentice.id)
QF_LogRelation("bind", master.id, apprentice.id)
return true
end
师父同时最多带 3 名徒弟,绑定条件卡等级与存量,关系写入流水。等级 45 级以下才能拜师,堵住大号自绑小号的路径。同一 IP 段的绑定行为打标风控,命中两次以上进入人工审核队列,误伤由客服后台解除。
function Mentor.checkGraduate(apprentice)
if apprentice.level < 60 or apprentice.onlineDays < 7 then return false end
local master = QF_GetPlayer(apprentice.masterId)
QF_MailItems(master, {{ id = 22001, n = 5 }}, "徒弟出师奖励")
QF_MailItems(apprentice, {{ id = 22002, n = 1 }}, "出师礼包")
apprentice.masterId = nil
QF_LogRelation("graduate", apprentice.id, master.id)
return true
end
出师双条件:徒弟到 60 级且累计在线 7 天,两头卡住时长与强度。奖励走邮件补发,师父离线也能收,出师瞬间结算无延迟。中途解绑的师徒关系保留进度 14 天,重新绑定继续累计,减少新手被弃带后的流失。奖励发放与关系解除写在同一事务里,失败整体重试,杜绝出了师没拿奖的客诉。师门界面用 GUI 树控件展示在带徒弟与出师名单,拜师按钮用 GUI:addOnClickEvent 绑定申请指令。
出师率与绑定数按周出报表,出师率低于五成说明考核门槛偏重,数值组可下调在线天数要求。
出师条件只卡等级的版本被职业工作室用脚本小号刷穿,奖励池两周见底,补上在线天数后才堵住。同 IP 绑定打标的风控误伤过网吧玩家,几个开黑的新人被一起标红,审核队列的解除流程因此做成自助化,提交说明后 5 分钟内可申诉通过。风控的准确率不是一次调出来的,误伤样本每周回灌进规则,三个月后才收敛到可接受区间。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 脚本的规范靠人盯盯不过来:命名风格漂移、全局变量乱用、缩进混着来——风格检查器把这些规则的执行自动化。提…
实战应用:用在哪里 拍卖行的出价是一场与时间的博弈:出价的按钮、倒计时的紧迫、截拍瞬间的悬念——拍卖界面的要点是出价的流程、…
实战应用:用在哪里 强化连败七次是什么体验?幸运值机制给失败的玩家一个隐性的承诺:每次失败累加幸运值,幸运值越高下一次的成功…
实战应用:用在哪里 审计日志的价值在于不可抵赖:被改过的日志比没有日志更危险——纠纷的追溯、内部的追责都建立在「日志没被动过…
实战应用:用在哪里 活动结束给 3 万玩家发奖励:一次性群发让邮件表瞬间多 3 万行、投递的队列堵塞正常的通信。批量邮件的分…
实战应用:用在哪里 面对面的交易是传奇最经典的交互:两人面对面、各自放入物品与金币、双方确认后成交。交易的协议要点是会话的建…