设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: fux2
打印 上一主题 下一主题

[已经过期] 10V求保存“创造的装备”进存档的方法

 关闭 [复制链接]
乌有君
11
乌有君  发表于 2011-6-5 12:16:53
本帖最后由 匿名 于 2011-6-5 12:20 编辑
  1. $data_weapons[to] = Marshal.load(Marshal.dump($data_weapons[from]))
  2. #↑偶能直接这样克隆一个装备的所有数据生成副本有木有~\(≧▽≦)/~
  3.     $data_weapons[to].id = to
  4. #↑数据库编号就是ID有木有~\(≧▽≦)/~
复制代码
故而这段秒杀上面所有人~\(≧▽≦)/~
其实SIZE这东西本身就是浮云……
忽然发现石器里的判断是否可以装装备已经被改得相当神奇了

点评

RUBY 的 数组本身就留了无限的空白  发表于 2011-6-5 17:46
这个适用于游戏在第一次发布时就在数据库的后面留出了一大片的空位置以给日后更新新装备使用.其实这是最省事的做法.  发表于 2011-6-5 13:06
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

12
发表于 2011-6-5 12:25:30 | 只看该作者
fux2 发表于 2011-6-5 12:04
一旦原有数据库装备ID改变后所有新装备的ID都需要改变吗?

我写那个不是需要改变是一定会改变.
不只是数据库的数量变了会影响到这个.
在游戏运行时.玩家在商店出售了新创造的装备后.
在下次读档的时候.在该出售装备id之后的装备id也会发生改变.
id变了.不过 real_id 没变











你知道得太多了

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42339
在线时间
7598 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

13
 楼主| 发表于 2011-6-5 14:34:39 | 只看该作者
心雪 发表于 2011-6-5 11:18
定义一个新数组,保存自定义装备数据,然后写入存档,读档的时候直接
$data_weapons = $data_weapons + 自 ...

表示存档之后装备就消失了,连基本要求都未达成= =

点评

我要的就是储存方法难道还要咱来储存么= =  发表于 2011-6-5 14:52
$data_weapons有储存么  发表于 2011-6-5 14:40
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
169 小时
注册时间
2007-8-12
帖子
203
14
发表于 2011-6-5 15:03:37 | 只看该作者
fux2 发表于  
表示存档之后装备就消失了,连基本要求都未达成= =

[img]http://panduk.zoomshare.com/files/Wea.jpg[\img]
这是读档后的状态……我真的没发现问题在哪……
顺便提供新的工程……原工程在添加第二次武器的时候会出现二次添加的情况
http://panduk.zoomshare.com/files/Project52.rar
6R大姨妈不能上附件了么……
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42339
在线时间
7598 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

15
 楼主| 发表于 2011-6-5 15:11:33 | 只看该作者
心雪 发表于  
http://panduk.zoomshare.com/files/Wea.jpg[\img]
这是读档后的状态……我真的没发现问题在哪……
顺便 ...

存档之后退出修改武器数据库最大值,新建道具ID就改变了,原本穿在身上的装备就不见了

点评

武器ID什么的没改不是说过了么……这个自己也可以算吧……  发表于 2011-6-5 20:20
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

可以吃的头衔

梦石
0
星屑
1000
在线时间
423 小时
注册时间
2010-10-17
帖子
602
16
发表于 2011-6-5 15:19:06 | 只看该作者
后知后觉 发表于  
我写那个不是需要改变是一定会改变.
不只是数据库的数量变了会影响到这个.
在游戏运行时.玩家在商店出售 ...

后知后觉大人的工程没问题,但是重定义部分太多,与咱的工程冲突太大
咱还是需要尽量减少手术复杂程度……
……
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42339
在线时间
7598 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

17
 楼主| 发表于 2011-6-8 18:53:03 | 只看该作者
啊,自顶一下,楼上个各位真对不起,这三天咱高考,怠慢之处请见谅……
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

18
发表于 2011-6-8 19:09:49 | 只看该作者
本帖最后由 精灵使者 于 2011-6-8 19:11 编辑

保存进存档?
我记得没错的话应该是
存档:
一般来说,数据库的运行时修改随存档文件保存比较好,这样剧情中的更改不会影响新建游戏。
以下是相关的保存用代码:
  1. class Scene_Save
  2. alias sailcat_write_save_data write_save_data
  3. def write_save_data(file)
  4.    sailcat_write_save_data(file)
  5.    # 写入数据库
  6.    Marshal.dump($data_actors, file)
  7.    Marshal.dump($data_classes, file)
  8.    Marshal.dump($data_skills, file)
  9.    Marshal.dump($data_items, file)
  10.    Marshal.dump($data_weapons, file)
  11.    Marshal.dump($data_armors, file)
  12.    Marshal.dump($data_enemies, file)
  13.    Marshal.dump($data_troops, file)
  14.    Marshal.dump($data_states, file)
  15.    Marshal.dump($data_animations, file)
  16.    Marshal.dump($data_tilesets, file)
  17.    Marshal.dump($data_common_events, file)
  18.    Marshal.dump($data_system, file)
  19. end
  20. end
  21. class Scene_Load
  22. alias sailcat_read_save_data read_save_data
  23. def read_save_data(file)
  24.    sailcat_read_save_data(file)
  25.    $data_actors = Marshal.load(file)
  26.    $data_classes = Marshal.load(file)
  27.    $data_skills = Marshal.load(file)
  28.    $data_items = Marshal.load(file)
  29.    $data_weapons = Marshal.load(file)
  30.    $data_armors = Marshal.load(file)
  31.    $data_enemies = Marshal.load(file)
  32.    $data_troops = Marshal.load(file)
  33.    $data_states = Marshal.load(file)
  34.    $data_animations = Marshal.load(file)
  35.    $data_tilesets = Marshal.load(file)
  36.    $data_common_events = Marshal.load(file)
  37.    $data_system = Marshal.load(file)
  38. end
  39. end
复制代码
这个脚本使用时可以灵活处理,你改了哪些对象,就保存哪些,没改的,就不存,删掉其中的对应行,但是一定要注意,save和load里面的存取对象列表,必须完全相同,不但完全相同,连顺序也要一一对应才可以。
精灵至关重要的话:
可以保存进去任何变量,数组(照猫画老虎),但是一定要顺序完全相同。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 13:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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