#◆◇◆◇◆ マスタースクリプト ver 3.00 ◇◆◇◆◇ # サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/ # by みんと =begin 使い方 全てのみんとRGSSより上に導入してください。 (基本的にシステム上部に導入してください) マスタースクリプト ver 2.00 以前を導入している場合は、 それと差し替えです。 タイトルに ☆☆ がついているみんとRGSSは、 ver 3.00 以降のマスタースクリプトがないと動きません。 それ以外のみんとRGSSは 新旧、どちらのマスタースクリプトでも動作します。 =end #============================================================================== # ☆ MINTO #------------------------------------------------------------------------------ # 様々なフラグを扱うメインモジュールです。 #============================================================================== module MINTO # RGSSの導入環境ハッシュを初期化 RGSS = {} end #============================================================================== # ■ Mint #------------------------------------------------------------------------------ #  ユーティリティー画面の処理を管理するスーパークラスです。 #============================================================================== class Mint #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- def main() end #-------------------------------------------------------------------------- # ● メインループ #-------------------------------------------------------------------------- def main_loop # 更新フラグをオン @self_active = true # トランジション実行 Graphics.transition(20) # メインループ処理(更新フラグがオンな限り繰り返す) while @self_active == true do # ゲーム画面を更新 Graphics.update # 入力情報を更新 Input.update # フレーム更新 update end end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update end end #============================================================================== # ☆ MINTO_Bitmap #------------------------------------------------------------------------------ # セーブビットマップを扱うモジュールです。 #============================================================================== module MINTO_Bitmap #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize # セーブビットマップ初期化 @save_bitmap = {} end #-------------------------------------------------------------------------- # ● セーブビットマップ(参照) #-------------------------------------------------------------------------- def self.save_bitmap return @save_bitmap end #-------------------------------------------------------------------------- # ● セーブビットマップ(変更) #-------------------------------------------------------------------------- def self.save_bitmap=(n) @save_bitmap = n end end # ☆ 開発用メソッド追加 ☆ #============================================================================== # ■ Sprite #------------------------------------------------------------------------------ #  スプライト表示を扱う組み込みクラスです。 #============================================================================== class Sprite #-------------------------------------------------------------------------- # ● 複製の作成 #-------------------------------------------------------------------------- def dup # 各データをコピー sprite = Sprite.new(self.viewport) sprite.bitmap = self.bitmap sprite.x = self.x sprite.y = self.y sprite.z = self.z sprite.visible = self.visible sprite.ox = self.ox sprite.oy = self.oy sprite.angle = self.angle sprite.mirror = self.mirror sprite.opacity = self.opacity sprite.blend_type = self.blend_type sprite.color = self.color rect = self.src_rect sprite.src_rect.set(rect.x, rect.y, rect.width, rect.height) sprite.zoom_x = self.zoom_x sprite.zoom_y = self.zoom_y return sprite end #-------------------------------------------------------------------------- # ● エフェクト表示中判定 #-------------------------------------------------------------------------- def effect? return false end end #============================================================================== # ■ Array #------------------------------------------------------------------------------ #  配列全般を扱う組み込みクラスです。 #============================================================================== class Array #-------------------------------------------------------------------------- # ● 要素の交換 # a : 要素1 # b : 要素2 #-------------------------------------------------------------------------- def change(a, b) # データを複製 data = self.dup # 要素を交換する(self自体には変化がない) data[a] = self[b] data[b] = self[a] return data end #-------------------------------------------------------------------------- # ● 要素の交換(破壊的) # a : 要素1 # b : 要素2 #-------------------------------------------------------------------------- def change!(a, b) # データを複製 data = self.dup # 要素を交換する(selfを直接書き換える) self[a] = data[b] self[b] = data[a] end end #============================================================================== # ■ Numeric #------------------------------------------------------------------------------ #  数値全般を扱う組み込みクラスです。 #============================================================================== class Numeric #-------------------------------------------------------------------------- # ● 範囲内から乱数を得る # min : 求められた最小の数値 #-------------------------------------------------------------------------- def mm_rand(min) return rand(self - min + 1) + min end #-------------------------------------------------------------------------- # ● 求めた数値に対するパーセンテージを返す # order : 求められた数値 #-------------------------------------------------------------------------- def rate(order) return 100 if order == 0 return (self * 100) / order end end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ #  アクターを扱うクラスです。このクラスは Game_Actors クラス # (RPG_Actors::data)の内部で使用され、 # Game_Party クラス (RPG_Party::data) からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 装備存在の取得 #-------------------------------------------------------------------------- def equip?(type = 0) case type when 0 return (@weapon_id > 0) when 1 return (@armor1_id > 0) when 2 return (@armor2_id > 0) when 3 return (@armor3_id > 0) when 4 return (@armor4_id > 0) end end end #============================================================================== # ■ Game_Enemy #------------------------------------------------------------------------------ #  エネミーを扱うクラスです。このクラスは Game_Troop クラス # (RPG_Troop::data) の内部で使用されます。 #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● 装備存在の取得 #-------------------------------------------------------------------------- def equip?(type = 0) return false end end # ☆ これより、データベースモジュール ☆ #============================================================================== # ☆ Data_Actors #============================================================================== module Data_Actors #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data = load_data("Data/BT_Actors.rxdata") else data = load_data("Data/Actors.rxdata") end @data = data end #-------------------------------------------------------------------------- # ● アクターデータ #-------------------------------------------------------------------------- def self.data=(data) @data = data end #-------------------------------------------------------------------------- # ● アクターデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Classes #============================================================================== module Data_Classes #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data = load_data("Data/BT_Classes.rxdata") else data = load_data("Data/Classes.rxdata") end @data = data end #-------------------------------------------------------------------------- # ● クラスデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Weapons #============================================================================== module Data_Weapons #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_weapons = load_data("Data/BT_Weapons.rxdata") else data_weapons = load_data("Data/Weapons.rxdata") end @data = data_weapons end #-------------------------------------------------------------------------- # ● 武器データ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Armors #============================================================================== module Data_Armors #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data = load_data("Data/BT_Armors.rxdata") else data = load_data("Data/Armors.rxdata") end @data = data end #-------------------------------------------------------------------------- # ● 防具データ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Items #============================================================================== module Data_Items #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data = load_data("Data/BT_Items.rxdata") else data = load_data("Data/Items.rxdata") end @data = data end #-------------------------------------------------------------------------- # ● アイテムデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_System #============================================================================== module Data_System #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data = load_data("Data/BT_System.rxdata") else data = load_data("Data/System.rxdata") end @data = data end #-------------------------------------------------------------------------- # ● システムデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Skills_Base #============================================================================== module Data_Skills_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_skills = load_data("Data/BT_Skills.rxdata") else data_skills = load_data("Data/Skills.rxdata") end @data = data_skills end #-------------------------------------------------------------------------- # ● スキルデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Troops #============================================================================== module Data_Troops #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_troops = load_data("Data/BT_Troops.rxdata") else data_troops = load_data("Data/Troops.rxdata") end @data = data_troops end #-------------------------------------------------------------------------- # ● トループデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Enemies #============================================================================== module Data_Enemies #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_enemies = load_data("Data/BT_Enemies.rxdata") else data_enemies = load_data("Data/Enemies.rxdata") end @data = data_enemies end #-------------------------------------------------------------------------- # ● エネミーデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_States #============================================================================== module Data_States #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_states = load_data("Data/BT_States.rxdata") else data_states = load_data("Data/States.rxdata") end @data = data_states end #-------------------------------------------------------------------------- # ● ステートデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Animations #============================================================================== module Data_Animations #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_animations = load_data("Data/BT_Animations.rxdata") else data_animations = load_data("Data/Animations.rxdata") end @data = data_animations end #-------------------------------------------------------------------------- # ● アニメデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Tilesets #============================================================================== module Data_Tilesets #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_tilesets = load_data("Data/BT_Tilesets.rxdata") else data_tilesets = load_data("Data/Tilesets.rxdata") end @data = data_tilesets end #-------------------------------------------------------------------------- # ● タイルセットデータ #-------------------------------------------------------------------------- def self.data return @data end end #============================================================================== # ☆ Data_Common_Events #============================================================================== module Data_Common_Events #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def self.initialize(in_battle = false) if in_battle data_common_events = load_data("Data/BT_CommonEvents.rxdata") else data_common_events = load_data("Data/CommonEvents.rxdata") end @data = data_common_events end #-------------------------------------------------------------------------- # ● イベントデータ #-------------------------------------------------------------------------- def self.data return @data end end # ☆ データベースモジュールへの対応 ☆ #============================================================================== # ■ MINTOモジュール #============================================================================== module MINTO #-------------------------------------------------------------------------- # ● データベース・モジュール・セットアップ #-------------------------------------------------------------------------- def self.set_up_data_module(test_battle = false) MINTO_Bitmap.initialize if !Data_Actors::data # データベース・モジュールをロード Data_Actors::initialize(test_battle) Data_Classes::initialize(test_battle) Data_Items::initialize(test_battle) Data_Armors::initialize(test_battle) Data_System::initialize(test_battle) Data_Enemies::initialize(test_battle) Data_Troops::initialize(test_battle) Data_Weapons::initialize(test_battle) Data_Skills_Base::initialize(test_battle) Data_Animations::initialize(test_battle) Data_Tilesets::initialize(test_battle) Data_States::initialize(test_battle) Data_Common_Events::initialize(test_battle) end end end # ☆ データベース・モジュール・セットアップ MINTO.set_up_data_module($BTEST)