RPGツクールXP/VX用のRGSS素材です。
一部英語版対応です。
(A few materials can be used for English RPG MAKER XP/VX.)
競合率はルファーの独断と偏見なのでたまにハズレます。
#==============================================================================
# ■ セーブデータ縮小
#------------------------------------------------------------------------------
# 読んで字の如くです。詳しく言うと、セーブ時にアクターを二回セーブしないよう
# にします。
# (C) ルファー
# WebSite https://tkoolerlufar.pages.dev/
#==============================================================================
=begin
=対応RGSS
1
=他の素材との競合の可能性
!.. ベンチシステムなどと競合するかもしれません
=導入方法
Game_Partyより上に新セクションを作成して、このプログラムをそこにコピーする
=更新履歴
2010/06/01 タイプミスで全く機能していなかったのを修正
2010/05/04 公開
=再定義しているメソッド
Game_Party#initialize (エイリアス使用)
Game_Party#setup_starting_members (エイリアス使用)
Game_Party#refresh
=新規定義しているメソッド
Game_Party#_Lufar_NoCopyActor_ConvertActorObject
Game_Party::Array_Actors#marshal_dump
Game_Party::Array_Actors#marshal_load
=end
#----------------------------------------------------------------------------
# ◇ Game_Party クラス
#----------------------------------------------------------------------------
class Game_Party
#--------------------------------------------------------------------------
# ◇ Array_Actors クラス
#--------------------------------------------------------------------------
class Array_Actors < Array
#------------------------------------------------------------------------
# ○ ユーザー定義の Marshal (ダンプ)
#------------------------------------------------------------------------
def marshal_dump
Array.new(self.length) {|index| self[index].id }
end
#------------------------------------------------------------------------
# ○ ユーザー定義の Marshal (ロード)
# obj : marshal_dump でダンプされたオブジェクト
#------------------------------------------------------------------------
def marshal_load(obj)
self.clear
obj.each {|actor_id| self.push($game_actors[actor_id]) }
end
end
#--------------------------------------------------------------------------
# ○ アクターオブジェクトの変換
#--------------------------------------------------------------------------
def _Lufar_NoCopyActor_ConvertActorObject
@actors = Array_Actors.new(@actors)
end
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias _Lufar_NoCopyActor_Initialize initialize
def initialize
_Lufar_NoCopyActor_Initialize
_Lufar_NoCopyActor_ConvertActorObject
end
#--------------------------------------------------------------------------
# ● 初期パーティのセットアップ
#--------------------------------------------------------------------------
alias _Lufar_NoCopyActor_SetupStartingMembers setup_starting_members
def setup_starting_members
_Lufar_NoCopyActor_SetupStartingMembers
_Lufar_NoCopyActor_ConvertActorObject
end
#--------------------------------------------------------------------------
# ● パーティメンバーのリフレッシュ
#--------------------------------------------------------------------------
def refresh
end
end
戻る