Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4133 miembros registrados.
El último usuario registrado es Neysersitoh.

Nuestros miembros han publicado un total de 84768 mensajes en 12064 argumentos.

Necesito ayuda con script batalla lateral [XP]

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Necesito ayuda con script batalla lateral [XP]

Mensaje por marconando90 el 2017-03-20, 18:12

Veréis, recientemente he buscado scripts para batalla lateral y hace poco encontré uno perfecto por su sencillez. El problema es que con ese script los Battlers de los personajes no se ven, y yo no tengo ni idea de cómo editarlo para que se vean.



Si alguien pudiera echarle un ojo le estaría bastante agradecido, aquí os dejo una demo con el script.

mediafire.com file/u4n0noqq1m4xxum/Project1.rar
avatar
marconando90
Iniciado
Iniciado

0/3

Créditos 26

Gracias : 6

Volver arriba Ir abajo

RPG Maker XP Re: Necesito ayuda con script batalla lateral [XP]

Mensaje por orochii el 2017-03-21, 21:47

No es que no se vean, es que si no me equivoco de script, ese lo que hace es cambiar el gráfico del battler por el chara, y cambiar la posición del battler (en lugar de quedar sobre la ventana queda en el lado derecho de la pantalla). Lo demás es igual que siempre. Mismos efectos de muerte, etc.

Para que se viera el battler de nuevo Y el chara al mismo tiempo necesitarías un script que muestre una cosa similar al battler en batalla.

Hice una chapucilla que al menos hasta donde probé con un proyecto por defecto (limpio y tal) parece andar. No muestra animaciones sobre estos battlers eso sí, ni los números de daño. Porque supongo que esos se muestran sobre los charas xD. Pero los demás efectos sí deberían seguir funcionando (?).
Código:
#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display the battler.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < RPG::Sprite
  alias ozebg_initialize initialize unless $@
  def initialize(viewport, battler = nil)
    ozebg_initialize(viewport, battler)
    @battler_sprite = RPG::Sprite.new(viewport)
  end
  alias ozebg_dispose dispose unless $@
  def dispose
    @battler_sprite.bitmap = nil
    ozebg_dispose
    @battler_sprite.dispose
    @battler_sprite = nil
  end
  alias ozebg_update update unless $@
  def update
    if(@battler_sprite != nil && @battler.is_a?(Game_Actor))
      if @battler == nil
        @battler_sprite.bitmap = nil; return
      end
      if @battler.battler_name != @battler_name or
        @battler.battler_hue != @battler_hue
        @battler_sprite.bitmap = RPG::Cache.battler(@battler.battler_name, @battler.battler_hue)
        @width = @battler_sprite.bitmap.width
        @height = @battler_sprite.bitmap.height
        @battler_sprite.ox = @width / 2; @battler_sprite.oy = @height
        @battler_sprite.opacity = 0 if @battler.dead? or @battler.hidden
      end
    end
   
    ozebg_update
   
    if(@battler_sprite != nil && @battler.is_a?(Game_Actor))
      if @battler.is_a?(Game_Actor) and @battler_visible
        if $game_temp.battle_main_phase
          @battler_sprite.opacity += 3 if @battler_sprite.opacity < 255
        else
          @battler_sprite.opacity -= 3 if @battler_sprite.opacity > 207
        end
      end
      # Blink
      (@battler.blink) ? @battler_sprite.blink_on : @battler_sprite.blink_off
      # If invisible
      unless @battler_visible
        # Appear
        if not @battler.hidden and not @battler.dead? and
          (@battler.damage == nil or @battler.damage_pop)
          @battler_sprite.appear
        end
      end
     
      # If visible
      if @battler_visible
        # Escape
        if @battler.hidden
          $game_system.se_play($data_system.escape_se)
          @battler_sprite.escape
        end
        # White flash
        if @battler.white_flash
          @battler_sprite.whiten
        end
        # Collapse
        if @battler.damage == nil and @battler.dead?
          if @battler.is_a?(Game_Enemy)
            $game_system.se_play($data_system.enemy_collapse_se)
          else
            $game_system.se_play($data_system.actor_collapse_se)
          end
          @battler_sprite.collapse
        end
      end
     
      # Set sprite coordinates
      @battler_sprite.x = ozebg_bs_screen_x
      @battler_sprite.y = ozebg_bs_screen_y
      @battler_sprite.z = ozebg_bs_screen_z
    end
  end
 
  #--------------------------------------------------------------------------
  # * Get Battle Screen X-Coordinate
  #--------------------------------------------------------------------------
  def ozebg_bs_screen_x
    # Return after calculating x-coordinate by order of members in party
    if @battler != nil
      return @battler.index * 160 + 80
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # * Get Battle Screen Y-Coordinate
  #--------------------------------------------------------------------------
  def ozebg_bs_screen_y
    return 464
  end
  #--------------------------------------------------------------------------
  # * Get Battle Screen Z-Coordinate
  #--------------------------------------------------------------------------
  def ozebg_bs_screen_z
    # Return after calculating z-coordinate by order of members in party
    if @battler != nil
      return 4 - @battler.index
    else
      return 0
    end
  end
