【游戏】
一、规则机制
隐蔽的坑:技能书一点就学,学错职业的书直接消失,书没了技能也没学到——消耗与学习之间没有确认闸。技能书使用三道闸:先校验职业与等级门槛,不符拦截提示;通过后弹确认框展示将学技能;确认才消耗书并写入技能栏。拦截与确认阶段都不消耗道具,误点零损失。
二、错误写法
-- 错误:一点即消耗,学错不退
function useBook(p, bookId)
consumeItem(p, bookId)
learnSkill(p, BOOKS[bookId].skill)
end
三、正确写法
local function useBook(p, bookId)
local info = BOOKS[bookId]
if myClass(p) ~= info.cls
or myLevel(p) < info.need then
showTip(p, "职业或等级不符,无法学习")
return
end
showConfirm(p, "学习 " .. info.name .. "?", function()
consumeItem(p, bookId)
learnSkill(p, info.skill)
showTip(p, "技能学习成功")
end)
end
四、边界处理
职业与等级门槛前置;确认框不消耗道具;学习成功即时入栏。
五、FAQ
问:确认框会消耗道具吗?
答:不会,确认之后才消耗。
问:门槛不够能强学吗?
答:不能,门槛前置拦截。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 幽灵突刺的穿透判定就这一行: 人变成半透明状态穿过狼怪身体——幽灵突刺的全部机制就这一行。穿过的瞬间造成伤害,…
【游戏功能】 兽王踏地的波环判定就这一行: 波环半径扫到脚下二十像素之内就命中——兽王踏地的全部判定就这一行。跳过了没事,没…
【游戏功能】 毒液弹幕的扇形判定就这一行: 五个发射角度构成一个扇形——中间正、两侧偏,弹幕的覆盖形状全在这组角度里。毒液弹…
【游戏功能】 岩壳的碎裂判定就这一行: 岩壳扣到零,壳碎人裸——岩壳护体的全部机制就这一行。壳在减半,壳碎翻倍,八秒后再附—…
【游戏功能】 狼牙旋的转圈判定就这一行: 狼怪转三圈连抓——狼牙旋的全部机制就这一行。可这一行的中间藏着一个给玩家的半拍空档…
【游戏功能】 裂地爪的裂缝判定就这一行: 裂缝从玩家脚前六十像素裂到狼怪脚下偏后二十像素——裂地爪的全部几何就这一行。裂缝里…