# 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?
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.
That's close to it, but I want the zoom to be normal if any one of the switches are on.
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.