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

Project1

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

[已经解决] 能不能写一段脚本使RMVA读取特定文件里的数据

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
196 小时
注册时间
2010-10-20
帖子
143
跳转到指定楼层
1
发表于 2012-2-15 19:28:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如说用RMVA代码写一个脚本,使他把Data等文件夹写入一个Data.dat的文件里,之后通过某种脚本读取这个文件中的Data.dat文件里的文件,之后更新时只要更新这个文件就可以了!

Lv5.捕梦者

梦石
0
星屑
22973
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
2
发表于 2012-2-15 22:58:57 | 只看该作者
本帖最后由 tseyik 于 2012-2-16 10:02 编辑

你可參考
QuickLoad劇本
原網頁
http://mdc-light.jpn.org/TYPE74RX-T/update_history.html
這個在保存时自動生成「RX_SaveFileInfos.dat」

【从最后保存的地方开始】
B按钮+F12
【从最后SAVE的地方开始】
C按钮+F12。

  1. #
  2. #    クイックロード(RGSS3)
  3. #  (C)2012 TYPE74RX-T
  4. #

  5. #==============================================================================
  6. # ■ SceneManager
  7. #------------------------------------------------------------------------------
  8. #  シーン遷移を管理するモジュールです。たとえばメインメニューからアイテム画面
  9. # を呼び出し、また戻るというような階層構造を扱うことができます。
  10. #==============================================================================

  11. class << SceneManager # module内のエイリアス
  12.   alias rx3_1201202_first_scene_class first_scene_class
  13.   def first_scene_class
  14.     # ★ クイックロードモードの条件を満たしていたらクイックロードに飛ぶ
  15.     return Scene_RX_QuickLoad if rx_quick_load?
  16.     rx3_1201202_first_scene_class  # メソッド呼び戻し
  17.   end
  18. end

  19. module SceneManager
  20.   #--------------------------------------------------------------------------
  21.   # ★ クイックロードモードの条件を満たしているか
  22.   #--------------------------------------------------------------------------
  23.   def self.rx_quick_load?
  24.     $RX_QLOAD = 0
  25.     Input.update
  26.     $RX_QLOAD = 1 if Input.press?(:C) # 最後にロードしたファイルから始める
  27.     $RX_QLOAD = 2 if Input.press?(:B) # 最後にセーブしたファイルから始める
  28.     chk = Dir.glob('RX_SaveFileInfos.dat').size > 0 && $RX_QLOAD > 0
  29.     return chk
  30.   end
  31. end

  32. #==============================================================================
  33. # ■ Scene_Save
  34. #------------------------------------------------------------------------------
  35. #  セーブ画面の処理を行うクラスです。
  36. #==============================================================================

  37. class Scene_Save < Scene_File
  38.   #--------------------------------------------------------------------------
  39.   # ● セーブ成功時の処理
  40.   #--------------------------------------------------------------------------
  41.   alias rx3_1201202_on_save_success on_save_success
  42.   def on_save_success
  43.     index_save         # ★ セーブしたファイルインデックス情報を書き込む
  44.     rx3_1201202_on_save_success # メソッド呼び戻し
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ★ セーブしたファイルインデックス情報を書き込む
  48.   #--------------------------------------------------------------------------
  49.   def index_save
  50.     chk = rx_read_load_index # インデックス情報があれば、それを読み込む
  51.     file = File.open("RX_SaveFileInfos.dat", "wb")
  52.     # ファイルインデックス情報ファイルがなければ、仮に -1 を記録
  53.     chk ? Marshal.dump(@rx_load_index, file) : Marshal.dump(-1, file)
  54.     Marshal.dump(@index, file)
  55.     file.close
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ★ ロードしたファイルインデックス情報を読み込む
  59.   #--------------------------------------------------------------------------
  60.   def rx_read_load_index
  61.     chk = Dir.glob('RX_SaveFileInfos.dat').size > 0
  62.     return false unless chk
  63.     file = File.open("RX_SaveFileInfos.dat", "rb")
  64.     @rx_load_index = Marshal.load(file)
  65.     sav_id         = Marshal.load(file)
  66.     file.close
  67.     return true
  68.   end
  69. end

  70. #==============================================================================
  71. # ■ Scene_Load
  72. #------------------------------------------------------------------------------
  73. #  ロード画面の処理を行うクラスです。
  74. #==============================================================================

  75. class Scene_Load < Scene_File
  76.   #--------------------------------------------------------------------------
  77.   # ● ロード成功時の処理
  78.   #--------------------------------------------------------------------------
  79.   alias rx3_1201202_on_load_success on_load_success
  80.   def on_load_success
  81.     index_save         # ★ ロードしたファイルインデックス情報を書き込む
  82.     rx3_1201202_on_load_success # メソッド呼び戻し
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ★ ロードしたファイルインデックス情報を書き込む
  86.   #--------------------------------------------------------------------------
  87.   def index_save
  88.     rx_read_save_index # 先にセーブしたファイルインデックス情報を読み込む
  89.     file = File.open("RX_SaveFileInfos.dat", "wb")
  90.     Marshal.dump(@index, file)
  91.     Marshal.dump(@rx_save_index, file)
  92.     file.close
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ★ セーブしたファイルインデックス情報を読み込む
  96.   #--------------------------------------------------------------------------
  97.   def rx_read_save_index
  98.     file = File.open("RX_SaveFileInfos.dat", "rb")
  99.     rx_load_index  = Marshal.load(file)
  100.     @rx_save_index = Marshal.load(file)
  101.     file.close
  102.   end
  103. end

  104. #==============================================================================
  105. # ★ Scene_RX_QuickLoad
  106. #------------------------------------------------------------------------------
  107. #  クイックロードの処理を行うクラスです。
  108. #==============================================================================

  109. class Scene_RX_QuickLoad < Scene_MenuBase
  110.   #--------------------------------------------------------------------------
  111.   # ● 開始処理
  112.   #--------------------------------------------------------------------------
  113.   def start
  114.     super
  115.     quick_load
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● クイックロード
  119.   #--------------------------------------------------------------------------
  120.   def quick_load
  121.     index = read_index
  122.     if index >= 0
  123.       $game_system.on_after_load if DataManager.load_game(index)
  124.       SceneManager.goto(Scene_Map)
  125.     else
  126.       SceneManager.goto(Scene_Title)
  127.     end
  128.   end
  129.   #--------------------------------------------------------------------------
  130.   # ● インデックス情報をロード
  131.   #--------------------------------------------------------------------------
  132.   def read_index
  133.     file = File.open("RX_SaveFileInfos.dat", "rb")
  134.     load_index     = Marshal.load(file)
  135.     save_index     = Marshal.load(file)
  136.     file.close
  137.     return load_index if $RX_QLOAD == 1
  138.     return save_index if $RX_QLOAD == 2
  139.   end
  140. end
复制代码
@a = 65535
@f = File.open("Data.dat","wb")
Marshal.dump(@a,@f)
便是把数字65535转换成Marshal格式的字串,并丢进档案Data.dat里面。

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2 认可答案,恭喜你获得由66RPG提供的精美好.

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 09:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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