行会日常任务十年如一日是同三件事,老成员做麻了,新人做懵了。行会任务大厅改成自选池:每天刷出八个任务,成员从中自选三个完成,任务类型覆盖战斗、采集、社交、后勤,不同职业与在线时长都能凑出自己的组合。选择权给玩家,活跃度还给自己。
每日重置刷出八选三的任务池:任务按类型带不同积分权重,选定后锁定当日不可更换;未选满三个不显示完成入口,防止挑肥拣瘦到半夜。示例代码如下:
-- 任务大厅:自选池刷新
local player = class(actor)
local POOL = {
{name = "讨伐三十只沃玛战士", pts = 20},
{name = "捐献黑铁矿石二十块", pts = 15},
{name = "带一名新人完成首杀", pts = 25},
{name = "参与行会运镖一趟", pts = 20},
}
local function lockDailyChoice(player, picks)
if #picks ~= 3 then
sendmsg(player, 1, 0, "请恰好选择 3 个任务。")
return
end
for i, idx in ipairs(picks) do
setplayvar(player, "HUMAN", "DailyTask" .. i, POOL[idx].name, true)
end
sendmsg(player, 1, 0, "今日任务已锁定,完成后到大厅结算。")
end
任务完成各得积分,周积分累计兑换行会勋章与贡献;连续七天完成三任务额外获得全勤礼盒,积分与行会基金的周产出挂钩,个人活跃反哺行会建设。示例代码如下:
-- 任务积分:周结算
local player = class(actor)
local function weeklySettle(player, weekPts)
setplayvar(player, "HUMAN", "WeekPts", 0, true)
if weekPts >= 300 then
giveitem(player, "行会勋章", 2)
sendmsg(player, 1, 0, "周积分 " .. weekPts .. ",获得行会勋章 2 枚。")
elseif weekPts >= 150 then
giveitem(player, "行会勋章", 1)
sendmsg(player, 1, 0, "周积分 " .. weekPts .. ",获得行会勋章 1 枚。")
end
end
验证三条链路:自选三锁定后不可换、积分按权重正确累计、周结算档位与全勤礼盒逐项到账;任务池刷新跨天不重复昨日组合。数据侧盯两个指标:任务完成率与类型选择分布,某类任务选择率超过六成说明权重失衡,下调积分引导分流;连续四周无人选择的任务下架重设计,大厅的活力来自选择的真实感。
自选曾允许随时更换,玩家挑到只剩最简单的三个,锁定机制是配额感的前提。积分权重最初平均,讨伐类性价比碾压社交类,两周后没人做社交任务,权重随参与率动态微调。周结算曾漏发全勤礼盒,跨周边界完成的第三单没计入,按完成时间戳归属周次,一切跨周期结算都要明确定义归属规则。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会日常任务十年如一日是同三件事,老成员做麻了,新人做懵了。行会任务大厅改成自选池:每天刷出八个任务,成…
实战应用:用在哪里 为了冲季度在线峰值,一周内同时开了双倍经验、掉落翻倍、充值返利三场活动,结果金币产出是平日六倍,裁决之杖…
实战应用:用在哪里 师徒系统的奖励散在多个环节,徒弟不知道出师还差什么,师傅不知道带徒收益几何。师徒面板把出师进度、五项师门…
实战应用:用在哪里 法师的终极愿景是流星火雨:天空落下火雨,范围内所有敌人同时受击,视觉与数值都是全服焦点。触发设计要处理三…
实战应用:用在哪里 攻城战两个月才一次,新会长连城门在哪都要找半天。城战演习把攻城流程拆成每周一次的无奖励演练:地图、门禁、…
实战应用:用在哪里 角色变量是隐形的存储:每个系统都往里塞数据,没人记得清场,一年后单个角色的变量膨胀到上万字符,存档变慢、…