#============================================================================== # ■ イベント名で指定 (VX Ace用) #------------------------------------------------------------------------------ # 製作者 : CanariAlternate # サイト名 : カルトの鳥篭 # サイトURL : http://canarialt.blog.fc2.com #------------------------------------------------------------------------------ # ■ 概要 : イベント名でイベントコマンドが操作するキャラクターを指定可能にする。 # # ■ 必須 : 「共有変数スクリプト」 # # ■ 位置 : 「イベント起動判定拡張」より下 # 「マルチレイヤーシステム」より下 #------------------------------------------------------------------------------ # ■ 機能 : 1. イベントコマンドで操作するキャラクターを名前で指定する。 # # ■ スクリプト(イベントコマンド) : # call_name("イベント名") # イベントコマンドによる命令の対象を実行後1回だけ変更します。 # ※「移動ルートの設定」などのキャラクターに関連するコマンドで # 操作する対象を1回だけ変更します。以下のコマンドが該当します。 # # ☆条件分岐(キャラクターの向き) # ☆変数の操作(キャラクターの座標の取得など) # ☆イベントの位置設定 # ☆移動ルートの設定 # ☆アニメーションの表示 # ☆フキダシアイコンの表示 # ☆その他("get_character"メソッドを使用したスクリプト) #------------------------------------------------------------------------------ # 更新履歴 : 2012/12/25 Ver1.00 スクリプトを作成した。 # 2013/02/19 Ver1.01 共通処理スクリプトの廃止による変更を施した。 #============================================================================== $imported ||= {} $imported[:CanariAlternate_Designation] = true #============================================================================== # ■ Game_Map #------------------------------------------------------------------------------ #  マップを扱うクラスです。スクロールや通行可能判定などの機能を持っています。 # このクラスのインスタンスは $game_map で参照されます。 #============================================================================== class Game_Map #-------------------------------------------------------------------------- # ● イベント名をidに変換 [新規] #-------------------------------------------------------------------------- def event_name_to_id(event_name) @map.events.each_value {|event| return event.id if event.name == event_name } p "報告:\"#{event_name}\"の名前を持つイベントが見つかりません。" return false end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、 # Game_Troop クラス、Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● キャラクターの取得 [追加] #-------------------------------------------------------------------------- alias get_character_Designation get_character def get_character(param) if event_name = @memory[:designation] # 対象の変更を取得 @memory[:designation] = false # 対象の変更を解除 param = $game_map.event_name_to_id(event_name) || param end get_character_Designation(param) # 通常の処理 end #-------------------------------------------------------------------------- # ● 指定した名前を持つイベントに対象を変更する設定 [新規] #-------------------------------------------------------------------------- def call_name(event_name=false) @memory[:designation] = event_name end end