Vai al contenuto


Toggle Chat RM - Chat Apri la Chat in un popup

E' severamente vietato richiedere supporto su RPG Maker in chat!
@  MihaChan : (23 May 2012 - 09:19 PM) a parte i denti -che stanno decidendo di darmi noia in questi giorni-, tutto okay~
@  Melosx : (23 May 2012 - 09:18 PM) bene ^.^ ... Tu??
@  MihaChan : (23 May 2012 - 09:17 PM) come va? xD
@  MihaChan : (23 May 2012 - 09:16 PM) okay
@  MihaChan : (23 May 2012 - 09:16 PM) ah
@  Melosx : (23 May 2012 - 09:14 PM) ciao miha... ai dont spic inglisc
@  MihaChan : (23 May 2012 - 09:12 PM) how'sa goin'?
@  MihaChan : (23 May 2012 - 09:12 PM) ciao Mel!
@  Melosx : (23 May 2012 - 09:07 PM) ciao
@  MihaChan : (23 May 2012 - 09:06 PM) salve D:
@  Pech93 : (23 May 2012 - 08:05 PM) MIk?
@  Melosx : (23 May 2012 - 07:51 PM) VIENI SU MSN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:51 PM) MIIIIIIIIIIIIIIIIIIIKKKKKKKKKKKK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:46 PM) *iù
@  Melosx : (23 May 2012 - 07:38 PM) iu spin mi rai rau bebi rai rau laic a record bebi rau rau rau rau
@  Melosx : (23 May 2012 - 07:37 PM) lalalallalallalallallllllllllalalalallaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:37 PM) lalalalala
@  Melosx : (23 May 2012 - 07:37 PM) naoinvaoèvpodlnvvrovnovnondpppppppppmvdgdvjomvmvpe
@  Melosx : (23 May 2012 - 07:36 PM) che coa che robaé
@  Abadon : (23 May 2012 - 07:34 PM) dopo che il forum è andato fuori servizio si è persa un po' la chat D:

Index di scelta memorizzato


  • Per cortesia connettiti per rispondere
2 risposte a questa discussione

#1 OFFLINE   Ally

Ally

    Fondatori

  • Amministratori
  • 5558 Messaggi:
  • Localitàrpgmkr
  • Ruolo:
    Scripter
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

Inviato 20 October 2011 - 06:50 PM

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

Immagine inserita
Spoiler

#2 OFFLINE   Erik84

Erik84

    Maker Viandante

  • Utenti RM
  • 113 Messaggi:

Inviato 20 October 2011 - 06:58 PM

Funziona anche con il menu ad anello oppure sono io che non ho capito ed è fatto apposta per quello?

#3 OFFLINE   Ally

Ally

    Fondatori

  • Amministratori
  • 5558 Messaggi:
  • Localitàrpgmkr
  • Ruolo:
    Scripter
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

Inviato 20 October 2011 - 07:05 PM

Io lo ho testato con il menù normale ^^
Che ring menù usi?

Se non si è capito bene cosa fa comunque, faccio un'altra esempio.
Quando si va nel menù e si sceglie ad esempio il comando Status e quando si esce dal menù, al suo rientro il comando selezionato sarà il primo della lista, in questo caso Item/Oggetti.
Con lo script invece rimane su Status.

Una piccolezza, ma utile ^^
Immagine inserita
Spoiler




1 utente(i) stanno leggendo questa discussione

0 utenti, 1 ospiti, 0 utenti anonimi