Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[RMXP] Offset Y en Charas por nombre de gráfico

Ver el tema anterior Ver el tema siguiente Ir abajo

[RMXP] Offset Y en Charas por nombre de gráfico

Mensaje por orochii el 2017-05-16, 19:03

Offset Y en Charas por nombre de gráfico
Autor Orochii Zouveleki, versión 0.5
RGSS1, probado en RGSS102J.dll

Descripción
Pues bueno, estaba haciendo tonterías y salió esto. Es para que el gráfico del chara se desplace X pixeles hacia abajo de la posición normal del evento/jugador. Ejemplo:


El helicóptero sin offset


Misma posición pero con ahora con el offset.

Este valor de offset ahora mismo se especifica con el nombre del archivo. Ej.:
!22chopper.png
Primero buscará un ! con un número al lado, y si lo encuentra, usará este número (en el ejemplo, 22) como el valor de desplazamiento.

Script
Código:
#==============================================================================
# ** Y Offset v1.0
#------------------------------------------------------------------------------
# Autor: Orochii
# No se requieren créditos
#==============================================================================
# Permite especificar un offset a travez del nombre de archivo
#
# Ej.: !8chopper
#

module OZYOffConfig
  # Caracter/prefijo a buscar.
  CHARACTER = "!"
end

#==============================================================================
# ** Game_Character
#==============================================================================

class Game_Character
  attr_accessor :ch_width
  attr_accessor :ch_height
  alias yoff_support_ini initialize unless $@
  def initialize(*args)
    yoff_support_ini(*args)
    # Code for y offset bcuz y not
    @y_offset = 0
  end
 
  alias big_chars_screen_y screen_y unless $@
  def screen_y
    return big_chars_screen_y + @y_offset
  end
 
  def refresh_yoffset
    @y_offset = 0
    @character_name.gsub(/[#{OZYOffConfig::CHARACTER}]([0-9]+)/) { @y_offset = $1.to_i }
    print $1
  end
 
end

class Game_Event
  alias yoff_support_refresh refresh unless $@
  def refresh
    yoff_support_refresh
    refresh_yoffset
  end
end

class Game_Player
  alias yoff_support_refresh refresh unless $@
  def refresh
    yoff_support_refresh
    refresh_yoffset
  end
end

Uso
Poner sobre Main.
No pido créditos. :V

FAQ
Ninguna por el momento.

Salut!
avatar
orochii
Reportero

0/3

Créditos 7792

Gracias : 461

Volver arriba Ir abajo

Re: [RMXP] Offset Y en Charas por nombre de gráfico

Mensaje por Wecoc el 2017-05-16, 19:37

Hace nada hice un script casi igual para Descendencia Carmesí (aunque los offset X, Y y Z se definen vía $game_system en vez del nombre en ese caso), y me dí cuenta de un problema al hacer éste tipo de modificaciones. En mi caso no importa porque el antilag que usa ese proyecto evita el fallo, pero si alguien usa tu script tendrá ese mismo problema.

Tiene que ver con el scroll, y con la aparición de los eventos en las esquinas del mapa. He puesto un chara con offset 64 para probarlo, con la imagen supongo que se entendrá, y si no puedes hacer una prueba rápida en un mapa grande:

avatar
Wecoc
Administrador
Administrador



Créditos 12284

Gracias : 645

Volver arriba Ir abajo

Re: [RMXP] Offset Y en Charas por nombre de gráfico

Mensaje por orochii el 2017-05-17, 02:02

Sep, cierto. Supongo que... podría hacer un antilag :^DD... Que tome en cuenta el ancho del gráfico de paso, y no un offset predeterminado. Y esto.

También creo que tiene problemas con el Z ahora mismo. Veré cómo queda agregar el @y_offset al screen_z...

Pero todo eso, algún día. Salut!

(No haré offset X/Z por el momento para evitar un nombre de archivo !20_10_34hijodesatan.png (¿o sí lo haré?)).
avatar
orochii
Reportero

0/3

Créditos 7792

Gracias : 461

Volver arriba Ir abajo

Re: [RMXP] Offset Y en Charas por nombre de gráfico

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.