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

Project1

 找回密码
 注册会员
搜索
查看: 1631|回复: 5
打印 上一主题 下一主题

请问怎样在存档游戏里重新加载类

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
1 小时
注册时间
2008-2-3
帖子
8
跳转到指定楼层
1
发表于 2009-4-28 17:52:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
装了《任务系统缩减版 (清纯版- -)》后`存档使用会出错`
因为

  1. #==============================================================================
  2. # Game_System
  3. #------------------------------------------------------------------------------
  4. # 添加内容
  5. #==============================================================================
  6. class Game_System
  7. attr_accessor :mission #现在执行的任务
  8. attr_accessor :partmission
  9. alias carol3_ini initialize
  10. def initialize
  11.   carol3_ini
  12.   @mission = ""
  13.   @partmission = []
  14. end
  15. end
复制代码

上面这个类给Game_System加了两个属性,但Game_System只在重新开始的时候才会启用,
使用存档游戏的话,这两个属性就加载不进去,结果就成NIL了````
所以我想问问如何在存档游戏里运行的时候把这两个属性加进去?而不用重新游戏,我的想法是加个判断,没这两个属性的时候自动把这两个属性加入进去````但运行时重载类我就不晓得语法了```看帮助文件也没找到。。非常之郁闷````
谢谢各位大大!潜水N多年``最近终于有时间搞RMVX了```遇到些问题,特来求助。。。再次谢谢各位!{/gg}
任务系统缩减版:http://rpg.blue/web/htm/news374.htm
版务信息:本贴由楼主自主结贴~
非典型性潜水综合症患者。

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

2
发表于 2009-4-28 19:03:18 | 只看该作者
参考 Scene_Title
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
1 小时
注册时间
2008-2-3
帖子
8
3
 楼主| 发表于 2009-4-28 19:39:02 | 只看该作者
非常谢谢`原来如此```{/qiang}
$game_system = Game_System.new #初始化游戏对象
非典型性潜水综合症患者。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
1 小时
注册时间
2008-2-3
帖子
8
4
 楼主| 发表于 2009-4-28 19:45:30 | 只看该作者
修改后的脚本放出`比较粗糙`逻辑不是太好```不过`在更深入理解GRSS之前``先将就一下吧```
存档可用版清爽任务系统````再次谢谢各位大大`

  1. # 本脚本由主页上的[任务显示与菜单综合加强]改编的,从新整和了一下,主要功能
  2. # 直接通过[$scene=Scene_RecordBook.new]调用查看任务显示,方便自制菜单等游
  3. # 戏的利用,也是应论坛上[linguoheng]的需求做的,现在发布出来方便大家以后使
  4. # 用
  5. #~ 小提示(如果还想改造的话):

  6. #~ $game_system.mission.to_s 主线任务

  7. #~ $game_system.partmission[i].to_s 第i个支线任务

  8. #~ main之前右键插入,全选RGSS代码后,粘贴即可.脚本名可自己取.

  9. #~ 添加主线任务的方法 : 在事件中代入脚本: $任务 = "这里写你的任务" (注意输入的时候引号不要丢.)

  10. #~ 添加支线任务的方法 : 在事件中代入脚本: $支线 = "这里写你的任务" 完成任务的时候输入脚本: $支线完成 = "这里任务与添加时务必一样" (这里输入脚本里的任务名称务必与添加时一至,否则不起任何效果.)

  11. #~ 注意:添加多个支线任务时,中间必须有对话或者其他事件隔开,不能都密密麻麻写在一起,否则只会读取最后一个任务。如图

  12. #==============================================================================
  13. # Game_System
  14. #------------------------------------------------------------------------------
  15. # 添加内容
  16. #==============================================================================
  17. class Game_System
  18. attr_accessor :mission #现在执行的任务
  19. attr_accessor :partmission
  20. alias carol3_ini initialize
  21. def initialize
  22.    carol3_ini
  23.    @mission = ""
  24.    @partmission = []
  25. end
  26. end
  27. #==============================================================================
  28. # ■ Scene_Title
  29. #------------------------------------------------------------------------------
  30. #  处理标题画面的类。
  31. #==============================================================================
  32. class Scene_Title
  33. alias carol3_title1 main
  34. def main
  35.    $map_infos = load_data("Data/MapInfos.rvdata")
  36.    for key in $map_infos.keys
  37.      $map_infos[key] = $map_infos[key].name
  38.    end
  39.    $支线 = nil
  40.    $支线完成 = nil
  41.    $任务 = ""
  42.    carol3_title1
  43. end
  44. end
  45. class Scene_Map
  46. alias carol3_update update
  47. def update
  48.    if $game_system.partmission == nil
  49.      $game_system = Game_System.new
  50.    end
  51.    carol3_update
  52.    if $支线 != nil
  53.      for i in 0...$game_system.partmission.size
  54.        if $game_system.partmission[i] == $支线
  55.          $支线 = nil
  56.          break
  57.        end
  58.      end
  59.      if $支线 != nil
  60.        $game_system.partmission.push($支线)
  61.        $支线 = nil
  62.      end
  63.    end
  64.    if $支线完成 != nil
  65.      for i in 0...$game_system.partmission.size
  66.        if $game_system.partmission[i] == $支线完成
  67.          $game_system.partmission.delete($game_system.partmission[i])
  68.          break
  69.        end
  70.      end
  71.      $支线完成 = nil
  72.    end
  73. end
  74. end
  75. #==============================================================================
  76. # ■ Game_Map
  77. #------------------------------------------------------------------------------
  78. #  处理地图的类。包含卷动以及可以通行的判断功能。
  79. # 本类的实例请参考 $game_map 。
  80. #==============================================================================
  81. class Game_Map
  82. def name
  83.    return $map_infos[@map_id]
  84. end
  85. end
  86. #==============================================================================
  87. # Window_RecordBook
  88. #------------------------------------------------------------------------------
  89. # 菜单界面表示信息的窗口
  90. #==============================================================================
  91. class Window_RecordBook < Window_Base
  92. #--------------------------------------------------------------------------
  93. # ● 初始化对象
  94. #--------------------------------------------------------------------------
  95. def initialize
  96.    super(0, 0, 544, 416)
  97.    self.contents = Bitmap.new(width - 32, height - 32)
  98.    if $任务 == ""
  99.      $任务 = $game_system.mission
  100.    else
  101.      $game_system.mission = $任务
  102.    end
  103.    refresh
  104. end
  105. #--------------------------------------------------------------------------
  106. # ● 刷新画面
  107. #--------------------------------------------------------------------------
  108. def refresh
  109.    self.contents.clear
  110.    self.contents.font.color = system_color
  111.    self.contents.font.size = 20
  112.    cx = self.contents.text_size("现在地点").width + 24
  113.    self.contents.draw_text(4, 0, cx, 24, "现在地点")
  114.    self.contents.font.color = normal_color
  115.    self.contents.draw_text(4 + cx, 0, 444 - cx, 24, $game_map.name.to_s)  
  116.    self.contents.font.color = system_color
  117.    cx = self.contents.text_size("主线任务").width + 24
  118.    self.contents.draw_text(4, 32, cx, 24, "主线任务")
  119.    self.contents.font.color = Color.new(240,250,75,255)
  120.    self.contents.draw_text(4 + cx, 32, 444 - cx, 24, $game_system.mission.to_s)  
  121.    self.contents.font.color = system_color
  122.    cx = self.contents.text_size("支线任务").width + 24
  123.    self.contents.draw_text(4, 96, cx, 24, "支线任务")
  124.    self.contents.font.color = normal_color
  125.    if $game_system.partmission != nil
  126.      for i in 0...$game_system.partmission.size
  127.        self.contents.draw_text(4 + cx, 96 + i * 32, 444 - cx, 24, $game_system.partmission[i].to_s)
  128.      end
  129.    end
  130. end
  131. end
  132. #----------------------------------------------------------------------------
  133. #
  134. # ● 任务书调用场景!调用方法:$scene=Scene_RecordBook.new
  135. #
  136. #----------------------------------------------------------------------------
  137. class Scene_RecordBook
  138. def main
  139.    @command_window = Window_RecordBook.new
  140.    Graphics.transition
  141.    loop do
  142.      Graphics.update
  143.      Input.update
  144.      update
  145.      if $scene != self
  146.        break
  147.      end
  148.    end
  149.    Graphics.freeze
  150.    @command_window.dispose
  151.    if $scene.is_a?(Scene_Title)
  152.      Graphics.transition
  153.      Graphics.freeze
  154.    end
  155. end
  156. #--------------------------------------------------------------------------
  157. # ● 刷新画面
  158. #--------------------------------------------------------------------------
  159. def update
  160.    if $game_system.partmission == nil
  161.      $game_system = Game_System.new
  162.    end
  163.    @command_window.update
  164.    if Input.trigger?(Input::B)
  165.      #$game_system.se_play($data_system.cancel_se)
  166.      $scene = Scene_Map.new
  167.      return
  168.    end
  169. end
  170. end
复制代码
非典型性潜水综合症患者。
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

5
发表于 2009-4-28 20:33:06 | 只看该作者
$game_system.se_play($data_system.cancel_se)
的VX版是
Sound.play_cancel

其他请看 Sound
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
1 小时
注册时间
2008-2-3
帖子
8
6
 楼主| 发表于 2009-4-29 01:40:06 | 只看该作者
恩`谢谢LS``
那句我暂时注释了````还没搞清楚用途````
字面意思似乎是恢复播放默认音乐```
再研究下再说```
非典型性潜水综合症患者。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 01:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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