end

Salut.
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6388

Gracias : 332

Volver arriba Ir abajo

RPG Maker XP Re: Necesito ayuda con script batalla lateral [XP]

Mensaje por marconando90 el 2017-03-21, 22:45

Lo he probado junto a mi script y los Battlers aparecen por detrás del panel azul (el de los nombres, PV, PM, etc). ¿Hay algún error o confirmamos que no tengo ni idea de usar scripts? Sweat
avatar
marconando90
Iniciado
Iniciado

0/3

Créditos 26

Gracias : 6

Volver arriba Ir abajo

RPG Maker XP Re: Necesito ayuda con script batalla lateral [XP]

Mensaje por orochii el 2017-03-23, 01:04

No, está bien, es algo que no sabía si iba a funcionar bien sin saber qué script era exactamente xD. Esto debería funcionar :^).

Código:
#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display the battler.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < RPG::Sprite
  alias ozebg_initialize initialize unless $@
  def initialize(viewport, battler = nil)
    ozebg_initialize(viewport, battler)
    @battler_sprite = RPG::Sprite.new
  end
  alias ozebg_dispose dispose unless $@
  def dispose
    @battler_sprite.bitmap = nil
    ozebg_dispose
    @battler_sprite.dispose
    @battler_sprite = nil
  end
  alias ozebg_update update unless $@
  def update
    if(@battler_sprite != nil && @battler.is_a?(Game_Actor))
      if @battler == nil
        @battler_sprite.bitmap = nil; return
      end
      if @battler.battler_name != @battler_name or
        @battler.battler_hue != @battler_hue
        @battler_sprite.bitmap = RPG::Cache.battler(@battler.battler_name, @battler.battler_hue)
        @width = @battler_sprite.bitmap.width
        @height = @battler_sprite.bitmap.height
        @battler_sprite.ox = @width / 2; @battler_sprite.oy = @height
        @battler_sprite.opacity = 0 if @battler.dead? or @battler.hidden
      end
    end
   
    ozebg_update
   
    if(@battler_sprite != nil && @battler.is_a?(Game_Actor))
      if @battler.is_a?(Game_Actor) and @battler_visible
        if $game_temp.battle_main_phase
          @battler_sprite.opacity += 3 if @battler_sprite.opacity < 255
        else
          @battler_sprite.opacity -= 3 if @battler_sprite.opacity > 207
        end
      end
      # Blink
      (@battler.blink) ? @battler_sprite.blink_on : @battler_sprite.blink_off
      # If invisible
      unless @battler_visible
        # Appear
        if not @battler.hidden and not @battler.dead? and
          (@battler.damage == nil or @battler.damage_pop)
          @battler_sprite.appear
        end
      end
     
      # If visible
      if @battler_visible
        # Escape
        if @battler.hidden
          $game_system.se_play($data_system.escape_se)
          @battler_sprite.escape
        end
        # White flash
        if @battler.white_flash
          @battler_sprite.whiten
        end
        # Collapse
        if @battler.damage == nil and @battler.dead?
          if @battler.is_a?(Game_Enemy)
            $game_system.se_play($data_system.enemy_collapse_se)
          else
            $game_system.se_play($data_system.actor_collapse_se)
          end
          @battler_sprite.collapse
        end
      end
     
      # Set sprite coordinates
      @battler_sprite.x = ozebg_bs_screen_x
      @battler_sprite.y = ozebg_bs_screen_y
      @battler_sprite.z = ozebg_bs_screen_z
    end
  end
 
  #--------------------------------------------------------------------------
  # * Get Battle Screen X-Coordinate
  #--------------------------------------------------------------------------
  def ozebg_bs_screen_x
    # Return after calculating x-coordinate by order of members in party
    if @battler != nil
      return @battler.index * 160 + 80
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # * Get Battle Screen Y-Coordinate
  #--------------------------------------------------------------------------
  def ozebg_bs_screen_y
    return 464
  end
  #--------------------------------------------------------------------------
  # * Get Battle Screen Z-Coordinate
  #--------------------------------------------------------------------------
  def ozebg_bs_screen_z
    return 100
  end
end
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6388

Gracias : 332

Volver arriba Ir abajo

RPG Maker XP Re: Necesito ayuda con script batalla lateral [XP]

Mensaje por marconando90 el 2017-03-23, 12:48

¡¡¡Muchísimas gracias!!! El script es perfecto, se ve exactamente como quería, ¡gracias de nuevo!
avatar
marconando90
Iniciado
Iniciado

0/3

Créditos 26

Gracias : 6

Volver arriba Ir abajo

RPG Maker XP Re: Necesito ayuda con script batalla lateral [XP]

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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