#============================================================================== # ■ RGSS3 マップ数上限突破 メインプロジェクト用 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # VXAceのマップ上限999を超え、9999マップのプロジェクトの作成が可能になります。 # ただし、プロジェクト上で表示可能なマップは1〜999までとなる為 # 別のプロジェクトとサブプロジェクト用スクリプトを使用し # 999を超えるマップIDのデータを作成する必要があります。 #------------------------------------------------------------------------------ # Ver1.01 MapInfoを読み込むタイプの素材スクリプト全般との競合を解消しました。 # ただし、この場合は更に面倒な設定が必要となります。 #============================================================================== module MAP1000OVER #セットアップ対象マップを強制変換します。 #この変数IDが1000以上の値の場合 #本来の値を無視し、そのマップをセットアップします。 #場所移動の直前に変更して下さい。 V1 = 100 #MapInfoを読み込む素材スクリプトを使用している場合 #代用データを用意する。マップ名のみを想定して処理。名前以外は初期値となる。 #MapInfoを読み込む素材スクリプトを使用しているか否かは #スクリプト全体を「Data/MapInfos.rvdata2」(「」は除く)で #検索し、このスクリプト以外が検索でヒットするか否かで判定できます。 #(ヒットした場合は使用している。しない場合はしていない) # #例.MI[1000] = "あいうえお" #この場合、マップID1000のマップ名はあいうえおとなる。 #なお、あくまでMapInfo内での名前であって #ゲーム中での表示名は元のマップデータに依存する。 #空のハッシュを用意。 MI = {} #以下に設定。 MI[1000] = "マップ名" MI[1001] = "マップ名" MI[1002] = "マップ名" MI[1003] = "マップ名" MI[1004] = "マップ名" MI[1005] = "マップ名" MI[1006] = "マップ名" end #-------------------------------------------------------------------------- # ゲームデータのロード #-------------------------------------------------------------------------- alias load_data_1000over load_data unless $! def load_data(filename) #ロードしようとしているファイルが特定書式であり #なおかつ変数が有効であり、指定変数の値が1000以上の場合は分岐する。 if filename == "Data/MapInfos.rvdata2" data = load_data_1000over(filename) MAP1000OVER::MI.each {|key, value| data[key] = RPG::MapInfo.new data[key].name = value } data elsif filename.include?("Data/Map") && $game_variables && $game_variables[MAP1000OVER::V1] > 999 #データを読み替えて本来の処理を実行。 load_data_1000over("Data/Map" + $game_variables[MAP1000OVER::V1].to_s + ".rvdata2") else #本来の処理を実行。 load_data_1000over(filename) end end class Game_Map #-------------------------------------------------------------------------- # セットアップ #-------------------------------------------------------------------------- alias setup_1000over setup def setup(map_id) #指定変数の値が1000以上の場合、その値のマップIDをセットアップする。 setup_1000over($game_variables[MAP1000OVER::V1] > 999 ? $game_variables[MAP1000OVER::V1] : map_id) end end