I created this script because I really loved the features of some of the scripts out there. Two in particular were DerVVulfman's Multi-Pose Charset Script and Dirties re-write that allows for vertical correction and a custom number of frames per charset. They both had features I disliked though. DerVVulfman's had too many features, that I just felt that I didn't need laying around. Dirties was highly incompatible because it is a full rewrite.Though this is also a full rewrite, it also has just enough features to be of great use.

#==============================================================================## * Movement & Animation Script# By Zexion# Sections by Dirtie & DerVVulfman# Helped by KK20# Version 1.5#==============================================================================## With this script you can enable eight directional movement without the need# of a custom character graphic. You can modify graphics on a per-file basis# which allows for tons of custom character files. You can have 8 directional# characters along side 4 directional characters and use an optional "standing"# graphic as the first sprite of the charset.#==============================================================================## Directions:# Place below the default scripts.# Adjustments take place in the file name. Add tags to a filename to change# the way it works. You can configure some of those tags here.#-------------------------# Default Tags include:# "iso" - Converts a file into an 8 pose charset. Do not use this & the "vs_#"# tag in the same file name.# "stn" - Looks for an additional sprite at the start of the graphic for a# standing graphic. E.g. If you have 5 walking frames you can use this to ensure# that the first sprite is a standing sprite and doesn't play in the walking# animation loop.#-------------------------# Other Tags (non-custom) include:# (Please note that "#" represents a number you must enter)# "a_#" - Control the speed of an animation. 14 is good for longer animations.# "vs_#" - The number of poses a file contains. E.g: vs_1 allows only 1 pose.# "cs_#" - The number of frames a file contains. E.g: cs_4 allows 4 animated frames.# "h_#" - Horizontal Shift : Allows for a file to be properly centered horizontally without editing.# "v_#" - Vertical Shift : Allows for a file to be properly centered vertically without editing.#==============================================================================#module ANIM_DATA SPEED = 14 # Default animation speed ISO_TAG = "iso" # Tag for 8 pose charset. EIGHT_DIR = true # Does not require certain number # of frames, or custom charset. STND_TAG = "stn" # This uses the first pose as # a standing pose. Useful for # larger animation sheets.end

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-## This section by:# Dirtie & Zexion# 16th December 2006#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Get Number of Frames for Character Graphic #-------------------------------------------------------------------------- def character_frames @character_name.gsub(/cs\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 4 end #-------------------------------------------------------------------------- # * Get Number of Rows for Character Graphic (allows for 1 row charsets. #-------------------------------------------------------------------------- def character_rows @character_name.gsub(/vs\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 4 end #-------------------------------------------------------------------------- # * Control the speed of an animation (is no longer affected by move_speed #-------------------------------------------------------------------------- def animation_speed @character_name.gsub(/a\_(\d+)/) do if $1 != @character_name return $1.to_i end end return ANIM_DATA::SPEED endendclass Sprite_Character < RPG::Sprite #-------------------------------------------------------------------------- # * Get Number of Frames for Character Graphic #-------------------------------------------------------------------------- def character_frames @character_name.gsub(/cs\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 4 end #-------------------------------------------------------------------------- # * Get Number of Rows for Character Graphic (allows for 1 row charsets. #-------------------------------------------------------------------------- def character_rows @character_name.gsub(/vs\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 4 end #-------------------------------------------------------------------------- # * Control the speed of an animation (is no longer affected by move_speed #-------------------------------------------------------------------------- def animation_speed @character_name.gsub(/a\_(\d+)/) do if $1 != @character_name return $1.to_i end end return ANIM_DATA::SPEED endendclass Game_Character #-------------------------------------------------------------------------- # * Get Number of Frames for Character Graphic #-------------------------------------------------------------------------- def character_frames @character_name.gsub(/cs\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 4 end #-------------------------------------------------------------------------- # * Get Number of Rows for Character Graphic (allows for 1 row charsets. #-------------------------------------------------------------------------- def character_rows @character_name.gsub(/vs\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 4 end #-------------------------------------------------------------------------- # * Control the speed of an animation (is no longer affected by move_speed #-------------------------------------------------------------------------- def animation_speed @character_name.gsub(/a\_(\d+)/) do if $1 != @character_name return $1.to_i end end return ANIM_DATA::SPEED end #-------------------------------------------------------------------------- # * Get Vertical Adjustment for Character Graphic #-------------------------------------------------------------------------- def character_adjust_y @character_name.gsub(/v\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 0 end #-------------------------------------------------------------------------- # * Get Horizontal Adjustment for Character Graphic #-------------------------------------------------------------------------- def character_adjust_x @character_name.gsub(/h\_(\d+)/) do if $1 != @character_name return $1.to_i end end return 0 endend

