| Near�s Dynamic Maps script. You will need this is your going to use Wachunga�s random map generator. Put this in a class above all of your other custom scripts, but under the anti-lag script if you are using that, called Dynamic Maps, then put this into it. | ||||
| #================================
# ? Dynamic Maps #================================ # ?By: Near Fantastica # Date: 05.09.05 # Version: 1 #================================ module Map #-------------------------------------------------------------- @map_data = {} #-------------------------------------------------------------------------- def Map.set_map(map, map_id) @map_data[map_id] = map end #-------------------------------------------------------------------------- def Map.data(map_id) return @map_data[map_id] end end class Map_Data #-------------------------------------------------------------- attr_accessor :map_id attr_accessor :map attr_accessor :tileset_name attr_accessor :autotile_names attr_accessor :panorama_name attr_accessor :panorama_hue attr_accessor :fog_name attr_accessor :fog_hue attr_accessor :fog_opacity attr_accessor :fog_blend_type attr_accessor :fog_zoom attr_accessor :fog_sx attr_accessor :fog_sy attr_accessor :battleback_name attr_accessor :passages attr_accessor :priorities attr_accessor :terrain_tags attr_accessor :display_x attr_accessor :display_y attr_accessor :need_refresh attr_accessor :events attr_accessor :common_events attr_accessor :fog_ox attr_accessor :fog_oy attr_accessor :fog_tone attr_accessor :fog_tone_target attr_accessor :fog_tone_duration attr_accessor :fog_opacity_duration attr_accessor :fog_opacity_target attr_accessor :scroll_direction attr_accessor :scroll_rest attr_accessor :scroll_speed attr_accessor :fow_on attr_accessor :fow_grid attr_accessor :fow_range #------------------------------------------------------------- def initialize @map_id = 0 @map = 0 @tileset_name = 0 @autotile_names = 0 @panorama_name = 0 @panorama_hue = 0 @fog_name = 0 @fog_hue = 0 @fog_opacity = 0 @fog_blend_type = 0 @fog_zoom = 0 @fog_sx = 0 @fog_sy = 0 @battleback_name = 0 @passages = 0 @priorities = 0 @terrain_tags = 0 @display_x = 0 @display_y = 0 @need_refresh = 0 @events = 0 @common_events = 0 @fog_ox = 0 @fog_oy = 0 @fog_tone = 0 @fog_tone_target = 0 @fog_tone_duration = 0 @fog_opacity_duration = 0 @fog_opacity_target = 0 @scroll_direction = 0 @scroll_rest = 0 @scroll_speed = 0 @fow_on = 0 # FOW @fow_grid = 0 # FOW @fow_range = 0 # FOW end end class Game_Map #-------------------------------------------------------------- def setup(map_id) save_map(@map_id) if Map.data(map_id) == nil setup_map(map_id) else load_map(map_id) end end #-------------------------------------------------------------- def setup_map(map_id) @map_id = map_id @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id)) tileset = $data_tilesets[@map.tileset_id] @tileset_name = tileset.tileset_name @autotile_names = tileset.autotile_names @panorama_name = tileset.panorama_name @panorama_hue = tileset.panorama_hue @fog_name = tileset.fog_name @fog_hue = tileset.fog_hue @fog_opacity = tileset.fog_opacity @fog_blend_type = tileset.fog_blend_type @fog_zoom = tileset.fog_zoom @fog_sx = tileset.fog_sx @fog_sy = tileset.fog_sy @battleback_name = tileset.battleback_name @passages = tileset.passages @priorities = tileset.priorities @terrain_tags = tileset.terrain_tags @display_x = 0 @display_y = 0 @need_refresh = false @events = {} for i in @map.events.keys @events[i] = Game_Event.new(@map_id, @map.events[i]) end @common_events = {} for i in 1...$data_common_events.size @common_events[i] = Game_CommonEvent.new(i) end @fog_ox = 0 @fog_oy = 0 @fog_tone = Tone.new(0, 0, 0, 0) @fog_tone_target = Tone.new(0, 0, 0, 0) @fog_tone_duration = 0 @fog_opacity_duration = 0 @fog_opacity_target = 0 @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 end #----------------------------------------------------------- def load_map(map_id) map_data = Map.data(map_id) @map_id = map_data.map_id @map = map_data.map @tileset_name = map_data.tileset_name @autotile_names = map_data.autotile_names @panorama_name = map_data.panorama_name @panorama_hue = map_data.panorama_hue @fog_name = map_data.fog_name @fog_hue = map_data.fog_hue @fog_opacity = map_data.fog_opacity @fog_blend_type = map_data.fog_blend_type @fog_zoom = map_data.fog_zoom @fog_sx = map_data.fog_sx @fog_sy = map_data.fog_sy @battleback_name = map_data.battleback_name @passages = map_data.passages @priorities = map_data.priorities @terrain_tags = map_data.terrain_tags @display_x = map_data.display_x @display_y = map_data.display_y @need_refresh = map_data.need_refresh @events = map_data.events @common_events = map_data.common_events @fog_ox = map_data.fog_ox @fog_oy = map_data.fog_oy @fog_tone = map_data.fog_tone @fog_tone_target = map_data.fog_tone_target @fog_tone_duration = map_data.fog_tone_duration @fog_opacity_duration = map_data.fog_opacity_duration @fog_opacity_target = map_data.fog_opacity_target @scroll_direction = map_data.scroll_direction @scroll_rest = map_data.scroll_rest @scroll_speed = map_data.scroll_speed @fow_on = map_data.fow_on # FOW @fow_grid = map_data.fow_grid # FOW @fow_range = map_data.fow_range # FOW end #-------------------------------------------------------------- def save_map(map_id) return if map_id == 0 map_data = Map_Data.new map_data.map_id = map_id map_data.map = @map map_data.tileset_name = @tileset_name map_data.autotile_names = @autotile_names map_data.panorama_name = @panorama_name map_data.panorama_hue = @panorama_hue map_data.fog_name = @fog_name map_data.fog_hue = @fog_hue map_data.fog_opacity = @fog_opacity map_data.fog_blend_type = @fog_blend_type map_data.fog_zoom = @fog_zoom map_data.fog_sx = @fog_sx map_data.fog_sy = @fog_sy map_data.battleback_name = @battleback_name map_data.passages = @passages map_data.priorities = @priorities map_data.terrain_tags = @terrain_tags map_data.display_x = @display_x map_data.display_y = @display_y map_data.need_refresh = @need_refresh map_data.events = @events map_data.common_events = @common_events map_data.fog_ox = @fog_ox map_data.fog_oy = @fog_oy map_data.fog_tone = @fog_tone map_data.fog_tone_target = @fog_tone_target map_data.fog_tone_duration = @fog_tone_duration map_data.fog_opacity_duration = @fog_opacity_duration map_data.fog_opacity_target = @fog_opacity_target map_data.scroll_direction = @scroll_direction map_data.scroll_rest = @scroll_rest map_data.scroll_speed = @scroll_speed map_data.fow_on = @fow_on # FOW map_data.fow_grid = @fow_grid # FOW map_data.fow_range = @fow_range # FOW Map.set_map(map_data, map_id) end end |
||||