Últimos temas
» LA BRÚJULA DE ZAZA [VXACE]
por Pocari Dom Nov 17, 2019 7:50 pm

» [RMVXA] Resurrected
por DorFenn Vie Nov 15, 2019 12:05 pm

» ¿Cómo puedo mandar un PDF junto a un juego?
por Muzgar Miér Nov 13, 2019 3:48 pm

» Duda, ayuda
por Muzgar Miér Nov 13, 2019 3:38 pm

» Sistema de parallax, tiempo, climatologia e iluminacion
por ckunx Miér Nov 13, 2019 2:37 pm

» [MV/VX/Ace] Engine "Objetivo actual" y "Hablar con el grupo"
por ckunx Miér Nov 13, 2019 2:28 pm

» error de script (HUD)
por Klayer Lun Nov 11, 2019 10:47 pm

» LMD - Lunas de Magia Divina
por Zaabos Lun Nov 11, 2019 8:56 pm

» Heartland | IGMC 2018
por DopellSerch Lun Nov 11, 2019 3:55 pm

» Hasta luego
por InvariableZ Dom Nov 10, 2019 2:41 pm

» [Publicidad] Around Me, otra vez.
por Muzgar Dom Nov 10, 2019 12:45 pm

» KBoomEffect XP
por kyonides Sáb Nov 09, 2019 1:55 am


Script de Batalla Hellminor

Ir abajo

Script de Batalla Hellminor Empty Script de Batalla Hellminor

Mensaje por Axel el Sáb Mayo 24, 2014 5:15 am

Hola a todos aquí les traigo otro Script espero les sea de mucha utilidad para muchos :)

Nombre del Script: Batalla Hellminor
Autor: Helminor

¿Que hace?
Es un sistema de batalla estilo frontal pero con la diferencia de que la batalla se da en la esquina izquierda en donde el personaje puede atacar automáticamente o manualmente dependiendo de como lo uses en tu criterio

Uso: Copiar y Pegar encima de Main

Screens:
Script de Batalla Hellminor Screen2

Script de Batalla Hellminor Screen3

Spoiler:

Código:
#==============================================================================
#  Batalla en Tiempo Activo de hellMinor
#
#  Versión: 0.2 - 05.02.08
#  Creado por: hellMinor
#  Descripción: Este script cambia el Sistema de Batalla por defecto a un
#               Sistema en Tiempo Activo basado en la agilidad de los
#               personajes.
#  Nota:        Este script usa la Pantalla de Batalla hellMinor modificada.
#
#==============================================================================
#==============================================================================
class Scene_Battle < Scene_Base
#==============================================================================  
 def start
   super
   $game_temp.in_battle = true
   @spriteset = Spriteset_Battle.new
   @message_window = Window_BattleMessage.new
   @action_battlers = []
   $playerwaitrate = [0,0,0,0]
   $additionrate = [0,0,0,0]
   $bar = [0,0,0,0]
   $enemywaitrate = [0,0,0,0,0,0,0,0]
   $enemyattackrate = [0,0,0,0,0,0,0,0]
   create_info_viewport
   @info_viewport.visible = true
 end
