¡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
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Tutorial Interactivo [Uso de interruptores]
por Ledai Hoy a las 16:58

» Necesito Script
por Elian84 Hoy a las 04:44

» Holaaa a tod@s!!!
por chronoMxx Hoy a las 03:41

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 01:06

» El poder oculto (Segunda entrega)
por alex1633 Ayer a las 23:18

» Hola mucho gusto
por Hk Diamond Ayer a las 13:49

» SoraDeathss se presenta!
por chronoMxx Ayer a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Ayer a las 06:45

» las cosas como son...
por Bleuw Ayer a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas 2016-12-02, 20:52

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

Nuestros miembros han publicado un total de 79767 mensajes en 11247 argumentos.
Navega con Google Chrome
[DESCARGA]

[RMVX] Charas con mas frames.

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

[RMVX] Charas con mas frames.

Mensaje por Shurshok el 2009-02-28, 00:45

Descripción

Como ya saben, los charas del RMVX tienen menos posiciones por animación que los charas del RMXP. Como resultado, se supone que la imagen ira algo mas brusca. Bien, para poder usar charas con la cantidad de posiciones que quieras (y obtener resultados mas suaves) se hizo este script, permitiendo incluso usar charas del RMXP en el RMVX.

Disfrutadlo

Créditos

Creador: Modern Algebra.

Traductor: Feragur

Optimizador: Shurshok

Script

Spoiler:
Código:
#==============================================================================

  #  Extra Movement Frames v. 1.0

  #  Autor: modern algebra (rmrk.net)

  #  Traductor: Feragur

  #  Optimización: Shurshok

  #  Fecha: 20 de Enero de 2008

  #------------------------------------------------------------------------------

  #  Instrucciones:

  #    Coloca este script sobre Main en el Editor.Para a�adir un chara con

  #    frames extra, simplemente cámbiale el nombre de la imagen a algo

  #    de este estilo:

  #          !$%[<número de frames>]<Nombre Normal>

  #

  #    Ejemplo: !$%[4]001-Fighter01

  #    Eso hará que el gráfico 001-Fighter01 tenga 4 frames.

  #------------------------------------------------------------------------------

  # ** Game_Character

  #------------------------------------------------------------------------------

  #  Resumen de cambios:

  #    aliased methods - update_animation

  #    new class variables - height divisor, width divisor

  #    new methods - calculate_divisors

  #==============================================================================

class Game_Character

#--------------------------------------------------------------------------

# * Public Instance Variables

#--------------------------------------------------------------------------

attr_reader :height_divisor # The height of a single frame

attr_reader :width_divisor # number of frames in the x direction

#--------------------------------------------------------------------------

# * Calculate Divisors

#--------------------------------------------------------------------------

# Sets up the instance variables required

#--------------------------------------------------------------------------

def calculate_divisors

return unless @previous_character.nil? || @previous_character != @character_name

bitmap = Cache.character (@character_name)

sign = @character_name[/^[!$].[%][d*]/]

if !sign.nil? && sign.size > 5

@original_pattern = 0

@width_divisor = sign[4, sign.size - 5].to_i

@height_divisor = 4

elsif !sign.nil? && sign.include? ('$')

@width_divisor = 3

@height_divisor = 4

else

@width_divisor = 12

@height_divisor = 8

end

@previous_character = @character_name

end

#--------------------------------------------------------------------------

# * Update Animation

#--------------------------------------------------------------------------

# Change the hard coded values to ones dependent on character graphic format

#--------------------------------------------------------------------------

alias ma_extra_movement_frames_anim_upd update_animation

def update_animation

saved_anime_count = @anime_count

pattern_original = @pattern

speed = @move_speed + (dash? ? 1 : 0)

ma_extra_movement_frames_anim_upd

if (saved_anime_count > (18 - speed * 2)) && (@step_anime || (@stop_count <= 0))

@pattern = (pattern_original + 1) % @width_divisor

end

end

end

#==============================================================================

# * Sprite Character

#------------------------------------------------------------------------------

# Summary of changes:

# aliased methods - update_src_rect, update_bitmap

#==============================================================================

class Sprite_Character

