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

【后端接口】转盘抽奖:奖池概率与保底的兑付

2026-09-21 19:46 作者:996 技术组 0 阅读 后端接口

实战应用:用在哪里

转盘是活动的人气王:金币转一次、十连必出紫,转盘的指针与奖励的兑付是概率的公开课。转盘的实现要点是奖池的分层的概率、保底的计数与兑换的一致性——转出的奖励必须与公示的概率一致。

奖池的掷骰

lua

---转盘的单次抽取
function Wheel.spin(actor)
    local player = class(actor)
    if not player then return false end
    if not checkitemw(actor, "转盘币", 1) then
        sendmsg(actor, 1, "需要 1 枚转盘币")
        return false
    end
    takeitem(actor, "转盘币", 1, 0, "转盘消耗")
    -- 奖池分层:金 1% / 紫 9% / 蓝 30% / 白 60%
    local r = math.random(1, 10000)
    local tier = (r <= 100 and 4) or (r <= 1000 and 3)
        or (r <= 4000 and 2) or 1
    local item = Wheel.pick(tier)
    giveitem(actor, item.name, item.count)
    Wheel.pityCount(actor, tier)
    sendmsg(actor, 1, "获得:" .. item.name .. " x" .. item.count)
    return item
end

奖池按四层概率分层:金 1%、紫 9%、蓝 30%、白 60%,每层内部的奖品等权抽取。转盘币由日常与商城双渠道供给,单抽的期望成本公示在转盘页面。转出的奖励直接进背包,金档的奖励附带全服播报——大奖的仪式感是转盘的传播引擎。

保底的兑付

lua

---保底计数:40 抽必出金档
function Wheel.pityCount(actor, tier)
    if tier >= 4 then
        setplayvar(actor, "HUMAN", "WheelPity", 0, 1)
        return
    end
    local pity = tonumber(getplayvar(actor, 2, "WheelPity")) or 0
    pity = pity + 1
    if pity >= 40 then
        setplayvar(actor, "HUMAN", "WheelPity", 0, 1)
        giveitem(actor, "转盘大奖自选匣", 1)
        sendmsg(actor, 1, "保底触发!自选匣已发放")
    else
        setplayvar(actor, "HUMAN", "WheelPity", pity, 1)
        if pity == 35 then
            sendmsg(actor, 1, "距离保底还剩 5 抽!")
        end
    end
end

保底计数落库持久:40 抽内未出金档,第 40 抽必出大奖自选匣,出金即清零计数。保底的进度条在转盘页面常驻,差 5 抽的提醒把犹豫的玩家推过临门一脚——保底的存在让概率的博弈有确定性的底线。十连的打包接口复用单抽的循环:十连的结算一次反馈,第 40 抽的保底在十连的中途触发也照常兑付。奖池的轮换按活动期更替:节日的限定奖品进池,池的变更同步概率的公示页,转盘的公信建立在概率的透明上。

验证与监控

转盘的概率回测:单日全服的抽取分布与设计概率的卡方检验,偏差超 2% 回查随机实现;保底的触发率监控,触发率超设计值说明金档概率偏低。

踩坑记录

保底的计数曾经存内存,重启清零后玩家的三十多抽白垫,落库是保底类的铁律。奖池的轮换曾经改了奖品没改概率公示页,玩家按旧公示追责,公示与奖池的同源更新。十连的打包曾经绕过单抽的保底计数,十连不计入 pity 的漏洞被堵。

上线要点

概率的公示页与奖池同源生成,转盘的信任靠透明。转盘币的产出节奏与活动期对齐,日常的细水与活动的洪峰并行。大奖的全服播报带玩家名与奖品名,转盘的喜庆是全服的节目。

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

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

玩法策划夜市集市

【玩法策划】夜市集市:夜间限时摊位的玩法设计

实战应用:用在哪里 白天在线高峰多数人忙着下副本,夜间在线长尾需要一个轻社交场景。夜市集市每晚 20 点到 23 点在比奇中…

2026-09-23 03:58 996 技术组 · 0 阅读
玩法策划契约双人

【玩法策划】灵魂契约:双人契约与契约技能的玩法设计

实战应用:用在哪里 好友系统的互动停留在点赞送花,缺一个紧密绑定的玩法。灵魂契约让两位玩家缔结契约:同图作战时共享契约等级带…

2026-09-23 03:58 996 技术组 · 0 阅读
案例复盘限购商城

【案例复盘】限购被薅:商城限购遭脚本批量套利的复盘

实战应用:用在哪里 新手礼包一元宝一件每人限购一次,定价本意是福利,结果被脚本注册的两千个小号搬空四千万金币等值的物资。限购…

2026-09-23 03:58 996 技术组 · 0 阅读
运维发布值班SOP

【运维发布】值班手册:告警响应的 SOP 清单

实战应用:用在哪里 新值班凌晨三点遇到登录白屏,翻文档翻了小半个钟头才找到处置步骤。值班手册把常见故障的处置步骤结构化:每条…

2026-09-23 03:58 996 技术组 · 0 阅读
界面UI字体渲染

【界面UI】字体渲染:中文字体的动态库与内存

实战应用:用在哪里 中文字库包含三万多个字符,完整字体包 30MB,低端机加载慢还吃内存。字体渲染方案把字库分成两档:常用 …

2026-09-23 03:58 996 技术组 · 0 阅读
前端接口副本入口

【前端接口】副本入口面板:次数余量与重置倒计时实现

实战应用:用在哪里 经验副本每天限进五次,玩家老问“我还能进几次”。副本入口面板把次数余量与重置倒计时直接挂在入口按钮旁:余…

2026-09-23 03:58 996 技术组 · 0 阅读