This may need some tweaking, my memory is a bit blurgh.
Place a parallel process event in the corner of the map.
Now put this:
@>Variable operation: [0001: Map X] (change to player, x position)
@> Variable operation: [0002: Map Y] (same, but to y position)
@> Wait (20 frames-ish)
@>Conditional branch (0002, = 0)
@> Variable operation: [0003: Map ID] Change to the ID of the map above this one
@> Variable operation: (change 0001 to the row above the bottom row of the map above this one)
@>Transfer player: Variables (0001 for X, 0002 for Y, 0003 for Map ID)
@>Conditional branch (0001, = 0)
@> Variable operation: [0003: Map ID] Change to the ID of the map left of this one
@> Variable operation: (change 0002 to the row next to the last row on the right of the map to the left of this one)
@>Transfer player: Variables (0001 for X, 0002 for Y, 0003 for Map ID)
This is hard to explain, but I think it should work.
Place a parallel process event in the corner of the map.
Now put this:
@>Variable operation: [0001: Map X] (change to player, x position)
@> Variable operation: [0002: Map Y] (same, but to y position)
@> Wait (20 frames-ish)
@>Conditional branch (0002, = 0)
@> Variable operation: [0003: Map ID] Change to the ID of the map above this one
@> Variable operation: (change 0001 to the row above the bottom row of the map above this one)
@>Transfer player: Variables (0001 for X, 0002 for Y, 0003 for Map ID)
@>Conditional branch (0001, = 0)
@> Variable operation: [0003: Map ID] Change to the ID of the map left of this one
@> Variable operation: (change 0002 to the row next to the last row on the right of the map to the left of this one)
@>Transfer player: Variables (0001 for X, 0002 for Y, 0003 for Map ID)
This is hard to explain, but I think it should work.