行会福利只有加成和宝库,缺少可成长的实体。行会技能塔给行会一座可以逐层点亮的塔:全行会捐献建材升级塔层,每层解锁一项行会技能(攻城冲锋、集体回城、资源增产),塔层是行会实力与凝聚力的实体勋章,也是新老行会拉开差距的长期目标。
技能塔共五层,每层消耗指定建材组合升级;捐献由成员完成,建材分木材、石料、秘银三类,任意层升级需要三类的最低储备达标后才可启动。示例代码如下:
-- 技能塔:层级升级
local player = class(actor)
local TOWER_COST = {
[2] = {wood = 200, stone = 150, silver = 50},
[3] = {wood = 400, stone = 300, silver = 120},
}
local function upgradeTower(player, toLv)
local cost = TOWER_COST[toLv]
if cost == nil then
sendmsg(player, 1, 0, "该层设计图尚未解锁。")
return
end
for res, need in pairs(cost) do
local have = tonumber(getsysvar("Tower_" .. res) or 0)
if have < need then
sendmsg(player, 1, 0, res .. " 储备不足:" .. have .. "/" .. need)
return
end
end
for res, need in pairs(cost) do
setsysvarex("Tower_" .. res, tonumber(getsysvar("Tower_" .. res) or 0) - need, true)
end
setsysvarex("TowerLv", toLv, true)
sendcentermsg(player, 255, 0, "行会技能塔升至 " .. toLv .. " 层,全新行会技能解锁!", 0, 10)
end
每层对应一项行会技能,塔层解锁后成员可领用:二层集体回城每场一次、三层资源增产两小时、四层攻城冲锋冲锋阵型、五层行会堡垒护盾;技能领用有次数与冷却限制。示例代码如下:
-- 技能解锁:成员领用
local player = class(actor)
local SKILL_LV = {recall = 2, boost = 3, charge = 4, shield = 5}
local function claimTowerSkill(player, skill)
local towerLv = tonumber(getsysvar("TowerLv") or 1)
if towerLv < SKILL_LV[skill] then
sendmsg(player, 1, 0, "技能塔 " .. SKILL_LV[skill] .. " 层尚未解锁该技能。")
return
end
local used = tonumber(getplayvar(player, "HUMAN", "SkillUse_" .. os.date("%W") .. skill) or 0)
if used >= 1 then
sendmsg(player, 1, 0, "本周该技能已领用。")
return
end
setplayvar(player, "HUMAN", "SkillUse_" .. os.date("%W") .. skill, 1, true)
if skill == "recall" then
beginteleport(player, 88, 66)
sendmsg(player, 1, 0, "集体回城已发动!")
end
end
验证三条链路:建材不足的升级被拒并逐项提示缺口、层级解锁与技能领用门槛对应、周领用上限与冷却正确重置;跨周重置边界单独测试。数值上看建材产出与塔层升级的节奏:单层升级周期控制在三到四周,太快则通胀、太慢则劝退;技能领用率低于三成的技能要回炉重新设计收益。
建材曾可交易,工作室打建材卖行会形成灰色产业链,建材绑定不可流转。升级扣料曾不校验负数,并发捐献触发了负储备,扣料原子性与下限校验补上。技能领用曾不限层级只看行会,行会间借号领技能,领用校验行会成员身份与塔层双条件,福利体系的每一次领用都要验明正身。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
学员常见误区 Lua函数可返回多个值,学员用固定变量数接收时如果变量少于返回值,多余返回值被静默丢弃;如果变量多于返回值,多…
设计初衷 行会建筑的死穴是一次全解锁:会员没有逐步建设的过程感。梯度设计让每栋建筑都有前置条件和资源门槛。 数值模型 建筑分…
设计初衷 婚姻系统的属性加成是社交玩法的经济锚点:加成太弱没人结婚,太强则"为了属性被迫结婚"扭曲了社交本质。婚姻边界的设计…
设计初衷 宝箱类玩法的信任危机都源于同一句话:"概率是不是骗人的。"期望公示把概率从事后争议变成事前契约:奖池概率表全量公示…
设计初衷 流拍物(拍卖未成交的退回物品)堆积在卖家背包里成为死资产:低价值物流拍后无人问津,高价值物流拍后卖家不愿降价重拍。…
业务场景 沙巴克战功榜每周结算,玩家提交战功前不知道"再打多少能进前 10、前 10 的奖励是什么"。名次预览:输入自己的战…