全服稀有幸道具进包瞬间要造气氛:拾取裁决之杖全服播报,同时给道具打上绑定标记防止秒交易洗白。addbag触发就是进包入口,一个函数同时完成播报与风控标记。
进包触发里判断物品名,稀有件走全服消息,普通件直接跳过,避免消息泛滥。
local RARE = { ["裁决之杖"] = true, ["嗜魂法杖"] = true }
function addbag(actor, itemname)
if RARE[itemname] then
local player = class(actor)
sendmsg(actor, 1, player:GetName() .. " 获得了 " .. itemname .. "!")
playsound(actor, "rare_get.wav")
end
end
同一玩家60秒内重复触发只播一次,稀有件写入拾取流水变量供GM核查。
local lastAnn = {}
function addbag(actor, itemname)
local player = class(actor)
local name = player:GetName()
if RARE[itemname] then
local now = os.time()
if lastAnn[name] == nil or now - lastAnn[name] > 60 then
sendmsg(actor, 1, name .. " 获得了 " .. itemname .. "!")
setplayvar(actor, "HUMAN", "RARE_LOG", itemname .. "@" .. now, 1)
lastAnn[name] = now
end
end
end
GM制造稀有件投递测试号验证播报与流水;监控全服稀有播报频次,单日超过30次说明爆率异常,第一时间反馈数值组。
addbag的第二参数名以站点QF触发文档为准,个别版本传的是物品表索引而非名字,判断前先打日志确认。播报类型1是全服可见,测试时误把调试消息用1发出,全服刷屏被玩家截图,验证环境务必用0。lastAnn表按名字累计不清理,服务端跑一周能到几十万条,加定时清扫或改用时间片轮转。绑定标记若用checkitemstate回查,注意拾取当帧物品可能尚未就绪,延后一拍再写标记。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 排行榜卡死拖累登录、成就推送挤占带宽,这些非核心功能出问题时最需要的是一个总闸。服务降级预案定义了核心链…
实战应用:用在哪里 单件装备的属性提升有限,套装共鸣让多件装备产生化学反应:穿戴同系三件以上触发共鸣属性,五件触发全局光环。…
实战应用:用在哪里 同一账号在两台设备同时在线,一台打怪一台交易,是盗号者测试密码后的标准动作。多设备在线检测在登录环节检查…
实战应用:用在哪里 老服合并、机房迁移、数据分库改造,都涉及角色数据的批量搬家。数据迁移的核心是搬运过程中不断服、不丢数据、…
实战应用:用在哪里 沙影之路的暗之Boss是行会实力的试金石:真身与三个镜像随机分布在四个祭坛,只有击杀真身才有掉落,镜像被…
实战应用:用在哪里 攻城战最容易变成人海推门的无脑玩法。攻城拔寨将城门攻坚设计为三线战术:正面强攻吸引火力、侧翼工程车破城、…