#------------------------------------------------------------------------------  
 def next_actor
   for enemy in $game_troop.members
     enemy.action.clear
   end


   wert = 300
   index = 0
     if @actor_index == $game_party.members.size-1
       start_main
       return
     end
     
    for i in 0..$game_party.members.size-1
       if $playerwaitrate[i] == 0
         $playerwaitrate[i] = 60*(5.0*(1.0-($game_party.members[i].agi/500.0)))
         $additionrate[i] = 120.0/$playerwaitrate[i]
       end
     end
     for i in 0..$game_troop.members.size-1
       if $enemywaitrate[i] == 0
         $enemywaitrate[i] = 60*(5.0*(1.0-($game_troop.members[i].agi/500.0)))
         $enemyattackrate[i] = 120.0/$enemywaitrate[i]
       end
     end
     
    temp = $playerwaitrate
     temp += $enemywaitrate
     
    for i in 0..temp.length-1
       if temp[i] > wert
         wert = temp[i]
       end
     end


     for i in 0..temp.length-1
       if temp[i] < wert && temp[i] > 0
         wert = temp[i]
         if i < $game_party.members.size
           @active_battler = $game_party.members[i]
           index = i
         else
           @active_battler = $game_troop.members[i-4]
           index = i
         end
       end
     end
     
    for i in 0..wert
       wait(1)
       for i in 0..$game_party.members.size-1
         $bar[i] += $additionrate[i]
       end
       @status_window.refresh
     end
     
    if @active_battler.actor?
       if @active_battler.auto_battle
         @active_battler.make_action
         next
       end
     end
   
  for i in 0..$game_party.members.size-1
     if i == index
       $playerwaitrate[i] -= wert
     else
       $playerwaitrate[i] -= wert-0.001
     end
   end
   for i in 0..$game_troop.members.size-1
     if i == index-4
       $enemywaitrate[i] -= wert
     else
       $enemywaitrate[i] -= wert-0.001
     end
   end
   if @active_battler.inputable?
     if @active_battler.actor?
       @status_window.index = @active_battler.id-1
       $bar[@active_battler.id-1] = 0
       if @autobattle
         @active_battler.make_action
         start_main
       else
         start_actor_command_selection
       end
     else
       @active_battler.make_action
       start_main
     end
   else
     if @active_battler.actor?
       $bar[@active_battler.id-1] = 0
     end
     next_actor
   end
 end
#------------------------------------------------------------------------------  
 def update_actor_command_selection
   if Input.trigger?(Input::B)
     Sound.play_cancel
   elsif Input.trigger?(Input::C)
     case @actor_command_window.index
     when 0  # 攻撃
       Sound.play_decision
       @active_battler.action.set_attack
       start_target_enemy_selection
     when 1  # スキル
       Sound.play_decision
       start_skill_selection
     when 2  # 防御
       Sound.play_decision
       @active_battler.action.set_guard
       start_main
     when 3  # アイテム
       Sound.play_decision
       start_item_selection
     end
   end
 end
#------------------------------------------------------------------------------
 def update_target_enemy_selection
   @target_enemy_window.update
   if Input.trigger?(Input::B)
     Sound.play_cancel
     end_target_enemy_selection
   elsif Input.trigger?(Input::C)
     Sound.play_decision
     @active_battler.action.target_index = @target_enemy_window.enemy.index
     end_target_enemy_selection
     end_skill_selection
     end_item_selection
     start_main
   end
 end
#------------------------------------------------------------------------------  
 def update_target_actor_selection
   @target_actor_window.update
   if Input.trigger?(Input::B)
     Sound.play_cancel
     end_target_actor_selection
   elsif Input.trigger?(Input::C)
     Sound.play_decision
     @active_battler.action.target_index = @target_actor_window.index
     end_target_actor_selection
     end_skill_selection
     end_item_selection
     start_main
   end
 end
#------------------------------------------------------------------------------  
   def determine_skill
   @active_battler.action.set_skill(@skill.id)
   @skill_window.active = false
   if @skill.need_selection?
     if @skill.for_opponent?
       start_target_enemy_selection
     else
       start_target_actor_selection
     end
   else
     end_skill_selection
     start_main
   end
 end
#------------------------------------------------------------------------------  
 def determine_item
   @active_battler.action.set_item(@item.id)
   @item_window.active = false
   if @item.need_selection?
     if @item.for_opponent?
       start_target_enemy_selection
     else
       start_target_actor_selection
     end
   else
     end_item_selection
     start_main
   end
 end
#------------------------------------------------------------------------------  
 def start_main
   $game_troop.increase_turn
   @info_viewport.visible = true
   @info_viewport.ox = 0
   @message_window.visible = true
   @actor_command_window.visible = false
   @party_command_window.active = false
   @actor_command_window.active = false
   @status_window.index = @actor_index = -1
   @active_battler = nil
   @message_window.clear
   make_action_orders
   wait(20)
 end
