师门成员平日各忙各的,同门之间几乎零交流。师门切磋周把门内切磋变成积分赛:一周内师门成员互相发起切磋,胜负都给积分,参与就有份,连胜有额外加成。切磋赛的奖励刻意避开装备与金币,只给称号与师门贡献,让切磋回归技艺交流的本质。
切磋胜利积三分、失败积一分,连续胜利三场以上每场额外加两分;同两个人之间的切磋每天只计首次,防止互相刷分。示例代码如下:
-- 师门切磋周:积分与连胜
local player = class(actor)
local lastOpponent = {}
local function duelSettle(player, opponentName, win)
local key = player .. "_" .. opponentName .. "_" .. os.date("%Y%m%d")
if lastOpponent[key] then
sendmsg(player, 1, 0, "今日与该同门的切磋已计过积分。")
return
end
lastOpponent[key] = true
local streak = tonumber(getplayvar(player, "HUMAN", "StreakCnt") or 0)
local pts = win and 3 or 1
if win then
streak = streak + 1
if streak >= 3 then pts = pts + 2 end
else
streak = 0
end
setplayvar(player, "HUMAN", "StreakCnt", streak, true)
setplayvar(player, "HUMAN", "DuelPts", tonumber(getplayvar(player, "HUMAN", "DuelPts") or 0) + pts, true)
sendmsg(player, 1, 0, win and "切磋获胜,积分 +3" or "切磋切磋,积分 +1")
end
周日结算积分榜:前三名获得限时称号与师门贡献,所有参与过至少一场的成员保底五点贡献;零参与的成员收到下周切磋周的邀请提醒,不强制不点名。示例代码如下:
-- 周榜结算:称号与兜底
local player = class(actor)
local RANK_TITLE = {"常胜", "高手", "新锐"}
local function weeklySettle(player, sortedMembers)
for rank, m in ipairs(sortedMembers) do
local mate = class(m.name)
if rank <= 3 then
setplayvar(mate, "HUMAN", "DuelTitle", RANK_TITLE[rank], true)
sendmsg(mate, 1, 0, "切磋周第 " .. rank .. " 名,获得「" ..
RANK_TITLE[rank] .. "」称号!")
end
if m.pts > 0 then
setplayvar(mate, "HUMAN", "SectContrib",
tonumber(getplayvar(mate, "HUMAN", "SectContrib") or 0) + 5, true)
end
end
end
验证四条路径:胜负积分正确累计、同对手同日只计一次、连胜三场加成触发、周榜称号与保底贡献发放正确;跨周边界积分自动清零。数值上盯两个指标:切磋周参与率与人均切磋场次,参与率低于三成把胜负积分从三比一调到二比一降低胜负压力;互相刷分检测关注同对手高频切磋,命中即不计积分。
积分赛曾允许跨师门切磋计分,外门玩家混进榜单稀释师门荣誉,切磋双方都在同一师门名册才计分。连胜加成曾无限叠加,某高手连续十二连胜把积分拉开断层,加成封顶后榜单重新有来有回。参与兜底奖励曾发装备,被工作室用小号刷参与白拿,兜底奖励改为师门贡献这种不易变现的形式。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
学员常见误区 Lua函数可返回多个值,学员用固定变量数接收时如果变量少于返回值,多余返回值被静默丢弃;如果变量多于返回值,多…
设计初衷 行会建筑的死穴是一次全解锁:会员没有逐步建设的过程感。梯度设计让每栋建筑都有前置条件和资源门槛。 数值模型 建筑分…
设计初衷 婚姻系统的属性加成是社交玩法的经济锚点:加成太弱没人结婚,太强则"为了属性被迫结婚"扭曲了社交本质。婚姻边界的设计…
设计初衷 宝箱类玩法的信任危机都源于同一句话:"概率是不是骗人的。"期望公示把概率从事后争议变成事前契约:奖池概率表全量公示…
设计初衷 流拍物(拍卖未成交的退回物品)堆积在卖家背包里成为死资产:低价值物流拍后无人问津,高价值物流拍后卖家不愿降价重拍。…
业务场景 沙巴克战功榜每周结算,玩家提交战功前不知道"再打多少能进前 10、前 10 的奖励是什么"。名次预览:输入自己的战…