Permanent
Creation

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 2

  =必要なライブラリ
  ルファー作スクリプト素材共通ライブラリ

  =他の素材との競合の可能性
  !.. 独自のゲームオブジェクトを使うRPGツクールXP作品への導入では要改造
  (この素材は改造自由です)

  =RPGツクールXPでの導入方法
  Scene_Title より下に新セクションを作成して、
  このプログラムをそこにコピーする

  =使い方
  「=」の後の数字を適当な値に書き換えるだけ。

  =ヒント
  C ボタンでスキップ、というのはこの素材ではできません。
  が、マップイベントの並列処理でタイトルに戻るイベントを指定すれば
  不可能でもないです。

  =更新履歴
  2010/04/13 RPGツクールVXで正しくフェードしない仕様を修正

  2010/03/01 RPGツクールVXに対応

  2009/06/24 公開

  =再定義しているメソッド
  Scene_Title#main (エイリアス使用)
  Scene_Title#update (エイリアス使用)

  =新規定義しているメソッド
  Scene_Title#opening
=end
#----------------------------------------------------------------------------
# ◇ Lufar モジュール
#----------------------------------------------------------------------------
module Lufar
  #--------------------------------------------------------------------------
  # ○ 定数
  #--------------------------------------------------------------------------
  OPENINGMOVIELIGHT_MAPID = 2           # オープニングマップの ID
  OPENINGMOVIELIGHT_X     = 9           # オープニングマップの X 座標
  OPENINGMOVIELIGHT_Y     = 7           # オープニングマップの Y 座標
end
#----------------------------------------------------------------------------
# ◆ Scene_Title クラス
#----------------------------------------------------------------------------
class Scene_Title
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias _Lufar_Oml_old_main main
  def main
    unless $BTEST or $_Lufar_Oml_Seen
      opening
      return
    end
    @opening_autoplay_duration = Graphics.frame_rate * 60
    _Lufar_Oml_old_main
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias _Lufar_Oml_old_ud update
  def update
    @opening_autoplay_duration = Graphics.frame_rate * 60 if Input.dir4 != 0
    if Input.trigger?(Input::B) or (@opening_autoplay_duration -= 1) == 0
      if Input.trigger?(Input::B)
        if rpgxp?
          $game_system.se_play($data_system.cancel_se)
        else
          Sound.play_cancel
        end
      end
      opening
      return
    end
    _Lufar_Oml_old_ud
  end
  #--------------------------------------------------------------------------
  # ○ オープニング
  #--------------------------------------------------------------------------
  def opening
    # BGM を停止
    Audio.bgm_stop
    # RPGツクールXPなら
    if rpgxp?
      # データベースをロード
      $data_actors        = load_data("Data/Actors.rxdata")
      $data_classes       = load_data("Data/Classes.rxdata")
      $data_skills        = load_data("Data/Skills.rxdata")
      $data_items         = load_data("Data/Items.rxdata")
      $data_weapons       = load_data("Data/Weapons.rxdata")
      $data_armors        = load_data("Data/Armors.rxdata")
      $data_enemies       = load_data("Data/Enemies.rxdata")
      $data_troops        = load_data("Data/Troops.rxdata")
      $data_states        = load_data("Data/States.rxdata")
      $data_animations    = load_data("Data/Animations.rxdata")
      $data_tilesets      = load_data("Data/Tilesets.rxdata")
      $data_common_events = load_data("Data/CommonEvents.rxdata")
      $data_system        = load_data("Data/System.rxdata")
      # 各種ゲームオブジェクトを作成
      $game_temp          = Game_Temp.new
      $game_system        = Game_System.new
      $game_switches      = Game_Switches.new
      $game_variables     = Game_Variables.new
      $game_self_switches = Game_SelfSwitches.new
      $game_screen        = Game_Screen.new
      $game_actors        = Game_Actors.new
      $game_party         = Game_Party.new
      $game_troop         = Game_Troop.new
      $game_map           = Game_Map.new
      $game_player        = Game_Player.new
    # RPGツクールVXなら
    else
      load_database                   # データベースをロード
      create_game_objects             # ゲームオブジェクトを作成
    end
    # 初期パーティをセットアップ
    $game_party.setup_starting_members
    # 初期位置のマップをセットアップ
    $game_map.setup(Lufar::OPENINGMOVIELIGHT_MAPID)
    # プレイヤーを初期位置に移動
    $game_player.moveto(
      Lufar::OPENINGMOVIELIGHT_X,
      Lufar::OPENINGMOVIELIGHT_Y)
    # プレイヤーをリフレッシュ
    $game_player.refresh
    # RPGツクールXPなら
    if rpgxp?
      # マップに設定されている BGM と BGS の自動切り替えを実行
      $game_map.autoplay
      # マップを更新 (並列イベント実行)
      $game_map.update
    end
    # マップ画面に切り替え
    $scene = Scene_Map.new
    # RPGツクールVXなら
    unless rpgxp?
      if $_Lufar_Oml_Seen
        RPG::BGM.fade(1500)
        close_command_window
        Graphics.fadeout(60)
        Graphics.wait(40)
        RPG::BGM.stop
      else
        Graphics.brightness = 0
      end
      $game_map.autoplay
    end
    $_Lufar_Oml_Seen = true
  end
end
#----------------------------------------------------------------------------
# ○ グローバル変数
#----------------------------------------------------------------------------
$_Lufar_Oml_Seen = false

戻る