Simpel.
Du weißt doch sicherlich was ein "Paralleler Prozess" ist und wie man ein Event darauf 'einstellt'? In solch ein Event fragst du die Position des Gegenstandes ab.
Zu diesem Zweck bietet dir der Befehl "Variable Operations" [also die normale Variablenfunktion] die Möglichkeit die X-, und Y-Position des Gegenstandes zu speichern. Nämlich unter "Sprites". Dort wählst du die jeweilige Position und speicherst je X und Y in je einer Variable ab (benenne das Gegenstand-Event am besten, um es leichter wiederzufinden)
Sprich: Variable X set Pos. X [ebenso für Y]
Und wie gesagt, damit das permanent geschieht, das Ganze in einen Parallelen Prozess. Jetzt weiß der RPG-Maker stets wo sich der Gegenstand befindet, auch wenn er verschoben wurde.
Und der Schalter besitzt ja auch eine Position. Die muss allerdings nicht ständig gespeichert werden, da sich der Schalter nur bewegen kann, wenn er auf Rollschuhen läuft. Seine Position gibst du in ebenfalls zwei weiteren Variablen - per Hand - ein.
Jetzt muss nur noch abgefragt werden ob sowohl X als auch Y von Gegenstand und Schalter identisch sind (Branch/Bedingung-Befehl). Ist das der Fall, aktivierst du den Schalter mit dem entsprechenden "Switch".
-> Das alles kann in ein einziges Events <-
Klingt komplizierter als es ist.
Gut... das ist wieder relativ.
[Tm]