RPG OTAKU
¡Hola! te invitamos a que te unas a RPG-OTAKU,
foro de desarrollo de videojuego con RPG MAKER y ademas de que tenemos del infaltable ocio.

Si deseas disfrutar del foro al 100%,
registrate, en poco minutos, sin confirmación de e-mail y totalmente gratis, si ya estas registrado, solamente conectate, y si lo que quieres es observar el foro como invitado, solo ignora este mensaje.
¡Eres libre de escoger lo que tu quieras!

[VX]Charas con más frames

Ver el tema anterior Ver el tema siguiente Ir abajo

[VX]Charas con más frames

Mensaje por Train el Dom Sep 04, 2011 9:39 pm

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.

Disfrutenlo:

Créditos
Creador: Modern Algebra.
Traductor: Feragur
Optimizador: Shurshok


Script
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:
!$%[]

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?

X3


¿Quieres saber que pasa si no posteas...?
Spoiler:



bien Te sirvio mi post, agregame a tu lista de amigos [Tienes que estar registrado y conectado para ver este vínculo] d0_<
avatar
Train
Admin
Admin

Edad : 19
Localización : Managua, Nicaragua
Mensajes : 661
Fecha de inscripción : 16/07/2011
Creditos : 1073
Objetos :

Ver perfil de usuario http://rpg-otaku.forolatin.com

Volver arriba Ir abajo

Re: [VX]Charas con más frames

Mensaje por morkoelorko el Dom Oct 09, 2011 2:16 pm

hmm...no hay forma para hacerlo correr en el SBS takentai?
avatar
morkoelorko
Super miembro
Super miembro

Edad : 24
Mensajes : 90
Fecha de inscripción : 02/10/2011
Creditos : 130
Objetos :

Ver perfil de usuario

Volver arriba Ir abajo

Re: [VX]Charas con más frames

Mensaje por Train el Dom Oct 09, 2011 2:26 pm

mmm lastimosamente no se casi nada de script, ya lo probe y me da también un problema, al parecer no son compatible. :(

El SBS takentai 3.4 puede hacer algo parecido, mira si te sirve :)

X3


¿Quieres saber que pasa si no posteas...?
Spoiler:



bien Te sirvio mi post, agregame a tu lista de amigos [Tienes que estar registrado y conectado para ver este vínculo] d0_<
avatar
Train
Admin
Admin

Edad : 19
Localización : Managua, Nicaragua
Mensajes : 661
Fecha de inscripción : 16/07/2011
Creditos : 1073
Objetos :

Ver perfil de usuario http://rpg-otaku.forolatin.com

Volver arriba Ir abajo

Re: [VX]Charas con más frames

Mensaje por Neozero el Mar Oct 11, 2011 4:05 pm

He hecho un minitutorial de como poner mas frames en el takenkai

[Tienes que estar registrado y conectado para ver este vínculo]

Las instrucciones del script de mas frames son las mismas, pero el script del tema y el del minituto son scripts diferentes


[Tienes que estar registrado y conectado para ver este vínculo]
avatar
Neozero
Moderador
Moderador

Mensajes : 366
Fecha de inscripción : 07/09/2011
Creditos : 644

Ver perfil de usuario

Volver arriba Ir abajo

Re: [VX]Charas con más frames

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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