#------------------------------------------------------------------------------
 def create_info_viewport
   @info_viewport = Viewport.new(0, 0, 544, 480)
   @info_viewport.z = 100
   @status_window = Window_BattleStatus.new
   @party_command_window = Window_PartyCommand.new
   @actor_command_window = Window_ActorCommand.new
   @status_window.viewport = @info_viewport
   @party_command_window.viewport = @info_viewport
   @actor_command_window.viewport = @info_viewport
   @party_command_window.x = 159
   @party_command_window.y = 360
   @status_window.x = 0
   @actor_command_window.x = 159
   @actor_command_window.y = 360
   @actor_command_window.visible = false
   @info_viewport.visible = false
 end
#------------------------------------------------------------------------------  
 def update_info_viewport
   @party_command_window.update
   @actor_command_window.update
   @status_window.update
   if @party_command_window.active
     @party_command_window.visible = true
     @actor_command_window.visible = false
   elsif @actor_command_window.active
     @actor_command_window.visible = true
     @party_command_window.visible = false
   end
 end
#------------------------------------------------------------------------------  
 def start_party_command_selection
   if $game_temp.in_battle
     @status_window.refresh
     @status_window.index = @actor_index = -1
     @active_battler = nil
     @info_viewport.visible = true
     @message_window.visible = false
     @party_command_window.active = true
     @party_command_window.index = 0
     @actor_command_window.active = false
     $game_party.clear_actions
     if $game_troop.surprise or not $game_party.inputable?
       start_main
     end
     if @autobattle
       next_actor
     end
   end
 end
#------------------------------------------------------------------------------
 def update_party_command_selection
   if Input.trigger?(Input::C)
     case @party_command_window.index
     when 0  # 戦う
       @party_command_window.visible = false
       Sound.play_decision
       @status_window.index = @actor_index = -1
       next_actor
     when 1  # 戦う
       Sound.play_decision
       @status_window.index = @actor_index = -1
       @party_command_window.active = false
       @party_command_window.visible = false
       @autobattle = true
       next_actor
     when 2  # 逃げる
       if $game_troop.can_escape == false
         Sound.play_buzzer
         return
       end
       Sound.play_decision
       process_escape
     end
   end
 end
#------------------------------------------------------------------------------  
 def start_target_enemy_selection
   @target_enemy_window = Window_TargetEnemy.new
   @target_enemy_window.y = 193
   @info_viewport.rect.x += @target_enemy_window.width
   @info_viewport.ox += @target_enemy_window.width
   @actor_command_window.active = false
 end
#------------------------------------------------------------------------------
 def start_skill_selection
   @help_window = Window_Help.new
   @skill_window = Window_Skill.new(0, 55, 544, 306, @active_battler)
   @skill_window.help_window = @help_window
   @actor_command_window.active = false
 end
#------------------------------------------------------------------------------
 def start_item_selection
   @help_window = Window_Help.new
   @item_window = Window_Item.new(0, 55, 544, 306)
   @item_window.help_window = @help_window
   @actor_command_window.active = false
 end
#------------------------------------------------------------------------------
 def process_victory
   @info_viewport.visible = true
   @message_window.visible = true
   RPG::BGM.stop
   $game_system.battle_end_me.play
   unless $BTEST
     $game_temp.map_bgm.play
     $game_temp.map_bgs.play
   end
   display_exp_and_gold
   display_drop_items
   display_level_up
   battle_end(0)
 end
#------------------------------------------------------------------------------
 def process_defeat
   @info_viewport.visible = true
   @message_window.visible = true
   text = sprintf(Vocab::Defeat, $game_party.name)
   $game_message.texts.push(text)
   wait_for_message
   battle_end(2)
 end


end


#==============================================================================
#  CustomBattleScreen
#  Version : 0.2 - Customized
#  Created by : hellMinor
#==============================================================================
#==============================================================================
class Window_BattleStatus < Window_Selectable
#==============================================================================
 def initialize
   super(0, 0, 160, 416)
   refresh
   self.active = false
 end
