Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #================================================================
- # http://thiagodd.blogspot.com.br/
- # [TSDA] Clone Events
- # --> Version 1.1
- # by thiago_d_D
- #----------------------------------------------------------------
- # * Features
- #----------------------------------------------------------------
- # Adds an method to clone events.
- #----------------------------------------------------------------
- # * How to use.
- #----------------------------------------------------------------
- # Paste this script in the aditional scripts section
- # Any old saves will not be compatible with this script, delete them
- #
- # To clone an event, run this script code
- #
- # clone_event(a,b,c,d,e)
- #
- # a - put here the map id where the event to be cloned is.
- # b - the id of the event that will be cloned
- # c - x position of the new event
- # d - y position of the new event
- # e - the map id where the new event will be
- #
- # [for scripters] the above method returns the newly created event
- #================================================================
- def clone_event(or_map_id,or_event_id,
- target_x,target_y,target_map_id)
- $game_map.add_event(or_map_id,or_event_id,target_x,
- target_y,target_map_id)
- end
- #----------------------------------------------------------------
- class Game_Map
- def add_event(or_id,or_id2,x, y, map_id)
- if $game_maps_c.has_key?(or_id)
- or_map = $game_maps_c[or_id]
- else
- or_map = load_data(sprintf("Data/Map%03d.rvdata", or_id))
- end
- or_map = load_data(sprintf("Data/Map%03d.rvdata", or_id))
- or_event = or_map.events[or_id2]
- if $game_maps_c.has_key?(map_id)
- target_map = $game_maps_c[map_id]
- else
- target_map = load_data(sprintf("Data/Map%03d.rvdata", map_id))
- end
- event = RPG::Event.new(x,y)
- event.id = target_map.events.size + 1
- event.name = or_event.name
- event.pages = or_event.pages
- target_map.events[target_map.events.size + 1] = event
- $game_maps_c[map_id] = target_map
- if map_id == @map_id
- @map = $game_maps_c[@map_id]
- @events[@events.size + 1] = Game_Event.new(@map_id, event)
- @events.size
- end
- $scene.refresh_spriteset
- return event
- end
- #--------------------------------------------------------------
- alias sfh_th_setup_events setup
- def setup(map_id)
- if $game_maps_c.has_key?(map_id)
- @map_id = map_id
- @map = $game_maps_c[map_id]
- @display_x = 0
- @display_y = 0
- @passages = $data_system.passages
- referesh_vehicles
- setup_events
- setup_scroll
- setup_parallax
- @need_refresh = false
- return
- end
- sfh_th_setup_events(map_id)
- end
- end
- #----------------------------------------------------------------
- class Scene_File
- alias sfh_th_write_save_data write_save_data
- def write_save_data(file)
- sfh_th_write_save_data(file)
- Marshal.dump($game_maps_c, file)
- end
- #--------------------------------------------------------------
- alias sfh_th_read_save_data read_save_data
- def read_save_data(file)
- sfh_th_read_save_data(file)
- $game_maps_c = Marshal.load(file)
- end
- end
- class Scene_Title
- alias sfh_th_create_game_objects create_game_objects
- def create_game_objects
- sfh_th_create_game_objects
- $game_maps_c = {}
- end
- end
- #----------------------------------------------------------------
- class Scene_Map
- def refresh_spriteset
- @spriteset.dispose
- @spriteset = Spriteset_Map.new
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement