Cerca nel Forum
Showing results for tags 'Index di scelta memorizzato'.
Trovato 1 risultato
-
Nome Script: Index di scelta memorizzato Versione: 1.00 Autore/i: kaisouryouiki Informazioni: Quando si accede al menù e si seleziona qualche comando, all'uscita e al rientro nel menù, questo riparte dalla posizione iniziale. Con questo script invece la selezione rimarrà memorizzata...spero di essermi spiegato xD Istruzioni: Basta inserire lo script sopra Main. Script: =begin ★コマンドインデックス記憶★ プレイヤーの以下の行動を記憶させることで、 次の行動以降の初期カーソル位置を変更し、同じ行動を取る際の補助とします。 ◆ 記憶する内容 ・メニュー:プレイヤーが最後に選択したコマンドのカーソル位置 ・戦闘 :各アクターが最後に選択したアクターコマンドのカーソル位置 ・戦闘 :各アクターが最後に選択したエネミー ※1 ・戦闘 :各アクターが最後に選択したアクター ※1 => 戦闘終了後リセットされます ● 仕様 ●========================================================== エネミーで記憶したインデックスは、 それぞれの対象が存在しなくなった場合(撃破後)にリセットされます。 -------------------------------------------------------------------- 各、記憶された情報はセーブデータにも保存され、ロード後にも引き継がれます。 ==================================================================== ● 注意 ●========================================================== ニューゲームから始めないとエラーを吐きます。 -------------------------------------------------------------------- 全てエイリアスで構成されてますので、素材の下の方に挿入してください。 ==================================================================== ver1.00 Last Update : 2009/08/19 8/19 : 新規 ろかん http://kaisouryouiki.web.fc2.com/ =end $rsi = {} if $rsi == nil $rsi["コマンドインデックス記憶"] = true class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :last_battle_index attr_accessor :last_enemy attr_accessor :last_actor #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias battle_index_initialize initialize unless $! def initialize(actor_id) battle_index_initialize(actor_id) @last_battle_index = 0 @last_enemy = nil @last_actor = nil end end class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :last_menu_index attr_accessor :last_item #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias menu_index_initialize initialize unless $! def initialize menu_index_initialize @last_menu_index = 0 end end class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias last_menu_index_set initialize unless $! def initialize(menu_index = 0) last_menu_index_set(menu_index = 0) @menu_index = $game_party.last_menu_index end #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- alias last_menu_index_memory terminate unless $! def terminate unless $scene.is_a?(Scene_Map) $game_party.last_menu_index = @command_window.index end last_menu_index_memory end #-------------------------------------------------------------------------- # ● アクター選択の開始 #-------------------------------------------------------------------------- alias last_menu_index_memory_dummy start_actor_selection unless $! def start_actor_selection $game_party.last_menu_index = @command_window.index last_menu_index_memory_dummy end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- alias enemy_index_reset terminate unless $! def terminate for i in $game_party.members do i.last_enemy = nil end enemy_index_reset end #-------------------------------------------------------------------------- # ● 次のアクターのコマンド入力へ #-------------------------------------------------------------------------- alias last_battle_index_memory next_actor unless $! def next_actor n = @actor_index + 1 if @actor_command_window.active && ! (@active_battler.action.kind == 0 && @active_battler.action.basic < 0) @active_battler.last_battle_index = @actor_command_window.index end unless $game_party.members.size == n @actor_command_window.index = $game_party.members[n].last_battle_index end last_battle_index_memory end #-------------------------------------------------------------------------- # ● アクターコマンド選択の開始 #-------------------------------------------------------------------------- alias last_battle_index_set start_actor_command_selection unless $! def start_actor_command_selection last_battle_index_set @actor_command_window.index = @active_battler.last_battle_index end #-------------------------------------------------------------------------- # ● 対象敵キャラ選択の開始 #-------------------------------------------------------------------------- alias last_enemy_index_set start_target_enemy_selection unless $! def start_target_enemy_selection last_enemy_index_set @active_battler.action.target_index = -1 unless @active_battler.last_enemy == nil if $game_troop.existing_members.include?(@active_battler.last_enemy) @target_enemy_window.index = $game_troop.existing_members.index(@active_battler.last_enemy) end end end #-------------------------------------------------------------------------- # ● 対象敵キャラ選択の終了 #-------------------------------------------------------------------------- alias last_enemy_index_memory end_target_enemy_selection unless $! def end_target_enemy_selection unless @active_battler.action.target_index == -1 @active_battler.last_enemy = @target_enemy_window.enemy end last_enemy_index_memory end #-------------------------------------------------------------------------- # ● 対象アクター対象選択の開始 #-------------------------------------------------------------------------- alias last_actor_index_set start_target_actor_selection unless $! def start_target_actor_selection last_actor_index_set @active_battler.action.target_index = -1 unless @active_battler.last_actor == nil if $game_party.members.include?(@active_battler.last_actor) @target_actor_window.index = $game_party.members.index(@active_battler.last_actor) end end end #-------------------------------------------------------------------------- # ● 対象アクター選択の終了 #-------------------------------------------------------------------------- alias last_actor_index_memory end_target_actor_selection unless $! def end_target_actor_selection unless @active_battler.action.target_index == -1 @active_battler.last_actor = $game_party.members[@target_actor_window.index] end last_actor_index_memory end end