¡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
» [RPGM MV] Limeria (Demo)
por Filipter Hoy a las 14:08

» [XP] Spriteset File System
por Ledai Hoy a las 14:08

» (XP) Charas editados del RTP
por Ledai Hoy a las 14:02

» Estados en el mapa
por Wecoc Hoy a las 13:25

» Ayuda Error de Script!
por xXIsrael0499Xx Hoy a las 10:30

» [XP] Colección de Tips & Tricks de Wecoc
por BlazeCrimson Ayer a las 16:52

» Tópic de los Memes de RPGmaker
por xXIsrael0499Xx Ayer a las 12:18

» 19 días después...
por xXIsrael0499Xx Ayer a las 11:51

» ¿Cuál de estos logos te gusta más?
por BlazeCrimson Ayer a las 06:50

» [Colectivo][XP] Bug del acantilado
por Wecoc Ayer a las 02:15

Afiliados
Estadísticas
Tenemos 3794 miembros registrados.
El último usuario registrado es Casadelvino.

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

[RPGVX] Más Frames en charas

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

[RPGVX] Más Frames en charas

Mensaje por Arestame el 2010-02-28, 11:01

Hola a todos, soy Arestame de nuevo el más cansino del foro, porque no hago más que molestar.
Descripción:
Como ya sabréis, los charas del RMVX tienen menos posiciones (menos frames xD) por animación que los charas del RMXP. Como resultado, se supone que la imagen irá a algo más brusca. Bien, para poder usar charas con la cantidad de posiciones que queráis (y obtener resultados más suaves) es para lo que se hizo este script, permitiendo incluso usar charas del RMXP en el RMVX.
Disfrutadlo. PD: con esto puedes hacer que el chara respire y parpadee xD.
SCRIPT:
Código:
CODE
#==============================================================================
#  Extra Movement Frames v. 1.0
#  Autor: modern algebra (rmrk.net)
#  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

vamos las instrucciones las tenéis en el script


Bueno comentad, este script a mí me gusto mucho.
avatar
Arestame
Aventurero
Aventurero

0/3

Créditos 1518

Gracias : 37

Volver arriba Ir abajo

Re: [RPGVX] Más Frames en charas

Mensaje por Dorvin el 2010-02-28, 11:29

Este debe de ser el script que me dijiste XD
Para los que odien los cabezas grandes como yo!
Buen aporte! ^^
avatar
Dorvin
Veterano
Veterano

0/3

Créditos 325

Gracias : 22

http://thesexydeath.webnode.es/

Volver arriba Ir abajo

Re: [RPGVX] Más Frames en charas

Mensaje por znl el 2010-02-28, 12:07

Este no lo conocia y la verdad me parece un script genial.

Gracias por postearlo y a modern algebra por el script
avatar
znl
Aventurero
Aventurero

0/3

Créditos 1589

Gracias : 58

http://www.mundo-maker.forumn.org

Volver arriba Ir abajo

Re: [RPGVX] Más Frames en charas

Mensaje por orochii el 2010-02-28, 17:29

Wooo yo solo conocía el de XP xD. Es un gran aporte :).

Felicitaciones a modernalgebra por el script,
Orochii Zouveleki
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6239

Gracias : 300

http://ragnarokrproject.com/

Volver arriba Ir abajo

Re: [RPGVX] Más Frames en charas

Mensaje por Contenido patrocinado


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.