Über ein Package, wahrscheinlich ein Travel-Pagacke.

Dazu fügst du dem Script des NPCs eine Variable hinzu, die du in dem Dialog auf 1 setzt.
Wahrscheinlich musst du danach noch ein EVP abrufen.

Bei deinem Travel-Package machst du Haken bei Continue if PC near, Must Reach Location & Must Complete.
Zusätzlich fügst du noch in der Contidionsseite eine Abfrage nach GetScriptVariable [deine Referenz] == 1 hinzu.

Dann noch im Script des NPC einen OnPackageDone-Block, der die Variable nach beenden des Packages auf 2 setzt.


NPCScript:
Code:
scn NPCScript

short MyVar

Begin OnPackageDone [PackageID]
 set MyVar to 2
End
ResultScript des Dialogs:
Code:
set [deine Referenz].MyVar to 1
[deine Referenz].EvaluatePackage

Wenn du dann noch beim Dialog als Condition GetScriptVariable [deine Referenz] == 0 hinzufügst erscheint der Dialog, wenn der NPC noch nicht seine Reise angetreten hat.
Bei GetScriptVariable [deine Referenz] != 1 immer wenn er gerade nicht reist und wenn du die Abfrage einfach weglässt kannst du ihn egal was er gerade tut auf die Reise schicken.