师门贡献的月度结算要让玩家的每一分付出都有据可查:每日捐献与任务贡献累计为月度贡献,月底按累计值发放阶梯礼包,结算后贡献清零进入新月,结算数据存档备查。
捐献与任务完成时按贡献值累加月键,月键按年月拼接自然分月。actor是字符串,转对象后累加存档。
local function addContribution(actor, pts)
local player = class(actor)
local key = "SMC_" .. os.date("%Y%m")
local cur = tonumber(getplayvar(actor, 2, key) or "0") + pts
setplayvar(actor, "HUMAN", key, cur, 1)
setplayvar(actor, "HUMAN", "SMC_CUR", cur, 1)
end
月底触发结算按贡献阶梯发礼包,五千分一档、一万分二档、两万分三档,发放后清零进入新月。actor是字符串,转对象后结算。
local function monthlySettle(actor)
local player = class(actor)
local cur = tonumber(getplayvar(actor, 2, "SMC_CUR") or "0")
if cur >= 20000 then
sendmail(actor, 0, "师门月度贡献三档", "感谢付出", "至尊贡献礼包|1")
elseif cur >= 10000 then
sendmail(actor, 0, "师门月度贡献二档", "感谢付出", "高级贡献礼包|1")
elseif cur >= 5000 then
sendmail(actor, 0, "师门月度贡献一档", "感谢付出", "贡献礼包|1")
end
setplayvar(actor, "HUMAN", "SMC_CUR", 0, 1)
end
阶梯发放的三档边界、清零重置、贡献累加守恒三条路径验证。上线后看各档的月度达成率,三档达成率超过三成说明贡献产出偏高,比例失调会稀释高档礼包的稀缺感。
SMC_CUR与月键是双键联动,跨月零点结算时双键一起清零,漏清一个月键会出现跨月贡献叠加。月度结算的触发用月首日首个登录补发,离线玩家的结算在下次登录时补发,不能在零点全员在线结算。贡献礼包走邮件防爆包,月度礼包的价值梯度要拉开,一档和三档只差一颗药的梯度没人冲榜。贡献值存档要写双份防覆盖,月度结算的竞态在月初高峰期集中爆发。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会等级是行会玩法的地基:建筑上限、商店货架、活动资格全部挂在等级上。行会经验与等级成长框架把升级路径做…
实战应用:用在哪里 行会走过两年,第一次拿下沙巴克、第一位满级成员、最强的一次攻防战,这些瞬间散落在聊天记录里无人记得。行会…
实战应用:用在哪里 两服合服时允许玩家自由抢注重名角色,结果原服老玩家“至尊战神”的名字被另一服新号抢先注册,老玩家两年的社…
实战应用:用在哪里 热门行会一天几十份入会申请,逐条点开看效率极低还容易漏人。行会申请列表把申请铺成可批量操作的清单:每行显…
实战应用:用在哪里 炼狱回廊是高端玩家的试炼场:十层回廊逐层深入,每下一层全属性递减百分之五,越往深处怪物越强、自己越弱,奖…
实战应用:用在哪里 本服押镖产出稳定但缺乏刺激,高战玩家押镖像散步。跨服镖局把押运拉到跨服边境:路线穿越两服交界的无主之地,…