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

【界面UI】拍卖行界面:出价流程与截拍提醒

2026-09-21 21:15 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本界面UI交易系统

实战应用:用在哪里

拍卖行的出价是一场与时间的博弈:出价的按钮、倒计时的紧迫、截拍瞬间的悬念——拍卖界面的要点是出价的流程、倒计时的呈现与截拍提醒的即时性,博弈的体验一半在界面的反馈里。

出价的流程

lua
---拍卖行的出价:加价规则与提交
AuctionUI.item = nil

function AuctionUI.show(item)
    AuctionUI.item = item
    GUI:Text_Create(AuctionUI.win, "cur", 10, 8, 14,
        "#FFD700",
        "当前出价:" .. AuctionUI.thousand(item.price))
    local btn = GUI:Button_Create(AuctionUI.win, "bid",
        10, 160)
    GUI:Button_setTitleText(btn, "加价 " ..
        AuctionUI.thousand(item.step))
    GUI:addOnClickEvent(btn, function()
        local newPrice = AuctionUI.current + item.step
        SL:SendNetMsg(MSGID.AUCTION_BID, item.id,
            newPrice, 0, "")
    end)
end

出价的加价按固定的步长:每次加价 1000 金币,按钮的文案直接写明下一口的价格——出价的决策不需要心算。出价的提交带服务器的校验:出价必须高于当前价一个步长、截拍后出价无效、金币的冻结在出价时执行(被反超即解冻退还)——拍卖的资金纪律在服务器的闸口把关。出价被反超的即时反馈:自己的出价被顶掉的瞬间提示「已被反超,当前价 XXXX」,博弈的信息对等是竞拍的公平。

截拍的提醒

lua
---截拍的倒计时:30 秒内的红色预警
SL:RegisterLuaNetMsg("AUCTION_END", function(data)
    local d = SL:JsonDecode(data)
    if not d then return end
    if d.winner == SL.myName() then
        SL:ShowSystemTips("恭喜!成功拍得 " .. d.item)
        SL:PlayAudio(2060)
    elseif AuctionUI.joined[d.id] then
        SL:ShowSystemTips("惜败," .. d.winner ..
            " 以 " .. d.price .. " 金币截拍")
    end
end)

---截拍前的临门提醒
SL:Schedule(1.0, function()
    local item = AuctionUI.item
    if not item then return end
    local left = item.endAt - os.time()
    if left == 30 then
        SL:ShowSystemTips("拍卖还剩 30 秒!")
    end
end)

截拍的提醒按角色分场景:拍得的恭喜加音效、参与后惜败的礼貌告知——两种结局都给明确的反馈,沉默的失败是体验的暗坑。截拍前的 30 秒提醒把犹豫的玩家拉回竞拍,倒计时的红色预警在界面上同步跳动。拍卖的结果页保留出价的流水:谁在何时出了多少,竞拍的全过程可回溯——拍卖的公信在流程的透明。加价的延时规则:截拍前 10 秒内的出价自动延长 15 秒(反狙击的惯例),收尾十秒的争夺才有戏剧性。

验证与监控

出价的响应延迟监控,出价到确认的回环超 500 毫秒即体验的告警;截拍的时序准确性测试:服务器的截拍时刻与客户端的倒计时误差不超 200 毫秒。

踩坑记录

加价的步长曾经可以自定义小数,0.01 金币的恶意加价刷屏,步长的固定与校验修复。截拍的判定曾经按客户端的时间,改本地时钟提前截拍的漏洞,时刻的权威收口服务器。提醒的音效曾经不分场景,惜败也放庆祝音效,反馈的音效按结局分轨。

上线要点

拍卖的截拍延时规则与步长进配置,竞拍的节奏是运营的调节阀。拍卖的专场与流拍的处理公示:流拍的物品退还卖家、流拍的次数不限但手续费不退。出价的金币冻结的解冻即时到账,资金的占用感降到最低。

作者履历与出处

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

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

最新技术文章 · 实战干货

LATEST ARTICLES

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

框架设计装备系统

【框架设计】幸运值机制:强化失败的隐性补偿

实战应用:用在哪里 强化连败七次是什么体验?幸运值机制给失败的玩家一个隐性的承诺:每次失败累加幸运值,幸运值越高下一次的成功…

2026-09-21 21:15 996 技术组 · 0 阅读
框架设计PK系统

【框架设计】仇人系统:仇人列表与复仇追踪

实战应用:用在哪里 被偷袭死掉的怨气需要一个出口:仇人系统记录对自己下过杀手的人,仇人的位置在列表里可见,复仇的机制让恩怨有…

2026-09-21 21:15 996 技术组 · 0 阅读
界面UI交易系统

【界面UI】拍卖行界面:出价流程与截拍提醒

实战应用:用在哪里 拍卖行的出价是一场与时间的博弈:出价的按钮、倒计时的紧迫、截拍瞬间的悬念——拍卖界面的要点是出价的流程、…

2026-09-21 21:15 996 技术组 · 0 阅读
网络通信交易系统

【网络通信】面对面交易:握手、锁定与确认的协议

实战应用:用在哪里 面对面的交易是传奇最经典的交互:两人面对面、各自放入物品与金币、双方确认后成交。交易的协议要点是会话的建…

2026-09-21 21:15 996 技术组 · 0 阅读
性能调优邮件系统

【性能调优】批量邮件:活动奖励的分批投递

实战应用:用在哪里 活动结束给 3 万玩家发奖励:一次性群发让邮件表瞬间多 3 万行、投递的队列堵塞正常的通信。批量邮件的分…

2026-09-21 21:15 996 技术组 · 0 阅读
安全加密数据完整性

【安全加密】日志防篡改:哈希链与异地备份

实战应用:用在哪里 审计日志的价值在于不可抵赖:被改过的日志比没有日志更危险——纠纷的追溯、内部的追责都建立在「日志没被动过…

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