The RPG Maker Resource Kit

RMRK RPG Maker Creation => RPG Maker General => General Scripting => Topic started by: XaineC on March 04, 2012, 07:44:55 PM

Title: Overworld Sprite Question
Post by: XaineC on March 04, 2012, 07:44:55 PM
# change this to any number less than one to change the size of the world map
# sprites
ZOOM = 0.5
WORLD_IND = 'World Map'

class Game_Map
  attr_reader :name
  attr_reader :isworldmap
 
  alias ccoa_setup setup
  #--------------------------------------------------------------------------
  # * Setup
  #     map_id : map ID
  #--------------------------------------------------------------------------
  def setup(map_id)
    ccoa_setup(map_id)
    @name = load_data("Data/MapInfos.rxdata")[@map_id].name
    if @name.include?(WORLD_IND)
      @isworldmap = true
      @name.sub!(WORLD_IND, '')
    else
      @isworldmap = false
    end
  end
end

class Sprite_Character < RPG::Sprite
  alias ccoa_update update
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    ccoa_update
    if @character.is_a?(Game_Player) and $game_map.isworldmap
      self.zoom_x = ZOOM
      self.zoom_y = ZOOM
    else
      self.zoom_x = 1.0
      self.zoom_y = 1.0
    end
  end
end

With the above script, is there a minor rewrite that can be done to make it so that if game_switch [X,Y,Z] = true then the zoom is 1.0?
Title: Re: Overworld Sprite Question
Post by: modern algebra on March 04, 2012, 08:12:06 PM
I don't know what game_switch [X, Y, Z] is, but assuming that what you mean is that you want the zoom to be normal if in-game switches X, Y, and Z are all ON, then you could do that by changing the following line:


    if @character.is_a?(Game_Player) and $game_map.isworldmap


to:


    if @character.is_a?(Game_Player) && $game_map.isworldmap &&
      $game_switches[X] && $game_switches[Y] && $game_switches[Z]


where X, Y, and Z are the IDs of the switches. If that isn't what you meant, you will need to clarify.
Title: Re: Overworld Sprite Question
Post by: XaineC on March 04, 2012, 08:41:15 PM
That's close to it, but I want the zoom to be normal if any one of the switches are on.
Title: Re: Overworld Sprite Question
Post by: LoganF on March 05, 2012, 01:02:14 PM
If that is close enough, then it's a case of adding or into the switches:


    if @character.is_a?(Game_Player) && $game_map.isworldmap &&
      ($game_switches[X] || $game_switches[Y] || $game_switches[Z])


That'll succeed whenever one of those switches is on.