#--------------------------------------------------------------------------

# * Update Src Rect

#--------------------------------------------------------------------------

# Interpret multiple movement frames: Changed pattern

#--------------------------------------------------------------------------

alias ma_extra_movement_frames_src_rect_upd update_src_rect

def update_src_rect

if @tile_id == 0

ma_extra_movement_frames_src_rect_upd

index = @character.character_index

pattern = @character.pattern < @character.width_divisor ? @character.pattern : 1

sx = (index % 4 * 3 + pattern) * @cw

sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch

self.src_rect.set(sx, sy, @cw, @ch)

end

end

#--------------------------------------------------------------------------

# * Update Bitmap

#--------------------------------------------------------------------------

# Change hard coded values to ones dependent on character graphic

#--------------------------------------------------------------------------

alias ma_extra_movement_frames_bmp_upd update_bitmap

def update_bitmap

@character.calculate_divisors

saved_tile_id = @tile_id

saved_character_name = @character_name

saved_character_index = @character_index

ma_extra_movement_frames_bmp_upd

if saved_tile_id != @character.tile_id or

saved_character_name != @character.character_name or

saved_character_index != @character.character_index

unless @tile_id > 0

@cw = bitmap.width / @character.width_divisor

@ch = bitmap.height / @character.height_divisor

self.ox = @cw / 2

self.oy = @ch

end

end

end

end

#==============================================================================

# ** Window Base

#------------------------------------------------------------------------------

# Summary of changes:

# overwritten methods - draw_character

#==============================================================================

class Window_Base

#--------------------------------------------------------------------------

# * Draw Charater (overwritten for extra movement frames)

# character_name : the name of the character file

# character_index : the index of the character in the file

# x : the x position to draw

# y : the y position to draw

#--------------------------------------------------------------------------

def draw_character(character_name, character_index, x, y)

return if character_name == nil

bitmap = Cache.character(character_name)

sign = character_name[/^[!$].[%][d*]/]

if !sign.nil? && sign.size > 5

cw = bitmap.width / sign[4, sign.size - 5].to_i

ch = bitmap.height / 4

elsif sign != nil and sign.include?('$')

cw = bitmap.width / 3

ch = bitmap.height / 4

else

cw = bitmap.width / 12

ch = bitmap.height / 8

end

n = character_index

src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)

self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)

end

end

Instrucciones

Están en el script, pero las cito a continuación:

1º Coloca el script sobre Main, en el Editor de Scripts.

2º Para usar un chara con posiciones extra nombra a su imagen de esta forma:

Código:
!$%[<número de frames>]<Nombre Normal>

Ejemplo: Si quiero usar el chara 001-Fighter01 del RMXP (vamos, el de toda la vida), tenes que renombrar su imagen para que quede:

!$%[4]001-Fighter01. Sencillo, ¿no?

Shurshok
Veterano
Veterano

0/3

Créditos 753

Gracias : 32

http://regius.rpgmaker.es

Volver arriba Ir abajo

Re: [RMVX] Charas con mas frames.

Mensaje por Ribbu el 2009-02-28, 01:35

Más frames quiere decir tipo Golden Sun?

Te puedes mover por topas partes,pero el gráfico del chara en diágonal supongo que es fundamental en este script.

Buen trabajo!

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10079

Gracias : 84

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RMVX] Charas con mas frames.

Mensaje por T3cN0-D4rK el 2009-03-04, 22:08

Muy buen aporte SHURSHOK creo que lo usare en mi proyecto pero cuanta es la cantidad maxima de frames que se pueden poner?

T3cN0-D4rK
Soñador
Soñador

0/3

Créditos 177

Gracias : 6

Volver arriba Ir abajo

Re: [RMVX] Charas con mas frames.

Mensaje por Shurshok el 2009-03-05, 03:15

Puedes poner la cantidad que quieras, pero por las dudas no uses mas de 9.

Shurshok
Veterano
Veterano

0/3

Créditos 753

Gracias : 32

http://regius.rpgmaker.es

Volver arriba Ir abajo

Re: [RMVX] Charas con mas frames.

Mensaje por Contenido patrocinado Hoy a las 20:17


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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