sendcustommsg 是位置可控的公告接口:在屏幕的任意坐标推送自定义颜色与内容的公告。相比屏中大字的强打断,它适合持续性的信息展示——攻城战的战况、活动的中奖名单、区域的进入提示。
---自定义公告 actor:目标 type:类型 msg:内容 FColor/BColor:颜色 X/Y:坐标
function sendcustommsg(actor, type, msg, FColor, BColor, X, Y) end
-- 攻城战况:屏幕上方持续显示城门血量
sendcustommsg(actor, 0, "沙巴克城门血量 72%", 250, 0, 30, 15)
type 控制公告的目标范围(0 全服、1 个人、3 当前地图),X 与 Y 定公告在屏幕上的位置,攻城战的战况固定在顶部坐标,活动的中奖名单用中部坐标。颜色的整数编码:前景 250 是金色、背景 0 是透明,战况的金字与普通提示的视觉层级由此区分。
---三级公告的组合使用
function Notice.publish(level, actor, text)
if level == 1 then
sendcentermsg(actor, 249, 0, text, 0, 8, "")
elseif level == 2 then
sendcustommsg(actor, 0, text, 250, 0, 30, 15)
else
sendmsg(actor, 1, text)
end
end
公告的三级体系:屏中大字(强打断)、坐标公告(持续显示)、聊天行(轻提示),级别的选择标准是事件的重要程度。坐标公告的寿命管理:持续信息需要定时刷新保持显示,刷新的间隔 1 秒一次,内容不变时跳过重发以省带宽。
坐标公告的推送量与玩家的界面对比数据,公告的密度影响玩家的阅读率。
坐标的取值曾经超出屏幕边界,公告显示在屏幕外玩家看不到,坐标的钳制范围按设计分辨率计算。自定义公告的颜色编码曾经用了字符串,接口要求数值,类型错误静默失败,参数的类型断言进了封装层。
坐标公告的封装统一入口,业务的直接调用在评审中限制。公告的内容走文案表,文案的调整不发版。公告的密度监控进体验日报,玩家对公告的容忍度靠密度控制维持。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 沙巴克开战前600秒,行会会长一键集结,全会在线成员无论在哪张图都收到带坐标的集结消息,点击直达集合点。…
实战应用:用在哪里 远征副本上线前夜,压测编排把“上线会不会崩”变成一场有脚本的预演:模拟满员远征、三选一齐选、奖励齐领三个…
实战应用:用在哪里 结义合击玩法上线三天,客服收到“攻击加成叠了三层”的报告:同一次合击,三个入口各挂了一次加成Buff。复…
实战应用:用在哪里 “强化石×3”值不值得跑一趟毒蛇山谷,玩家心里没数。任务接取页的奖励预览把物品换算成战力参考值:每件物品…
实战应用:用在哪里 “转生怎么升”“红名怎么洗”这类问题八成答案都在帮助中心,玩家却习惯直接问客服。自助查询把帮助条目做成关…
实战应用:用在哪里 烈火剑法的打击节奏由前摇与后摇决定:前摇太长玩家觉得迟钝,后摇太短连招没有张力。节奏调优把前后摇参数化:…