Skip to content
On this page

编辑器与隔离预览

原版菜单不需要独立编辑器。游戏内嵌编辑器和外置编辑器共用同一套页面模型、目标目录、表单绑定和保存校验,普通页面中的组件、布局、草稿与撤销功能也都可以继续使用。

新建一张原版菜单

  1. 输入 /chaui editor <页面ID> 打开或创建页面。
  2. 在页面属性中把显示模式选为“原版菜单”。
  3. 从稳定目标下拉框选择目标,例如 pause_menutitle_menu
  4. 添加按钮、文本、图片和表单组件。
  5. 进入隔离预览检查交互。
  6. 保存页面并在真实原版入口完成最终验收。

原版菜单模式会隐藏 allowEscClose。返回与取消行为由当前原版页面上下文决定,不能用普通 screen 页面的 Esc 开关覆盖。

目标下拉框不是自由文本

编辑器只提供当前 ChaUI 公共目录中的稳定目标。选择目标后会写入:

yaml
display:
  mode: vanilla
  vanilla:
    target: pause_menu

一套页面包内同一目标只能有一张页面。若另一张已加载页面已经声明 pause_menu,保存会明确拒绝,而不是按文件名或编辑顺序选择其中一张。修正目标后再保存即可,草稿不会因此丢失。

页面模式、目标和组件绑定都进入现有草稿与撤销/重做记录。非法的半成品可以暂留在输入框中,但不会写入页面模型或保存结果。

绑定原版设置

编辑表单组件的 bind 时,候选列表同时包含:

  • 当前页面可用的 vars.*
  • 与组件类型兼容的可写 原版.设置.*

例如拖动条会看到音乐音量、亮度、视野等数字属性,不会把布尔全屏作为可选数字绑定;布尔和枚举选择组件同样按类型、范围与允许值筛选。即使手工粘贴路径,保存时仍会再次校验。

完整组件匹配规则见设置绑定,属性目录见原版状态参考

隔离预览提供哪些数据

编辑器预览不依赖当前真的打开某个原版 Screen,而是为页面建立三类安全数据:

数据预览来源能否修改真实客户端
原版.客户端.*当前客户端的只读值不能写
原版.页面.*根据所选目标生成的示例标题、消息、进度和返回能力不能写
原版.设置.*从真实设置复制出的可丢弃沙箱可以在预览中改沙箱,不改真实设置

例如预览 connecting 时可以看到示例连接消息,预览 video_options 时可以拖动设置滑块。退出预览后,真实音量、全屏和画质保持不变。

本地动作在预览中不会真正执行

以下动作会完成语法和参数校验,但不会改变客户端:

  • 打开原版页面(...)
  • 加入服务器(...)
  • 断开服务器()
  • 退出游戏()
  • 确认原版操作()

这是为了防止页面作者在调整布局时意外连接服务器或退出游戏。动作的真实结果必须在保存后的替换页面中测试。

保存页面与发布素材是两件事

操作保存内容什么时候发布
编辑器保存 vanilla 页面页面 yml保存成功后立即重建并发布活动菜单包,不要求 reload
编辑器选择管理员客户端本地图片只保存 yml 中的相对路径不会把本地素材上传到服务器
手工修改 plugins/ChaUI/vanilla-menu-assets/**服务端待发布素材执行 /chaui reload 后进入新页面包

游戏内和外置编辑器首期都不提供素材上传流程。页面引用的图片、字体、音效和视频需要由服主放到服务端发布目录、定制客户端资源目录或 ChaAssets 中。

保存前检查

  • 文件名与根级 id 一致;
  • display.modevanilla,目标来自下拉框;
  • 同目标没有第二张页面;
  • 表单绑定的路径、类型、范围和选项合法;
  • 所有本地动作参数数量与类型正确;
  • 页面预览中没有被全屏透明组件意外挡住的按钮;
  • 真实页面中已经测试返回、失败和原版保险入口。

发布目录、客户端预置包和缓存规则继续阅读页面包与素材