<META content="Namo WebEditor v6.0" name=generator>메뉴 화면을 횡형으로 개조시키는 스크립트 입니다. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆메뉴 화면 개조 - KGC_MenuAlter◆ #_/---------------------------------------------------------------------------- #_/ 메뉴 화면을 이상한 스타일에 개조합니다. #_/============================================================================ #_/ ≪많은 사람 파티[LargeParty]≫보다 위 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #============================================================================== # ★ 커스터마이즈 항목 ★ #====== ======================================================================== module KGC # ◆[정상]시에 표시하는 문자열 MA_FINE_STATE_NAME = "Fine." # ◆메뉴 스테이터스에 버틀러 그래픽을 표시 MA_MENU_STATUS_BATTLER = true # ◆커멘드명 「스테이터스」 MA_COMMAND_STATUS = "스테이터스" # ◆커멘드명 「세이브」 MA_COMMAND_SAVE = "세이브" # ◆커멘드명 「게임 종료」 MA_COMMAND_END = "게임 종료" # ◆커멘드명 「플레이 기록」(≪플레이 기록화면[PlayRecord]≫) MA_COMMAND_PLAY_RECORD = "플레이 기록" # ◆커멘드명 「파티 편성」(≪많은 사람 파티[LargeParty]≫) MA_COMMAND_PARTY_ARRANGE = "파티 편성" # ◆커멘드명 「스킬 설정」(≪스킬 CP제[SkillCPSystem]≫) MA_COMMAND_SKILL_SETTING = "스킬 설정" # ◆메뉴코 만드리스트 # 이하중에서 사용하고 싶은 커멘드를 표시순서에 격납. # (6 이후는, 대응하는 기능을 도입하지 않으면 사용할 수 없습니다) # 0..아이템 1..스킬 2..장비 3..스테이터스 4..세이브 5..종료 # 6..플레이 기록 7..파티 편성 8..스킬 설정 9..전투 난이도 # ※같은 커멘드를 복수 지정하면 버그가능성이 있습니다. MA_COMMANDS = [0, 1, 2, 3, 4, 6, 7, 8, 9, 5] # ◆메뉴 화면 트란지션 MA_MENU_TRANSITION = "015-Diamond01" end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ $imported["MenuAlter"] = true #============================================================================== # ■ Game_Temp #============================================================================== class Game_Temp attr_accessor :menu_selected_index #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize initialize_KGC_MenuAlter @menu_selected_index = nil end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler attr_reader :exp_list end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_Base #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ● 名前の描画 #-------------------------------------------------------------------------- def draw_actor_name(actor, x, y) self.contents.font.color = normal_color self.contents.draw_shadow_text(x, y, 120, 32, actor.name) end #-------------------------------------------------------------------------- # ● クラスの描画 #-------------------------------------------------------------------------- def draw_actor_class(actor, x, y) self.contents.font.color = normal_color self.contents.draw_shadow_text(x, y, 236, 32, actor.class_name) end #-------------------------------------------------------------------------- # ● レベルの描画 #-------------------------------------------------------------------------- def draw_actor_level(actor, x, y) self.contents.font.color = system_color self.contents.draw_shadow_text(x, y, 32, 32, "Lv") self.contents.font.color = normal_color self.contents.draw_shadow_text(x + 32, y, 24, 32, actor.level.to_s, 2) end #-------------------------------------------------------------------------- # ● 描画用のステート文字列作成 #-------------------------------------------------------------------------- def make_battler_state_text(battler, width, need_normal) # 括弧の幅を取得 brackets_width = self.contents.text_size("[]").width # ステート名の文字列を作成 text = "" for i in battler.states if $data_states[i].rating >= 1 if text == "" text = $data_states[i].name else new_text = text + "/" + $data_states[i].name text_width = self.contents.text_size(new_text).width break if text_width > width - brackets_width text = new_text end end end # ステート名の文字列が空の場合は KGC::MA_FINE_STATE_NAME にする if text == "" text = KGC::MA_FINE_STATE_NAME if need_normal else # 敵の場合は括弧をつける text = "[#{text}]" if battler.is_a?(Game_Enemy) end # 完成した文字列を返す return text end #-------------------------------------------------------------------------- # ● ステートの描画 #-------------------------------------------------------------------------- def draw_actor_state(actor, x, y, width = 120) text = make_battler_state_text(actor, width, true) self.contents.font.color = actor.dead? ? knockout_color : normal_color self.contents.draw_shadow_text(x, y, width, 32, text) end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_MenuCommand #------------------------------------------------------------------------------ # メニュー用のコマンド選択を行うウィンドウです。 #============================================================================== class Window_MenuCommand < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 # commands : コマンド文字列の配列 #-------------------------------------------------------------------------- def initialize(commands) col_max = 6 # コマンドの個数からウィンドウの高さを算出 super(0, 0, 640, (commands.size / col_max + 1) * 32 + 32) @column_max = col_max @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, height - 32) refresh self.index = 0 end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh(commands = nil) @commands = commands if commands != nil self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------------------------------- # ● 項目の描画 # index : 項目番号 # color : 文字色 #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new((index % @column_max) * ((width - 32) / @column_max), index / @column_max * 32, (width - 32) / @column_max, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index], 1) end #-------------------------------------------------------------------------- # ● 項目の無効化 # index : 項目番号 #-------------------------------------------------------------------------- def disable_item(index) draw_item(index, disabled_color) end #-------------------------------------------------------------------------- # ● カーソルの矩形更新 #-------------------------------------------------------------------------- def update_cursor_rect # カーソル位置が 0 未満の場合 if @index < 0 self.cursor_rect.empty return end # 現在の行を取得 row = @index / @column_max # 現在の行が、表示されている先頭の行より前の場合 if row < self.top_row # 現在の行が先頭になるようにスクロール self.top_row = row end # 現在の行が、表示されている最後尾の行より後ろの場合 if row > self.top_row + (self.page_row_max - 1) # 現在の行が最後尾になるようにスクロール self.top_row = row - (self.page_row_max - 1) end # カーソルの幅を計算 cursor_width = (width - 32) / @column_max # カーソルの座標を計算 x = @index % @column_max * cursor_width y = @index / @column_max * 32 - self.oy # カーソルの矩形を更新 self.cursor_rect.set(x, y, cursor_width, 32) end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_MenuStatus #============================================================================== class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(items = 6) @dy = (items / 6 + 1) * 32 + 32; @dh = 384 - @dy super(0, @dy, 640, @dh) @column_max = 4 bw = 152 * @column_max bh = (($game_party.actors.size - 1) / @column_max + 1) * @dh self.contents = Bitmap.new(bw, bh) refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.size = 20 @item_max = $game_party.actors.size ch = @dh - 192 for i in 0...$game_party.actors.size x = i % @column_max * 152 + 8 y = i / @column_max * @dh + ch # 戦闘参加メンバー以降は背景を暗くする if $imported["LargeParty"] && i >= $game_party.battle_actors.size self.contents.fill_rect(x - 8, y - ch, 152, @dh, Color.new(0, 0, 0, 96)) end actor = $game_party.actors[i] if KGC::MA_MENU_STATUS_BATTLER draw_actor_graphic(actor, x, y - ch) else draw_actor_graphic(actor, x + 64, y - ch / 3) end draw_actor_name(actor, x, y) draw_actor_class(actor, x, y + 24) draw_actor_level(actor, x, y + 48) draw_actor_state(actor, x + 64, y + 48) # HP/SPゲージを導入している場合 if $imported["HPSPAlter"] # EXPゲージ描画 rest_exp = actor.next_rest_exp_s.to_i next_exp = actor.next_exp_s.to_i - actor.exp_list[actor.level] gw = (next_exp - rest_exp) * @g_width / next_exp if KGC::HPSP_GAUGE_SLANT gy = @g_height + 96 gy2 = @g_height + 1 for i in 0...(@g_height + 2) self.contents.blt(x + 31 + i, y + gy - i, @hpsp_gauge, Rect.new(0, gy2 - i, 102, 1)) end gy -= 1 gy2 = @g_height * 4 + 1 for i in 0...@g_height self.contents.blt(x + 33 + i, y + 99 - i, @hpsp_gauge, Rect.new(0, gy2 - i , gw, 1)) end else self.contents.blt(x + 31, y + 95, @hpsp_gauge, Rect.new(0, 0, 102, @g_height + 2)) self.contents.blt(x + 32, y + 96, @hpsp_gauge, Rect.new(0, @g_height * 4 + 2 , gw, @g_height)) end end self.contents.font.color = system_color self.contents.draw_shadow_text(x, y + 72, 32, 32, "Next") self.contents.font.color = normal_color self.contents.draw_shadow_text(x + 32, y + 72, 100, 32, actor.next_rest_exp_s, 2) draw_actor_hp(actor, x, y + 96) draw_actor_sp(actor, x, y + 124) end end #-------------------------------------------------------------------------- # ● カーソル矩形更新 #-------------------------------------------------------------------------- def update_cursor_rect # カーソル位置が 0 未満の場合 if @index < 0 self.cursor_rect.empty return end # カーソルの幅を計算 cursor_width = 152 # カーソルの座標を計算 x = @index % @column_max * 152 y = @index / @column_max * @dh - self.oy # カーソルの矩形を更新 self.cursor_rect.set(x, y, cursor_width, @dh - 32) self.oy = @index / @column_max * @dh end #-------------------------------------------------------------------------- # ● グラフィックの描画 #-------------------------------------------------------------------------- if KGC::MA_MENU_STATUS_BATTLER def draw_actor_graphic(actor, x, y) bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue) cw, ch = bitmap.width, bitmap.height self.contents.blt(x, y, bitmap, bitmap.rect) end end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_Item #============================================================================== class Window_Item < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize initialize_KGC_MenuAlter self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_Skill #============================================================================== class Window_Skill < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize(actor) initialize_KGC_MenuAlter(actor) self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_SkillStatus #============================================================================== class Window_SkillStatus < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize(actor) initialize_KGC_MenuAlter(actor) self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_Target #============================================================================== class Window_Target < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize initialize_KGC_MenuAlter self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_EquipLeft #============================================================================== class Window_EquipLeft < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize(actor) initialize_KGC_MenuAlter(actor) self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_EquipRight #============================================================================== class Window_EquipRight < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize(actor) initialize_KGC_MenuAlter(actor) self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Window_EquipItem #============================================================================== class Window_EquipItem < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_KGC_MenuAlter initialize def initialize(actor, equip_type) initialize_KGC_MenuAlter(actor, equip_type) self.back_opacity = 160 end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Map #============================================================================== class Scene_Map #-------------------------------------------------------------------------- # ● メニューの呼び出し #-------------------------------------------------------------------------- alias call_menu_KGC_MenuAlter call_menu def call_menu $game_temp.menu_selected_index = nil call_menu_KGC_MenuAlter end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Menu #============================================================================== class Scene_Menu #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- def main if $game_temp.menu_selected_index != nil @menu_index = $game_temp.menu_selected_index end # スプライトセットを作成 @spriteset = Spriteset_Map.new # コマンドウィンドウを作成 @commands, com_index = [], [] for i in 0...KGC::MA_COMMANDS.size case KGC::MA_COMMANDS[i] when 0 @commands << $data_system.words.item when 1 @commands << $data_system.words.skill when 2 @commands << $data_system.words.equip when 3 @commands << KGC::MA_COMMAND_STATUS when 4 @commands << KGC::MA_COMMAND_SAVE when 5 @commands << KGC::MA_COMMAND_END when 6 @commands << KGC::MA_COMMAND_PLAY_RECORD when 7 @commands << KGC::MA_COMMAND_PARTY_ARRANGE when 8 @commands << KGC::MA_COMMAND_SKILL_SETTING when 9 @commands << ($imported["BattleDifficulty"] ? $game_system.get_difficulty[0] : "No Command") end com_index[KGC::MA_COMMANDS[i]] = i end @command_window = Window_MenuCommand.new(@commands) @command_window.back_opacity = 160 # 項目を無効化 if !$imported["PlayRecord"] && com_index[6] != nil @command_window.disable_item(com_index[6]) end if (!$imported["LargeParty"] || !$game_system.partyform_permit) && com_index[7] != nil @command_window.disable_item(com_index[7]) end if !$imported["SkillCPSystem"] && com_index[8] != nil @command_window.disable_item(com_index[8]) end if !$imported["BattleDifficulty"] && com_index[9] != nil @command_window.disable_item(com_index[9]) end @command_window.index = @menu_index # パーティ人数が 0 人の場合 if $game_party.actors.size == 0 # アイテム、スキル、装備、ステータスを無効化 @command_window.disable_item(com_index[0]) if com_index[0] != nil @command_window.disable_item(com_index[1]) if com_index[1] != nil @command_window.disable_item(com_index[2]) if com_index[2] != nil @command_window.disable_item(com_index[3]) if com_index[3] != nil end # セーブ禁止の場合 if $game_system.save_disabled && com_index[4] != nil # セーブを無効にする @command_window.disable_item(com_index[4]) end # プレイ時間ウィンドウを作成 @playtime_window = Window_PlayTime.new @playtime_window.back_opacity = 160 @playtime_window.x = 0 @playtime_window.y = 384 # ゴールドウィンドウを作成 @gold_window = Window_Gold.new @gold_window.back_opacity = 160 @gold_window.opacity = 0 @gold_window.x = 640 - @gold_window.width @gold_window.y = @command_window.height - @gold_window.height if $imported["PlaceMission"] # 情報ウィンドウを作成 @info_window = Window_Information.new @info_window.back_opacity = 160 @info_window.x = 160 @info_window.y = 384 else # ゴールドウィンドウ位置を調整 @gold_window.x = 160 @gold_window.y = 384 end # ステータスウィンドウを作成 @status_window = Window_MenuStatus.new(@commands.size) @status_window.back_opacity = 160 @status_window.x = 0 if $imported["BattleDifficulty"] && com_index[9] != nil # 難易度選択ウィンドウを作成 commands = [] for i in 0...$game_system.difficulty_list.size name = $game_system.difficulty_list[i][0] commands.push(name) end @difficulty_window = Window_Command.new(160, commands) @difficulty_window.back_opacity = 160 @difficulty_window.x = [16 + com_index[9] % 6 * 101, 640 - @difficulty_window.width].min @difficulty_window.y = 16 + com_index[9] / 6 * 32 @difficulty_window.z = 2000 @difficulty_window.active = false @difficulty_window.visible = false end # トランジション実行 Graphics.transition(30, "Graphics/Transitions/" + KGC::MA_MENU_TRANSITION) # メインループ loop do # ゲーム画面を更新 Graphics.update # 入力情報を更新 Input.update # フレーム更新 update # 画面が切り替わったらループを中断 if $scene != self break end end # トランジション準備 Graphics.freeze # ウィンドウを解放 @command_window.dispose @playtime_window.dispose @steps_window.dispose if @steps_window != nil @gold_window.dispose @status_window.dispose @info_window.dispose if @info_window != nil @difficulty_window.dispose if @difficulty_window != nil @spriteset.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update # ウィンドウを更新 @command_window.update @playtime_window.update @steps_window.update if @steps_window != nil @gold_window.update @status_window.update @info_window.update if @info_window != nil @difficulty_window.update if @difficulty_window != nil # コマンドウィンドウがアクティブの場合: update_command を呼ぶ if @command_window.active update_command return end # ステータスウィンドウがアクティブの場合: update_status を呼ぶ if @status_window.active update_status return end # 難易度選択ウィンドウがアクティブの場合: update_difficulty を呼ぶ if @difficulty_window != nil && @difficulty_window.active update_difficulty return end end #-------------------------------------------------------------------------- # ● フレーム更新 (コマンドウィンドウがアクティブの場合) #-------------------------------------------------------------------------- def update_command # B ボタンが押された場合 if Input.trigger?(Input::B) # キャンセル SE を演奏 $game_system.se_play($data_system.cancel_se) # マップ画面に切り替え $scene = Scene_Map.new return end # C ボタンが押された場合 if Input.trigger?(Input::C) command = KGC::MA_COMMANDS[@command_window.index] # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合 if $game_party.actors.size == 0 && command != 4 && command != 5 # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # コマンド内容で分岐 case command when 0 # アイテム # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # アイテム画面に切り替え $scene = Scene_Item.new when 1 # スキル # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # ステータスウィンドウをアクティブにする @command_window.active = false @status_window.active = true @status_window.index = 0 when 2 # 装備 # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # ステータスウィンドウをアクティブにする @command_window.active = false @status_window.active = true @status_window.index = 0 when 3 # ステータス # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # ステータスウィンドウをアクティブにする @command_window.active = false @status_window.active = true @status_window.index = 0 when 4 # セーブ # セーブ禁止の場合 if $game_system.save_disabled # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # セーブ画面に切り替え $scene = Scene_Save.new when 5 # ゲーム終了 # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # ゲーム終了画面に切り替え $scene = Scene_End.new when 6 # プレイ記録 # ≪プレイ記録画面≫を導入していない場合 unless $imported["PlayRecord"] # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # プレイ記録画面に切り替え $scene = Scene_Record.new when 7 # パーティ編成 # ≪多人数パーティ≫を導入していない、または編成禁止の場合 if !$imported["LargeParty"] || !$game_system.partyform_permit # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # パーティ編成画面に切り替え $scene = Scene_PartyForm.new when 8 # スキル設定 # ≪スキルCP制≫を導入していない場合 unless $imported["SkillCPSystem"] # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # ステータスウィンドウをアクティブにする @command_window.active = false @status_window.active = true @status_window.index = 0 when 9 # 難易度変更 # [戦闘難易度]を導入していない場合 unless $imported["BattleDifficulty"] # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # 難易度選択ウィンドウをアクティブにする @command_window.active = false @difficulty_window.active = true @difficulty_window.visible = true @difficulty_window.index = $game_system.difficulty end # 選択コマンドを保存 $game_temp.menu_selected_index = @command_window.index return end end #-------------------------------------------------------------------------- # ● フレーム更新 (ステータスウィンドウがアクティブの場合) #-------------------------------------------------------------------------- def update_status # B ボタンが押された場合 if Input.trigger?(Input::B) # キャンセル SE を演奏 $game_system.se_play($data_system.cancel_se) # コマンドウィンドウをアクティブにする @command_window.active = true @status_window.active = false @status_window.index = -1 return end # C ボタンが押された場合 if Input.trigger?(Input::C) command = KGC::MA_COMMANDS[@command_window.index] # コマンド内容で分岐 case command when 1 # スキル # このアクターの行動制限が 2 以上の場合 if $game_party.actors[@status_window.index].restriction >= 2 # ブザー SE を演奏 $game_system.se_play($data_system.buzzer_se) return end # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # スキル画面に切り替え $scene = Scene_Skill.new(@status_window.index) when 2 # 装備 # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # 装備画面に切り替え $scene = Scene_Equip.new(@status_window.index) when 3 # ステータス # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # ステータス画面に切り替え $scene = Scene_Status.new(@status_window.index) when 8 # スキル設定 # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # スキル設定画面に切り替え $scene = Scene_SelectBattleSkill.new(@status_window.index) end return end end #-------------------------------------------------------------------------- # ● フレーム更新 (難易度選択ウィンドウがアクティブの場合) #-------------------------------------------------------------------------- def update_difficulty # B ボタンが押された場合 if Input.trigger?(Input::B) # キャンセル SE を演奏 $game_system.se_play($data_system.cancel_se) # コマンドウィンドウに切り替え @command_window.active = true @difficulty_window.active = false @difficulty_window.visible = false return end # C ボタンが押された場合 if Input.trigger?(Input::C) # 決定 SE を演奏 $game_system.se_play($data_system.decision_se) # 難易度変更 $game_system.difficulty = @difficulty_window.index # コマンドウィンドウ再作成 @commands[@command_window.index] = $game_system.get_difficulty[0] @command_window.refresh(@commands) # コマンドウィンドウに切り替え @command_window.active = true @difficulty_window.active = false @difficulty_window.visible = false return end end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Item #============================================================================== class Scene_Item #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias main_KGC_MenuAlter main def main # スプライトセットを作成 @spriteset = Spriteset_Map.new # 元の処理を実行 main_KGC_MenuAlter @spriteset.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_KGC_MenuAlter update def update @help_window.back_opacity = 160 # 元の処理を実行 update_KGC_MenuAlter end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Skill #============================================================================== class Scene_Skill #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias main_KGC_MenuAlter main def main # スプライトセットを作成 @spriteset = Spriteset_Map.new # 元の処理を実行 main_KGC_MenuAlter @spriteset.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_KGC_MenuAlter update def update @help_window.back_opacity = 160 # 元の処理を実行 update_KGC_MenuAlter end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Equip #============================================================================== class Scene_Equip #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias main_KGC_MenuAlter main def main # スプライトセットを作成 @spriteset = Spriteset_Map.new # 元の処理を実行 main_KGC_MenuAlter @spriteset.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_KGC_MenuAlter update def update @help_window.back_opacity = 160 # 元の処理を実行 update_KGC_MenuAlter end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_Status #============================================================================== class Scene_Status #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias main_KGC_MenuAlter main def main # スプライトセットを作成 @spriteset = Spriteset_Map.new # 元の処理を実行 main_KGC_MenuAlter @spriteset.dispose end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Scene_End #============================================================================== class Scene_End #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias main_KGC_MenuAlter main def main # スプライトセットを作成 @spriteset = Spriteset_Map.new # 元の処理を実行 main_KGC_MenuAlter @spriteset.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update # コマンドウィンドウを更新 @command_window.update # B ボタンが押された場合 if Input.trigger?(Input::B) # キャンセル SE を演奏 $game_system.se_play($data_system.cancel_se) # メニュー画面に切り替え $scene = Scene_Menu.new(9) return end # C ボタンが押された場合 if Input.trigger?(Input::C) # コマンドウィンドウのカーソル位置で分岐 case @command_window.index when 0 # タイトルへ command_to_title when 1 # シャットダウン command_shutdown when 2 # やめる command_cancel end return end end end