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

【前端接口】师徒面板:出师进度与奖励展示的前端实现

2026-09-23 14:43 作者:996 技术组 996引擎Lua教程传奇脚本前端接口师徒出师面板

实战应用:用在哪里

师徒系统的奖励散在多个环节,徒弟不知道出师还差什么,师傅不知道带徒收益几何。师徒面板把出师进度、五项师门任务完成度、可领奖励铺在一页:进度条走到头一键出师,奖励可领的红点自动点亮。前端重点是进度数据的实时同步与红点逻辑。

进度渲染:五项任务与进度条

出师需完成五项师门任务各三次,面板按任务逐行渲染完成度,底部总进度条聚合五项均値;有可领奖励时行尾亮红点。示例代码如下:

lua
-- 师徒面板:进度渲染
local panel = GUI:GetParent("MainTop")
local TASKS = {"跑图", "强化", "组队", "行会", "副本"}
local rows, redDots = {}, {}
local function renderProgress(taskDone, claimable)
    local total = 0
    for i = 1, 5 do
        local done = math.min(3, taskDone[i] or 0)
        total = total + done
        if rows[i] == nil then
            rows[i] = GUI:Text_Create(panel, "Task" .. i, 10, (i - 1) * 30, "", 300, 26)
        end
        GUI:setText(rows[i], TASKS[i] .. " " .. done .. "/3")
        if claimable[i] == 1 then
            if redDots[i] == nil then
                redDots[i] = GUI:Text_Create(panel, "Dot" .. i, 310, (i - 1) * 30, "●", 20, 26)
            end
            GUI:setText(redDots[i], "●")
        end
    end
    SL:ShowSystemTips("出师总进度 " .. math.floor(total / 15 * 100) .. "%")
end

出师结算:一键出师与奖励回执

五项全部完成后面板亮出一键出师按钮,确认后发送出师请求;回执成功展示师徒双方奖励并关闭面板,失败按未完成项提示缺口。示例代码如下:

lua
-- 出师结算:一键与回执
local player = class(actor)
local graduateBtn = GUI:Button_Create(panel, "Graduate", 120, 180, "btn_graduate")
GUI:addOnClickEvent(graduateBtn, function()
    SL:SendNetMsg(9983, "graduate")
end)
local function onGraduateAck(player2, msgId, w1, w2, w3, sMsg)
    if w1 == 1 then
        SL:ShowSystemTips("出师成功!师徒双方奖励已发放")
        GUI:Win_Close("MentorPanel")
    else
        SL:ShowSystemTips("还差 " .. w2 .. " 项任务未完成:" .. sMsg)
    end
end
SL:RegisterLuaNetMsg(9984, onGraduateAck, nil)

验证与监控

联调覆盖:五项逐项完成时进度条推进、红点只在可领时出现、一键出师后面板关闭且奖励到账、缺项出师被拒并提示缺口。断线重连后进度与红点从服务端回执恢复。上线后看两个数:面板打开率与出师完成率,出师率低于五成检查任务难度曲线;红点误亮的反馈出现时优先核对可领状态的服务端判定。

踩坑记录

进度曾由前端累计,重装客户端后进度清零引发重复领奖,进度以服务端为准、前端纯展示。红点判定放前端算,服务端活动配置一改红点全亮,判定回收到回执字段。出师按钮曾在未满时也可点击,失败提示太笼统被连环点击,按钮状态与缺口明细同时下发,交互的每个状态都要有对应的视觉反馈。

作者履历与出处

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

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

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

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

玩法策划任务大厅日常自选池

【玩法策划】行会任务大厅:日常任务自选池的设计

实战应用:用在哪里 行会日常任务十年如一日是同三件事,老成员做麻了,新人做懵了。行会任务大厅改成自选池:每天刷出八个任务,成…

2026-09-23 14:43 996 技术组
案例复盘活动叠加产出复盘

【案例复盘】活动叠加:多活动同开的产出失控复盘

实战应用:用在哪里 为了冲季度在线峰值,一周内同时开了双倍经验、掉落翻倍、充值返利三场活动,结果金币产出是平日六倍,裁决之杖…

2026-09-23 14:43 996 技术组
前端接口师徒出师面板

【前端接口】师徒面板:出师进度与奖励展示的前端实现

实战应用:用在哪里 师徒系统的奖励散在多个环节,徒弟不知道出师还差什么,师傅不知道带徒收益几何。师徒面板把出师进度、五项师门…

2026-09-23 14:43 996 技术组
引擎触发流星火雨范围技能伤害

【引擎触发】流星火雨:全屏范围技能的伤害触发设计

实战应用:用在哪里 法师的终极愿景是流星火雨:天空落下火雨,范围内所有敌人同时受击,视觉与数值都是全服焦点。触发设计要处理三…

2026-09-23 14:43 996 技术组
玩法策划城战演习攻城演练

【玩法策划】城战演习:无奖励攻城演练的规则设计

实战应用:用在哪里 攻城战两个月才一次,新会长连城门在哪都要找半天。城战演习把攻城流程拆成每周一次的无奖励演练:地图、门禁、…

2026-09-23 14:43 996 技术组
数据存储变量水位治理

【数据存储】变量水位:角色变量体积的监控与治理

实战应用:用在哪里 角色变量是隐形的存储:每个系统都往里塞数据,没人记得清场,一年后单个角色的变量膨胀到上万字符,存档变慢、…

2026-09-23 14:43 996 技术组