Skip to content

二维表介绍

介绍

二维表变量是将数据以表格的形式存储的新变量类型,使用非常简单。大家在制作RPG、塔防等需要大量配置的游戏时,再也不用新建多个数组,直接通过二维表就能快捷的实现。 二维表支持全局变量和玩家变量,其中玩家的二维表可以在服务器上保存数据,在新建变量时选择云变量即可。

image-20250424102940313

表格编辑

在你第一次新建二维表变量时,需要先定义二维表的列字段。点击查看/编辑,进入二维表编辑页面。

image-20250424103250911

模板导出

当前版本只支持csv表格导入,通过excel可以使用公式填充更高效快捷的编辑数据,之后会开放表格编辑工具。

你可以点击导出示例,来查看官方支持的数据类型。

image-20250424103322663

表格编辑

首先使用excel或wps打开导出的文档。我们可以看到如下的模板。

image-20250424103359323

  1. 第一行为字段的备注,主要用来说明字段的用途,避免混淆字段。备注填写后在调试或查看时,可以更快速的判断字段的用途。备注非必要字段,可为空。

image-20250424103433981

  1. 第二行为列名,用于在编辑和逻辑调用时区分不同的字段。该字段为必填项不可重复

image-20250424103457659

  1. 第三行为列的类型,我们会根据不同的类型,将下方填写的值解析成不同的数据类型。方便在逻辑中更好的运用。以下是当前版本支持的数据类型。注意数据类型为必填项,且必须和官方的定义完全一致,否则无法识别。
参数类型类型名参考填写值
数值number1
三维坐标position0|7|0
字符串string迷你世界你好
布尔值bool0
方块类型block100
道具类型item101
生物类型actorid3400
特效类型effectid1000
玩家player1000077763
对象实例objid154467589
图案image8_400415944_1642835210
颜色color#91b8b8
  1. 第四行之后的数据为实际数据,可以在编辑模式下设置默认值,在运行中实时增删改查。那我们如何查找游戏中的各种id呢?可以打开脚本编辑器或触发器,选中对应的参数类型,然后在选择器中找到想要的参数,接着点击ctrl+c或复制按钮,即可复制id。最后将对应id在excel中填写。

image-20250424103520105

image-20250424103541130

表格导入

当你在excel中配置好需要的数据类型后,就可以打开点击导入,选择你刚刚编辑好的表格了。

image-20250424103549201

二维表常见问题

  • Q:我可以在运行时动态扩充列吗
    • A:不可以,必须在编辑模式下定义好所有的列数据类型。
  • Q:导入后提示”超过2000行“
    • A:目前单个表格最多只支持2000行数据。
  • Q:导入提示”未能识别某列的列类型“
    • A:支持的数据类型为上方表格限定范围,请检查是否与官方给定的一致。
  • Q:导入提示”列名不允许重复,请重新输入“
    • A:列名需要保持唯一,否则在触发器中无法区分不同的字段,请修改表格后重试。
  • Q:导出后提示”缺少列名“
    • A:列名不允许为空,请修改表格后重试。
  • Q:导出后提示”第x列中数据与数据类型不符,已自动置空“
    • A:数据类型和下方的值需要对应,如果填写的值无法按数据类型解析,会将该值重置为空值。
  • Q:行数据可以为空吗
    • A:可以的,如果设置为空,在读取时也会返回空值。建议在读写时用触发器的空值判断后再进行操作。

image-20250424103601291

  • Q:运行过程中提示我”数据超过上限,请联系开发者“
    • A:单个玩家的二维表变量和其他云变量的存储总量受64K的限制
  • Q:为什么我的数据表都是正确的,但是提示”数据与类型不符“
    • A:这个是一个bug,等待下个版本修复。

逻辑操作(lua接口参考二维表变量数据管理接口 Table | 迷你世界UGC3.0脚本Wiki

动作:在(二维表↓)添加一行数据()()()()

说明:

在表的末尾插入数据,选择要操作的二维表后,后方会自动根据表格解析出数据类型。

原始表格:

image-20250424103613195

触发器:

image-20250424104140023

运行结果:

image-20250424104149951

动作:在(二维表↓)中第()行插入数据()()()()

说明:

  1. 新增一行并插入到对应的行数中,原有行数的行往后移。

原始表格:

image-20250424103619530

触发器:

image-20250424104205024

运行结果:

image-20250424104213404

动作:替换(二维表↓)中列名为()行为()行数据为(任意值)

说明:

在二维表中修改某列数据值,可以指定修改要修改的行数,支持传入数组后修改多行的数据。

原始表格:

image-20250424103619530

触发器:

image-20250424104224342

运行结果:

image-20250424104233827

动作:更新(二维表↓)中列名为()数据(=)(任意值)的行:第()列数据为(任意值)

说明:

在表格中查找列中对应数据的行,如果查找到后可以修改其他列的数据为另一个值。例如我们想把分数是0分的人的名称修改为“零分的人”.我们要查找“分数"列等于0分的行,我们找到了第三行,这时候可以修改第三行的”名称“数据为“零分的人”。

原始表格:

image-20250424103619530

触发器:

image-20250424104243480

运行结果:

image-20250424104251460

动作:删除(二维表↓)中第()行数据

说明:

将某一行删除,下方的行往上移。

原始表格:

image-20250424103619530

触发器:

image-20250424104300725

运行结果:

image-20250424104308628

动作:清空(二维表↓)

说明:

清空二维表的所有数据,请谨慎操作。

原始表格:

image-20250424103619530

触发器:

image-20250424104317943

运行结果:

image-20250424104324775

取值,返回不同类型值:查询(二维表↓)中第()列()行数据

说明:

获取对应数据对应行数的值,切换列类型后该积木的数据类型会实时变化。

原始表格:

image-20250424103619530

触发器:

image-20250424104840238

运行结果:

image-20250424104848020

取值,返回不同类型数组:查询(二维表↓)中第()列数据

说明:

获取指定列的数据,返回的是对应数据类型的数组

原始表格:

image-20250424103619530

触发器:

image-20250424104856784

运行结果:

image-20250424104904182

取值,返回数值:查询(二维表↓)总行数

说明

获取表格的总行数。

原始表格:

image-20250424103619530

触发器:

image-20250424104914096

运行结果:

image-20250424104921209

取值,返回数值:查询(二维表↓)中第()列中 值为()的行数

说明:

查询表格中某列数据中对应值的行,如果有多行只返回第一行。

原始表格:

image-20250424103619530

触发器:

image-20250424104931554

运行结果:

image-20250424110303186

取值,返回数值组:查询(二维表↓)中第()列中 值为()的行数组

说明:

查询表格中某列数据中对应值的行的数值组。

原始表格:

image-20250424103619530

触发器:

image-20250424105117418

运行结果:

image-20250424105125613

数据调试

  1. 在运行过程中点击调试后,可以点击对应的二维表,查看当前二维表的值。
  2. 查看的同时可以将运行结果导出到电脑中,之后在编辑模式下直接导入使用。

image-20250424105139081

image-20250424105148104

image-20250424105154455