[Resolved] [XP] Visual Equipment Script?

Started by Karltheking4, May 29, 2010, 08:44:43 pm

Previous topic - Next topic

Karltheking4

May 29, 2010, 08:44:43 pm Last Edit: May 30, 2010, 02:30:04 am by Karltheking4
Hey guys,
I was wondering if there is a visual equipment script for XP?
There is one for VX http://forum.chaos-project.com/index.php?topic=1250.0
But it's not compatible with XP
f this does exist, I'm terribly sorry for wasting your time, and can someone please point me in that dirction?
Thanks! :haha:

Spaceman McConaughey

There are a lot of them for XP. I do believe Blizzard made one as a Blizz-ABS plugin.

Use the search button.

lonely_cubone

I don't know this, but he might not be using Blizz-ABS, in which case he can't use that script.

Actually being productive, I don't know of any others, sorry :P

Spaceman McConaughey

Okay, then shouldn't he specify instead of making us do all of the work for him?

I mean, all I see here is a noobish post that we cannot help until he elaborates more. Well, Karltheking4? Care to share more whenever possible?

Karltheking4

Okay, I'll try to be more specific.
I wish to find a visual equipment script like the one in my original post, but in XP.
I would prefer not having to use the Blizzabs script.
I'm sure there must be one laying around here somewhere, but I can't find it on the script database thing.
Can someone please tell me where to find it, and if there is no such script, I'm not overly bothered and may use the Blizz-abs script or just go with out.
Thankyou :haha:

Spaceman McConaughey

Don't worry, I'll try and find it again for you. There are tons of them, though.

I'll get back to you with a PM when I've found the link.

Karltheking4


Karltheking4


Dweller

May 30, 2010, 07:21:28 pm #8 Last Edit: May 31, 2010, 02:04:27 am by dwellercoc
I'm using this one on a non-ABS project.


#==============================================================================
# ** Visual_Equipment Re-Edited (version Kappa)
#------------------------------------------------------------------------------
#    Written by Rataime
#    New Edits by DerVVulfman
#    February 10, 2008
#------------------------------------------------------------------------------
#
#------------------------------------------------------------------------------
# Revisions to note:
#  1) Added formatted headers and comments throughout the script.
#  2) Encapsulated the working code in a Visual Equipment module.
#  3) Set the equipment array into an instance value to lower resource costs.
#  4) Discovered a 'nil' $game_party bug.  Added 'return if...' statements.
#  5) Removed unnecessary Window_SaveFile edit.
#  6) Interpreter routine for 'Change Equipment' now aliased.
#  7) Interpreter routine for 'Change Equipment' now changes visible equipment.
#  8) Support for 'Change Party Members' now works, even w/ Large Party systems.
#  9) 'Change Equipment' now compatible with Fukuyama's Train Actor script.
# 10) System should now be usable with or without RMXP SDK.
#------------------------------------------------------------------------------
# ** Changing party members or equipment while still visible on the map will
# ** force the map to refresh, giving a slight pause.
#==============================================================================



#==============================================================================
# ** module Visual Equipment
#------------------------------------------------------------------------------
#  This module handles the image name and equipment drawing process.
#==============================================================================

module Visual_Equipment
 module_function
 #--------------------------------------------------------------------------
 # * Update Visual Equipment
 #--------------------------------------------------------------------------
 def equip_update
   @visual_equipment = Array.new
   for i in 0..$game_party.actors.size
     @visual_equipment[i+1] = []
   end

  #========================================================================
  #  **  C  O  N  F  I  G  U  R  A  T  I  O  N      S  Y  S  T  E  M  **  #
  #========================================================================
  #
  # Syntax to set weapons or armors in this script are as follows:
  #      add_weapon_sprite(weaponID, characterset)
  # -or- add_armor_sprite(armorID, characterset)
  #
  # The ID number is the same as the ID number in the database.
  # The charactersets are the extra graphics for the weapon/armor that is
  # stored in the 'Graphics\Characterset' folder of your project.
  # ARMOR LISTINGS
     #add_armor_sprite( 13, "ProtaPetoBronce")
           
  # HEAD
     #add_armor_sprite( 6, "CascoOro")
 
  # Rings
    # add_armor_sprite( 25, "Colgante1")
   
     
  # WEAPON LISTINGS
     #add_weapon_sprite(33, "tpl_helmet_1")  # <-didn't make a weapon image :P
  #SHIELD
     #add_armor_sprite( 1, "EscudoBronce")
     
     
  #========================================================================
  #  ****   E N D   O F   C O N F I G U R A T I O N   S Y S T E M   ****  #
  #========================================================================
 
   #------------------------------------------------------------------------
   # * Visual Equipment Functions
   #------------------------------------------------------------------------
   RPG::Cache.clear
   return if $game_party == nil
   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
 #--------------------------------------------------------------------------
 # * Add Equipment
 #     sprite    : Original sprite bitmap
 #     to_add    : Equipment characterset
 #     character : Member in party
 #--------------------------------------------------------------------------
 def add_equip(sprite, to_add, character)
   return if $game_party == nil
   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
 #--------------------------------------------------------------------------
 # * Add Weapon Sprite
 #     id        : Weapon ID
 #     sprite    : Weapon characterset
 #--------------------------------------------------------------------------
 def add_weapon_sprite(id, sprite)
   return if $game_party == nil
   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
   #--------------------------------------------------------------------------
 # * Add Armor Sprite
 #     id        : Armor ID
 #     sprite    : Armor characterset
 #--------------------------------------------------------------------------
 def add_armor_sprite(id, sprite)
   return if $game_party == nil    
   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
