铁血丹心

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

两个存lua档函数,非原创

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

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

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

x
应该是查理猫写的,也可能是另外的大大写的,反正是原来的修罗补丁里面的存档函数。总之,很强大,很有效,很好用。
  1. function SaveTableContent(file, obj)  --不包含物品数据的存档数据类型判断
  2.       local szType = type(obj);          --判断对象类型
  3.      -- print(szType);         --输出
  4.       if szType == "number" then  --如果类型是数字
  5.             file:write(obj);  --直接写入
  6.       elseif szType == "string" then  --如果类型是字符串
  7.             file:write(string.format("%s", obj)); --以字符串形式写入
  8.       elseif szType == "table" then  --如果类型是表格
  9.             --把table的内容格式化写入文件
  10.             --file:write("{\n");
  11.                 file:write("{"); --首先写入一个{
  12.             for i, v in pairs(obj) do  --逐个元素判断
  13.                   --file:write("[");  --起始加上[
  14.                   --SaveTableContent(file, i);--写入下标值
  15.                   --file:write("]=\n");  --写入]并换行
  16.                   SaveTableContent(file, v);
  17.                   --file:write(", \n"); --每写完一个表格数据换行
  18.                         file:write(",");
  19.              end
  20.             --file:write("\n");  --写入最后一个表格数据的时候换行
  21.       else
  22.       error("can't serialize a "..szType);
  23.       end
  24. end
  25. function SaveTableContent2(file, obj)  --针对物品数据的判断
  26.       local szType = type(obj);          --判断对象类型
  27.      -- print(szType);         --输出
  28.       if szType == "number" then  --如果类型是数字
  29.             file:write(obj);  --直接写入
  30.       elseif szType == "string" then  --如果类型是字符串
  31.             file:write(string.format("%s", obj)); --以字符串形式写入
  32.       elseif szType == "table" then  --如果类型是表格

  33.                 file:write("{"); --首先写入一个{
  34.             for i, v in pairs(obj) do  --逐个元素判断

  35.                   SaveTableContent2(file, v);

  36.                         file:write(",");
  37.              end
  38.                 file:write("}");--每维完成后加一个}

  39.       else
  40.       error("can't serialize a "..szType);
  41.       end
  42. end
复制代码
用这个保存数据再dofile很犀利。

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-9-26 14:42 | 显示全部楼层
回复 btxdex 的帖子

顶起来!早知道就不去掉实战系统了。。。。。。

点评

那还是别去实战了吧  发表于 2012-9-26 18:55
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-9-26 18:40 | 显示全部楼层
赞,叩谢一个
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-11-23 20:32

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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