铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 3253|回复: 5

批量导出lua版各类数据函数

[复制链接]
发表于 2017-12-8 21:26 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
我写的,有需要的随便使用
变量名纯属乱取,又随便注释了一下,估计学了12分钟lua的人都能看懂
代码还可以进入一歩简化,懒得改了


--导出人物数据函数
--path 文件夹路径,存放脚本数据
function ExportCharacterData(path)
local key1={} --存键值(待处理)
local key2={} --存键值(处理后)
local num=0 --用于计算
for i,v in pairs(CC.Person_S) do --遍历test1,获取键值
key1[v[1]]=i --存储键值(待处理)
end
for i=0, CC.PersonSize-2,2 do --循环
if key1[i]~=nil then --判断,如果下标不为空?
num=num+1 --满足条件+1
key2[num]=key1[i] --存储键值(处理后)
end
end
for j=0,JY.PersonNum-1 do --循环人物数量
local file = io.open(string.format("%s%d.lua", path,j), "w") --批量创建文件,写入数据
file:write(string.format("--【%s】\n",JY.Person[j]["姓名"])) --输出注释行
for i,v in pairs(key2) do --遍历test1,获取元素
local r=type(JY.Person[j][v])=="number" and "%d" or "\"%s\"" --类型是否为数字?
file:write(string.format("JY.Person[%d][\"%s\"]="..r.."\n",j,v,JY.Person[j][v])) --匹配数据,输出
end
file:close() --关闭 file
end
end

--导出物品数据函数
--path 文件夹路径,存放脚本数据
function ExportItemData(path)
local key1={} --存键值(待处理)
local key2={} --存键值(处理后)
local num=0 --用于计算
for i,v in pairs(CC.Thing_S) do --遍历test1,获取键值
key1[v[1]]=i --存储键值(待处理)
end
for i=0, CC.ThingSize-2,2 do --循环
if key1[i]~=nil then --判断,如果下标不为空?
num=num+1 --满足条件+1
key2[num]=key1[i] --存储键值(处理后)
end
end
for j=0,JY.ThingNum-1 do --循环物品数量
local file = io.open(string.format("%s%d.lua", path,j), "w") --批量创建文件,写入数据
file:write(string.format("--【%s】\n",JY.Thing[j]["名称"])) --输出注释行
for i,v in pairs(key2) do --遍历test1,获取元素
local r=type(JY.Thing[j][v])=="number" and "%d" or "\"%s\"" --类型是否为数字?
file:write(string.format("JY.Thing[%d][\"%s\"]="..r.."\n",j,v,JY.Thing[j][v])) --匹配数据,输出
end
file:close() --关闭 file
end
end

--导出场景数据函数
--path 文件夹路径,存放脚本数据
function ExportScenarioData(path)
local key1={} --存键值(待处理)
local key2={} --存键值(处理后)
local num=0 --用于计算
for i,v in pairs(CC.Scene_S) do --遍历test1,获取键值
key1[v[1]]=i --存储键值(待处理)
end
for i=0, CC.SceneSize-2,2 do --循环
if key1[i]~=nil then --判断,如果下标不为空?
num=num+1 --满足条件+1
key2[num]=key1[i] --存储键值(处理后)
end
end
for j=0,JY.SceneNum-1 do --循环场景数量
local file = io.open(string.format("%s%d.lua", path,j), "w") --批量创建文件,写入数据
file:write(string.format("--【%s】\n",JY.Scene[j]["名称"])) --输出注释行
for i,v in pairs(key2) do --遍历test1,获取元素
local r=type(JY.Scene[j][v])=="number" and "%d" or "\"%s\"" --类型是否为数字?
file:write(string.format("JY.Scene[%d][\"%s\"]="..r.."\n",j,v,JY.Scene[j][v])) --匹配数据,输出
end
file:close() --关闭 file
end
end

