从盟重护送镖车到沙巴克城门,全程六百秒,路上刷三波劫匪,抵达按剩余血量分档发奖。护送玩法把跑图变成博弈,接口层要管好刷新节奏与结算两件事。
接取镖车后按里程排三波劫匪,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 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
设计初衷 停机 4 小时该补多少?影响 200 人还是全服该有区别吗?事故补偿没有分级标准时的两种结局:运营拍脑袋发多了一 …
底层原理 递归遍历嵌套表(装备的强化树、行会的组织树)最大的风险是循环引用:A 引用 B、B 引用 A,普通递归永远出不来,…
设计初衷 BOSS 刷新预告是信息触达里最微妙的一类:不预告,玩家靠蹲点与外挂猜,普通玩家永远慢一步;预告太精确,刷新瞬间主…
设计初衷 大部分玩家的活动地图不足服务器总地图数的三成:熟悉的比奇与盟重之外,毒蛇山谷、封魔谷常年无人问津。开图奖励把"第一…
底层原理 元表的 __index 与 __newindex 各管一端:__index 在读取不存在的键时触发,可以返回默认值…
底层原理 全局 math.random 是一条被全服共享的随机流:爆率系统、转盘系统、挖矿产出都在同一条流上取数。任何系统调…