If you've ever used RMXP you will know one of it's features over RMVX was that it could tint events, allowing for a multitude of chars without many differently colored charsheets. Unfortunately this feature is void in RMVX.
Is there a way to change the tint of an event floating around somewhere in RMVX though?
This post has been edited by Titanhex: Oct 25 2011, 06:52 AM
Group: Member
Posts: 4
Type: None
RM Skill: Undisclosed
As in, is there a way to change the color palette of a sprite outside of changing it in other software? No, it's not possible to change the coloration of JUST one thing on the screen in any kind of editor feature(other than enemy graphics), Event command, or script call (that I know of). Besides, re-colorozing parts of a sprite in an image editor isn't all that difficult, IMO.
#-------------------------------------------------- #in a event add a new script : # #change_color(eventid,color) # #to self event id use "@event_id" # #By Zarby, no credit needed # #--------------------------------------------------
class Game_Interpreter def change_color(eventid,color) $game_map.events[eventid].changecolor(color) end end
class Spriteset_Map
def create_characters @character_sprites = [] for i in $game_map.events.keys.sort sprite = Sprite_Character.new(@viewport1, $game_map.events[i],$game_map.events[i].color) @character_sprites.push(sprite) end for vehicle in $game_map.vehicles sprite = Sprite_Character.new(@viewport1, vehicle) @character_sprites.push(sprite) end @character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) end
end
class Sprite_Character < Sprite_Base
def initialize(viewport, character = nil,color = 0) super(viewport) @character = character @balloon_duration = 0 @color = color update end
@cw = self.bitmap.width / 3 @ch = self.bitmap.height / 4 self.ox = @cw / 2 self.oy = @ch end end if @character.color != @character.oldcolor self.bitmap.hue_change(@character.color) @character.oldcolor = @character.color end end
def update_src_rect if @tile_id == 0 index = 0 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
class Game_Player < Game_Character
def refresh if $game_party.members.size == 0 @character_name = "" @character_index = 0 else actor = $game_party.members[0] # Get front actor @character_name = actor.character_name @character_index = actor.character_index set_graphic(@character_name,@character_index) end end
@bitmap.clear if @character_name.include?('!') if @character_index <= 3 ch = frombitmap.height/2 @bitmap = Bitmap.new(96,ch) @bitmap.blt(0,0,frombitmap,Rect.new(@character_index*96,0,96,ch))
end if @character_index > 3 ch = frombitmap.height/2 @ci = @character_index-4 @bitmap = Bitmap.new(96,ch) @bitmap.blt(0,0,frombitmap,Rect.new(@ci*96,ch,96,ch)) end end if @character_name.include?('$') @bitmap.clear @bitmap = Bitmap.new(frombitmap.width,frombitmap.height) @bitmap.blt(0,0,frombitmap,Rect.new(0,0,frombitmap.width,frombitmap.height)) end if @character_name.include?('$') == false and @character_name.include?('!') == false @bitmap.clear if @character_index <= 3 @bitmap.blt(0,0,frombitmap,Rect.new(@character_index*96,0,96,128)) end if @character_index > 3 @ci = @character_index-4 @bitmap.blt(0,0,frombitmap,Rect.new(@ci*96,128,96,128)) end end @bitmap.hue_change(@color) end
To be more specific, it's the hue that I actually was interested in changing. If you pop open your RMVX, open the database (F9), and go to the enemies tab, try changing the enemies picture. You'll see a hue slider that lets you alter the hue.
While I understand that there can be no GUI, the hue is probably represented by an integer.. Being able to change that hue integer for an event would be very useful.
While changing an event's hue is as easy as downloading GIMP and using the color tool, the access to new hues could be very useful in lowering picture space.
This post has been edited by Titanhex: Oct 25 2011, 06:54 AM