Creation Kit - NPC ab einer bestimmten Quest Stage teleportieren?

xXBlackWorkXx

Abenteurer
Hi an alle,
ich arbeite zur Zeit an einer kleinen aber feinen Mod und möchte dazu auch eine kleine und simple Quest erstellen (die übrigens schon vollständig fertig ist, bis auf die Scripte, etc.). Auf jeden fall folgendes, ich möchte ab einer bestimmten Quest Stage einen NPC zu einen anderen Ort teleportieren, damit er dort auch bleibt. Dies soll auch nur einmal passieren.

Also, wenn ich z.B. mit diesen NPC gesprochen habe und dann z.B. in Weißlauf bin und dort z.B. etwas aufnehme, wie z.B. eine Notiz, dann soll sich dieser NPC zu einen bestimmten Punkt teleportieren, sodass ich zu ihn hingehen kann und mit ihn reden kann.
Das ist doch sicherlich im Rahmen des Möglichen, oder? Denn ich habe schon in Google, Youtube, Foren, sogar hier geschaut, auf deutsch und englisch, allerdings habe ich nichts gefunden, das mir bei dieser Sache hilft sondern nur ähnliche aber dennoch andere Sachen(/Fragen) diesbezüglich.

Ich hoffe mir kann geholfen werden. :)

- xXBlackWorkXx
 
Nein, leider nicht das was ich suche. :/
Ich möchte ja keinen "Spell" etc. haben, sondern beim aufheben/lesen einer Notiz soll der NPC teleportiert werden (NICHT der Player).
 
Und das, ist das was helfen könnte?

TELEPORT STONE SCRIPT

ObjectReference Property TeleportMarker auto
Event OnActivate(ObjectReference akActionRef)
Game.GetPlayer().MoveTo(TeleportMarker)
EndEvent

oder dies:

In a script you can use game.getplayer().moveto(SOMEXMARKERYOU'VEPLACED) or Game.FastTravel(THATSAMEXMARKER) if you've (a) placed and xmarker and (b) for the second option enabled fast travel.

You don't need to move the NPC, you can just spawn a new ref of that NPC at the battle location and disable it when the player leaves the area. (or you can NPCREFNAME.moveto() if you want)

Advance the quest stage after the player says yes, and have the next (hidden non-log entry) stage include a script snippet which does the moveto/fasttravel bit.
 
Hmm, das klingt schon interessanter. Aber leider kenne ich mich mit Scripten nicht wirklich gut aus. Weißt du evtl. wo ich das dann einfügen muss? In einen von mir gesetzten marker (oder sowas in der art) oder eine Area?
 
Hab nun alles versucht, noch weitere Scripts hinzuzufügen aber ich bekomm immer eine Fehlermeldung beim compilen des Scripts.. Aber ich muss auch sagen, dass ich einfach versucht habe mehrere Scripte untereinander zu schreiben ^^
also ich hab echt kp -.-

Und dieses Stone Script ist ja für den Player, ich habe versucht es für einen NPC benutzbar zu machen, allerdings klappt das irgendwie nicht so recht, weil ich nicht genau weiß wie ich das schreiben muss :/
 
Ich geh mal davon aus, dass du es schaffst du Stage zu setzten.
Dort schreibst du in das Result Script Fenster der Stage rein:

NPC.moveto(game.getPlayer())
Dabei muss NPC eine Actor Property sein, die du unter Properties anlegst und die mit dem gewünschten NPC gefüllt ist. Ein wenig eleganter geht es mit Aliases aber das ist auch etwas komplizierter.
 
Was denn für ein Result Script Fenster/Window? Meinst du die Quest Stages oder welche, weil wenn ich dort drauf gehe und auf eine Stage klicke ist kein Result Stage Window zu sehen.
Sorry aber wie gesagt, ich bin ziemlicher noob darin, deshalb sollte lieber alles wirklich seeeeehr langsaaaam erklärt werden. ^^

Wäre also nett, wenn du es evtl. Schritt für Schritt erklären könntest? :)
 
Was denn für ein Result Script Fenster/Window?


Gemeint ist das Skript-Fenster der entsprechenden Quest Stage.

Unbenannt-1.jpg
 
Also, ich hab nun alles eingefügt und die Property auch erstellt bekommen, allerdings passiert nun folgendes, wenn ich das Script compilen möchte, dann erscheint eine Fehlermeldung:
Unbenannt2.png

