CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
数据存储

【数据存储】排行榜奖励:上榜奖励的发放与补发

2026-09-21 12:45 作者:996 技术组 0 阅读 数据存储

实战应用:用在哪里

排行榜的上榜奖励是排行的物质回报:按名次分档发放,前 10 名高档、前 50 名中档、参与奖保底。奖励的发放与补发机制确保每个上榜玩家都能收到奖励,补发的触发条件与幂等的标记防止重复发放。

奖励的发放

lua

---排行榜奖励的发放
function BoardReward.distribute(boardName, rankList)
    local rewards = BOARD_REWARDS[boardName]
    for i, rec in ipairs(rankList) do
        if i <= rewards.maxRank then
            local tier = math.ceil(i / rewards.tierSize)
            local reward = rewards.tiers[tier]
            sendmail(rec.id, 9001, boardName .. " 第" .. i .. "名奖励", "", reward.items)
            rec.claimed = true
        end
    end
end

奖励的发放按名次分档:前 10 名一档、前 30 名二档、前 50 名三档,每档的奖励内容在配置表定义。发放的记录写入榜单快照,已发放的标记防止重复发放。奖励的发放走邮件通道,离线的玩家也能收到。

补发的触发

lua

---补发:漏发的奖励自动补发
function BoardReward.checkMissed(boardName)
    local snapshot = QF_LoadJson("board_archive_" .. boardName)
    for _, rec in ipairs(snapshot.top50) do
        local claimed = rewardClaims[rec.id]
        if not claimed then
            local tier = math.ceil(rec.rank / rewards.tierSize)
            sendmail(rec.id, rewards.tiers[tier].items, "排行榜补发")
            rewardClaims[rec.id] = true
        end
    end
end

补发的扫描每 5 分钟执行一次:对照快照与已发放标记,漏发的自动补发。补发的记录与原发放日志关联,同一玩家不会被重复补发。补发的优先级按名次排序,前 10 名的补发优先处理。

验证与监控

发放与补发的覆盖率对账:快照中每个上榜玩家的奖励状态(已发/已补/待查)三态标记。

踩坑记录

奖励的补发曾经按快照的全量扫描,扫描的时间在榜单人数多时超过 5 分钟,增量扫描(只扫新增的)优化后可控。补发的邮件曾经缺失名次信息,玩家不知道自己排了第几,补发的邮件附上完整排名。

上线要点

奖励的发放与补发的日志进排行榜的审计链,每一笔奖励都有发放记录与时间戳。奖励的配置与排行榜的结算联动:结算后自动触发发放与补发的流程。发放的失败重试机制:邮件发送失败的重试三次后转人工处理。

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

玩法策划远征编制

【玩法策划】跨服远征编制:借鉴MMO远征的分层推进方案

实战应用:用在哪里 跨服远征分先锋、主力、后勤三队独立推进,三线全通合围BOSS。不同战力成员都有参与感。 策划要点与配置 …

2026-09-22 21:15 996 技术组 · 0 阅读
案例复盘副本难度

【案例复盘】副本超时惩罚倍率复盘

实战应用:用在哪里 副本限时挑战加入超时血量惩罚:超时后BOSS攻击递增。上线后BOSS攻击叠到十倍秒杀全队。 事故还原与补…

2026-09-22 21:15 996 技术组 · 0 阅读
界面UI神兽特效

【界面UI】混沌麒麟入场特效:神兽召唤的三段演出设计

实战应用:用在哪里 混沌麒麟召唤是全服高光时刻:暗幕聚合、裂缝展开、麒麟着陆三段演出各1.3秒。 三段式入场演出编排 围观镜…

2026-09-22 21:15 996 技术组 · 0 阅读
前端接口任务回看

【前端接口】任务对话历史回看:对话记录的界面查询实现

实战应用:用在哪里 任务对话一闪而过玩家想回顾。回看接口把对话按节点存档,面板翻阅全部对话记录。 对话存档与查询渲染 当前章…

2026-09-22 21:15 996 技术组 · 0 阅读
引擎触发懒加载地图

【引擎触发】挂机地图按需激活:地图实例懒加载设计

实战应用:用在哪里 服务器承载六十张地图,空闲地图白耗资源。按需激活,末人离开后六十秒休眠。 激活与休眠触发 休眠回收 验证…

2026-09-22 21:15 996 技术组 · 0 阅读
Lua实战坐骑洗炼

【Lua实战】坐骑资质洗炼与锁定:资质系统的Lua实现

实战应用:用在哪里 坐骑资质洗炼随机重滚五条属性,锁定满意的条目不再重滚,锁定越多消耗越大。 洗炼与锁定 锁定消耗递增 验证…

2026-09-22 21:15 996 技术组 · 0 阅读