【游戏】
一、业务场景
帮战前买药自理,新人负担重、老号囤药多,药价波动还被人倒卖赚差价。帮会医馆上线:帮贡支付诊金,金创药按帮会等级折扣供应,每日限购 5 瓶,药品绑定,倒卖空间被连根截断。
二、实现方案
诊金购药(折扣随帮会等级):
local DISCOUNT = {1.0, 0.9, 0.8, 0.7}
local function buyMedicine(actor, guild)
local lv = getsysvar("gLevel_" .. guild) or 1
local price = math.floor(200 * DISCOUNT[lv])
if (getplayvar(actor, "contribute") or 0) < price then
sendmsg(actor, 1, "帮贡不足,诊金 " .. price)
return
end
local n = getplayvar(actor, "mediN") or 0
if n >= 5 then
sendmsg(actor, 1, "今日限购 5 瓶")
return
end
setplayvar(actor, "contribute",
(getplayvar(actor, "contribute") or 0) - price)
setplayvar(actor, "mediN", n + 1)
giveitem(actor, 8801, 1)
end
限购查询(面板核对余量):
local function queryMedi(actor)
sendmsg(actor, 1, "今日已购 "
.. (getplayvar(actor, "mediN") or 0) .. "/5 瓶")
end
三、边界处理
限购按自然日重置;帮会升级后折扣即时生效;药品绑定不可转卖。
四、引擎验证
一级帮诊金 200,四级帮降到 140;当日第 6 次购药被拦;药品尝试转卖被绑定校验拦截。
五、FAQ
问:非本帮能买吗?
答:不能,医馆仅服务本帮。
问:帮贡怎么积累?
答:捐献与帮会活动均可获得。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一、一次本可避免的差评 PC 版上线第六天,应用商店冒出一条一星评论:"背包都不能滚轮翻,什么年代了。"复现一…
【游戏功能】 一、先抛一个坑 同样挂一层状态,为什么中毒的怪照跑不误、冰冻的怪却像被拔了电源?再进一步:冰冻到点的瞬间,怪为…
【语法算法】 一、一个不报错的报错 昵称限六个字, str:sub(1, 12) 截前十二个字节——测试服全绿,海外服却冒出…
【语法算法】 一、一行代码的魔法 package.loaded["game/mediator/bag"] = nil ——把…
【游戏功能】 一、一次高帧率翻车 测试服反馈:火球术在 60 帧的旧机器上百发百中,换 144 帧电竞屏,弹道经常从目标身上…
【游戏】 一、规则机制 线上事故:玩家收藏了心水商品等降价,降价了却没人告诉,便宜被别人捡走,差评点名"收藏功能是摆设"。关…