BOO UI编辑器 v4.0.5
传奇引擎 NGOM(922G) BOO 脚本全功能开发工具 — 拖拽式可视化 NPC 界面设计 + 智能语法补全与诊断 + M2 守护进程自动重载 + 数据库/地图查看器
系统要求
- VS Code
1.68.0 及以上(支持 Windows Server 2008 R2)
- 管理员权限(M2 重载功能需要)
快速开始
- 用 VS Code 打开 MirServer 工作区(扩展自动写入 GB2312 + 宋体编码配置)
- 点击左侧活动栏
UI 图标 → 点击「打开可视化编辑器」
- 打开任意
.txt 脚本文件,自动获得语法高亮和智能补全
可视化编辑器
设计流程
第一步:加载素材 → 点击工具栏「打开文件夹」,选择 PNG 素材目录(支持普通文件夹和 PAK 分包)
第二步:搭建界面 → 双击素材添加到画布,拖拽调整位置,滚轮缩放画布
第三步:调整属性 → 点击画布元素,右侧面板精确修改坐标/尺寸/颜色
第四步:生成代码 → 输入 WIL 资源编号,代码自动生成
10 种设计元素
| 元素 |
说明 |
| IMG 图片 |
双击素材添加,装饰/NPC 界面(PAK 子文件夹独立序号) |
| 文字 |
静态文本、彩色文字、点击跳转(坐标自动 +4) |
| 三态按钮 |
普通/悬停/按下三态图片按钮 |
| 特效动画 |
PlayImg 序列帧循环播放(帧数记忆上次设置) |
| 倒计时 |
限时活动倒计时展示(坐标自动 +4) |
| 文本框 |
@@InPutString 玩家输入框(坐标自动 +4) |
| 数字框 |
@@InPutInteger 数字输入(坐标自动 +4) |
| 关闭按钮 |
快捷导入,自定义关闭按钮 |
| 装备框 |
快捷导入,装备展示槽位 |
| 进度条 |
双图模式(背景图+进度条图),支持偏移参数 |
画布操作
| 操作 |
效果 |
| 滚轮 |
缩放画布(25%~400%) |
| 右键拖拽 |
平移画布 |
| 拖拽元素 |
移动位置 |
| Ctrl+C/V |
复制粘贴元素(完整保留特效、倒计时、按钮等类型属性) |
| Delete |
删除选中元素 |
| 方向键 |
微调选中元素位置 |
| Ctrl+点击 |
多选元素 |
PAK 素材支持
自动读取 Mir200\Envir\EffectImageList.txt,按 WIL 序号匹配子文件夹。每个子文件夹拥有独立的 willIdx,图片序号从 0 单独计数。
引擎切换
编辑器内可切换 NGOM(922G) / 翎风引擎,代码生成自动适配。引擎类型自动检测。
智能编码
代码补全
上下文感知,自动区分 #IF/#ACT/#SAY 块。
悬停文档
鼠标悬停在命令或变量上,显示语法格式、参数说明和示例。
定义跳转(Ctrl+点击 / F12)
GOTO @标签 / #CALL [路径] @标签 / 路径引用 / MerChant.txt 跳转。
实时诊断 + 自动修复
保存时自动检查(仅 Envir 目录):标签未闭合、引用未定义、重复定义、#CALL 文件缺失、<$PARAM(N)> 引擎常量。
Ctrl+Q 一键修复。
语法配色(19 种主题)
Ctrl+K Ctrl+T → 搜索 BOO → 19 种配色方案任选:
| 主题 |
风格 |
| BOO Dark |
默认经典 |
| BOO Forest |
森林绿 |
| BOO Ocean |
深海蓝 |
| BOO Sunset |
日落橙 |
| BOO Neon |
霓虹紫 |
| BOO Monochrome |
经典黑白 |
| BOO Cyberpunk |
赛博朋克 |
| BOO Aurora |
极光紫绿 |
| BOO Ember |
余烬红金 |
| BOO Mint |
薄荷清凉 |
| BOO Lavender |
薰衣草紫 |
| BOO Crimson |
深红烈焰 |
| BOO Steel |
钢铁蓝灰 |
| BOO Amber |
琥珀暖黄 |
| BOO Jade |
翡翠碧绿 |
| BOO Violet |
紫罗兰 |
| BOO Obsidian |
黑曜石金 |
| BOO Coral |
珊瑚粉 |
| BOO Arctic |
极地冰蓝 |
🎨 语法颜色设置(助手面板按钮)→ 可视化调色板,改色实时生效。
字体设置
🔤 字体设置(助手面板按钮)→ 默认宋体(SimSun),可在设置中自定义。
GBK 编码自动配置
扩展激活时自动向工作区写入 .vscode/settings.json,配置 files.encoding: gb2312。打开文件如检测到编码错误,提示用 GB2312 重新打开。
脚本工具
| 工具 |
快捷键 |
说明 |
| 变量 STR 包裹 |
Ctrl+D |
选中变量包裹为 <$str(变量)> |
| 格式化脚本 |
命令面板 |
规范化缩进和空行 |
| 批量数值编辑 |
Alt+X |
选中数字统一加减乘除 |
| 大小写转换 |
Alt+Shift+U |
选中文本大小写互转 |
| 快速颜色插入 |
Ctrl+F1 |
256 色调色板 |
| 查找未使用标签 |
命令面板 |
扫描未被引用的标签 |
| 插入脚本模板 |
命令面板 |
6 种模板 |
| 编码检测 |
命令面板 |
GBK/UTF-8 识别 |
M2 自动重载(守护进程版)
需以管理员身份运行 VS Code
架构:VS Code → stdin/stdout → M2Reloader 常驻守护进程 → PostMessage → M2Server
- 守护进程仅启动一次,后续命令零延迟
- 每次即时枚举窗口,零缓存,M2 重启句柄变化自动适配
- 按菜单名称匹配(如「所有NPC」),跨 M2 版本兼容
- 仅匹配
m2server.exe 进程,DBServer/GameCenter 不会误触发
- 设置面板「扫描M2Server菜单」→ 动态获取真实菜单项 → 勾选后保存
- 未找到服务端时状态栏提示
Ctrl+D 变量包裹
选中变量后按 Ctrl+D,自动包裹为 <$str(变量)>。
支持类型:N$ S$ L$ G$ GL$ / A0-999 G0-999 U0-499 T0-499 P0-999 J0-999 Z0-999
数据库查看器
MUD2\DB\ — 支持 SQLite(.db) + Access(.mdb) 双格式。物品/怪物/技能标签页切换。物品名称搜索、数据库刷新、物品详情侧边栏。
地图查看器
.map 文件预览。绿色 = 可通行,黑色 = 阻挡,支持缩放拖拽。左侧地图列表,MapInfo.txt 右键快速预览。
配置表格视图
MerChant.txt / MonGen.txt 自动显示列分隔线。右键 → Open With → BOO 表格视图 可表格编辑。
变量管理
左侧 变 图标 → 树形展示全工作区变量,按类型分组。BOO: 变量统计 生成详细报告。
代码补全编辑器
BOO: 代码补全编辑器 — 查看和自定义所有补全数据。5 个标签页:检测命令/执行命令/系统变量/引擎函数(GOM)/引擎函数(翎风)。实时搜索、直接编辑。
一键清理所有日志
BOO脚本助手 → 快捷工具 → 🗑️ 一键清理所有日志
覆盖 DBServer / LoginSrv / LogServer / Mir200 / RunGate 及端口子目录、NT反外挂日志等全部组件日志目录。不存在则跳过。
参考速查手册
| 命令 |
内容 |
BOO: MapInfo 地图参数参考 |
地图参数及说明 |
BOO: 显示颜色代码表 |
256 色调色板 |
BOO: 显示装备位置代码表 |
装备位置 (0-52) 及对应变量 |
BOO: 显示StdMode代码表 |
物品类型代码说明 |
快捷键
| 快捷键 |
功能 |
Ctrl+D |
变量转 <$str()> 包裹 |
Ctrl+F1 |
快速插入颜色代码 |
Ctrl+Q |
自动快速修复 |
Ctrl+K Ctrl+T |
颜色主题选择(19 种) |
Alt+Shift+U |
大小写智能转换 |
Alt+X |
批量数值编辑 |
F12 / Ctrl+点击 |
定义跳转 |
Shift+F12 |
引用查找 |
常见问题
Q: M2 重启后重载失败?
守护进程每次即时枚举窗口,自动适配新句柄。如有问题检查管理员权限和 m2server.exe 进程名。
Q: 脚本文件中文乱码?
扩展已自动配置工作区 GB2312 编码 + 宋体。如仍有问题,点 VS Code 右下角编码 → "Reopen with Encoding" → GB2312。
Q: 特效帧数总是变回 5?
v4.0.3 已修复,现在记住上次设置的帧数。
Q: 复制特效粘贴变成 ImgEx?
v4.0.3 已修复 cloneElement,粘贴保留完整元素属性。
Q: 颜色修改后不生效?
点助手面板 🎨 语法颜色设置 → 可视化调色板修改。或 Ctrl+K Ctrl+T 选 BOO 主题。
Q: PAK 素材图片序号错?
v4.0.5 已修复,每个子文件夹独立序号计数,不叠加。
技术 QQ: 1167746