【游戏】
一、业务场景
帮会缴获的战利品堆在仓库无人问津,分配全凭会长心情,账目说不清。战利品陈列室上线:缴获物品编号入柜陈列,成员消耗贡献点竞拍领取权,价高者得,账目每周公示。
二、实现方案
入柜登记(编号与底价):
local function lootShelf(actor, guild, lootId, base)
local n = (getsysvar("lootN_" .. guild) or 0) + 1
setsysvarex("lootN_" .. guild, n)
setsysvarex("loot_" .. n .. "_" .. guild, lootId)
setsysvarex("lootBase_" .. n .. "_" .. guild, base)
sendmsg(actor, 1, "战利品已入柜 " .. n .. " 号")
end
竞拍领取(出价领先锁定):
local function bidLoot(actor, guild, slot, offer)
local base = getsysvar("lootBase_" .. slot
.. "_" .. guild) or 0
local top = getsysvar("lootTop_" .. slot
.. "_" .. guild) or 0
if offer < base or offer <= top then
sendmsg(actor, 1, "出价需高于当前最高 "
.. math.max(base, top))
return
end
setsysvarex("lootTop_" .. slot .. "_" .. guild, offer)
setsysvarex("lootTopBy_" .. slot .. "_" .. guild,
getplayvar(actor, "NAME"))
sendmsg(actor, 1, "当前领先出价 " .. offer)
end
三、边界处理
竞拍截止后价高者领取,流拍物品转入储备;出价冻结贡献点防赖账;陈列室账目每周公示。
四、引擎验证
底价 500 的物品被出价 800 领先锁定;被更高出价反超后原出价自动解冻;截止后最高出价者到账领取。
五、FAQ
问:与个人展示柜的区别?
答:展示柜是个人藏品,陈列室是帮会缴获竞拍。
问:能私下交易吗?
答:不能,全部走竞拍。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一、先抛一个坑 金钟罩为什么是金色的而不是透明色的?因为护盾的表现要传递两层信息:一是"我有盾",二是"盾还剩…
【游戏功能】 一、一行代码拆解 SL:SetActorVelocity(id, vx + tangent, vy + cen…
【游戏功能】 一、一个从头顶飞过的治疗弹 治疗波弹射的治疗光珠从法师飞向神兽再弹回法师,光珠沿二次贝塞尔弧线飞行——弧线的拱…
【游戏功能】 一、一行代码拆解 ctx.arc(cx, cy, r, startAngle, endAngle) ——技能冷…
【游戏功能】 一、先抛一个坑 引怪为什么是坦克的职业本能而不是随便哪个近战都能做的?因为引怪的核心不是"打第一下"而是"控制…
【游戏功能】 一、一个被忽略的复活 复活类玩法的首版,玩家死亡后画面直接切到复活选择界面——没有死亡动画,没有倒计时,没有"…