#============================================================================== # ■ RGSS2&3兼用 バルーンループ Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 特定のスイッチがONの状態で、イベントコマンドを用いて # キャラクターにバルーンの表示を実行すると、バルーンが永久ループします。 # # また、別の特定のスイッチがONの状態で、イベントコマンドを用いて # なんでもいいのでキャラクターにバルーンの表示を実行すると # ループを解除します。(ただし、その時のバルーン表示命令は無効化されます) # # それぞれのスイッチのどちらかが有効な状態では # 「表示が終わるまでウェイト」の効果は無効化されます。 #============================================================================== module ENDLESS_BALLOON #無限バルーン開始スイッチID指定 SWITCH_ID_1 = 51 #無限バルーン開始スイッチがONの状態でバルーンループ処理を行った際 #自動的に無限バルーン開始スイッチをOFFにするか? SW1_A_FALSE = true #無限バルーン停止スイッチID指定 SWITCH_ID_2 = 52 #無限バルーン停止スイッチがONの状態でループ解除処理を行った際 #自動的に無限バルーン停止スイッチをOFFにするか? SW2_A_FALSE = true end #============================================================================== # ■ Game_Character #------------------------------------------------------------------------------ #  キャラクターを扱うクラスです。このクラスは Game_Player クラスと Game_Event # クラスのスーパークラスとして使用されます。 #============================================================================== class Game_Character attr_accessor :balloon_id_2 # フキダシアイコン ID #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_blex initialize def initialize initialize_blex @balloon_id_2 = 0 # 移動失敗フラグ end end #============================================================================== # ■ Sprite_Character #------------------------------------------------------------------------------ #  キャラクター表示用のスプライトです。Game_Character クラスのインスタンスを # 監視し、スプライトの状態を自動的に変化させます。 #============================================================================== class Sprite_Character < Sprite_Base alias update_blex update def update update_blex @character.balloon_id_2 = 0 if @character.balloon_id_2 == nil if @balloon_sprite == nil && @character.balloon_id_2 != 0 @balloon_id = @character.balloon_id_2 start_balloon end end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、 # Game_Troop クラス、Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● フキダシアイコンの表示 #-------------------------------------------------------------------------- alias command_213_blex command_213 def command_213 if $game_switches[ENDLESS_BALLOON::SWITCH_ID_1] $game_switches[ENDLESS_BALLOON::SWITCH_ID_1] = false if ENDLESS_BALLOON::SW1_A_FALSE character = get_character(@params[0]) if character != nil character.balloon_id = @params[1] character.balloon_id_2 = @params[1] return true end elsif $game_switches[ENDLESS_BALLOON::SWITCH_ID_2] $game_switches[ENDLESS_BALLOON::SWITCH_ID_2] = false if ENDLESS_BALLOON::SW2_A_FALSE character = get_character(@params[0]) if character != nil character.balloon_id_2 = 0 return true end else command_213_blex end end end