Archiv verlassen und diese Seite im Standarddesign anzeigen : NPCs bewegen
Hi
Ich würde gerne in einem Script einbauen, dass sobald ich mit jemanden über ein Topic gesprochen hab, dieser NPC dann zu einem XMarkerläuft. Wie kann ich das machen?
Low Post
29.08.2008, 14:57
Ü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:
scn NPCScript
short MyVar
Begin OnPackageDone [PackageID]
set MyVar to 2
End
ResultScript des Dialogs:
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.
Muss man wenn man mehrere Personen irgendwo hin laufen lassen will, für jeden ein eigenes Package, Script Variable, ... machen?
Edit: Mir ist noch was eingefallen: Geht das vieleicht, wenn man allen NPCs den selben Script zuweist?
Low Post
30.08.2008, 21:29
Muss man wenn man mehrere Personen irgendwo hin laufen lassen will, für jeden ein eigenes Package, Script Variable, ... machen?
Edit: Mir ist noch was eingefallen: Geht das vieleicht, wenn man allen NPCs den selben Script zuweist?
Nö, da das Script für jede Referenz extra läuft.
Wenn du mehrere NPC wo hinlaufen lassen willst nimmst du besser eine Questvariable und dann die Abfrage GetQuestVariable (http://cs.elderscrolls.com/constwiki/index.php/GetQuestVariable).
Für die NPC würde ich dann folgendes Script empfehlen:
scn NPCScript
Begin OnPackageDone [PackageID]
set [QuestID].MyVar to 2
End
Das ResultScript im Dialog natürlich entsprechen:
set [QuestID].MyVar to 1
;Hier muss evtl. noch ein bisschen EvaluatePackage hin
Ich hab noch ne Frage fast dazu.
Ich will das ein NPC einen anderen angreift und anschließend einen Ring anlegt.
Weiß aber leider nicht wie das mit Scripts umzusetzen ist!
Bitte um Hilfe!
mfg Frage23
Muecke49
08.09.2008, 16:31
Erstmal musst Du eine Bedingung festlegen unter der dieser Kampf gestartet werden soll....also entweder ein Queststage, oder wenn der Spieler nen Trigger erreicht, ein Gespräch......was auch immer. ;)
Davon hängt dann auch ab, in welchem Mode das Script startet. Also
on Gamemode, on Trigger Player.........usw.
Dann vergibst Du Deinen beiden NPCs eine Referenz und nimmst folgenden Befehl.
"1.NPC.REF".StartCombat "2Npc.REF"
endif
End.......
Dann einen Gamemode Block
If ( NPC1.REF.Death == 1 )
2NPCref.EquipItem ObjectID (kann sein, dass Du hier noch einen AddItem mit dem Ring voransetzen musst, damit er den Ring auch hat, falls er diesen nicht vorher schon im Inventar hat. :))
endif
End
Das CS Wiki ist da übrigens sehr hilfreich. :)
http://cs.elderscrolls.com/constwiki/index.php/StartCombat
http://cs.elderscrolls.com/constwiki/index.php/Make_character_disappear
http://cs.elderscrolls.com/constwiki/index.php/EquipItem:)
danke das wird mir helfen!
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.