#==============================================================================# ** Sprite_Character#------------------------------------------------------------------------------# This sprite is used to display the character.It observes the Game_Character# class and automatically changes sprite conditions.#==============================================================================

#==============================================================================# ** Game_Player#------------------------------------------------------------------------------# This class handles the player. Its functions include event starting# determinants and map scrolling. Refer to "$game_player" for the one# instance of this class.#==============================================================================

I don't think it is compatible with other movement scripts, may cause issues with pixel movement. Haven't tried it with blizz abs, but there is a 75% chance that it is not compatible. Should work with SDK, but not tested.Credits and Thanks

DerVVulfman for base of 8-directional movement.

Dirtie for the frame calculation

Me for Mashing the scripts together

KK20 for helping with my mashing errors

Author's Notes

Here is an 8 directional charset that you can use as an example.Aluxes iso.pngIt is simply an iso charset, you can still add cs_8 to make it have 8 walking frames, or stn to make it have a stand frame.

If you have a suggestion,

(click to show/hide)

you can shove it. (jk)

please feel free to comment I'll try my best to add or help you add anything you want to it.

Instructions are misleading: You say to put values in between square brackets when naming the files, but it doesn't work that way (at least, how your gsub is setup). Also might want to note how the character graphics should be designed in terms of directional facing.

Instructions are misleading: You say to put values in between square brackets when naming the files, but it doesn't work that way (at least, how your gsub is setup). Also might want to note how the character graphics should be designed in terms of directional facing.

OMG, I totally forgot. Those were the instructions I wrote when I first planned it out haha. I'll fix it now.Also, I'll add an 8 pose of aluxes as an example

This script is just perfect for a super-secret old project that I am resurrecting, but unfortunately, I get a syntax error when I put it in my game.

It's on line 633, so I think it's a problem with a method not being closed with an "end" or something that like. I actually tried adding an "end" to the script, and it ran without any trouble, but I couldn't move in eight directions, so that didn't end up accomplishing much. Haha.

I'll work on it this week. I've been really busy lately, and my free time goes to my project. I promise that I will fix all bugs with it (including the event graphics being wacked out). I will try to make it blizz abs compatible but honestly I don't know if I can. Hopefully my scriptiness is good enough. :

Edit: I've updated the script with the fixed version that I had all along o.o In any case, the script that I had posted on here was not actually v1.2 so I won't change that :sI don't know if I was imagining this bug, but it seems that the events also use the correct graphics when moving in eight directions without eight poses. (Previously they would randomly disappear.)

It's really nice if you combine it with pixel movement buuut that can be a hassle sometimes..

Edit: Updated to Version 1.3Added horizontal adjustment with "h_#"

Updated to Version 1.5 (Which was my latest version that I never released)Added a fix for draw_actor_graphicAdded character rows with vs_# : Allows for 1 frame 1 pose charsets. Eg any picture can be saved as a charset with vs_1 cs_1Fixed a limit that the old code placed : Previously it would not read numbers that were more than one digit. Very small fix, but it's fixed now.Added animation speed control. Now there is a default animation speed, which is configurable and you can set a custom speed by using a_# in the file name.

(I might have posted the wrong version, but it will be fixed in a bit)Fixed.