【游戏】
一、业务场景
帮会成员缺一个可以反复挑战的成长型玩法,打怪刷本太单调。镇妖塔上线:帮会专属爬塔,每层一只妖物,战力逐层递增,限时挑战打得越高奖励越好。
二、实现方案
爬塔挑战(逐层递进):
local function challengeTower(actor)
local floor = (getplayvar(actor, "towerFloor")
or 0) + 1
local hp = 1000 + floor * 500
setplayvar(actor, "towerFloor", floor)
setplayvar(actor, "towerHp", hp)
genmon(5, 100, 100, "镇妖塔守卫")
sendmsg(actor, 1, "第 " .. floor
.. " 层妖物出现,血量 " .. hp)
end
通关奖励(层数越高奖励越好):
local function towerReward(actor)
local floor = getplayvar(actor, "towerFloor") or 0
giveitem(actor, 9701, floor)
sendmsg(actor, 1, "通关 " .. floor
.. " 层,奖励 " .. floor .. " 份")
end
三、边界处理
每人每日限挑战 3 次;失败不掉层数但当日不可再挑战;层数每日 0 点重置重新爬。
四、引擎验证
挑战后层数加一并刷出对应血量妖物;通关后奖励按层数发放;失败不掉层数。
五、FAQ
问:塔有多少层?
答:无上限,战力越高爬得越高。
问:能组队吗?
答:不能,个人挑战。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏功能】 一、先抛一个坑 暗影突袭为什么不能做成"消失→出现在怪身后→砍一刀"三步走?因为玩家看到的不是三步,是"一眨眼…
【游戏功能】 一、一个冻了个寂寞的冰触 冰封之触首版测试,冰锥命中后怪确实被冻住了——但玩家反馈"冻了像没冻"。冰壳做出来了…
【游戏功能】 一、一行代码拆解 P.dashDir = M.x = P.x ? 1 : -1 ——踏前斩的全部启动逻辑就这一…
【游戏功能】 一、一个差半格的转盘 大转盘抽奖的首版测试,指针差半格没对准奖品中心就停了——视觉上明明指着太阳水,结算却给了…
【游戏功能】 一、一行代码拆解 P.dashDir = M.x = P.x ? 1 : -1 ——踏前斩的全部启动逻辑就这一…
【游戏功能】 一、一个被当成装饰品的斩气 鬼斩首版的紫光弧线确实好看——但测试说"这个紫光是什么意思?我中招了吗?怪掉血了吗…