Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 7 von 7

Thema: NPCs bewegen

  1. #1

    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?

  2. #2
    Ü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.

  3. #3
    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?
    Geändert von flobby (30.08.2008 um 20:51 Uhr)

  4. #4
    Zitat Zitat von flobby Beitrag anzeigen
    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.

    Für die NPC würde ich dann folgendes Script empfehlen:
    Code:
    scn NPCScript
    
    Begin OnPackageDone [PackageID]
     set [QuestID].MyVar to 2
    End
    Das ResultScript im Dialog natürlich entsprechen:
    Code:
    set [QuestID].MyVar to 1
    ;Hier muss evtl. noch ein bisschen EvaluatePackage hin

  5. #5
    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

  6. #6
    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...hp/StartCombat
    http://cs.elderscrolls.com/constwiki...cter_disappear
    http://cs.elderscrolls.com/constwiki...php/EquipItem:)

  7. #7
    danke das wird mir helfen!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •