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

【后端接口】当铺系统:典当与赎回的定价

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

实战应用:用在哪里

当铺是玩家的应急钱庄:手头紧的时候把裁决之杖当出去换现金,7 天内连本带利赎回。典当的定价是死当与活当的分水岭——赎得回的是活当,赎不回的被当铺吃掉,经济系统的润滑就在这一进一出。

典当的受理

lua

---典当:估价的七折放款
function Pawn.pledge(actor, makeIndex)
    local player = class(actor)
    if not player then return false end
    local item = Pawn.locate(actor, makeIndex)
    if not item then return false end
    local value = Pawn.evaluate(item)
    local loan = math.floor(value * 0.7)
    -- 赎回价:本金加 20% 的利钱
    local redeemPrice = math.floor(loan * 1.2)
    delitembymakeindex(actor, makeIndex)
    giveitem(actor, "金币", loan)
    Pawn.book(actor, item, loan, redeemPrice, os.time() + 7 * 86400)
    sendmsg(actor, 1, "典当放款 " .. loan ..
        " 金币,7 天内 " .. redeemPrice .. " 金币赎回")
    return true
end

典当的定价按估价的七折放款:裁决之杖估价 100 万,当铺立刻给 70 万救急——活当的赎回价是本金的 1.2 倍,20% 的利钱是急用钱的代价。当票的三个要素落库:本金、赎回价、到期时刻,7 天的当期是玩家与当铺的对赌——赎得回装备回来,赎不回装备进死当流拍。估价的依据按市场价的中位数(交易行的参考价),估价的滞后用周期刷新对冲。

赎回与死当

lua

---赎回:到期前的本利结清
function Pawn.redeem(actor, ticketId)
    local player = class(actor)
    if not player then return false end
    local t = Pawn.ticketOf(actor, ticketId)
    if not t then return false end
    if os.time() > t.expireAt then
        sendmsg(actor, 1, "当票已过期,进入死当处理")
        return false
    end
    if not checkitemw(actor, "金币", t.redeemPrice) then
        sendmsg(actor, 1, "金币不足,赎回需 " .. t.redeemPrice)
        return false
    end
    takeitem(actor, "金币", t.redeemPrice, 0, "赎回")
    giveitem(actor, t.itemName, 1)
    Pawn.clearTicket(ticketId)
    sendmsg(actor, 1, "赎回成功:" .. t.itemName)
    return true
end

赎回的校验三重:当票归属、未过期、金币足额,赎回的装备原样归还——当出去的裁决之杖带着当铺的封条回来,属性分毫不差。过期进死当的处理:装备进入当铺的流拍货架,其他玩家可以用略低于市价的价格拍走,死当的流通让当铺成为二手的市场。赎回的提醒在到期前 24 小时发邮件,救急的玩家不至于忘了赎回而痛失爱刀。

验证与监控

当票的到期分布与死当率的统计,死当率过高说明利钱定价过狠;典当的金额与交易行估价的偏离监控,估价的失准会同时劝退当客与买家。

踩坑记录

估价曾经按商店的售价,商店价与市场价差十倍,估价的锚换成成交中位数。赎回曾经不校验当票的归属,A 的当票 B 来赎走了装备,归属的校验补上。死当的流拍曾经无上限,同一把刀流拍三次价格跌破地板,流拍的次数与降价幅度设限。

上线要点

放款折扣与利钱费率进配置,当铺的经济是服务器的调节阀。死当的货架独立于交易行,二手的折价是急用钱玩家的市场。当票的凭证展示在背包的票据页,账目的清晰减少纠纷。

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

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

玩法策划答题行会

【玩法策划】行会篝火答题:行会社交活动的答题玩法设计

实战应用:用在哪里 行会活动集中在攻城战,日常缺乏轻量社交场景。行会篝火答题做行会固定社交活动:每周三、周日晚在行会驻地点燃…

2026-09-23 05:48 996 技术组 · 0 阅读
玩法策划答题科举

【玩法策划】科举答题:全服答题与殿试排名的玩法设计

实战应用:用在哪里 全服答题活动办过几期,参与的人不少但黏性不足,答完就散。科举答题把答题做成两段式:每天晚八点的乡试答题筛…

2026-09-23 05:48 996 技术组 · 0 阅读
界面UI短语栏聊天

【界面UI】快捷短语栏:战斗场景的快捷消息发送栏实现

n n n 实战应用:用在哪里 n战斗中打字沟通慢且危险,队伍协作靠喊话效率太低。快捷短语栏在屏幕底部提供八条可自定义的战斗…

2026-09-23 05:48 996 技术组 · 0 阅读
引擎触发宝箱龙脉

【引擎触发】龙脉宝箱:整点宝箱刷新与开启奖励的触发设计

n n n 实战应用:用在哪里 n龙脉区域的野外宝箱是散人玩家的每日福利:每逢整点在龙脉区域随机刷新十五个宝箱,分三档给不同…

2026-09-23 05:48 996 技术组 · 0 阅读
网络通信有序性包序

【网络通信】消息有序性:同一玩家的包序保证

实战应用:用在哪里 同一玩家的两条消息走了不同的处理路径,先发的后到,装备穿上的消息比脱下的消息晚处理,面板状态错乱。消息有…

2026-09-23 05:48 996 技术组 · 0 阅读
运维发布日志采样

【运维发布】日志采样:高流量日志的采样降耗设计

实战应用:用在哪里 战斗日志全量打印,一天写满一块硬盘,翻日志像大海捞针。日志采样按类别分策略:错误日志全量保留、行为日志按…

2026-09-23 05:48 996 技术组 · 0 阅读