Skip to content

广播系统 ​

装备首次升到某个指定星级时, 可以向周围或全服的玩家发通知

你把装备首次强化到指定星级时, 强化广播系统会向周围或全服玩家发送通知

配置 ​

广播规则写在 config.yml 里:

yaml
# 本地广播半径
local_broadcast_radius: 48

broadcast:
  # 达到这些星级时发送附近广播
  local_stars:
    - 8
  # 达到这些星级时发送全服广播
  global_stars:
    - 10
    - 12

字段说明 ​

字段类型必填默认值取值范围说明
local_broadcast_radiusinteger否48≥ 1 (小于 1 按 1 处理)本地广播半径, 单位方块. 位于 config 顶层, 不在 broadcast 节点内
broadcast.local_starslist<integer>否[8]正整数 (≤0 的项被丢弃)触发本地广播的星级列表
broadcast.global_starslist<integer>否[10, 12]正整数 (≤0 的项被丢弃)触发全服广播的星级列表

下面的示例把 +9 也加入附近广播, 并把半径扩大到 64 格:

yaml
local_broadcast_radius: 64

broadcast:
  local_stars:
    - 8
    - 9

触发规则 ​

  • 只在装备首次达到该星级时触发. 装备状态记录了已达到过的星级集合, 再次达到不会重复广播
  • 本地广播面向同世界内所有与玩家距离在 local_broadcast_radius 以内的玩家
  • 全服广播发给服务器里所有在线玩家
  • 本地和全服是两张独立的名单, 各自匹配. 同一星级同时出现在两张名单里时, 两条广播都会发

广播消息 ​

广播消息写在语言文件 (lang/*.yml) 里:

消息键用途
strengthen.broadcast.local_reach本地广播文案
strengthen.broadcast.global_reach全服广播文案

文案里可以用这些变量:

变量说明
%player%玩家名称
%star%达到的星级
%show_item%结果物品的可悬停展示文本

自带的中文文案:

yaml
strengthen:
  broadcast:
    local_reach: "<aqua>%player%</aqua> <yellow>将 %show_item% 强化到 <gold>+%star%</gold>。</yellow>"
    global_reach: "<aqua>%player%</aqua> <yellow>成功将 %show_item% 强化到 <gold>+%star%</gold>。</yellow>"

设计建议 ​

  • 中等成就 (如 +8) 用本地广播, 带动一片区域的氛围
  • 高成就 (如 +10, +12) 用全服广播, 营造稀缺感
  • 广播频率别设太高, 免得刷屏
  • 想要更强的仪式感, 就在对应星级的 actions.success 里追加标题, 音效或粒子效果