Actually i have a script that some one else made that allows you to do that.
If the English sounds a little odd, its because I translated it.
#==============================================================================
# Increase in migratory pattern Ver 1.00
# Distributor support URL
# By COGHWELL
# http://members.jcom.home.ne.jp/cogwheel/
#==============================================================================
# The script allows the image of the character has more
# Than 4 frames.
#
# To set the amount of frames enough to define the name
# Image as follows.
#
# Hero[X].png
#
# In place of X place the desired amount of frames
#==============================================================================
#==============================================================================
# ? Game_Character (Split Definition 2)
#------------------------------------------------------------------------------
# Handle character classes. This class Game_Player Game_Event class
# Is used as a superclass of the class.
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# ? Frame update
#--------------------------------------------------------------------------
def update
# During a jump, move, branch stopped
if jumping?
update_jump
elsif moving?
update_move
else
update_stop
end
# If the count exceeds the maximum Animation
# ? The maximum speed of 18 moves from the base value minus 1 *
# Filename [n] if contains the normal (n-1) / 4 speed pattern update
if @character_name[/\[(\d+)\]/]
@anime_count = 20 if @anime_count > 0 and @pattern == @original_pattern
if @anime_count * ($1.to_i - 1) / 4 > 18 - @move_speed * 2
# If the animation is stopped at the stop and OFF
if not @step_anime and @stop_count > 0
# Back to the original pattern
@pattern = @original_pattern
# ON when stopped while anime or if the move
else
# Update pattern
@pattern = @pattern % ($1.to_i - 1) + 1
end
# Clear animation count
@anime_count = 0
end
else
# Handle regular updating of the character pattern (just copy and paste the default process)
if @anime_count > 18 - @move_speed * 2
# If the animation is stopped at the stop and OFF
if not @step_anime and @stop_count > 0
# Restore the original pattern
@pattern = @original_pattern
# ON when stopped while anime or if the move
else
# Update pattern
@pattern = (@pattern + 1) % 4
end
# Clear animation count
@anime_count = 0
end
end
# If it is waiting
if @wait_count > 0
# Reduce wait time
@wait_count -= 1
return
end
# If you are forced migration route
if @move_route_forcing
# Move Custom
move_type_custom
return
end
# If you run an event waiting or locked
if @starting or lock?
# Mobility is no
return
end
# Stop a certain value count (calculated from the frequency of movement) exceeds
if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
# Branch movement type
case @move_type
when 1 # Random
move_type_random
when 2 # Aproach
move_type_toward_player
when 3 # Custom
move_type_custom
end
end
end
end
#==============================================================================
# ? Sprite_Character
#------------------------------------------------------------------------------
# The sprite character display. Game_Character an instance of the class
# Monitor and automatically alters the state of the sprite.
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
# ? Frame update
#--------------------------------------------------------------------------
def update
super
# Tile ID, file name, if different from current ones in any color
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
# Tile ID file name, remember the hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
# If tile ID value is valid
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
# If tile ID value is invalid
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
# Filename [n] containing the case next to the number of variations: n, Length: 4 considered
if @character.character_name[/\[(\d+)\]/]
@cw = bitmap.width / $1.to_i
@ch = bitmap.height / 4
# Filename [D] does not contain, beside the usual: 04, height: 4 and
else
@cw = bitmap.width / 4
@ch = bitmap.height / 4
end
self.ox = @cw / 2
self.oy = @ch
end
end
# Set the visible state
self.visible = (not @character.transparent)
# If the character graphics
if @tile_id == 0
# Set the source rectangle
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
# Set sprite coordinates
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
# Opacity, synthetic methods, and set the depth of bush
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
# Animation
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
end
end
# If you change the notations used in the menu screen graphic patterns often incidentally
#==============================================================================
# ? Window_Base
#------------------------------------------------------------------------------
# Super class of all windows in the game.
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# Graphics rendering ?
# Actor: actor
# X: X coordinate which to draw
# Y: Y coordinate which to draw
#--------------------------------------------------------------------------
def draw_actor_graphic (actor, x, y)
bitmap = RPG::Cache.character (actor.character_name, actor.character_hue)
if actor.character_name [/\[(\d+)\]/]
cw = bitmap.width / $1.to_i
ch = bitmap.height / 4
else
cw = bitmap.width / 4
ch = bitmap.height / 4
end
src_rect = Rect.new (0, 0, cw, ch)
self.contents.blt (x - cw / 2, y - ch, bitmap, src_rect)
end
end
#==============================================================================
# ? Window_SaveFile
#------------------------------------------------------------------------------
# To save screen and load screens, save the file window.
#==============================================================================
class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
# Refresh ?
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# Draw a file number
self.contents.font.color = normal_color
name = "File#(@ file_index + 1)"
self.contents.draw_text(4, 0, 600, 32, name)
@name_width = contents.text_size(name).width
# If the file is saved
if @file_exist
# Draw a character
for i in 0 ... @characters.size
bitmap = RPG::Cache.character(@characters[i] [0], @characters[i] [1])
if @characters[i] [0] [/\[(\d+)\]/]
cw = bitmap.width / $1.to_i
ch = bitmap.height / 4
else
cw = bitmap.width / 4
ch = bitmap.height / 4
end
src_rect = Rect.new(0, 0, cw, ch)
x = 300 - @characters.size * 32 + i * 64 - cw / 2
self.contents.blt (x, 68 - ch, bitmap, src_rect)
end
# Draw Play time
hour = @total_sec / 60 / 60
min = @total_sec / 60% 60
sec = @total_sec% 60
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 8, 600, 32, time_string, 2)
# Draw a time stamp
self.contents.font.color = normal_color
time_string = @time_stamp.strftime("%Y/%m/%d%H:%M")
self.contents.draw_text(4, 40, 600, 32, time_string, 2)
end
end
end
#==============================================================================
# ? Game_Player
#------------------------------------------------------------------------------
# Handle class player. Decision and the event starts, and scroll the map
# Have a function. Instances of this class is $game_player reference.
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# Update Animation ?
#--------------------------------------------------------------------------
def anime_update
# If the count exceeds the maximum Animation
# The maximum speed of 18 moves from the base value minus 1 *
# Filename [n] if contains the normal (n-1) / 4 speed pattern update
if @character_name [/\[(\d+)\]/]
@anime_count = 20 if @anime_count > 0 and @pattern == @original_pattern
if @anime_count * ($1.to_i - 1) / 4 > 18 - @move_speed * 2
# If the animation is stopped at the stop and OFF
if not @step_anime and @stop_count> 0
# Restore the original pattern
@pattern = @original_pattern
# ON when stopped while anime or if the move
else
# Update pattern
@pattern = @pattern % ($1.to_i - 1) + 1
end
# Clear animation count
@anime_count = 0
end
else
# Handle regular updating of the character pattern (just copy and paste the default process)
if @anime_count > 18 - @move_speed * 2
# If the animation is stopped at the stop and OFF
if not @step_anime and @stop_count > 0
# Restore the original pattern
@pattern = @original_pattern
# ON when stopped while anime or if the move
else
# Update pattern
@pattern = (@pattern + 1) % 4
end
# Clear animation count
@anime_count = 0
end
end
end
end