=begin RGSS3    ★ メンバーによるイベントグラフィック決定 ★ 指定したメンバーインデックスのキャラクターを、 イベントグラフィックに設定できます。 ● 使い方 ●======================================================== イベントのグラフィックに「$DAMMY」という名前のファイルを設定します。 どんな画像でも問題ありません。 -------------------------------------------------------------------- イベントの名前を「#メンバー:n」という形にします。 nには何番目のメンバーなのかを指定します。(先頭メンバーが1になります) -------------------------------------------------------------------- ダミーグラフィックが設定されており、尚且つイベント名が一致する場合に、 効果が発揮されます。 ==================================================================== ver1.01 Last Update : 2015/10/24 10/24 : 「イベントの一時消去」時にエラーが発生する不具合を修正 04/30 : RGSS2にあったものを移植 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end $rsi ||= {} $rsi["メンバーによるイベントグラフィック決定"] = true class Game_Interpreter #-------------------------------------------------------------------------- # ● メンバーの入れ替え #-------------------------------------------------------------------------- alias member_graphic_event_command_129 command_129 def command_129 member_graphic_event_command_129 reset_member_event_graphic end #-------------------------------------------------------------------------- # ● メンバーの変更時にメンバーからグラフィックを判断しているイベントを更新する #-------------------------------------------------------------------------- def reset_member_event_graphic $game_map.events.each_value{|event| next if event.erased if event.dammy_graphic? && event.get_member_index_for_name != -1 event.set_graphic_with_member end } end end class Game_Event < Game_Character #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_reader :erased #-------------------------------------------------------------------------- # ● イベントページの設定をセットアップ #-------------------------------------------------------------------------- alias member_graphic_event_setup_page_settings setup_page_settings def setup_page_settings member_graphic_event_setup_page_settings set_graphic_with_member end #-------------------------------------------------------------------------- # ● ダミーグラフィックが設定されているか #-------------------------------------------------------------------------- def dammy_graphic? @page.graphic.character_name == "$DAMMY" end #-------------------------------------------------------------------------- # ● イベント名からメンバーインデックスを取得 #-------------------------------------------------------------------------- def get_member_index_for_name @event.name =~ /#メンバー:(\d+)/i ? $1.to_i - 1 : -1 end #-------------------------------------------------------------------------- # ● グラフィックの変更(メンバーによる変更) #-------------------------------------------------------------------------- def set_graphic_with_member member_index = get_member_index_for_name return if !dammy_graphic? || member_index == -1 if member_index.next > $game_party.members.size @character_name = "" @character_index = 0 else @character_name = $game_party.members[member_index].character_name @character_index = $game_party.members[member_index].character_index end end end