--导出武功数据函数
--path 文件夹路径,存放脚本数据
function ExportIngMartialArtsData(path)
local key1={} --存键值(待处理)
local key2={} --存键值(处理后)
local num=0 --用于计算
for i,v in pairs(CC.Wugong_S) do --遍历test1,获取键值
key1[v[1]]=i --存储键值(待处理)
end
for i=0, CC.WugongSize-2,2 do --循环
if key1[i]~=nil then --判断,如果下标不为空?
num=num+1 --满足条件+1
key2[num]=key1[i] --存储键值(处理后)
end
end
for j=0,JY.WugongNum-1 do --循环武功数量
local file = io.open(string.format("%s%d.lua", path,j), "w") --批量创建文件,写入数据
file:write(string.format("--【%s】\n",JY.Wugong[j]["名称"])) --输出注释行
for i,v in pairs(key2) do --遍历test1,获取元素
local r=type(JY.Wugong[j][v])=="number" and "%d" or "\"%s\"" --类型是否为数字?
file:write(string.format("JY.Wugong[%d][\"%s\"]="..r.."\n",j,v,JY.Wugong[j][v])) --匹配数据,输出
end
file:close() --关闭 file
end
end

--导出小宝商店数据函数
--path 文件夹路径,存放脚本数据
function ExportStoreData(path)
local key1={} --存键值(待处理)
local key2={} --存键值(处理后)
local num=0 --用于计算
for i,v in pairs(CC.Shop_S) do --遍历test1,获取键值
key1[v[1]]=i --存储键值(待处理)
end
for i=0, CC.ShopSize-2,2 do --循环
if key1[i]~=nil then --判断,如果下标不为空?
num=num+1 --满足条件+1
key2[num]=key1[i] --存储键值(处理后)
end
end
for j=0,JY.ShopNum-1 do --循环小宝商店数量
local file = io.open(string.format("%s0.lua", path), "w") --批量创建文件,写入数据
for i,v in pairs(key2) do --遍历test1,获取元素
local r=type(JY.Shop[j][v])=="number" and "%d" or "\"%s\"" --类型是否为数字?
file:write(string.format("JY.Shop[%d][\"%s\"]="..r.."\n",j,v,JY.Shop[j][v])) --匹配数据,输出
end
file:close() --关闭 file
end
end

--导出基本数据函数
--path 文件夹路径,存放脚本数据
function ExportBasicData(path)
local key1={} --存键值(待处理)
local key2={} --存键值(处理后)
local num1=0 --计算
local num2=0 --计算
for i,v in pairs(CC.Base_S) do --遍历test1,获取键值
key1[v[1]]=i --存储键值(待处理)
num1=num1+1
end

for i=0, (num1*2),2 do --循环
if key1[i]~=nil then --判断,如果下标不为空?r
num2=num2+1 --满足条件+1
key2[num2]=key1[i] --存储键值(处理后)
end
end

local file = io.open(string.format("%s0.lua", path), "w") --创建文件,写入数据
for i,v in pairs(key2) do --遍历test1,获取元素
local r=type(JY.Base[v])=="number" and "%d" or "\"%s\"" --类型是否为数字?
file:write(string.format("JY.Base[\"%s\"]="..r.."\n",v,JY.Base[v])) --匹配数据,输出
end
file:close() --关闭 file
end

评分

参与人数 1声望 +30 收起 理由
dawuxia + 30 鼓励新人踊跃参与

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2017-12-8 21:28 | 显示全部楼层
啊 代码忘了格式化
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-12-9 23:34 | 显示全部楼层
你是哪位的马甲啊
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2017-12-21 21:05 | 显示全部楼层
高手,感謝分享
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-1-7 15:30 | 显示全部楼层
我只能说学了12分钟的人绝不可能看懂。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2018-4-23 22:02 来自手机 | 显示全部楼层
……没战斗数据导出差评……(假装看懂)
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-2 07:19

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表