moral-sword-of-asagi/Scripts/EventGraphicActor.rb

121 lines
5.6 KiB
Ruby

=begin
#==============================================================================
[名前] アクターのホコグラ表示
[作者] 焼きノリ
[配布元] まったりツクール雑貨 http://mata-tuku.ldblog.jp/
#------------------------------------------------------------------------------
[更新履歴]
・2012/09/03 公開
・2012/09/08 一部未記入だったコメントやエイリアスを修正
#==============================================================================
#------------------------------------------------------------------------------
[対応]
・RGSS2、RGSS3両方可能
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
[機能]
・イベントの歩行グラフィックに指定された画像を選択し、
イベント名に指定の文字列を記述することで、
指定したアクターの歩行グラフィックを表示します。
・パーティの中のアクターも表示できます。
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
[使用方法]
・[共通] : イベントの歩行グラフィックに $ExGraphicActor を指定。
[アクター表示] : イベント名に <Actor:番号> と記述。
[パーティから表示] : イベント名に <Actor:番号> と記述。
「番号」の部分にアクター番号またはパーティ番号を入れて準備完了です。
・アクターの最大数や、パーティメンバー数超過の番号を入れた場合は変化しません。
・<Actor:番号> と <Actor:番号> を一緒に記述した場合、<Actor:番号> を優先します。
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
[再定義箇所]
・なし
#------------------------------------------------------------------------------
[○ : 新規定義, ◎ : エイリアス定義, ● : 再定義]
#------------------------------------------------------------------------------
=end
$YkNr_Scripts ||= {}
$YkNr_Scripts[:ExGraphicActor] = true
#※このスクリプトを使用しない場合は、↑を false にすること
if $YkNr_Scripts[:ExGraphicActor]
#==============================================================================
# ■ ExGraphic
#------------------------------------------------------------------------------
# アクターの歩行グラフィック表示の設定モジュールです。
#==============================================================================
module YakiNori::BaseExModules::ExGraphic
#==============================================================================
# ■ 定数モジュール
#==============================================================================
module Const
FileName = "$ExGraphicActor"
ActorName = /<Actor:(\d+)>/i
PartyName = /<Party:(\d+)>/i
end
YakiNori.freeze_all_constants(self) # 定数をフリーズ
#==============================================================================
# ■ 特異メソッド
#==============================================================================
#--------------------------------------------------------------------------
# ○ 対象のアクターを取得
#--------------------------------------------------------------------------
def self.target_actor(event_name, character_name)
if ExGraphic.character_name?(character_name)
if Const::ActorName =~ event_name
return $game_actors[$1.to_i]
elsif Const::PartyName =~ event_name
return $game_party.members[$1.to_i]
end
end
return nil
end
#--------------------------------------------------------------------------
# ○ 歩行グラフィックのファイル名が ExGraphicFileName か判定
#--------------------------------------------------------------------------
def self.character_name?(character_name)
Const::FileName == character_name
end
end
#==============================================================================
# ■ Game_Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ◎ RGSS[2] イベントページのセットアップ
#--------------------------------------------------------------------------
if RGSS[2]
alias yknr_Game_EventExGraphicActor_setup :setup
def setup(new_page)
yknr_Game_EventExGraphicActor_setup(new_page)
setup_page_ex_graphic_settings
end
#--------------------------------------------------------------------------
# ◎ RGSS[3] イベントページの設定をセットアップ
#--------------------------------------------------------------------------
elsif RGSS[3]
alias yknr_Game_EventExGraphicActor_setup_page_settings :setup_page_settings
def setup_page_settings
yknr_Game_EventExGraphicActor_setup_page_settings
setup_page_ex_graphic_settings
end
end # RGSS
#--------------------------------------------------------------------------
# ○ ExGraphic の設定をセットアップ
#--------------------------------------------------------------------------
def setup_page_ex_graphic_settings
_actor = ExGraphic.target_actor(name, @character_name)
if !_actor.nil?
@character_name = _actor.character_name
@character_index = _actor.character_index
end
end
end
end # $YkNr_Scripts