Anscheind erkennt der das Ziel (also die Taverne in Drachenbrügge) nicht, wieso denn? Weil so heißt doch die Zelle, wird zumindest im Render Window als Titel angezeigt.

Und so sieht im Moment der Quest Stage Tab aus (Das obere "This ist Stage 20" nicht beachten):
Unbenanntwma6.png


Und so ist mein Property eingestellt:
Unbenanntu7Ynj.png



PS: Sorry für Doppelpost.
 
Zuletzt bearbeitet:
Das Ziel muss eine reference sein, ich denke mal eine Zelle funktioniert nicht.

Mit FalcoProperty.MoveTo(Game.GetPlayer()) wird der NPC direkt zum Spieler teleportiert. Soll das so sein?
Wenn nicht, kannst du den NPC auch zu einem marker in der Zelle beamen. Dafür muss dann ebenfalls ein Property angelegt werden, Typ ObjectReference.

Z.B. FalcoProperty.MoveTo(ZielMarker)
 
Ich hab ein Problem... undzwar wollte ich eine Property für den Marker erstellen und den Namen den ich benutzt habe, den gabs anscheind schon. Wenn ich nun eine neue Property erstellen möchte, mit verschiedensten Namen die es gibt, es kann "chuckNorris" heißen oder sonst was, ich bekomme immer folgende Fehlermeldung obwohl ich diese gar nicht erstellen möchte:

Starting 1 compile threads for 1 files...
Compiling "QF_A_Follower001_BrielusQues_03001331"...
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(36,25): script property FourShieldsMarkerProperty already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(36,25): script variable ::FourShieldsMarkerProperty_var already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(36,25): script property FourShieldsMarkerProperty already has a get function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(36,25): script property FourShieldsMarkerProperty already has a set function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(48,13): script property NewProperty already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(48,13): script variable ::NewProperty_var already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(48,13): script property NewProperty already has a get function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(48,13): script property NewProperty already has a set function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(50,13): script property NewProperty already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(50,13): script variable ::NewProperty_var already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(50,13): script property NewProperty already has a get function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(50,13): script property NewProperty already has a set function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(54,13): script property NewProperty already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(54,13): script variable ::NewProperty_var already defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(54,13): script property NewProperty already has a get function defined
C:\Program Files (x86)\The Elder Scrolls V Skyrim\Data\Scripts\Source\QF_A_Follower001_BrielusQues_03001331.psc(54,13): script property NewProperty already has a set function defined
No output generated for QF_A_Follower001_BrielusQues_03001331, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on QF_A_Follower001_BrielusQues_03001331

Das regt echt auf, vorher stand nur das mit dem FourShield, als ich dann aber den Standardnamen verwendet habe kam der auch noch dazu, das nervt echt -.-' Kann ich nicht einfach in (Zielmarker) einen bereits vorhandenen nehmen ohne dieses Property?
 
Das wird ja immer besser:D

Ich würde vorschlagen, dass du erst mal alle nicht verwendeten Properties aus dem Skript entfernst. Dazu im Reiter 'Scripts' einen RK auf das Skript machen und mit 'Edit Source' die Quelldatei öffnen, die Zeilen löschen und das Skript mit STRG+S neu kompilieren. Du kannst für den Zielmarker natürlich auch ein vorhandenes Property verwenden, wenn es vom Typ ObjectReference ist. Alles weitere morgen.:nono:
 
Sooo, habe es nun geschafft eine funktionsfähige Property dafür zu erstellen. Ich hab dann einen neuen/neues "XMarkerHeading" in die Zelle eingefügt, diesen habe ich wiederrum in der Property als Reference ausgewählt. Was muss ich denn nun in FalcoProperty.moveto(Ziel) reinschreiben? Wenn ich die ID des Markers "XMarkerHeading 030069AD" reinschreibe oder auch ohne den Text davor, klappt es nicht. Sorry, dass ich soviel frage aber ich bin (hoffe ich zumindest^^) so nah dran und will es jetzt endlich mal geschissen bekommen :D
 
Ach ja, ich idiot...:headwall:

Edit: Hab es nun hinbekommen, der NPC wird ab einer gewissen Stage wegteleportiert, allerdings ist er nicht in der entsprechenden Interior Zelle, das ist doch zum Mäusemelken!:thunder:
Weißt du oder irgendwer anders, was jetzt evtl. schon wieder fail sein könnte? -.-