Second, this is more of a "BEWARE" kind of thing
So let's get it on.
Here's the thing:
If you have parallel/autorun events on a map, then you use Erase Event to erase them, then used the save command and then quit the game, then opened it up on RM and then edit (or no-edit) then hit save button then start the game and load the old file, the parallel/autorun event will re-run.
Why? Because DataManager re-calls the Game_Map update method when the internal version of the game on the save file is different from the current internal version of your game.
So, this problem will probably only appear during development, and on releasing patches I think. For most games that won't get any updates, you won't experience it. And it's easy to counter too
The most effective method is of course, prevention. basically don't allow saving on maps that has autorun/parallel events that uses erase event.
Now if you need to, there are some workarounds. One would be "temporary self switches", which is basically using a second page + self switches, but you reset the self switch once you leave the map. That way, once you return to the map, it will still run but when you load from a different version, it won't. The method I used to achieve this is scripted (via aliasing the setup method of Game_Map), and I'm not sure if resetting self switches before a transfer event command will work flawlessly.
For the method I used:
Code:
class Game_Map alias setup_reset_switch setup def setup(map_id) setup_reset_switch(map_id) @id = 0 if @id.nil? if not @id == map_id @id = map_id $game_self_switches[[some_map_id,eventid,self_switch]]=false #do that for each self switch that needs to be reset #so like $game_self_switches[[1,1,"A"]]=false # this will reset the self switch A of map 1's event 1 end endend