跳转到内容

如何使用csv表辅助数据管理

如何使用csv表辅助数据管理

  • 解答:

在游戏开发中,如何高效、清晰地管理大量的游戏数据(如角色属性、物品信息、任务详情、对话文本等)是一个关键问题。直接在Lua脚本中硬编码这些数据会使得代码变得冗长、难以维护。我们可以利用csv格式文件表格来辅助管理,这是一种非常高效和流行的解决方案,其核心思想是:“数据与逻辑分离”。是纯文本文件,可以用Excel、Google Sheets、Numbers或任何文本编辑器轻松打开和编辑。当需要调整时,只需替换文件内容或文件名,程序逻辑无需改动。

但出于安全考虑,《元梦之星》不允许直接读取csv格式文件,我们需要将csv格式文件转换为一个用来放置Lua表(Table)的.lua文件。

我们可以使用AI帮忙转换,也可使用下列文件进行转换。

通过下面两个文件,可以将csv格式文件转换成返回一个表的Lua文件。

csv_to_lua_utf8.ps1

csv_to_lua_utf8.bat

ItemData.csv

使用方式:

image23(1) 准备一个utf8编码的csv格式文件(可通过excel将.xlsx文件另存为csv格式,点击另存为选择utf8编码格式保存)。
image24(2) 将需要转换的utf8编码的csv格式文件拖拽到csv_to_lua_utf8.bat文件上。
image25(3) 当出现下面:File conversion successful及可看到生成的同名.lua文件。
--读取ItemData.lua中的表数据
local ItemData = require("ItemData")

例子:

GameClient.lua

--读取ItemData.lua中的表数据
local ItemData = require("ItemData")
--@description 游戏开始时客户端的操作
function GameClient:OnStart()
--遍历数据表
for index, value in pairs(ItemData) do
--打印表内信息
Log:PrintTable(value)
end
end