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 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 战士的烈火剑法一击熄火后要等八秒冷却,连招断档感强烈。疾风烈火斩在烈火剑法命中后给一次连击窗口:三秒内再…
实战应用:用在哪里 阵营对抗打到中期容易疲软:打赢没有额外好处,输掉也没有代价。阵营声望体系给阵营战装上荣誉刻度:个人与阵营…
实战应用:用在哪里 拿下沙巴克之后呢?城主除了名字挂在城墙上,对城市毫无影响。城主施政玩法让占领变成治理:城主每周获得市政令…
实战应用:用在哪里 主线路光缆被挖断的深夜,全服掉线 20 分钟,玩家以为游戏倒闭。备用线路方案给接入层配第二条出口:主线路…
实战应用:用在哪里 行会官员由帮主任命的老模式弊端明显:任人唯亲、能上不能下。行会选举接口把官员换届做成投票制:每两个月一次…
实战应用:用在哪里 烈火剑法的伤害加成、冷却时间、下一级提升,全靠玩家记忆或去官网查。技能说明悬浮卡片在鼠标悬停技能图标零点…