Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP] Event Autotile Frames

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Event Autotile Frames

Mensaje por Wecoc el 2017-11-07, 09:43

Este sencillo script permite hacer que un evento tenga la 'Animación parado' bien cuadrada con los frames de los autotiles. Parece una tontería pero no hay forma de cuadrarlo bien sin eso, se acaba descompensando siempre, además al ir a menú y volver al mapa los autotiles se resetean pero los frames del evento no, entre otros problemas similares.

Es compatible con casi todo. No requiere créditos.
Está pensado para XP pero es posible que funcione en VX/Ace.

Para usarlo tenéis que usar esto en una llamada de script (en un evento en Inicio Automático o en el mismo en Proceso Paralelo)

$game_map.events[ID].autotile_frames = true

Cambiad ID por la ID del evento o poned @event_id para aplicarlo al evento actual.
Además es importante que el evento siga teniendo la opción 'Animación parado' activada.

Aquí el scriptillo, ponedlo encima de main:

Código:
#==============================================================================
# ** [XP] Event Autotile Frames
#------------------------------------------------------------------------------
# Fijar 'Animación parado' de evento con los autotiles
# Autor: Wecoc (no requiere créditos)
#==============================================================================

#==============================================================================
# ** Spriteset_Map
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  attr_reader :counter
  #--------------------------------------------------------------------------
  alias at_counter_ini initialize unless $@
  def initialize(*args)
    @counter = 0
    at_counter_ini(*args)
    for sprite in @character_sprites
      next unless sprite.character.is_a?(Game_Event)
      if sprite.character.autotile_frames == true
        sprite.character.pattern = 0
        sprite.character.original_pattern = 0
        sprite.update
      end
    end
  end
  #--------------------------------------------------------------------------
  alias at_counter_upd update unless $@
  def update
    at_counter_upd
    @counter += 1
    if @counter % 16 == 0
      for sprite in @character_sprites
        next unless sprite.character.is_a?(Game_Event)
        if sprite.character.autotile_frames == true
          if sprite.character.step_anime == true
            pattern = sprite.character.pattern
            pattern = (pattern + 1) % 4
            sprite.character.pattern = pattern
            sprite.character.original_pattern = pattern
          end
        end
      end
    end
  end
end

#==============================================================================
# ** Game_Event
#==============================================================================

class Game_Event < Game_Character
  #--------------------------------------------------------------------------
  attr_accessor :autotile_frames
  attr_accessor :pattern, :original_pattern
  attr_reader   :step_anime
  #--------------------------------------------------------------------------
  alias at_counter_ini initialize unless $@
  def initialize(*args)
    at_counter_ini(*args)
    @autotile_frames = false
  end
  #--------------------------------------------------------------------------
  alias at_counter_upd_stop update_stop unless $@
  def update_stop
    if @autotile_frames
      @stop_count += 1 unless @starting or lock?
      return
    end
    at_counter_upd_stop
  end
end


Última edición por Wecoc el 2017-11-07, 15:40, editado 1 vez
avatar
Wecoc
Administrador
Administrador



Créditos 12388

Gracias : 595

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Event Autotile Frames

Mensaje por orochii el 2017-11-07, 15:35

xDDD qué cosas, que haya que hacer parchazos como este para que todo ande como debería.

Curioso (pero muy sencillo) script Wec. Gracias por el aporte.
avatar
orochii
Reportero

0/3

Créditos 7614

Gracias : 415

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Event Autotile Frames

Mensaje por xXIsrael0499Xx el 2017-11-07, 21:36

El comentario de orochii me hizo recordar el meme que puso xD.
---------------------
Esta genial wecoc, así no se ve tan feo el cambio de frame a frame de los autotiles, mis respetos y eso.
avatar
xXIsrael0499Xx
Veterano
Veterano

0/3

Créditos 1233

Gracias : 97

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Event Autotile Frames

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.