耐久度是装备的第二条命:砍怪掉持久,持久归零装备罢工,修理费是玩家日常的金币流出大头。修理的引擎要点是耐久的扣减口径、修理费的定价与特修的溢价——特修不掉持久上限是付费的支点。
---击杀结算:装备耐久的消耗
function Kill.durability(actor)
local player = class(actor)
if not player then return end
-- 每杀 10 只掉 1 点持久,武器双倍
local n = tonumber(getplayvar(actor, 2, "KillCount")) or 0
setplayvar(actor, 2, "KillCount", n + 1, 0)
if (n + 1) % 10 == 0 then
setplayvar(actor, 2, "DurWeapon", -1, 0)
sendmsg(actor, 1, "武器持久 -1,记得修理")
end
end
耐久的扣减按行为计费:杀 10 只怪掉武器 1 点持久,防具的比例减半——扣减的节奏让修理的周期在半小时到一小时之间,太频繁烦人、太稀疏没感知。持久的余量在装备的 Tooltip 常驻,红色预警线(低于 10%)的提醒让玩家不至于在祖玛七层挥空刀。
---修理:普通修与特修双轨
function Repair.doFix(actor, mode)
local player = class(actor)
if not player then return false end
-- 普通修:满持久但掉上限;特修:不掉上限
local fee = mode == "special" and 20000 or 5000
if not checkitemw(actor, "金币", fee) then
sendmsg(actor, 1, "修理费不足,需 " .. fee .. " 金币")
return false
end
takeitem(actor, "金币", fee, 0, mode == "special" and "特修" or "普修")
if mode == "special" then
setplayvar(actor, "HUMAN", "DurMaxOk", 1, 1)
sendmsg(actor, 1, "特修完成,持久上限不变")
else
sendmsg(actor, 1, "修理完成,持久上限 -1")
end
return true
end
修理的双轨制是耐久经济的支点:普通修 5000 金币但持久上限掉 1 点(装备的寿命被消耗),特修 2 万金币保上限不变——上限的折损让装备有寿命,特修的抗老化是土豪的日常。修理费的定价锚定打宝的收入:半小时的打宝收入覆盖三到五次普修,修理的成本是收益的零头但每日累计可观。修理的 NPC 在主城与矿区双点位,矿区的修理让挖矿与打宝的动线不断。
耐久消耗与修理频次的曲线对照,修理收入占金币留存的比例监控经济的健康;特修的渗透率统计,付费意愿的数据化。
耐久的扣减曾经在背包里的备用装备上也生效,没穿的装备白掉持久,扣减的口径统一为已穿戴。特修的标记曾经不持久,重启后上限的折损照旧执行,标记落库。修理费曾经按装备档次浮动没做上限,顶级装备一次修理 50 万金币劝退,费用封顶 5 万。
耐久的消耗速率与修理费进配置,怀旧服的消耗更狠。特修的定价与装备的价值挂钩,裁决之杖的特修贵过木剑十倍。修理的提醒在持久 10% 时弹一次、5% 时强提醒,提醒的节奏不骚扰。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 明拍容易被大号威慑,普通玩家不敢出手。秘宝暗拍改为全服暗标:每周一件秘宝,玩家密价投标一次,截标前互相看…
实战应用:用在哪里 充值返利活动被风控规则误判成套利,480 个大额充值账号被批量封禁 24 小时,申诉两小时破千条。误封风…
实战应用:用在哪里 五人小队打沃玛教主,队友的血量状态只能靠点头像逐个看,集火转火慢半拍。小队血条在屏幕侧边紧凑排布四条队友…
实战应用:用在哪里 好友申请藏在好友面板的角标里,玩家半天不看一眼,申请积压让社交转化掉了一半。好友申请浮窗把新申请推到屏幕…
实战应用:用在哪里 矿洞产出人人有份等于人人不重视,矿位租赁把矿洞变成可经营资产:矿位按 24 小时租给个人或行会,产出归租…
实战应用:用在哪里 击杀 BOSS 后要同时做三件事:发奖励、记流水、刷新排行榜,全都写在 killmon 触发里互相拖累,…