du kannst folgendes Script über Main einfügen.
CH_TILESET füllst du mit den Switches, die aktiv sein müssen. Im Array ist die erste Zahl dann die ID des neuen Tilesets gefolgt von beliebig vielen MapIDs, für welche das Script ausgeführt werden soll.
Habe dir ein Beispiel (rot markiert) eingefügt, welches du durch die richtigen Werte ersetzen musst. In dem Beispiel würde, wenn Switch 153 ON wäre, auf den Maps 79,80 und 81 das Tileset auf 45 geändert.
Wenn Switch 555 ON wäre, würden die Maps 82 und 83 das Tileset 46 zugewiesen bekommen.
Bei jedem Laden der Map wird geprüft, ob der entsprechende Switch aktiv ist und wenn ja, ob diese Map "vom Wechsel betroffen" ist.
Das sollte funktionieren - und so wird die Map beim Laden schon richtig dargestellt - nicht erst hinterher.
Edit: PS: Ich mache dies extra in der "setup_events" Methode, statt in der allgemeine "setup" Methode von Game_Map, weil du bereits viele Scripts verwendest, die Game_Map Methoden umschreiben. Die "setup_events" Methode ist die erste, auf welche das Tileset Einfluss nimmt und am leichtesten per Alias aufzurufen, weil ich von der Methode selbst nichts ändern muss und so keine Probleme auftreten sollten, falls die anderen Scripts auch darauf zugreifen.