悬赏捕杀是玩家自发的赏金玩法:受害者发布悬赏,捕猎人击杀目标后领取赏金。与红名机制的官方惩罚不同,悬赏是玩家之间的私力救济,赏金的托管与结算的公平是玩法成立的基础。
local BOUNTY_MIN = 100000
function Bounty.publish(actor, targetName, reward)
local target = getplayerbyname(targetName)
if not target then return false, "目标不在线" end
if reward < BOUNTY_MIN then return false, "赏金不低于 10 万" end
if not actor:TakeGold(reward) then return false, "金币不足" end
bountyBoard[#bountyBoard + 1] = {
publisher = actor.id, target = target.id,
reward = reward, at = os.time(),
}
QF_Broadcast("「" .. targetName .. "」被悬赏 " .. reward .. " 金币!")
return true
end
悬赏的发布要扣全额赏金托管,防止赖账。赏金的下限 10 万过滤恶意小额刷屏。悬赏的目标限定红名或灰名玩家,白名的和平玩家不可被悬赏,规则的边界写在发布确认框里。
function Bounty.onKill(killer, bounty, victim)
QF_GiveGold(killer, math.floor(bounty.reward * 0.9))
QF_Broadcast(killer.name .. " 完成悬赏,获得 " .. math.floor(bounty.reward * 0.9) .. " 金币")
for i, b in ipairs(bountyBoard) do
if b.target == victim.id then table.remove(bountyBoard, i) break end
end
end
捕猎人击杀悬赏目标后获得赏金的九成,一成是发布系统的手续费。悬赏的成交在频道播报,捕猎人的名声随战绩累积。悬赏的时效 48 小时,过期未完成的赏金退回发布者。悬赏榜单在主城的告示牌展示,接单的点击直达目标的大概方位。
悬赏的成交率与目标的再犯率统计,悬赏对红名行为的抑制效果用数据验证。
自己发布悬赏再小号领赏的套利被识破后,发布了布禁同一设备链的规则。悬赏目标的判定曾经用名字,改名后悬赏失效,改用角色唯一 ID 后稳定。
悬赏的发布确认框列出赏金、时效与手续费,知情发布减少纠纷。捕猎的击杀判定以收尾一击为准,抢怪的边界在规则里写明。悬赏榜单的排序按赏金从高到低,猎人的接单效率是玩法活跃的关键。悬赏的玩法报告每月归档一份,报告里的成交密度与目标行为曲线是判断野外 PVP 是否健康的两根指针,同时关注新猎人的增长,猎团的青黄不接往往从数据先显现。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 沃玛教主血量每降一档触发一次全服播报,播报逻辑散在伤害结算里,改一条文案翻三个文件。时间轴框架把阶段播报…
实战应用:用在哪里 金位摊位成了稀缺资产,私下转让滋生倒卖。过户系统把转让收编:双方确认、缴纳成交价一成的过户费、转让后原主…
实战应用:用在哪里 师门积分商店的热门商品每周限购两件,限购状态跨周重置的口径必须稳:本周已购几件、下周何时刷新、补签周怎么…
实战应用:用在哪里 练级区怪物密度是玩家口碑的晴雨表:太密抢怪打架,太稀挂机空转。密度动态平衡机制把刷新倍率做成运营参数,按…
实战应用:用在哪里 新玩家不知道安全区边界在哪,迈出一步被野怪围殴,第一印象直接崩坏。边界警示方案:接近安全区边界时地面浮现…
实战应用:用在哪里 自动寻路省心但让玩家成了观光客,手动跑图自由却容易迷路。追踪切换方案:任务追踪面板提供自动与手动两种模式…