#==============================================================================
# ** Events klonen V1.1
# EventsKlonen.rb von Abt Ploutôn, Monsta (07.08.2008)
#------------------------------------------------------------------------------
#
http://www.rpg-studio.de/scriptdb/node/51#
http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=9900#
http://www.rmxp.de/forum/rmxp-de-technik/rgss-skript-datenbank/programmierhilfen/p227129-events-klonen/#post227129#==============================================================================
#--------------------------------------------------------------------------
# Events klonen V1 @ Abt Ploutôn
#--------------------------------------------------------------------------
# Monsta Edit: 1.0 05.06.07
# Aufruf:
# $game_map.add_event(map_id,id,x,y)
# ...weitere Events...
# $scene.spriteset.refresh
# Neuerungen vom Monsta Edit
# - Man kann sich die ID des neuen Events zurückgeben lassen (@id = $game_map.add...)
# - Bug mit Self Switches bei geklonten Events behoben
# - Die Zeile "$game_map.need_refresh = true" brauch nicht mehr ins Call Skript
# - ID's werden richtig ersetzt (siehe Post SLB)
class Spriteset_Map
#--------------------------------------------------------------------------
def refresh
$game_map.need_refresh = true
unless @character_sprites == nil
for sprite in @character_sprites
sprite.dispose
end
end
@character_sprites = []
for i in $game_
map.events.keys.sort
sprite = Sprite_
Character.new(@viewport1, $game_
map.events)
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
end
#--------------------------------------------------------------------------
end
class Game_Map
#--------------------------------------------------------------------------
def add_event(map_id,id,x,y)
s = 1
(1..@events.size + 1).each{|s|break unless @events.keys.include?(s)}
map = load_data(sprintf("Data/Map%03d.rxdata", map_id))
ev = map.events[id]
ev.id = s
@events = Game_Event.new(@map_id, ev)
@events.moveto(x, y)
return @events.id
end
#--------------------------------------------------------------------------
end
class Scene_Map
#--------------------------------------------------------------------------
attr_accessor :spriteset
#--------------------------------------------------------------------------
end
#==============================================================================
# ** Events klonen V1.1
# EventsKlonen.rb von Abt Ploutôn, Monsta (07.08.2008)
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/51
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=9900
# http://www.rmxp.de/forum/rmxp-de-technik/rgss-skript-datenbank/programmierhilfen/p227129-events-klonen/#post227129
#==============================================================================
#--------------------------------------------------------------------------
# Events klonen V1 @ Abt Ploutôn
#--------------------------------------------------------------------------
# Monsta Edit: 1.0 05.06.07
# Aufruf:
# $game_map.add_event(map_id,id,x,y)
# ...weitere Events...
# $scene.spriteset.refresh
# Neuerungen vom Monsta Edit
# - Man kann sich die ID des neuen Events zurückgeben lassen (@id = $game_map.add...)
# - Bug mit Self Switches bei geklonten Events behoben
# - Die Zeile "$game_map.need_refresh = true" brauch nicht mehr ins Call Skript
# - ID's werden richtig ersetzt (siehe Post SLB)
class Spriteset_Map
#--------------------------------------------------------------------------
def refresh
$game_map.need_refresh = true
unless @character_sprites == nil
for sprite in @character_sprites
sprite.dispose
end
end
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new(@viewport1, $game_map.events)
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
end
#--------------------------------------------------------------------------
end
class Game_Map
#--------------------------------------------------------------------------
def add_event(map_id,id,x,y)
s = 1
(1..@events.size + 1).each{|s|break unless @events.keys.include?(s)}
map = load_data(sprintf("Data/Map%03d.rxdata", map_id))
ev = map.events[id]
ev.id = s
@events = Game_Event.new(@map_id, ev)
@events.moveto(x, y)
return @events.id
end
#--------------------------------------------------------------------------
end
class Scene_Map
#--------------------------------------------------------------------------
attr_accessor :spriteset
#--------------------------------------------------------------------------
end