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

Project1

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

[已经解决] 存檔頁顯示地圖名稱

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2014-5-7
帖子
8
跳转到指定楼层
1
发表于 2014-6-29 00:33:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 TimePrologue 于 2014-6-29 00:35 编辑

找了大半天,
各位大神也說得很簡略 例如這裏這裏 ...

最後參考了這裏8樓
但所有存檔只顯示最後讀檔的地點,
而不顯示各自的地圖名稱 ...
舉例說:
存檔1在地點A ;存檔2在地點B。
只要最後讀檔是在地點A,
存檔2也顯示地點A  而不是地點B (如附圖)

請問要怎樣才可以令每個存檔顯示自己的地圖名稱?

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2014-6-29 02:03:54 | 只看该作者
甩个脚本给你

  1. #==============================================================================
  2. # ■ VX-RGSS-26 ファイル画面-改 [Ver.1.0.0]            by Claimh
  3. #------------------------------------------------------------------------------
  4. # ファイル画面を改変します。
  5. #【変更点】
  6. # ・ファイル構成変更(FileHader化)
  7. # ・現在位置表示追加
  8. # ・顔グラフィック描画追加
  9. #==============================================================================

  10. module SaveEx
  11.   # 顔グラフィックで表示
  12.   USE_FACE = false

  13.   # 現在地の表示
  14.   MAP_NAME = true
  15.   # ツリーの親のマップ名を使用する
  16.   BASE_NAME = false
  17. end

  18. #==============================================================================
  19. # ■ Game_Map 拡張メソッド
  20. #==============================================================================
  21. class Game_Map
  22.   #--------------------------------------------------------------------------
  23.   # ● マップ名取得
  24.   #--------------------------------------------------------------------------
  25.   def map_name
  26.     mapInfo = load_data(sprintf("Data/MapInfos.rvdata"))
  27.     return mapInfo[@map_id].name
  28.   end
  29. end


  30. #==============================================================================
  31. # ■ FileHeader  : セーブファイルヘッダ
  32. #==============================================================================
  33. class FileHeader
  34.   attr_reader :characters       # キャラクター
  35.   attr_reader :faces            # 顔グラフィック
  36.   attr_reader :map_name         # マップ名
  37.   #--------------------------------------------------------------------------
  38.   # ● オブジェクト初期化
  39.   #--------------------------------------------------------------------------
  40.   def initialize
  41.     @characters = []
  42.     @faces = []
  43.     for actor in $game_party.members
  44.       @characters.push([actor.character_name, actor.character_index])
  45.       @faces.push([actor.face_name, actor.face_index])
  46.     end
  47.     @map_name = SaveEx::BASE_NAME ? $game_map.base_map_name : $game_map.map_name
  48.   end
  49. end

  50. #~ #==============================================================================
  51. #~ # ■ Window_SaveFile
  52. #~ #==============================================================================
  53. class Window_SaveFile < Window_Base
  54.   #--------------------------------------------------------------------------
  55.   # ● 公開インスタンス変数
  56.   #--------------------------------------------------------------------------
  57.   attr_reader   :filename                 # ファイル名
  58.   attr_reader   :file_exist               # ファイル存在フラグ
  59.   attr_reader   :time_stamp               # タイムスタンプ
  60.   attr_reader   :selected                 # 選択状態
  61.   #--------------------------------------------------------------------------
  62.   # ● オブジェクト初期化
  63.   #     file_index : セーブファイルのインデックス (0~3)
  64.   #     filename   : ファイル名
  65.   #--------------------------------------------------------------------------
  66.   def initialize(file_index, filename)
  67.     super(0, 56 + file_index % 4 * 90, 544, 90)
  68.     @file_index = file_index
  69.     @filename = filename
  70.     load_gamedata
  71.     refresh
  72.     @selected = false
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● ゲームデータの一部をロード
  76.   #    スイッチや変数はデフォルトでは未使用 (地名表示などの拡張用) 。
  77.   #--------------------------------------------------------------------------
  78.   def load_gamedata
  79.     @time_stamp = Time.at(0)
  80.     @file_exist = FileTest.exist?(@filename)
  81.     if @file_exist
  82.       file = File.open(@filename, "r")
  83.       @time_stamp = file.mtime
  84.       begin
  85.         @header         = Marshal.load(file)
  86.         @frame_count    = Marshal.load(file)
  87.         @last_bgm       = Marshal.load(file)
  88.         @last_bgs       = Marshal.load(file)
  89.         @game_system    = Marshal.load(file)
  90.         @game_message   = Marshal.load(file)
  91.         @game_switches  = Marshal.load(file)
  92.         @game_variables = Marshal.load(file)
  93.         @total_sec = @frame_count / Graphics.frame_rate
  94.       rescue
  95.         @file_exist = false
  96.       ensure
  97.         file.close
  98.       end
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● リフレッシュ
  103.   #--------------------------------------------------------------------------
  104.   def refresh
  105.     self.contents.clear
  106.     self.contents.font.color = normal_color
  107.     name = Vocab::File + " #{@file_index + 1}"
  108.     self.contents.draw_text(4, 0, 200, WLH, name)
  109.     @name_width = contents.text_size(name).width
  110.     if @file_exist
  111.       SaveEx::USE_FACE ? draw_party_faces(100, -10) : draw_party_characters(152, 58)
  112.       self.contents.draw_text(320-16, 0, 200, WLH, @header.map_name, 2) if SaveEx::MAP_NAME
  113.       draw_playtime(0, 34, contents.width - 4, 2)
  114.     end
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● パーティキャラの描画
  118.   #     x : 描画先 X 座標
  119.   #     y : 描画先 Y 座標
  120.   #--------------------------------------------------------------------------
  121.   def draw_party_characters(x, y)
  122.     for i in [email protected]
  123.       name = @header.characters[i][0]
  124.       index = @header.characters[i][1]
  125.       draw_character(name, index, x + i * 48, y)
  126.     end
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● パーティキャラの描画
  130.   #     x : 描画先 X 座標
  131.   #     y : 描画先 Y 座標
  132.   #--------------------------------------------------------------------------
  133.   def draw_party_faces(x, y)
  134.     for i in [email protected]
  135.       name = @header.faces[i][0]
  136.       index = @header.faces[i][1]
  137.       draw_face(name, index, x + i * 90, y) # 4人以上だと文字とかぶる…
  138.     end
  139.   end
  140. end


  141. #~ #==============================================================================
  142. #~ # ■ Scene_File
  143. #~ #==============================================================================
  144. class Scene_File < Scene_Base
  145.   #--------------------------------------------------------------------------
  146.   # ● オブジェクト初期化
  147.   #     saving     : セーブフラグ (false ならロード画面)
  148.   #     from_title : タイトルの「コンティニュー」で呼び出されたフラグ
  149.   #     from_event : イベントの「セーブ画面の呼び出し」で呼び出されたフラグ
  150.   #--------------------------------------------------------------------------
  151.   def initialize(saving, from_title, from_event, menu_index=4)
  152.     @saving = saving
  153.     @from_title = from_title
  154.     @from_event = from_event
  155.     @menu_index = menu_index
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 元の画面へ戻る
  159.   #--------------------------------------------------------------------------
  160.   def return_scene
  161.     if @from_title
  162.       $scene = Scene_Title.new
  163.     elsif @from_event
  164.       $scene = Scene_Map.new
  165.     else
  166.       $scene = Scene_Menu.new(1)
  167.     end
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● セーブデータの書き込み
  171.   #     file : 書き込み用ファイルオブジェクト (オープン済み)
  172.   #--------------------------------------------------------------------------
  173.   def write_save_data(file)
  174.     header = FileHeader.new
  175.     $game_system.save_count += 1
  176.     $game_system.version_id = $data_system.version_id
  177.     @last_bgm = RPG::BGM::last
  178.     @last_bgs = RPG::BGS::last
  179.     Marshal.dump(header,               file)
  180.     Marshal.dump(Graphics.frame_count, file)
  181.     Marshal.dump(@last_bgm,            file)
  182.     Marshal.dump(@last_bgs,            file)
  183.     Marshal.dump($game_system,         file)
  184.     Marshal.dump($game_message,        file)
  185.     Marshal.dump($game_switches,       file)
  186.     Marshal.dump($game_variables,      file)
  187.     Marshal.dump($game_self_switches,  file)
  188.     Marshal.dump($game_actors,         file)
  189.     Marshal.dump($game_party,          file)
  190.     Marshal.dump($game_troop,          file)
  191.     Marshal.dump($game_map,            file)
  192.     Marshal.dump($game_player,         file)
  193.   end
  194.   #--------------------------------------------------------------------------
  195.   # ● セーブデータの読み込み
  196.   #     file : 読み込み用ファイルオブジェクト (オープン済み)
  197.   #--------------------------------------------------------------------------
  198.   def read_save_data(file)
  199.     header               = Marshal.load(file)
  200.     Graphics.frame_count = Marshal.load(file)
  201.     @last_bgm            = Marshal.load(file)
  202.     @last_bgs            = Marshal.load(file)
  203.     $game_system         = Marshal.load(file)
  204.     $game_message        = Marshal.load(file)
  205.     $game_switches       = Marshal.load(file)
  206.     $game_variables      = Marshal.load(file)
  207.     $game_self_switches  = Marshal.load(file)
  208.     $game_actors         = Marshal.load(file)
  209.     $game_party          = Marshal.load(file)
  210.     $game_troop          = Marshal.load(file)
  211.     $game_map            = Marshal.load(file)
  212.     $game_player         = Marshal.load(file)
  213.     if $game_system.version_id != $data_system.version_id
  214.       $game_map.setup($game_map.map_id)
  215.       $game_player.center($game_player.x, $game_player.y)
  216.     end
  217.   end
  218. end
复制代码

评分

参与人数 2星屑 +115 收起 理由
丿梁丶小柒 + 100 认可答案
Mr.Jin + 15 还是头像萌

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
3
发表于 2014-6-29 09:11:38 | 只看该作者
直接用截图存档不就得了
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2014-5-7
帖子
8
4
 楼主| 发表于 2014-6-29 13:29:03 | 只看该作者
VIPArcher 发表于 2014-6-29 02:03
甩个脚本给你

感謝回覆,
可是出現了NoMethodError ...

未命名2.png (23.88 KB, 下载次数: 27)

未命名2.png

点评

我说的是根目录下的存档文件  发表于 2014-6-29 13:37
这脚本改了存档,你得把你原来的存档删了233  发表于 2014-6-29 13:36
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
30 小时
注册时间
2014-5-7
帖子
8
5
 楼主| 发表于 2014-6-29 13:45:34 | 只看该作者
本帖最后由 TimePrologue 于 2014-6-29 13:50 编辑
VIPArcher 发表于 2014-6-29 02:03
甩个脚本给你


删存档後儲存時出現NoMethodError

應該是和這裏的職業顯示crash了...

未命名3.png (23.63 KB, 下载次数: 23)

未命名3.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 15:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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