【游戏】
一、业务场景
冬季帮战伤员增多,药品价格上涨三成,新人买不起药只能硬扛。义诊活动上线:每周三晚医师坐堂两小时,伤员凭帮会身份免费包扎,每人限领 2 份金创药。
二、实现方案
义诊领药(时段与次数双校验):
local function freeClinic(actor)
local t = os.date("*t")
if t.wday ~= 4 or t.hour < 20 or t.hour >= 22 then
sendmsg(actor, 1, "义诊为周三 20 到 22 点")
return
end
local n = getplayvar(actor, "clinicN") or 0
if n >= 2 then
sendmsg(actor, 1, "本场限领 2 份")
return
end
setplayvar(actor, "clinicN", n + 1)
giveitem(actor, 9501, 1)
end
坐堂开启(触发器开场播报):
local function openClinic()
sendcentermsg(0, "义诊开启:医师坐堂 2 小时,免费包扎")
end
三、边界处理
义诊仅限帮会成员;每人限领 2 份金创药;场次外领药被时间校验拦下。
四、引擎验证
周三 20 点半领到 2 份金创药;第 3 份被拦;周四领药被时间校验拒绝。
五、FAQ
问:义诊能看病吗?
答:只包扎发药,治病找药店。
问:非帮众能领吗?
答:不能,核对帮会身份。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一、先抛一个坑 暗影突袭为什么不能做成"消失→出现在怪身后→砍一刀"三步走?因为玩家看到的不是三步,是"一眨眼…
【游戏功能】 一、一个冻了个寂寞的冰触 冰封之触首版测试,冰锥命中后怪确实被冻住了——但玩家反馈"冻了像没冻"。冰壳做出来了…
【游戏功能】 一、一行代码拆解 P.dashDir = M.x = P.x ? 1 : -1 ——踏前斩的全部启动逻辑就这一…
【游戏功能】 一、一个差半格的转盘 大转盘抽奖的首版测试,指针差半格没对准奖品中心就停了——视觉上明明指着太阳水,结算却给了…
【游戏功能】 一、一行代码拆解 P.dashDir = M.x = P.x ? 1 : -1 ——踏前斩的全部启动逻辑就这一…
【游戏功能】 一、一个被当成装饰品的斩气 鬼斩首版的紫光弧线确实好看——但测试说"这个紫光是什么意思?我中招了吗?怪掉血了吗…