套装是装备收集的经典钩子:祈祷头盔加祈祷项链加祈祷戒指,凑齐五件触发祈祷套装的隐藏效果——件数越齐收益越猛,收齐的执念就是套装的设计目标。套装的引擎要点是件数的检测、效果的激活与装备变动的实时响应。
---套装表:件数与效果的定义
local SUITS = {
{ name = "祈祷套装", parts = { "祈祷头盔", "祈祷项链",
"祈祷手镯", "祈祷戒指", "祈祷之刃" },
full = { buffId = 22001, atkPct = 20 } },
{ name = "记忆套装", parts = { "记忆头盔", "记忆项链",
"记忆手镯", "记忆戒指" },
full = { buffId = 22002, hpFlat = 200 } },
}
---检测身上的套装件数
function Suit.count(actor, suit)
local n = 0
for _, part in ipairs(suit.parts) do
if Suit.wearing(actor, part) then
n = n + 1
end
end
return n
end
套装表定义件数清单与满件效果:祈祷五件套的攻击加成 20%、记忆四件套的生命上限加 200。件数的检测遍历套装部件在身上的穿戴情况,穿三件是三件的收益档、穿满是全套的效果——件数的阶梯收益让收集的每一步都有正反馈。检测的时机挂装备的变动事件:穿戴、卸下、替换的每一次都重算全部套装的件数。
---套装效果的激活与撤销
function Suit.refresh(actor)
for _, suit in ipairs(SUITS) do
local n = Suit.count(actor, suit)
local key = "Suit_" .. suit.name
local active = (getplayvar(actor, 2, key) or "") ~= ""
if n == #suit.parts and not active then
-- 凑齐:激活效果
addbuff(actor, suit.full.buffId, 99999, 1, actor,
{ [1] = suit.full.atkPct or 0,
[4] = suit.full.hpFlat or 0 })
setplayvar(actor, "HUMAN", key, os.time(), 1)
sendmsg(actor, 1, suit.name .. " 套装效果激活!")
QF_Broadcast(actor:GetName() .. " 集齐了 " ..
suit.name .. "!")
elseif n < #suit.parts and active then
-- 破套:撤销效果
setplayvar(actor, "HUMAN", key, "", 1)
sendmsg(actor, 1, suit.name .. " 套装效果失效")
end
end
end
效果的状态机两态切换:凑齐激活、破套撤销,激活的标记落库,卸下一件的效果失效与重新穿回的恢复都由 refresh 的幂等重算保证。凑齐全套的全服播报是收集的加冕时刻,祈祷套的集齐值得一句公告。套装的战斗联动是设计的灵魂:祈祷五件的隐藏彩蛋(宝宝叛变机制的老梗)这类趣味效果让套装有故事可讲,效果表的可扩展位留给每套装备的独特性。属性的阶梯中继:三件套给 8% 的中继档、五件套给 20% 的满档,中继档的存在让收集的中途不空手。
套装的持有与激活率统计,凑齐率的分布反映套装的投放节奏;激活与撤销的状态翻转监控,破套的频次暴露玩家对效果的依赖度。
件数的检测曾经只看背包不看穿戴,仓库里凑齐的套装也被判激活,检测的口径统一为已穿戴。效果的撤销曾经在卸下的重算竞态里漏发,破套后属性残留,重算的幂等串行化修复。两套套装的效果曾经共用 BUFF 位段,互相顶掉对方的加成,位段的分配表统一管理。
套装的部件、效果与中继档进配置表,新套装的接入只填表。套装图鉴页展示收集进度,差一件的提示驱动收集的临门一脚。套装的投放按件分渠道:头盔走打宝、戒指走活动,集齐的路径横跨玩法。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会福利只有加成和宝库,缺少可成长的实体。行会技能塔给行会一座可以逐层点亮的塔:全行会捐献建材升级塔层,…
实战应用:用在哪里 新手玩家的第一次长途旅行总在比奇到沃玛的路上迷路或被怪打死。新手护送教学线把这段路变成有老玩家护航的成人…
实战应用:用在哪里 行会招新全靠世界频道刷屏,招募信息水贴一样沉底。行会招募接口给招新一个正式渠道:行会发布结构化招募信息(…
实战应用:用在哪里 拍卖行商品上万件,翻页找裁决之杖像大海捞针。商城搜索给拍卖行装上联想与筛选:输入前两个字即时联想候选关键…
实战应用:用在哪里 桃源之门是传奇最有韵味的隐藏地图:条件不明、入口隐秘,找到即是传说。隐藏地图的触发设计要把开启条件做成可…
实战应用:用在哪里 行会年度战报打包后仍有五百 KB,分包下发到第九包时玩家掉线,前功尽弃重来。分包进阶方案叠加断点续传与压…