【游戏】
一、业务场景
帮会福利平均主义,所有人领一样的东西,活跃成员觉得没意思。帮会树上线:帮会专属成长树设 12 个节点,从根到梢逐层点亮,每个节点对应一项帮会福利,点亮路径由全帮投票决定。
二、实现方案
节点点亮(父亮才亮子):
local function lightNode(actor, guild, nodeId)
local parent = math.floor(nodeId / 2)
if nodeId > 1 and
getsysvar("tree_" .. parent .. "_" .. guild) ~= 1 then
sendmsg(actor, 1, "父节点尚未点亮")
return
end
local cost = 200 * nodeId
local fund = getsysvar("gFund_" .. guild) or 0
if fund < cost then
sendmsg(actor, 1, "帮会基金不足 " .. cost)
return
end
setsysvarex("gFund_" .. guild, fund - cost)
setsysvarex("tree_" .. nodeId .. "_" .. guild, 1)
sendcentermsg(0, guild .. " 帮会树第 "
.. nodeId .. " 节点点亮")
end
福利读取(点亮状态查询):
local function treePerk(actor, guild, nodeId)
if getsysvar("tree_" .. nodeId .. "_" .. guild) == 1 then
sendmsg(actor, 1, "节点 " .. nodeId
.. " 福利已生效")
else
sendmsg(actor, 1, "节点 " .. nodeId .. " 未点亮")
end
end
三、边界处理
点亮须父节点已亮;越深的节点费用越高;全树 12 节点点亮发全帮纪念称谓。
四、引擎验证
点亮 2 号节点要求 1 号已亮;基金不足 400 时 2 号节点被拦;12 节点全亮触发纪念称谓全服播报。
五、FAQ
问:路径能重选吗?
答:已点亮不可撤销,投票决定下周方向。
问:根节点几号?
答:1 号,无需前置。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一、先抛一个坑 金钟罩为什么是金色的而不是透明色的?因为护盾的表现要传递两层信息:一是"我有盾",二是"盾还剩…
【游戏功能】 一、一行代码拆解 SL:SetActorVelocity(id, vx + tangent, vy + cen…
【游戏功能】 一、一个从头顶飞过的治疗弹 治疗波弹射的治疗光珠从法师飞向神兽再弹回法师,光珠沿二次贝塞尔弧线飞行——弧线的拱…
【游戏功能】 一、一行代码拆解 ctx.arc(cx, cy, r, startAngle, endAngle) ——技能冷…
【游戏功能】 一、先抛一个坑 引怪为什么是坦克的职业本能而不是随便哪个近战都能做的?因为引怪的核心不是"打第一下"而是"控制…
【游戏功能】 一、一个被忽略的复活 复活类玩法的首版,玩家死亡后画面直接切到复活选择界面——没有死亡动画,没有倒计时,没有"…