祖玛教主倒下的瞬间,掉落的裁决之杖归谁?BOSS 的归属规则是打宝生态的宪法:单挑的归属清晰、组队的分配公平、抢怪的边界明确——归属的争议每少一起,打宝的秩序就稳一分。
---BOSS 战的伤害记账
function BossDamage.onHit(actor, bossId, dmg)
local player = class(actor)
if not player then return end
local key = bossId .. "_" .. actor:GetUserId()
local rec = BossDamage.table[key]
if not rec then
rec = { dmg = 0, firstAt = os.time() }
BossDamage.table[key] = rec
end
rec.dmg = rec.dmg + dmg
end
---归属的判定:伤害第一的队伍
function BossDamage.owner(bossId)
local best, bestDmg = nil, 0
local teamDmg = {}
for key, rec in pairs(BossDamage.table) do
local bid, uid = key:match("^(%d+)_(.+)$")
if bid == bossId then
local team = Team.of(uid) or uid
teamDmg[team] = (teamDmg[team] or 0) + rec.dmg
end
end
for team, dmg in pairs(teamDmg) do
if dmg > bestDmg then
best, bestDmg = team, dmg
end
end
return best
end
伤害的记账按玩家维度累计:每次命中的伤害记进个人的账本,归属的判定把个人的账按队伍聚合——队伍的归属让组队打宝的收成归队伍而非个人,单挑的独行侠用自己的 ID 参战。归属的门槛另设:总伤害占比不足 10% 的队伍没有归属权(补一刀抢归属的伎俩失效),贡献的门槛让捡漏与打宝的界限分明。
---掉落的分配:模式由队长选择
local SPLIT_MODES = { "free", "round", "damage" }
function BossDrop.assign(bossId, drops)
local owner = BossDamage.owner(bossId)
if not owner then return end
local mode = Team.splitMode(owner) or "free"
for i, drop in ipairs(drops) do
if mode == "round" then
-- 轮流模式:按成员顺序逐件分配
local member = Team.memberByOrder(owner, i)
BossDrop.toMember(member, drop)
elseif mode == "damage" then
-- 贡献模式:按伤害占比排序分配
local member = BossDamage.topOf(owner, i)
BossDrop.toMember(member, drop)
else
BossDrop.toGround(drop) -- 自由模式丢在地面上
end
end
end
掉落的分配三模式由队长定:自由(丢地上全凭手速)、轮流(按成员顺序逐件分)、贡献(按伤害占比排序分配)——模式的多样性匹配队伍的信任结构,野队的贡献模式最公平、固定队的自由最效率。掉落的稀缺件(裁决之杖级)的公示:归属确定后的全服播报带队伍名,名刀的出处全服可查。抢怪的边界规则:归属未定的 BOSS 谁都可以打,归属已定的再插手按恶意 PK 论处——先来后到的秩序在规则里写清。
归属判定的准确率回放:战斗记录与归属结果的比对,判错的案例进测试用例;分配模式的采用率统计,模式的偏好反映队伍生态的信任结构。
伤害的记账曾经不按队伍聚合,散人的归属判定把组队的收益拆碎,聚合的维度修正。轮流分配的顺序曾经每次随机,轮流的意义荡然无存,顺序的持久化按队伍成员表。补刀的门槛曾经不设,10% 的伤害门槛上线后抢归属的投诉绝迹。
归属的规则与分配的模式在组队面板公示,规则的透明减少纠纷。贡献的伤害明细在战斗结束后可查,每个人的账当场算清。恶意抢怪的判定与 PK 的红名机制联动,破坏秩序的代价写进规则。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会等级是行会玩法的地基:建筑上限、商店货架、活动资格全部挂在等级上。行会经验与等级成长框架把升级路径做…
实战应用:用在哪里 行会走过两年,第一次拿下沙巴克、第一位满级成员、最强的一次攻防战,这些瞬间散落在聊天记录里无人记得。行会…
实战应用:用在哪里 两服合服时允许玩家自由抢注重名角色,结果原服老玩家“至尊战神”的名字被另一服新号抢先注册,老玩家两年的社…
实战应用:用在哪里 热门行会一天几十份入会申请,逐条点开看效率极低还容易漏人。行会申请列表把申请铺成可批量操作的清单:每行显…
实战应用:用在哪里 炼狱回廊是高端玩家的试炼场:十层回廊逐层深入,每下一层全属性递减百分之五,越往深处怪物越强、自己越弱,奖…
实战应用:用在哪里 本服押镖产出稳定但缺乏刺激,高战玩家押镖像散步。跨服镖局把押运拉到跨服边境:路线穿越两服交界的无主之地,…