【游戏】
一、业务场景
帮会驻地的扫地、喂马、擦告示牌没人管,会长指派一次就有人翻脸。杂役岗位上线:每日三个勤务岗位由成员自愿认领,认领即占岗,完工发 200 金币工钱,两小时不完工自动释放。
二、实现方案
核心一行:认领即占岗,完工结算清岗。
认领岗位(占岗防重复):
local CHORES = {"扫地", "喂马", "擦告示牌"}
local function takeChore(actor, idx)
local holder = getsysvar("chore_" .. idx) or ""
if holder ~= "" then
sendmsg(actor, 1, "岗位已被 " .. holder .. " 认领")
return
end
setsysvarex("chore_" .. idx, getplayvar(actor, "NAME"))
sendmsg(actor, 1, "认领成功:" .. CHORES[idx])
end
完工结算(核对认领人发工钱):
local function finishChore(actor, idx)
if getsysvar("chore_" .. idx)
~= getplayvar(actor, "NAME") then
sendmsg(actor, 1, "这不是认领的岗位")
return
end
setsysvarex("chore_" .. idx, "")
giveitem(actor, 9021, 200)
sendmsg(actor, 1, "完工,工钱 200 金币已发")
end
三、边界处理
每人每日限领一个岗位;认领超 2 小时未完工自动释放;工钱从帮会资金出账。
四、引擎验证
被他人认领的岗位无法重复认领;完工后岗位清空可再被认领;超时未完工自动开放。
五、FAQ
问:杂役是职位吗?
答:不是,临时岗位当日有效。
问:能代做吗?
答:不能,完工核对认领人。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【语法算法】 一、一个不报错的偏移 点击地图走路,人物落点总是往右下偏半格;技能点地释放,特效又偏左上小半格。控制台干干净净…
【语法算法】 一、一行代码拆解 pos = pos + (target - pos) math.min(1, k dt) —…
【游戏功能】 一、一次被黑暗淹没的上线 夜间版本上线当晚,客服工单一半是"地图全黑看不见路",另一半是"火把一多就卡成幻灯片…
【游戏功能】 一、先抛一个坑 为什么世界BOSS的血条会一段一段换颜色?打空一段才掉下一段,最后一段永远是红色?如果只是把总…
【游戏功能】 一、一次本可避免的差评 PC 版上线第六天,应用商店冒出一条一星评论:"背包都不能滚轮翻,什么年代了。"复现一…
【游戏功能】 一、先抛一个坑 同样挂一层状态,为什么中毒的怪照跑不误、冰冻的怪却像被拔了电源?再进一步:冰冻到点的瞬间,怪为…