Edit

自定义指令(命令)

用户可以自定义追加事件指令:可视化制作事件指令的编辑器,以及使用脚本编写相关的逻辑。

用户可以自定义追加事件指令:可视化制作事件指令的编辑器,以及使用脚本编写相关的逻辑。

比如TBRPG-梦之剑模板追加了一些自定义的指令

alt text

打开自定义命令编辑器

菜单 -> 自定义编辑器 -> 命令设定编辑

编辑界面

自定义编辑器中的可视化制作编辑器界面的方法都是相同的,参考【自定义编辑面板】

事件页预览模式

允许通过脚本实现编辑器内的实时预览效果。

如《星之瞳》模板中的显示图片、显示视频等指令的实时预览效果均由「编辑器预览」中实现。 这意味着高级开发者制作的指令也是可以实时预览效果的。

界面层与图像层

界面层用于显示和操作界面,图像层用于显示和操作图片/动画/立绘/视频等。

需要切换选中对应的层次才允许操作。

分叉预览

可根据指令中不同条件(路线)来实时预览而无需启动游戏去测试查看效果。

预设分类

可从预设分类中的资源拖入到主舞台来生成对应的指令。

实现命令

通常可在脚本编辑器中的Code菜单中直接输出命令:自定义相关-自定义命令

Script.ts
module CommandExecute {
  /**
   * 自定义命令执行 1表示对应1号命令
   * @param commandPage 事件页
   * @param cmd 当前的事件命令
   * @param trigger 触发器
   * @param triggerPlayer 触发器对应的玩家
   * @param playerInput 玩家输入值,用于暂停执行该触发器事件并等待玩家输入后获得的值,执行完该函数后会被清空
   * @param p 自定义命令参数 1表示对应1号命令的参数
   */
  export function customCommand_1(commandPage: CommandPage, cmd: Command, trigger: CommandTrigger, triggerPlayer: ClientPlayer, playerInput: any[], p: CustomCommandParams_1): void {
    // to do
    // 参数p中含有自定义命令编辑器中设置好的变量类型,直接使用即可
  }
  /**
   * 自定义命令-预编译(如果无需预编译则删除此函数)1表示对应1号命令
   * 预编译可将预先计算的结果储存到cmd.paramsCompiled中,以便在命令执行时直接使用,减少计算量以提升执行性能
   * @param commandPage 事件页
   * @param cmd 当前的事件命令
   * @param index 当前的事件命令所在的行
   * @param p 自定义命令参数 1表示对应1号命令的参数
   */
  export function customCommandPrecompile_1(commandPage: CommandPage, cmd: Command, index: number, p: CustomCommandParams_1): void {
    // 此处可用于优化性能,预编译指令后,在执行指令时直接使用缓存即可
    // 可将编译好的数据储存至 cmd.paramsCompiled 以便运行时调用
  }
}

其他参考

可参考《RPG-苍之羽》的CustomCommand.ts


Copyright © 2021 - 2025