£exa
Freund des Hauses
Geht, ist aber nicht ganz so leicht. Das Teleportieren darf dann nicht aus dem Dialog heraus stattfinden. Nehmen wir an, du hast einen NPC, der diesen Teleport durchführt. Du legst nun auf diesen NPC ein Script (wenn er nicht ohnehin schon eines hat). Nun machst du folgendes:
Du deklarierst in diesem Script eine lokale Variable und fügst einen Codeblock ein:
Wo und wie dieser Codeblock in das NPC Script kommt, hängt davon ab, ob es schon eines gibt, und falls ja, wie es aussieht.
In den Dialog kommt dann anstelle des Teleportbefehls folgendes hinein:
set [EDITORID DES NPC].TeleportPC to 1
GoodBye
Sofern dieser NPC nur einmal im Spiel vorkommt, sollte das funktionieren. Gibt es mehrere NPCs, die diese Teleportfunktion haben, muss man das ganze mit einer globalen Variablen lösen, aber das Prinzip bliebe gleich.
Du deklarierst in diesem Script eine lokale Variable und fügst einen Codeblock ein:
Code:
short TeleportPC
IF ( TeleportPC = 1 )
IF ( MenuMode )
return
EndIF
set TeleportPC to -1
player->PositionCell ; // hier kommt der Teleport-Befehl aus dem Dialog rein
return
EndIF
Wo und wie dieser Codeblock in das NPC Script kommt, hängt davon ab, ob es schon eines gibt, und falls ja, wie es aussieht.
In den Dialog kommt dann anstelle des Teleportbefehls folgendes hinein:
set [EDITORID DES NPC].TeleportPC to 1
GoodBye
Sofern dieser NPC nur einmal im Spiel vorkommt, sollte das funktionieren. Gibt es mehrere NPCs, die diese Teleportfunktion haben, muss man das ganze mit einer globalen Variablen lösen, aber das Prinzip bliebe gleich.