从盟重护送镖车到沙巴克城门,全程六百秒,路上刷三波劫匪,抵达按剩余血量分档发奖。护送玩法把跑图变成博弈,接口层要管好刷新节奏与结算两件事。
接取镖车后按里程排三波劫匪,genmon在固定坐标刷出,波次间隔两百秒。actor是字符串,转对象后登记护送状态。
function startEscort(actor)
local player = class(actor)
setplayvar(actor, "HUMAN", "ESCORT_TS", os.time(), 1)
setplayvar(actor, "HUMAN", "ESCORT_WAVE", 0, 1)
setontimer(actor, 81, 200, 3)
end
function ontimer81(actor)
local wave = tonumber(getplayvar(actor, 2, "ESCORT_WAVE") or "0") + 1
setplayvar(actor, "HUMAN", "ESCORT_WAVE", wave, 1)
genmon("shabake_road", 25 + wave * 5, 30, "劫镖飞贼", 2)
sendmsg(actor, 0, "第" .. wave .. "波劫匪出现,护住镖车!")
end
抵达城门按镖车剩余血量分三档,全额档奖励沃玛号角与金币,镖车损毁只返还四成路费。
function escortSettle(actor)
local hp = tonumber(getplayvar(actor, 2, "CART_HP") or "100")
local reward = "金币|80000"
if hp >= 80 then
reward = "沃玛号角|1;金币|200000"
elseif hp >= 40 then
reward = "金币|150000"
end
sendmail(actor, 0, "护送镖车奖励", "镖车剩余血量" .. hp .. "%", reward)
setplayvar(actor, "HUMAN", "ESCORT_TS", 0, 1)
end
测试号跑全流程验证三波劫匪坐标与分档结算;损毁路径单独回归。上线后统计完送率,低于六成说明劫匪强度过高,先降第三波数量再动血量。
劫匪刷在路径外玩家永远遇不到,坐标取路径中段实测点,别凭空估。护送中下线再上线,镖车状态变量在但劫匪波次定时器已停,登录触发里补一次状态检查。CART_HP的扣减逻辑挂劫匪攻击事件,若引擎事件粒度不够,退化成按波次扣固定值,表现稍差但可控。奖励里的沃玛号角是下周任务的关键道具,产出速率要与任务消耗对表,不然任务链堵死。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 悬赏捕杀把玩家之间的恩怨变成可托付的系统行为:仇家难以亲自复仇时,花费金条发布悬赏,全服玩家接单击杀目标…
实战应用:用在哪里 策划改表是日常动作,漏填字段、引用了不存在的编号、数值越界这三类问题占了配表故障的绝大多数。等玩家报错再…
实战应用:用在哪里 行会擂台给中小行会提供了固定的对抗出口:挑战方击败守擂方后接管擂台,连胜次数决定每日结算奖励档位。接口层…
实战应用:用在哪里 世界首领战里玩家最关心的是伤害前十名:榜单要求随时插入、随时能按序取出,每来一条伤害记录都重新排序一次太…
实战应用:用在哪里 百人同屏的攻城战里,把每条移动、施法消息广播给全地图是最常见的性能失误。九宫格视野的做法是把地图切成等大…
实战应用:用在哪里 留言板、行会招募语、邮件标题这类字段会被玩家自由填写,并写入角色变量或转发给持久层。拼接式的写法一旦遇到…