祖玛七层尽头的暗门常年关闭,击杀守在门前的祖玛雕像蓄能,攒满 12 次有效击杀机关开启,暗门后的藏宝室开放 480 秒。触发设计要处理蓄能计数、开门广播、定时关闭三个环节,全部走引擎真名触发。藏宝室内的宝箱按开门时段刷新,先开门的队伍先挑,机关玩法把击杀效率转化成先手收益。
killmon 触发按怪物名过滤雕像,计数写入系统变量,攒满即置位门状态并刷新守卫,同时挂 480 秒的关闭定时器。
function killmon(actor, monName)
if monName ~= "祖玛雕像" then return end
local e = tonumber(getsysvar("ZUMA_ENERGY") or "0") + 1
if e >= 12 then
setsysvar("ZUMA_GATE", 1)
setsysvar("ZUMA_ENERGY", 0)
setontimerex(131, 480)
genmon("祖玛卫士", 3)
sendcentermsg("祖玛七层机关开启,藏宝室开放 480 秒")
else
setsysvar("ZUMA_ENERGY", e)
end
end
暗门入口的引路石读取门状态,未开启时给出行进提示,开启后用 beginteleport 把玩家送入藏宝室。
function enterGate(actor)
if getsysvar("ZUMA_GATE") ~= "1" then
local e = tonumber(getsysvar("ZUMA_ENERGY") or "0")
sendmsg(actor, 0, "机关未开启,还需击碎 " .. (12 - e) .. " 座雕像")
return
end
beginteleport(actor, 66, 88)
end
function ontimer131()
setsysvar("ZUMA_GATE", 0)
setsysvar("ZUMA_ENERGY", 0)
end
击杀链路验证 11 次不开门、12 次开门、480 秒自动关闭三处边界;开门期间传送成功、关闭后传送被拒;守卫刷新数量与点位核对。埋点统计每日开门次数与开门时段,集中在同一小队的规律性击杀要人工关注。关门时若仍有玩家在藏宝室内,只锁入口不传人出去,规则在开门广播里写明。
范围技能一次打爆两座雕像只计了一次,killmon 按击杀来源逐次回调是对的,问题出在中间有脚本额外刷了一波雕像,刷新脚本与蓄能计数共享怪物名导致重复计数,活动雕像改名隔离才解决。ZUMA_GATE 键曾被另一个谜题脚本复用,两边互相置位,键名统一加了模块前缀。关闭定时器被二次开门覆盖置位,剩余时间重置成 480 秒,藏宝室变成了永久开放,置位前先判断门状态防重入。引路石文案里的剩余数字用错变量,显示成了负数,上线前逐条点击核对。beginteleport 的目标坐标是藏宝室内的安全点,初版坐标落在雕像巡逻圈里,进门先挨一波围殴,安全点重新圈定后解决。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 装备回收商 NPC 每天按评分收购玩家的装备,裁决之杖、骨玉权杖按攻击、持久加权打分,榜上只要前五名。数…
实战应用:用在哪里 沙巴克攻城是全服行会战的最高舞台:攻方砸开城门、抢占皇宫,守方依托城墙与复活点反打。规则设计的关键是节奏…
实战应用:用在哪里 影分身玩法给法师职业补上生存短板:危急时刻召唤四个影分身分担仇恨,敌人需要在六格范围内分辨真身,猜错就浪…
实战应用:用在哪里 组队邀请、行会宣战这类关键信令丢了没有兜底,玩家只能反复手点,高峰期体验很差。重试机制给信令加确认回执:…
实战应用:用在哪里 新资料片上线首日预约量常是日常十倍,一口气全开会让数据库与登录网关同时过载。滚动开区把开区动作排成队列:…
实战应用:用在哪里 百人同屏的沙巴克外围战场,每个玩家每秒跑动会触发数次位置更新,全部即时下发时广播量随人数平方增长,网关先…