end  



#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
#  Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :visual_transfer          # Equipment changed in field switch
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 alias visual_initialize initialize
 def initialize
   # Perform the original call
   visual_initialize
   @visual_transfer = false              # Equipment changed in field
 end
end



#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
#  This class performs equipment screen processing.
#==============================================================================

class Scene_Equip
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_update_right update_right
 #--------------------------------------------------------------------------
 # * Frame Update (when right window is active)
 #--------------------------------------------------------------------------
 def update_right
   # If B button was pressed
   if Input.trigger?(Input::B)
     # Update with the equipment
     Visual_Equipment.equip_update
     # Play cancel SE
     $game_system.se_play($data_system.cancel_se)
     # Switch to menu screen
     $scene = Scene_Menu.new(2)
     return
   end
   # Perform the original call
   visual_update_right
 end
end



#==============================================================================
# ** 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.
#==============================================================================

class Game_Player < Game_Character
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_update update
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------  
 def update
   # Do not perform during equipment transfer
   return if $game_temp.visual_transfer == true
   # Perform the original call
   visual_update
 end
end



#==============================================================================
# ** Interpreter
#------------------------------------------------------------------------------
#  This interpreter runs event commands. This class is used within the
#  Game_System class and the Game_Event class.
#==============================================================================
class Interpreter
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_command_129 command_129
 alias visual_command_319 command_319
 #--------------------------------------------------------------------------
 # * Change Party Member
 #--------------------------------------------------------------------------
 def command_129
   # Perform the original call
   visual_command_129
   # Update with the equipment
   Visual_Equipment.equip_update
   # Continue
   return true    
 end
 #--------------------------------------------------------------------------
 # * Change Equipment
 #--------------------------------------------------------------------------
 def command_319
   # Perform the original call
   visual_command_319
   # Update with the equipment
   Visual_Equipment.equip_update
   # Turns the transfer system on
   $game_temp.visual_transfer = true
   # Switch to map screen
   $scene = Scene_Map.new    
   # Continue
   return true
 end
end



#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================

class Scene_Map
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_update update
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------  
 def update
   # Perform the original call
   visual_update
   # Turns equipment transfer system off
   $game_temp.visual_transfer = false if $game_temp.visual_transfer == true
 end
end



#==============================================================================
# ** Game_Character
#------------------------------------------------------------------------------
#  This class deals with characters. It's used as a superclass for the
#  Game_Player and Game_Event classes.
#==============================================================================

class Game_Character
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------  
 attr_accessor :character_hue
end



#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles the actor. It's used within the Game_Actors class
#  ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_setup setup
 #--------------------------------------------------------------------------
 # * Setup
 #     actor_id : actor ID
 #--------------------------------------------------------------------------  
 def setup(actor_id)
   # Perform the original call
   visual_setup(actor_id)
   @character_hue = (@character_hue+1)%256
 end
end



#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
#  This class performs load screen processing.
#==============================================================================

class Scene_Load < Scene_File
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_read_save_data read_save_data
 alias visual_on_cancel on_cancel
 #--------------------------------------------------------------------------
 # * Cancel Processing
 #--------------------------------------------------------------------------  
 def on_cancel
   # Update with the equipment
   Visual_Equipment.equip_update
   # Perform the original call
   visual_on_cancel
 end
 #--------------------------------------------------------------------------
 # * Read Save Data
 #     file : file object for reading (opened)
 #--------------------------------------------------------------------------
 def read_save_data(file)
   # Perform the original call
   visual_read_save_data(file)
   # Update with the equipment
   Visual_Equipment.equip_update
 end
end



#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
#  This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_on_decision on_decision
 alias visual_on_cancel on_cancel
 #--------------------------------------------------------------------------
 # * Cancel Processing
 #--------------------------------------------------------------------------  
 def on_cancel
   # Update with the equipment
   Visual_Equipment.equip_update
   # Perform the original call
   visual_on_cancel
 end
 #--------------------------------------------------------------------------
 # * Decision Processing
 #--------------------------------------------------------------------------  
 def on_decision(file)
   # Update with the equipment
   Visual_Equipment.equip_update
   # Perform the original call
   visual_on_decision(file)
 end
end



#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs title screen processing.
#==============================================================================

class Scene_Title
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------  
 alias visual_command_new_game command_new_game
 #--------------------------------------------------------------------------
 # * Command: New Game
 #--------------------------------------------------------------------------  
 def command_new_game
   # Perform the original call
   visual_command_new_game
   # Update with the equipment
   Visual_Equipment.equip_update
 end
end


Please use [code][/code] when posting code. ~ G_G
Dwellercoc
Spoiler: ShowHide

lonely_cubone

Quote from: dwellercoc on May 30, 2010, 07:21:28 pm
I'm using this one on a non-ABS project.

Visual_Equipment Re-Edited (version Kappa): ShowHide

The script, which wasn't in code tags.



First of all, he already found a script to use. Second of all, when you post a script, put it in code tags.
The script here


It's much easier for people that way. :haha:

Dweller

Quote
First of all, he already found a script to us


2 choices is better than 1 imo.

Quote
Second of all, when you post a script, put it in code tags.


tag changed
Dwellercoc
Spoiler: ShowHide