Group: Member
Posts: 9
Type: Scripter
RM Skill: Intermediate
MSX - XP Characters on VX/VXAce
Version: 1.0 Author: Melosx
Introduction You can use XP characters whit VX and VXAce. Rename the image by adding $xp at the beginning of the name. Example: 001-Fighter01.png -> $xp001-Fighter01.png
p.s.: sorry for my bad english
Script
Script
CODE
#========================================================================== # ** MSX - XP Characters in VX/VXAce #========================================================================== # Author: Melosx # English Translation: TheBen # Version: 1.0 # Compatable with VX and VXAce #========================================================================== # *Description # -------------------------------------------- # The script permits the use of XP sprites in VX. All you have to do is insert the tag # "$xp" at the start of the filename. # You can then use the VX-style sprites right alongside the ones of RPGXP. # #========================================================================== # *Instructions # -------------------------------------------------------------------------- # Insert the script below Materials and above Main. Add the tag "$xp" (no quotes) # to the beginning of the filename of XP sprites you want to use. # #==========================================================================
#========================================================================== # ** Sprite_Character #========================================================================== class Sprite_Character < Sprite_Base
def update_bitmap if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_index != @character.character_index @tile_id = @character.tile_id @character_name = @character.character_name @character_index = @character.character_index if @tile_id > 0 sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; sy = @tile_id % 256 / 8 % 16 * 32; self.bitmap = tileset_bitmap(@tile_id) self.src_rect.set(sx, sy, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = Cache.character(@character_name) sign = @character_name[/^[!$]./] if sign != nil and sign.include?('$') @cw = bitmap.width / 3 @ch = bitmap.height / 4 else @cw = bitmap.width / 12 @ch = bitmap.height / 8 end if @character_name != nil and @character_name.include?('$xp') @cw = bitmap.width / 4 @ch = bitmap.height / 4 end self.ox = @cw / 2 self.oy = @ch end end end
def update_src_rect if @character_name != nil and @character_name.include?('$xp') if @tile_id == 0 pattern = @character.pattern > 0 ? @character.pattern - 1 : 3 sx = pattern * @cw sy = (@character.direction - 2) / 2 * @ch self.src_rect.set(sx, sy, @cw, @ch) end else if @tile_id == 0 index = @character.character_index pattern = @character.pattern < 3 ? @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 end end