老玩家重建小号最烦的就是不可跳过的新手引导。章节引导方案:主线每个章节的过场对话提供跳过按钮,已完成的章节在任务面板提供回看入口,跳过与回看都有,新玩家与老玩家各取所需。
已完成过一次章节的账号在重看时显示跳过按钮,点击跳过直接快进到章节尾的奖励发放。actor数据由服务端校验资格,前端展示按钮。
local function showSkipBtn(chapterId, isRepeat)
if isRepeat then
GUI:setVisible(skipBtn, true)
GUI:addOnClickEvent(skipBtn, function()
SL:SendNetMsg(9920, { ch = chapterId })
GUI:Win_Close("story_dialog")
end)
else
GUI:setVisible(skipBtn, false)
end
end
任务面板的「剧情回顾」入口展示已完成章节的列表,点选章节重播对话与过场,回顾不影响当前进度。actor是字符串,转对象后请求回放数据。
GUI:addOnClickEvent(reviewBtn, function()
SL:SendNetMsg(9921, { ch = curChapter })
end)
SL:RegisterLuaNetMsg(9922, function(data)
GUI:Win_Open("story_dialog")
GUI:setText(dialogText, data.text)
end)
首次不可跳过、重看可跳过、回看不改进度三条路径验证;跳过后奖励的正常发放核对。埋点跳过按钮的使用率,跳过率超过七成说明该章节的对话节奏需要精简。
isRepeat的判断依据是服务端的章节完成记录,前端本地判断会被清档小号绕过,跳过资格以服务端为准。跳过请求发出后对话界面立即关闭,服务端的奖励结算异步到达时用弹窗补发提示,静默发奖励玩家会以为跳过=没奖励。回看重播的对话文本量大时做分段加载,全量下发会撑爆移动端内存。跳过按钮的位置放在对话框右上角,与「继续」按钮保持距离防误触。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
设计初衷 金币经济管打怪产出,元宝经济管充值产出,两套账混不得。元宝端的健康指标只有一条:月结余率——玩家账户里躺着不动的元…
底层原理 属性面板、状态栏这类界面的数据有一个统计特征:绝大多数字段绝大多数帧都不变。全量下发把 40 个字段每秒推 30 …
设计初衷 竞技玩法的留存命门在段位:赢得有奔头、输得有台阶。数值目标三条:强者上分快(胜强者的收益高于虐菜)、连败不劝退(保…
设计初衷 商城定价不是拍脑袋标价:礼包的每一档都在回答"这个价位玩家买到什么感觉"。数值目标三条:低价档转化(6 元档是入门…
业务场景 双倍经验卡是商城常青款,但散装写法的问题成堆:用了卡不知有没有生效、到期不恢复、连吃两张直接把第一张的时长覆盖没了…
底层原理 table.sort 的底层是不稳定排序:两个比较键相等的元素,谁前谁后取决于内部划分与元素初始位置,输入顺序稍变…