宠物放生是单击操作,误触把练到 60 级的宝宝放生了的申诉每周超过 20 单,客服只能手工补偿。两阶段放生封装:第一次点击只挂放生锁并开 30 秒确认窗,玩家在窗内再次确认才真正执行;返还材料按宠物等级折算,60 级宠物返还 18 瓶超级神水,误放率降到接近 0。
两阶段放生:申请锁与确认执行分离。示例代码如下:
local function petReleaseAsk(actor)
actor = getplayerbyname(actor)
local lv = tonumber(getplayvar(actor, "HUMAN", "PetLevel")) or 0
if lv < 1 then
sendmsg(actor, 1, "当前没有可放生的宠物。")
return
end
setplayvar(actor, "HUMAN", "ReleaseLock", lv .. "|" .. os.time(), 1)
setontimer(actor, 12, 30000, 1, 0)
sendmsg(actor, 1, "放生锁已挂,30 秒内再次确认才会执行。")
end
确认执行与超时取消:ontimer12 是定时器 12 的触发入口,30 秒到点自动解锁。示例代码如下:
local function petReleaseConfirm(actor)
actor = getplayerbyname(actor)
local lock = getplayvar(actor, "HUMAN", "ReleaseLock")
if lock == "" or lock == nil then
sendmsg(actor, 1, "没有待确认的放生申请。")
return
end
local lv = tonumber(string.match(lock, "^(%d+)")) or 0
local back = math.floor(lv * 0.3)
if back > 0 then
giveitem(actor, "超级神水", back, 1, "宠物放生返还")
end
setplayvar(actor, "HUMAN", "PetLevel", 0, 1)
setplayvar(actor, "HUMAN", "ReleaseLock", "", 1)
setofftimer(actor, 12)
sendmsg(actor, 1, "放生完成,返还超级神水 " .. back .. " 瓶。")
end
local function ontimer12(actor)
actor = getplayerbyname(actor)
setplayvar(actor, "HUMAN", "ReleaseLock", "", 1)
sendmsg(actor, 1, "确认超时,放生申请已自动取消。")
end
setplayvar(actor, "HUMAN", "ReleaseLock", lv .. "|" .. os.time(), 1) 把宠物等级与申请时间打包落库,确认时按存储等级折算返还。setontimer(actor, 12, 30000, 1, 0) 挂个人定时器 12,30000 毫秒后触发 ontimer12(actor);setofftimer(actor, 12) 在确认执行后拆掉定时器防误触发。giveitem(actor, itemname, num, bind, desc) 第 4 参 1 表示绑定发放,返还材料不可二次流通。
两阶段放生踩过三个坑:一是确认窗内宠物升级,返还数量按申请锁里的旧等级算,玩家少拿 2 瓶神水投诉——锁里必须同时存等级快照,确认时以锁内快照为准并在文案注明;二是玩家下线再上线,个人定时器已被引擎清理但放生锁残留,下一次确认直接执行了三天前的申请,锁内时间戳超过 60 秒即视为过期;三是放生出战中的宠物只清了变量没收回战斗单位,战斗里出现幽灵宠物,执行前要先校验出战位并强制收回。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
设计初衷 攻城战阵亡只有损失:装备掉落、耐久磨损——牺牲没有补偿,行会的伤亡成本全由个人承担,指挥不敢打硬仗。抚恤金设计:攻…
设计初衷 攻城战一触即发,盟友帮会口头答应协防却总是人没到:跨帮支援没有调度与结算机制,人情协防全凭自觉。协防系统设计:盟约…
底层原理 一张地图上 500 棵同款树,每棵存完整的模型数据——重复数据存 500 份。享元模式把不变的部分(模型、贴图)抽…
底层原理 技能系统按"元素×形态"组合:火球冰球乘单体群攻——每加一种元素或一种形态,组合数量乘性增长(4 元素 3 形态 …
设计初衷 稀缺产出(强化石、晋级材料)的供需错位:产出季价格崩盘、断供季价格飞天——剧烈波动伤害生产者与消费者两端。期货交易…
业务场景 驻地巡逻 AI 只会沿固定路线走:玩家摸清路线后绕行如入无人之境。傀儡机关封装:机关傀儡按"巡逻、警戒、袭扰"三态…