#------------------------------------------------------------------------------
 def item_rect(index)
   rect = Rect.new(0, 0, 0, 0)
   rect.width = 126
   rect.height = 96
   rect.y = index / @column_max * 96
   return rect
 end
#------------------------------------------------------------------------------
 def draw_item(index)
   rect = item_rect(index)
   self.contents.clear_rect(rect)
   self.contents.font.color = normal_color
   actor = $game_party.members[index]
   draw_atb_gauge(index, 3, rect.y+10)
   draw_actor_name(actor, 3, rect.y)    
   draw_actor_state(actor, 35, rect.y+20, 48)
   draw_actor_graphic(actor,18,rect.y+55)
   draw_actor_mp(actor, 35, rect.y+45, 88)
   draw_actor_hp(actor, 3, rect.y+65, 120)
 end
#------------------------------------------------------------------------------  
 def draw_actor_name(actor, x, y)
   self.contents.font.color = hp_color(actor)
   self.contents.draw_text(x, y, 120, WLH, actor.name, 1)
 end
#------------------------------------------------------------------------------  
 def draw_atb_gauge(index,x, y, width = 120)
   if $bar[index] == nil
     $bar[index] = 0
   end
   if $bar[index] >= 120
     gc1 = hp_gauge_color1
     gc2 = hp_gauge_color2
   else
     gc1 = mp_gauge_color1
     gc2 = mp_gauge_color2
   end
   self.contents.fill_rect(x, y, 120, 5, gauge_back_color)
   self.contents.gradient_fill_rect(x, y, $bar[index], 5, gc1, gc2)
 end


end
#==============================================================================
class Window_PartyCommand < Window_Command
#==============================================================================  
 def initialize
   s1 = Vocab::fight
   s2 = "Auto-Lucha"
   s3 = Vocab::escape
   super(385, [s1, s2, s3], 3, 1)
   draw_item(0, true)
   draw_item(1, true)
   draw_item(2, $game_troop.can_escape)
   self.active = false
 end
#------------------------------------------------------------------------------  
 def draw_item(index, enabled = true)
   rect = item_rect(index)
   rect.x += 4
   rect.width -= 8
   self.contents.clear_rect(rect)
   self.contents.font.color = normal_color
   self.contents.font.color.alpha = enabled ? 255 : 128
   self.contents.draw_text(rect, @commands[index], 1)
 end


end
#==============================================================================
class Window_ActorCommand < Window_Command
#==============================================================================  
 def initialize
   super(385, [], 4, 1)
   self.active = false
 end
#------------------------------------------------------------------------------
 def setup(actor)
   s1 = Vocab::attack
   s2 = Vocab::skill
   s3 = Vocab::guard
   s4 = Vocab::item
   if actor.class.skill_name_valid
     s2 = actor.class.skill_name
   end
     @commands = [s1,s2, s3, s4]
     @item_max = 4
   refresh
   self.index = 0
 end
#------------------------------------------------------------------------------
 def draw_item(index, enabled = true)
   rect = item_rect(index)
   rect.x += 4
   rect.width -= 8
   self.contents.clear_rect(rect)
   self.contents.font.color = normal_color
   self.contents.font.color.alpha = enabled ? 255 : 128
   self.contents.draw_text(rect, @commands[index], 1)
 end
 
