CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
框架设计

【框架设计】BOSS 归属:伤害贡献与掉落分配

2026-09-23 16:58 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本

实战应用:用在哪里

祖玛教主倒下的瞬间,掉落的裁决之杖归谁?BOSS 的归属规则是打宝生态的宪法:单挑的归属清晰、组队的分配公平、抢怪的边界明确——归属的争议每少一起,打宝的秩序就稳一分。

贡献的记账

lua

---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% 的队伍没有归属权(补一刀抢归属的伎俩失效),贡献的门槛让捡漏与打宝的界限分明。

掉落的分配

lua

---掉落的分配:模式由队长选择
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 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

框架设计行会等级经验成长

【框架设计】行会等级:行会经验与等级成长框架

实战应用:用在哪里 行会等级是行会玩法的地基:建筑上限、商店货架、活动资格全部挂在等级上。行会经验与等级成长框架把升级路径做…

2026-09-23 19:15 996 技术组 · 0 阅读
玩法策划大事记里程碑展示

【玩法策划】行会大事记:里程碑事件的自动记录与展示设计

实战应用:用在哪里 行会走过两年,第一次拿下沙巴克、第一位满级成员、最强的一次攻防战,这些瞬间散落在聊天记录里无人记得。行会…

2026-09-23 19:15 996 技术组 · 0 阅读
案例复盘合服抢注重名复盘

【案例复盘】合服抢注:重名抢注引发的归属纠纷复盘

实战应用:用在哪里 两服合服时允许玩家自由抢注重名角色,结果原服老玩家“至尊战神”的名字被另一服新号抢先注册,老玩家两年的社…

2026-09-23 19:15 996 技术组 · 0 阅读
前端接口行会申请审批列表

【前端接口】行会申请列表:入会申请的批量审批界面

实战应用:用在哪里 热门行会一天几十份入会申请,逐条点开看效率极低还容易漏人。行会申请列表把申请铺成可批量操作的清单:每行显…

2026-09-23 19:15 996 技术组 · 0 阅读
引擎触发炼狱回廊递减增益

【引擎触发】炼狱回廊:逐层递减的增益触发设计

实战应用:用在哪里 炼狱回廊是高端玩家的试炼场:十层回廊逐层深入,每下一层全属性递减百分之五,越往深处怪物越强、自己越弱,奖…

2026-09-23 19:15 996 技术组 · 0 阅读
玩法策划跨服镖局押运跨服

【玩法策划】跨服镖局:跨服押运的高风险高回报设计

实战应用:用在哪里 本服押镖产出稳定但缺乏刺激,高战玩家押镖像散步。跨服镖局把押运拉到跨服边境:路线穿越两服交界的无主之地,…

2026-09-23 19:15 996 技术组 · 0 阅读