zecomeia
RPG Maker
Postagens : 51 Data de inscrição : 20/08/2009
| Assunto: ChangePartyPosition Dom Ago 23, 2009 1:41 pm | |
| ChangePartyPosition por zecomeia IntroduçãoCom este script o jogador pode trocar a ordem dos personagens do grupo. Características
- trocar ordem dos personagens
Screen ShotComo Usar
- Cole acima de main
- Para chamar o script vá em "chamar script" em um evento e coloque:
- Código:
-
$scene = Scene_Ordem.new DemoDownload(Clique Aqui).Script - Código:
-
#--------------------------------------------------------------- #- ChangePartyPosition(Menu de Ordem) -------------------------- #- por: zecomeia ------------------------------ #- 18/02/2009 -------------------------------------------------- # Descrição: Essa opção faz com que o jogador tenha a liberdade #de trocar a posição dos Heróis no grupo. ---------------------- #---------------------------------------------------------------
class Scene_Ordem def main @status_window = Window_MenuStatus.new @status_window.x = 72 @status_window.y = 0 @stlock_window = Window_MenuStatus.new @stlock_window.x = 72 @stlock_window.y = 0 @status_window.active = true @status_window.index = 0 @stlock_window.active = true @stlock_window.index = 0 # Criar chaves de controle para escolha dos personagem na troca @lock_firstchoice = nil @next_choice = nil # Executar transição Graphics.transition # Loop principal loop do # Atualizar a tela de jogo Graphics.update # Atualizar a entrada de informações Input.update # Atualizar Frame update # Abortar loop se a tela for alterada if $scene != self break end end # Preparar para transiçõa Graphics.freeze # Exibição das janelas @status_window.dispose @stlock_window.dispose end def update @status_window.update @stlock_window.update # Se a janela de Status estiver ativa e: call update_status if @status_window.active and @next_choice != true update_status return end # Se a segunda escolha da troca de personagens estiver ativa: call comand_ordem if @next_choice == true comand_ordem return end end #------------------------------------------------------------- #-- comand_ordem (segunda escolha da troca de posição) ------- #------------------------------------------------------------- def comand_ordem # Se o botão B for pressionado (Cancel) if Input.trigger?(Input::B) # Reproduzir SE de cancelamento $game_system.se_play($data_system.cancel_se) # Voltar para escolha do primeiro Herói da troca @stlock_window.active = true @stlock_window.index = -1 @next_choice = false @lock_firstchoice = false return end # Se o botão C for pressionado (OK) if Input.trigger?(Input::C) # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Segunda escolha da troca de Heróis if @status_window.index == 0 #Se for o primeiro do grupo # Trocar posições dos personagens escolhidos @second_choice = $game_party.actors[0] $game_party.actors[0] = $game_party.actors[@first_choice] $game_party.actors[@first_choice] = @second_choice # Manter posição do cursor de escolha @indice_position = 0 # Renovar gráficos update_ordem elsif @status_window.index == 1 #Se for o segundo do grupo # Trocar posições dos personagens escolhidos @second_choice = $game_party.actors[1] $game_party.actors[1] = $game_party.actors[@first_choice] $game_party.actors[@first_choice] = @second_choice # Manter posição do cursor de escolha @indice_position = 1 # Renovar gráficos update_ordem elsif @status_window.index == 2 #Se for o terceiro do grupo # Trocar posições dos personagens escolhidos @second_choice = $game_party.actors[2] $game_party.actors[2] = $game_party.actors[@first_choice] $game_party.actors[@first_choice] = @second_choice # Manter posição do cursor de escolha @indice_position = 2 # Renovar gráficos update_ordem elsif @status_window.index == 3 #Se for o quarto do grupo # Trocar posições dos personagens escolhidos @second_choice = $game_party.actors[3] $game_party.actors[3] = $game_party.actors[@first_choice] $game_party.actors[@first_choice] = @second_choice # Manter posição do cursor de escolha @indice_position = 3 # Renovar gráficos update_ordem end end end #----------------------------------------------------------------------------- #-- update_ordem (renova os gráficos da janela de status e do lider do grupo - #----------------------------------------------------------------------------- def update_ordem $game_player.refresh @status_window.dispose @stlock_window.dispose @status_window = Window_MenuStatus.new @stlock_window = Window_MenuStatus.new @status_window.x = 72 @status_window.y = 0 @stlock_window.x = 72 @stlock_window.y = 0 @stlock_window.active = true @stlock_window.index = -1 @status_window.active = true @status_window.index = @indice_position @next_choice = false @lock_firstchoice = false return end #-------------------------------------------------------------------------- # - Atualização do Frame (Quando o status da Janela estiver Ativo) #-------------------------------------------------------------------------- def update_status # Se o botão B for pressionado if Input.trigger?(Input::B) # Reproduzir SE de cancelamento $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end # Se o botão C for pressionado if Input.trigger?(Input::C) # Reproduzir SE de OK $game_system.se_play($data_system.decision_se) # Escolha do primeiro personagem da troca if @status_window.index == 0 and @lock_firstchoice != true @first_choice = 0 # Travar um cursor de indicação da primeira escolha @stlock_window.index = 0 @lock_firstchoice = true elsif @status_window.index == 1 and @lock_firstchoice != true @first_choice = 1 # Travar um cursor de indicação da primeira escolha @stlock_window.index = 1 @lock_firstchoice = true elsif @status_window.index == 2 and @lock_firstchoice != true @first_choice = 2 # Travar um cursor de indicação da primeira escolha @stlock_window.index = 2 @lock_firstchoice = true elsif @status_window.index == 3 and @lock_firstchoice != true @first_choice = 3 # Travar um cursor de indicação da primeira escolha @stlock_window.index = 3 @lock_firstchoice = true end # Trava do cursor da primeira escolha if @lock_firstchoice == true @stlock_window.active = false # Iniciar escolha do segundo personagem na troca @next_choice = true end end return end end Créditos e Agradecimentos zecomeia
|
|