end
#==============================================================================
class Window_TargetEnemy < Window_Command
#==============================================================================
 def initialize
   commands = []
   @enemies = []
   for enemy in $game_troop.members
     next unless enemy.exist?
     commands.push(enemy.name)
     @enemies.push(enemy)
   end
   super(160, commands, 1,
 end
#------------------------------------------------------------------------------
 def draw_item(index, enabled = true)
   rect = item_rect(index)
   rect.x += 4
   rect.width -= 8
   self.contents.clear_rect(rect)
   self.contents.font.color = normal_color
   self.contents.font.color.alpha = enabled ? 255 : 128
   self.contents.draw_text(rect, @commands[index], 1)
 end
 
end
#==============================================================================
class Window_BattleMessage < Window_Message
#==============================================================================
 def initialize
   super(159,288,385,128)
   self.openness = 255
   @lines = []
   refresh
 end
 
end
#==============================================================================
class Window_Message < Window_Selectable
#==============================================================================
 def initialize(x = 0,y = 288,w = 544,h = 128)
   super(x,y,w,h)
   self.z = 200
   self.active = false
   self.index = -1
   self.openness = 0
   @opening = false            # ウィンドウのオープン中フラグ
   @closing = false            # ウィンドウのクローズ中フラグ
   @text = nil                 # 表示すべき残りの文章
   @contents_x = 0             # 次の文字を描画する X 座標
   @contents_y = 0             # 次の文字を描画する Y 座標
   @line_count = 0             # 現在までに描画した行数
   @wait_count = 0             # ウェイトカウント
   @background = 0             # 背景タイプ
   @position = 2               # 表示位置
   @show_fast = false          # 早送りフラグ
   @line_show_fast = false     # 行単位早送りフラグ
   @pause_skip = false         # 入力待ち省略フラグ
   create_gold_window
   create_number_input_window
   create_back_sprite
 end
end


Nos vemos hasta la próxima ;)
Axel
Axel
PJ Recurrente
PJ Recurrente

Masculino
Rmakercom
RPG Maker : Ace
Mensajes : 109
Monedas : 277
Reputación : 17
Localización : En algun lugar de Azeroth

Volver arriba Ir abajo

Script de Batalla Hellminor Empty Re: Script de Batalla Hellminor

Mensaje por Alex guardia de ayer el Vie Ene 23, 2015 6:40 am

em disculpa, que es este sistema de batalla

Alex guardia de ayer
PJ de Relleno
PJ de Relleno

Guatemala
RPG Maker : Ace
Mensajes : 7
Monedas : 16
Reputación : 0

Volver arriba Ir abajo

Script de Batalla Hellminor Empty Re: Script de Batalla Hellminor

Mensaje por Muzgar el Vie Ene 23, 2015 11:38 am

Parece ser que la imagen de muestra que había en todos lados junto al sistema de batalla se ha caído xD por suerte he encontrado otras 2 imagenes de muestra que acabo de subir ahora mismo para que se vea de que trata el script. Por desgracia no he encontrado ninguna demo (la única que encontré estaba en megaupload ^^") por lo que no puedo agregar más. Si alguien quiere hacer alguna demo o algo siempre me puede avisar que lo agrego al post inicial xD.

Dos cosas más, aunque no lo ponga en el título, es un script para Rpg Maker VX, (cosa que acabo de cambiar ahora mismo xD) aunque si te fijas está en la bibloteca de scripts del VX/RGSS2.

Y la sgunda cosa... aunque no lo considero necropost ya que lo veo más como una "petición de ayuda" te recuerdo que debes fijarte en la fecha de publicación. Además agradecería si en futuras ocasiones fueses más específico y no un "que es este sistema de batalla" no sé, algo tipo "Se han caído las imagenes y me gustaría saber como es el sistema de batalla y como funciona" o algo así, tambien te recuerdo que hay una norma sobre los mensajes cortos.

De todas formas espero que se te solucionasen las dudas con esto. Un saludo

_________________
Script de Batalla Hellminor 8jqSjBi
Script de Batalla Hellminor A4IkPGg
Apoya wild wars poniendo esta barra en tu firma
Script de Batalla Hellminor 6Q3Q0PD

Muzgar apoya a...
Spoiler:
Script de Batalla Hellminor PZdiBZY
Script de Batalla Hellminor 2d82ir5
Muzgar
Muzgar
Admin
Admin

Rmakercom
RPG Maker : Ace
Mensajes : 1413
Monedas : 1357
Reputación : 184

Volver arriba Ir abajo

Script de Batalla Hellminor Empty Re: Script de Batalla Hellminor

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.