修正パッチ自動化スクリプト


公開中のゲームに関してお手軽に修正を行ってみる。 ※このスクリプトはβ版です。 ※また、このスクリプトはかなり玄人向けです。少なくともイベントで実行している内容をRGSSで再現できる  人でないと使いこなせません。 $game_system.resq_start で実行 変更点 まだなし
#==============================================================================
# ■ 修正パッチ自動セット β By 貪藻矢射妥←
# 
#  修正パッチ用スクリプトです。
# 
#==============================================================================
# 更新っぽいもの
# まだなし

module RESQ
  PATCH = "dia_resq.rxdata"
  VER = "1.0.0"
end

class Game_System
  include RESQ
  
  # ◆ 修正部分の設定 ◆
  #--------------------------------------------------------------------------
  # ● 修正パッチXXX分
  #--------------------------------------------------------------------------
  def repair_XXX
    # Dummy
  end
  
  #--------------------------------------------------------------------------
  # ● 修正パッチフラグロード
  #--------------------------------------------------------------------------
  def flg_load
    flg_file = File.open(PATCH, "rb")
    $res1_flg2 = Marshal.load(flg_file)
    flg_file.close
    # もし、ロードに失敗したら差し戻す
    if $res1_flg2 == nil || $res1_flg2.length != 2
      $res1_flg2 = [VER, false]
    end
  end
  #--------------------------------------------------------------------------
  # ● 修正パッチフラグセーブ
  #--------------------------------------------------------------------------
  def flg_save
    # ゲームをただセーブするだけの場合は何もしない
    if $res1_flg1 != nil
      flg_file = File.open(PATCH, "wb")
      Marshal.dump($res1_flg1, flg_file)
      flg_file.close
    end
  end
  #--------------------------------------------------------------------------
  # ● 修正処理
  #--------------------------------------------------------------------------
  def resq_start
    $res1_flg1 = [VER, false]
    $res1_flg2 = [VER, false]
    
    if FileTest.exist?(PATCH)
      p "既にパッチ用フラグファイルが存在します", 
        "ファイルの内容を確認します。"
      flg_load
    end
    
    if $res1_flg2[1] && $res1_flg2[0] >= $res1_flg1[0]
      p "既に最新のパッチが適応されています。", 
        "引き続きゲームをお楽しみください。"
    else
      # 修正処置本体
      repair_XXX
      
      $res1_flg1[1] = true
      p "パッチの適応が完了しました。", 
        "引き続きゲームをお楽しみください。"
    end
  end
end

class Scene_Save < Scene_File
  alias dia_write_save_data write_save_data
  def write_save_data(file)
    dia_write_save_data(file)
    $game_system.flg_save
  end
end
薄赤文字の部分は修正パッチを出すたびに更新してください。 薄緑文字の部分に修正処理をスクリプトで記載します。 設定したモジュールを薄橙色の部分で順次適応していきます。

戻る