Skip to content

注册变量结构

提示

请务必先阅读如何正确使用酒馆助手

点击查看对应类型定义文件 (可发给 AI 或 IDE 使用, 酒馆助手界面中提供了打包下载)

在使用变量时, 我们往往会有一种特定的变量结构, 例如:

json
{
  "stat_data": {
    "好感度": 100
  }
}

但玩家可以通过变量管理器任意修改变量, 可能把本应是数值的好感度改成了 "你好" 之类不符合要求的结果, 因此我们显然需要一种机制来在变量管理器验证变量是否符合要求.

注册变量结构

registerVariableSchema

为变量管理器注册一个变量结构. 注册后, 变量管理器上将会按变量结构对变量进行校验.

这只是方便使用变量管理器这一 UI 查看和管理变量, 对于代码层面没有任何影响.

ts
function registerVariableSchema(
  schema: z.ZodType<any>,
  option: { type: 'global' | 'preset' | 'character' | 'chat' | 'message' },
): void;

参数

schema

zod 库表示的变量结构

option

要注册变量结构的变量类型

示例

ts
// 注册消息楼层变量的结构为 stat_data 内有一个 好感度 数值变量
registerVariableSchema(z.object({
  stat_data: z.object({
    好感度: z.number(),
  }),
}), {type: 'message'});

作者:KAKAA, 青空莉想做舞台少女的狗