Podías haber hecho simplemente un Marshal.dump pero no sé por qué recorres de 1 a N pudiendo simplemente recorrer los eventos
for event in $game_map.events.values
# Do stuff
end
Respecto a mirar otro mapa, hay una factory de mapas que puedes utilizar
if $MapFactory
for i in...