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

【后端接口】推广返利:邀请注册与积分结算

2026-09-23 17:01 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本

实战应用:用在哪里

推广返利是拉新的发动机:老玩家分享邀请码,新玩家注册填码绑定,老玩家按新玩家的充值获得推广积分。返利的结算链路要经得起对账——积分是能换真东西的,账目差一分都是事故。

绑定与积分的查询

lua

---填码绑定:新玩家绑定邀请人
function Zebra.bind(actor, inviteCode)
    local player = class(actor)
    if not player then return end
    local inviter = Zebra.findByCode(inviteCode)
    if not inviter then
        sendmsg(actor, 1, "邀请码无效")
        return false
    end
    if (player.zy:getzy() or 0) > 0 then
        sendmsg(actor, 1, "已绑定过邀请人")
        return false
    end
    Zebra.relate(inviter, actor)
    sendmsg(actor, 1, "绑定成功,邀请人将获得返利")
    return true
end

---推广积分的余额查询
function Zebra.balance(actor)
    local player = class(actor)
    if not player then return 0 end
    return player.zy:getzy()
end

绑定的三重校验:邀请码存在、被邀请人未绑定过(getzy 的余额判断绑定态)、邀请人与被邀请人非同一账号。player.zy 的 getzy 返回当前的推广积分余额,积分的读写全走框架的推广积分核心,账目的一致性由框架的存储层保证。

返利的结算

lua

---充值触发:按充值额度给邀请人返积分
function Zebra.onCharge(actor, amount)
    local player = class(actor)
    if not player then return end
    local inviter = Zebra.inviterOf(actor)
    if not inviter then return end
    -- 返利比例 10%,封顶 10000 积分
    local back = math.min(math.floor(amount * 0.1), 10000)
    if back <= 0 then return end
    local inviterPlayer = class(inviter)
    if not inviterPlayer then return end
    inviterPlayer.zy:getcommission(back)
    sendmsg(inviter, 1, "推广返利 +" .. back .. " 积分")
end

---积分的扣减:兑换商品时核销
function Zebra.exchange(actor, cost)
    local player = class(actor)
    if not player then return false end
    local balance = player.zy:getzy()
    if balance < cost then
        sendmsg(actor, 1, "积分不足")
        return false
    end
    player.zy:deductPoints(cost)
    return true
end

返利在充值的发货链路里挂钩:被邀请人每充一笔,邀请人按 10% 的比例获得推广积分,单笔封顶 10000 分。getcommission 是返利的入账口,deductPoints 是兑换的核销口——入账与核销走同一套核心,余额的账目自洽。兑换的校验先查余额再扣减,框架的扣减接口自带不足拦截,双层校验让负余额无从产生。积分的兑换商城上架限时称号与稀有坐骑,返利的价值锚定在稀缺的商品上。

验证与监控

返利的发放流水与充值流水的比例监控,返利率的异常抬升提示刷积分的漏洞;自邀(自己邀自己)的设备指纹交叉检测,异常绑定的账号群进风控。

踩坑记录

绑定的关系曾经可重复填写,新号反复绑不同邀请人刷首充返利,绑定态的一次性校验修复。返利的计算曾经用浮点,0.1 倍的精度噪声让积分出现小数,整数化的万分比换算替代。被邀请人的判定曾经只看等级,一个 IP 批量注册的小号集体过检,设备的关联检测补位。

上线要点

返利的比例与封顶进配置,拉新旺季可限时加倍。邀请码的分享带一键复制,分享的动线缩到一次点击。积分兑换的商品按月轮换,返利的吸引力靠货架的持续新鲜。

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

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

引擎触发猪洞七层白野猪巡回

【引擎触发】猪洞七层:白野猪的巡回触发设计

实战应用:用在哪里 猪洞七层的白野猪是中级玩家的过渡首领,巡回触发让它在三层地图间按路线巡逻,而非固定在一个点位被反复蹲守。…

2026-09-23 22:15 996 技术组 · 0 阅读
玩法策划行会目标集体目标达成

【玩法策划】行会目标系统:行会集体目标的设定与达成

实战应用:用在哪里 行会活动零散且缺乏组织性,成员不知道这周行会要做什么。行会目标系统让帮主每周设定行会集体目标(击杀指定首…

2026-09-23 22:15 996 技术组 · 0 阅读
工具链GM审计台审计回放

【工具链】GM 审计台:操作留痕的查询与回放

实战应用:用在哪里 GM 操作的审计曾散落在各系统日志里,追查一次误操作需要跨三个日志文件。GM 审计台将所有 GM 操作集…

2026-09-23 22:15 996 技术组 · 0 阅读
界面UI背包筛选器筛选过滤

【界面UI】背包筛选器:按品质与类型的快速过滤

实战应用:用在哪里 背包一百格塞满后找一件药要翻三页。背包筛选器在背包面板顶部加一排筛选标签:按品质(白绿紫橙)与类型(药品…

2026-09-23 22:15 996 技术组 · 0 阅读
网络通信区域组播组播投递

【网络通信】区域组播:按地图分组的消息投递

实战应用:用在哪里 行会广播、地图公告、活动提醒需要发给特定地图的所有玩家,逐个发送时包量随人数线性增长。区域组播按地图分组…

2026-09-23 22:15 996 技术组 · 0 阅读
运维发布故障分级响应时限

【运维发布】故障分级响应:从P0到P3的处置时限

实战应用:用在哪里 凌晨三点的数据库主从延迟和下午三点的聊天频道延迟,影响的范围和紧急度截然不同,但响应流程曾一模一样。故障…

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