【游戏】
一、规则机制
线上事故:玩家手滑把稀有装备当杂件一键分解,客服追档也找不回——背包缺一层"贵重物品别动我"的锁。背包锁立三条:品质或评分达到门槛的物品可上锁,上锁后分解、出售、丢弃一律拦截并提示先解锁;解锁需二次确认,防解锁本身也变手滑;批量操作自动跳过锁件,其余照常处理。锁状态随物品存档,转移、交易后锁随价值判断重新评估。
二、错误写法
-- 错误:清包不查锁,稀有件一并清掉
function clearBag(p)
for slot, it in pairs(bag) do
removeBag(p, slot)
end
end
三、正确写法
local function tryDiscard(p, slot)
local it = bag[slot]
if it == nil then return end
if it.locked then
showTip(p, "该物品已上锁,请先解锁")
return
end
showConfirm(p, "确认丢弃?", function()
removeBag(p, slot)
end)
end
四、边界处理
上锁件分解出售丢弃三路全拦;批量操作跳过锁件;解锁二次确认;锁状态随档保存。
五、FAQ
问:什么物品建议上锁?
答:评分或品质达到门槛的,门槛走配置。
问:批量整理会动锁件吗?
答:不会,整理与批量丢弃都跳过锁件。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【语法算法】 闭包工厂的本质就这一行: 外层函数接收配置,返回一个闭包——闭包捕获配置,后续调用使用捕获的配置——闭包工厂的…
【语法算法】 闭包工厂的本质就这一行: 外层函数接收配置,返回一个闭包——闭包捕获配置,后续调用使用捕获的配置——闭包工厂的…
【语法算法】 泛型 for 的四种形态就这两行: 泛型 for 的四种形态覆盖了 Lua 所有的遍历需求——从无序遍历到有序…
【语法算法】 string.find 的起始偏移就这一行: 第三个参数 init 是搜索的起始偏移——从字符串的第 init…
【语法算法】 CPU 时间和墙钟时间的分界就这两行: os.clock 返回 CPU 时间——程序实际占用处理器的秒数——o…
【语法算法】 元方法 __unm 的触发就这一行: 对带 __unm 的表做一元负号操作 -t 时,Lua 调用 __unm…