#============================================================================== # ¡á Visual_Equipment # Written by Rataime # # Edit below # # Note : If you have a custom Window_SaveFile, check the one at the end of the script, # add the added lines to yours, and delete the whole Window_SaveFile class here #============================================================================== def equip_update(light=false) $visual_equipment=Array.new $visual_equipment[0]=light for i in 0..3 $visual_equipment[i+1]=[] end #=================================================== # ¡Ü EDIT HERE ! #=================================================== #If weapon n¡Æ33 is equiped, add the charset tpl_helmet_1.png (I don't have a weapon charset ><) #add_weapon_sprite(33,"tpl_helmet_1") #If weapon n¡Æ6 is equiped, add the charset tpl_helmet_1.png add_armor_sprite(6,"tpl_helmet_1") add_armor_sprite(7,"tpl_helmet_2") add_armor_sprite(20,"tpl_armor_white") add_armor_sprite(15,"tpl_armor_blue") add_armor_sprite(21,"tpl_armor_cape") #=================================================== # ¡å Visual_equip functions #=================================================== RPG::Cache.clear @game_party = $game_party @game_party = $game_party2 if $visual_equipment[0] for i in 0...@game_party.actors.size for img in $visual_equipment[i+1] bitmap = RPG::Cache.character(@game_party.actors[i].character_name, @game_party.actors[i].character_hue) if img!=true and img!=false add_equip(bitmap,img,i) end end end end def add_equip(sprite,to_add,character) @game_party = $game_party @game_party = $game_party2 if $visual_equipment[0] bmp = Sprite.new bmp.visible =false bmp.bitmap = RPG::Cache.character(to_add,@game_party.actors[character].character_hue) color = bmp.bitmap.get_pixel(0, 0) x=sprite.width y=sprite.height if $visual_equipment[0] x=x/4 y=y/4 end for i in 0..x for j in 0..y color_get=bmp.bitmap.get_pixel(i, j) if color_get!=color sprite.set_pixel(i, j ,color_get) end end end bmp=nil end def add_weapon_sprite(id,sprite) @game_party = $game_party @game_party = $game_party2 if $visual_equipment[0] for i in 0...@game_party.actors.size if @game_party.actors[i].weapon_id==id $visual_equipment[i+1].push(sprite) end end end def add_armor_sprite(id,sprite) @game_party = $game_party @game_party = $game_party2 if $visual_equipment[0] for i in 0...@game_party.actors.size if @game_party.actors[i].armor1_id==id or @game_party.actors[i].armor2_id==id or @game_party.actors[i].armor3_id==id or @game_party.actors[i].armor4_id==id $visual_equipment[i+1].push(sprite) end end end #=================================================== # ¡å CLASS Scene_Equip edit #=================================================== class Scene_Equip alias visual_update_right update_right def update_right if Input.trigger?(Input::B) equip_update $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new(2) return end visual_update_right end end class Interpreter alias visual_command_319 command_319 def command_319 actor = $game_actors[@parameters[0]] if actor != nil actor.equip(@parameters[1], @parameters[2]) end equip_update return true end end class Game_Character attr_accessor :character_hue end class Game_Actor < Game_Battler alias visual_setup setup def setup(actor_id) visual_setup(actor_id) @character_hue = (@character_hue+1)%256 end end class Scene_Load alias visual_read_save_data read_save_data alias visual_on_cancel on_cancel def on_cancel equip_update visual_on_cancel end def read_save_data(file) visual_read_save_data(file) equip_update end end class Scene_Save alias visual_on_decision on_decision alias visual_on_cancel on_cancel def on_cancel equip_update visual_on_cancel end def on_decision(file) equip_update visual_on_decision(file) end end class Scene_Title alias visual_command_new_game command_new_game def command_new_game visual_command_new_game equip_update end end class Window_SaveFile < Window_Base def initialize(file_index, filename) super(0, 64 + file_index % 4 * 104, 640, 104) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize @file_index = file_index @filename = "Save#{@file_index + 1}.rxdata" @time_stamp = Time.at(0) @file_exist = FileTest.exist?(@filename) if @file_exist file = File.open(@filename, "r") @time_stamp = file.mtime @characters = Marshal.load(file) @frame_count = Marshal.load(file) @game_system = Marshal.load(file) @game_switches = Marshal.load(file) @game_variables = Marshal.load(file) @self_variables = Marshal.load(file)#added @game_screen = Marshal.load(file)#added @game_actors = Marshal.load(file)#added $game_party2=@game_party= Marshal.load(file)#added @total_sec = @frame_count / Graphics.frame_rate file.close end equip_update(true)#added refresh @selected = false end end