悬赏捕杀是玩家自发的赏金玩法:受害者发布悬赏,捕猎人击杀目标后领取赏金。与红名机制的官方惩罚不同,悬赏是玩家之间的私力救济,赏金的托管与结算的公平是玩法成立的基础。
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 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会建设需要资金,成员的投入却看不到回报。行会发展基金让成员按份投入行会基金,基金用于行会建设与集体活动…
实战应用:用在哪里 占领沙巴克后的日常维护靠几个人,城内挂机广告无人管,安全区成了法外之地。沙城巡逻队把城防日常做成排班玩法…
实战应用:用在哪里 行会仓库运营数月后杂物堆积:过期活动道具、低级材料、重复装备混杂在贵重物资之间。仓库整理接口按价值与用途…
实战应用:用在哪里 一次活动奖励少发,三名客服给出三种答复:补发、不补发、等通知。玩家把三张截图拼在一起发到论坛,一场本可善…
实战应用:用在哪里 玩家拥有多个称号,切换佩戴后效果不符预期又要来回换。称号预览在切换前展示佩戴效果:名字上方的称号样式、属…
实战应用:用在哪里 赤月巢穴的魔龙教主血量降至三成会进入狂暴:攻击翻倍、召唤赤月护卫、周期性释放全屏魔龙血域。狂暴触发把 b…