Kommt ganz darauf an, wie viel Aufwand du betreiben willst.
Also, die interessante Variante liefe so.
Du unterteilst den Tag in mehrere Abschnitte, in denen sich die NPCs verschiedene Bewegungen haben. Meinetwegen, in "5:00-12:00" und so weiter.
Das ist, was die Switches betrifft, nicht sehr teuer!
Nun, brauchst du noch, leider, für jeden NPC zwei Variablen, nämlich "NPC X" und "NPC Y".
also etwa "NPC Vormittag", "... nachmittag" und so weiter.
Jetzt knüpfst du ein Event an
a)entweder "NPC X" oder "NPC Y"
b)Tageszustand (Vormittag, 5:00 bis 10:00)
In dem Ereignis steht dann eine ganze List von Fork Conditions.
Wenn du nun dein Ereignis an "X" geknüpft hast, fragst die Fork also die Y-Position ab, die der NPC hat.
Mit anderen Worten:
Du fragst die Position ab, die der NPC zu einer bestimmten Tageszeit hat.
Je mehr Tageszeiten du verwendest, desto umfangreicher wird alles.
Nun musst du JEDEN EINZELNEN Schritt JEDES EINZELNEN NPCs einzeln machen.
Also, hat er meinthalben die Position von X "14" und die Position von Y "19".
Dann schreibst du in die entsprechende Positionsfork (abhängig davon, was du nicht an das Ereignis selbst geknüpft hast) "Move Event: Step up" oder so.
Du darfst leider keine "Move all"s verwenden, also wenn du mal in ein Bewegungsereignis mehr als einen Schritt machst, musst du das per "Wait" regeln.
Und so musst du das eben machen.
Was dabei herauskommt:
Pro NPC ein Event, das das Verhalten des jeweiligen NPCs verrät mit SEHR vielen Seiten, weil ja JEDE X-Koordinate (oder Y, wenn du das da in die Ereignisbedingungen geschrieben hast), die der NPC möglicherweise haben kann (also am besten ihn nicht über die ganze Karte laufen lassen) eine Seite erfordert und das zu jeder Tageszeit, für die du Switches besitzt.
Das wäre die feine Lösung- wenn du das umsetzt, wird dein Spiel in der Hinsicht genial... und SEHR viel Zeit benötigen.
Vielleicht ist diese Zelda-Lösung von Lil_Lucy gar nicht so schlecht... nicht ganz so eindrucksvoll, aber doch, wie ich finde, die verhältnismäßig beste!