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

Project1

 找回密码
 注册会员
搜索

能否实现每次进游戏让改过的事件名的复原

查看数: 1918 | 评论数: 19 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2009-11-5 15:32

正文摘要:

本帖最后由 幻耶 于 2009-11-5 15:44 编辑 游戏中会用 $game_map.events[6].name="..." 的方法改变1~20号事件的名字,我希望当保存游戏退出再读取进入的时候,1~20号事件的名字能够全部复原,行不行啊? ...

回复

幻耶 发表于 2009-11-13 08:32:19
1~20号class Game_Map
  def reset
    @events.clear
    for i in @map.events.keys
      @events = Game_Event.new(@map_id, @map.events) if i>0 && i < 21
    end
  end
endif i>0 && i < 21就加了这个东西。 ...
secondsen 发表于 2009-11-7 15:29



我加了if i>0 && i < 21,但是存盘退出再读取进游戏发现20号以上的事件都消失了!
secondsen 发表于 2009-11-7 15:38:58
本帖最后由 secondsen 于 2009-11-7 15:46 编辑

不用谢,举手之劳而已

那啥。。。认可答案。。。我攒积分中。。。
幻耶 发表于 2009-11-7 15:37:00
谢谢!我其实是把敌人的HP放到事件名里了,所以砍敌人的时候就改名字,读档的时候想还原,再次谢谢!
secondsen 发表于 2009-11-7 15:35:34
注意。。你少了 [i]
secondsen 发表于 2009-11-7 15:34:13
@events[i] = Game_Event.new(@map_id, @map.events[i]) if i>0 && i < 21


而不是

@events = Game_Event.new(@map_id, @map.events)
secondsen 发表于 2009-11-7 15:29:36
本帖最后由 secondsen 于 2009-11-7 15:32 编辑

1~20号
  1. class Game_Map
  2.   def reset
  3.     @events.clear
  4.     for i in @map.events.keys
  5.       @events[i] = Game_Event.new(@map_id, @map.events[i]) if i>0 && i < 21
  6.     end
  7.   end
  8. end
复制代码
if i>0 && i < 21就加了这个东西。。。

另外。。。name是载入的时候自动变回去的。。。。如要还原不了需要
save_data()把你的数据改掉。。。如果你的游戏要打包加密的话,我也不知道会出现什么情况。。
幻耶 发表于 2009-11-7 15:24:50
多谢!!能不能限定某些地图的某些事件还原啊?比如只让1~20号地图里面的1~20号事件的名字和位置还原
secondsen 发表于 2009-11-7 15:22:21
为什么你也是改EV001的名字变成111,难道咱俩心有灵犀?

Scene_Load 83行
就是
    $game_map           = Marshal.load(file)
    $game_player        = Marshal.load(file)
下面插入
    $game_map.reset

还有这脚本
  1. class Game_Map
  2.   def reset
  3.     @events.clear
  4.     for i in @map.events.keys
  5.       @events[i] = Game_Event.new(@map_id, @map.events[i])
  6.     end
  7.   end
  8. end
复制代码
就是和以前一样的改动
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-28 03:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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