Segue um script que insere a opção para ter o combate automático nas batalhas de um projeto/game no RPG Maker XP. O script é de fácil implementação, basta inserir em qualquer lugar em cima do Main, que quando qualquer batalha for chamada, já vai aparecer a opção “Auto-Combate” do lado de “Fugir”.
O código foi editado a partir do original de Thousand Dragoon Link e Sir_KnightDragoon e foi traduzido por Kodama Phanton.
#============================================================================== # ¦ Auto-Luta #------------------------------------------------------------------------------ #---######################################################################## #-Editado dos scripts normais de Thousand Dragoon Link e Sir_KnightDragoon## #-Comentários por Thousand Dragoon Link##################################### #-Traduzido por Kodama Phanton############################################## #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # #Renovacão de um frame (Commando de batalha)############################ #-------------------------------------------------------------------------- def update_phase2 if Input.trigger?(Input::C) case @party_command_window.index when 0 # Lutar # Determinar se o SE é tocado. $game_system.se_play($data_system.decision_se) start_phase3 when 1 # Escapar. # não foi possivel escapar. if $game_temp.battle_can_escape == false $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) update_phase2_escape when 2 # Auto-Luta $game_system.se_play($data_system.decision_se) update_phase2_auto end return end end #-------------------------------------------------------------------------- # Renovação de um frame (Comando de Batalha: Auto) #-------------------------------------------------------------------------- def update_phase2_auto loop do if @actor_index == $game_party.actors.size-1 start_phase4 return end @actor_index += 1 $game_party.actors[@actor_index].current_action.kind = 0 $game_party.actors[@actor_index].current_action.basic = 0 $game_party.actors[@actor_index].current_action.decide_random_target_for_actor end end end class Window_PartyCommand < Window_Selectable #-------------------------------------------------------------------------- # inicialização de um objeto #-------------------------------------------------------------------------- def initialize super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.back_opacity = 160 self.contents.font.name = $fontface self.contents.font.size = $fontsize #trocar os comandos para oque voce quer para eles falarem# @commands = ["Lutar", "Fugir", "Auto-Combate"] @item_max = 3 @column_max = 3 draw_item(0, normal_color) draw_item(1, $game_temp.battle_can_escape ? normal_color : disabled_color) draw_item(2, normal_color) self.active = false self.visible = false self.index = 0 end #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new(80 + index * 160 + 4, 0, 128 - 10, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index], 1) end #-------------------------------------------------------------------------- # Renovação do cursor retangular# #-------------------------------------------------------------------------- def update_cursor_rect self.cursor_rect.set(80 + index * 160, 0, 128, 32) end end
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!