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 20 von 20

Thema: Selbsterstellte Dialoge funktionieren nicht

  1. #1

    Selbsterstellte Dialoge funktionieren nicht

    Wie der Titel schon sagt funktionieren bei mir die Dialoge nicht.

    Also ich geh ganz normal im CS auf Quests, erstell da ein neues Topic stell alles im ersten Reiter ganz normal ein. Dann geh ich auf Topics erstell da auch neu, geb dafür einen neuen Text, sag wer dieses Topic haben soll und des erscheint net ingame.

    Nun des ungefähre Aussehen:

    EditorId: Hunter
    TopicText: Jäger
    Info Flags #R... NPC Disposition Conditions
    Die Jagd... 1 Hunter GetIsID Hunter==1

    Response Text
    Die Jagd ist nicht einfach, man braucht viel Ausdauer.

    Result Scripts
    -

    Conditions
    Target FunctionName FunctionInfo Comp Value
    no GetIsID Hunter == 1

  2. #2
    Zitat Zitat von Nimbus Beitrag anzeigen
    Wie der Titel schon sagt funktionieren bei mir die Dialoge nicht.

    Also ich geh ganz normal im CS auf Quests, erstell da ein neues Topic stell alles im ersten Reiter ganz normal ein. Dann geh ich auf Topics erstell da auch neu, geb dafür einen neuen Text, sag wer dieses Topic haben soll und des erscheint net ingame.

    Nun des ungefähre Aussehen:

    EditorId: Hunter
    TopicText: Jäger
    Info Flags #R... NPC Disposition Conditions
    Die Jagd... 1 Hunter GetIsID Hunter==1

    Response Text
    Die Jagd ist nicht einfach, man braucht viel Ausdauer.

    Result Scripts
    -

    Conditions
    Target FunctionName FunctionInfo Comp Value
    no GetIsID Hunter == 1
    Was genau funktioniert denn nicht ? Kannst du die Mod dann nicht mehr speichern, erscheinenen die Dialoge nicht ingame bei deinem Jäger usw. ?

    Mfg Master of Worlds

  3. #3
    ups vergessen also die Dialoge erscheinen nicht ingame ich kann es ganz normal speichern

  4. #4
    Jedes Topic muss dem NPC auch erst hinzugefügt werden.

    Dafür darfst Du jedoch im Topicfenster nicht die Funktion "Add Topic" ganz rechts im Fenster verwenden. Die ist leider verbuggt. (Add Choice kann man übrigens verwenden.)

    Am besten beim Greeting im Resultscriptfenster das Topic mit folgendem Script hinzufügen:
    "MeinNPCReferenz".addTopic "MeinTopic"

    Oder Du bringst diese Zeile in einem anderem Script unter, damit das Topic zu einem passenden Zeitpunkt erscheint.

  5. #5
    Zitat Zitat von Muecke49 Beitrag anzeigen
    "MeinNPCReferenz".addTopic "MeinTopic"
    Referenz kann weggelassen werden, es ist immer AddTopic TopicID, Rest wird ignoriert .

  6. #6
    Kann es vllt auch sein das du am Anfang eine Condition gesetzt hast die nicht erfüllt wird?
    Ich hatte z.B. ausversehen mal eine 0 anstatt eine 1 bei GetIsPlayableRace gesetzt und so hat die Quest garnicht erst angefangen.

  7. #7
    @ Mücke ich hab es über Script gemacht
    @ SirTroy ich schau mal nach

  8. #8
    Also das Hauptproblem ist erstmal, dass das Topic nicht auftaucht. Muecke49s Antwort war schon genau richtig, ich werde versuchen das noch ein wenig auszuführen.

    Erstmal ein kleiner Tipp: Zu Testzwecken würde ich dir empfehlen, dass du einfach alle Conditions, die du eingegeben hast, löschst. So kannst du ganz klar und deutlich sehen, ob das Script funktioniert hat, das du geschrieben hast.

    Noch ein Tipp: Es gibt eine Mod namens "Lore Dialogue 300", kennst du die? Als ich angefangen habe, Dialoge zu schreiben, habe ich mir für die technischen Aspekte einfach ein paar Mal diese Mod angesehen. Denn die Mod deckt viele Bereiche des Dialogsystems ab.
    Download bei TESNexus
    Wenn du diese Mod im CS öffnest, wirst du bei Quests irgendwo die eine Quest finden, in der die Topics der Mod sind.

    Bei dieser Mod kannst du auch gut sehen, wie das Hinzufügen von Topics funktioniert. Sieh dir dazu das Script an, das der Quest gegeben wurde (im ersten Reiter ist irgendwo so ein Scroll-Down-Menü, bei dem ein Scriptname zu sehen ist - rechts davon ist ein Button, mit dem du das Script öffnen kannst).
    Du wirst sehen, dass das Script im Grunde ganz simpel ist, da immer wieder das Gleiche geschieht.

    Ich habe dieses Script mal grob für dich hingeschrieben. Es sieht so aus:

    Code:
    ScriptName NimbusHunterTopicScript		; kann man frei wählen
    
    short DoOnce				; Siehe (1)
    
    Begin GameMode
    
    	If DoOnce = 0			; Siehe (3)
    		AddTopic Hunter		; Der Spieler kann nun das Topic "Hunter" ansprechen
    		Set DoOnce to 1		; Siehe (4)
    	EndIf                                 ;Siehe (5)
    End
    Erklärungen:
    1) Am Anfang wird eine Short-Variable erstellt (die den Namen DoOnce trägt, aber das ist egal).
    2) Danach wird dem Script gesagt, dass es nur im GameMode laufen soll.
    3) Die "If ..."-Zeile sagt im Grunde: Wenn die gerade eben erstellte Variable gleich 0 ist (wenn also noch nichts mit ihr passiert ist), dann führe eine Reihe von Befehlen aus.
    4) Der letzte dieser Befehle ist "Set DoOnce to 1". Was bedeutet das? Naja, die Variable DoOnce wird auf 1 gesetzt, das heißt das nächste Mal, wenn das Script bei (3) abfragt, ob die Variable gleich 0 ist, wird es feststellen, dass dem nicht so ist, und folglich alle Befehle innerhalb der Klammer "If..."/"EndIf" überspringen. Das Skript wird also effektiv nur ein einziges Mal ausgeführt.
    (5) Am Ende der Liste von Befehlen steht die "EndIf"-Zeile; die sagt, dass die darunterstehenden Befehle nicht mehr diese Bedingung erfüllen müssen.
    (6) Der einzige Befehl, der darunter steht, ist der "End"-Befehl. Der sagt nur: Hier ist der Teil des Skripts, der im GameMode laufen soll, zu Ende (in diesem Fall ist das aber das komplette Skript!)

    Das kannst du im Grunde direkt kopieren und als neues Script speichern.

    Was passieren wird: Egal welchen NPC du ansprichst, er wird das Thema "Hunter" haben. Warum? Na weil du hoffentlich zu Testzwecken vorher alle Bedingungen von deinem Thema entfernt hast. Wenn das Thema erscheint, dann ist alles in Butter. Du kannst dann wieder die Conditions hinzufügen, so dass nur noch der eine NPC aus deiner Mod dieses Thema anbietet.

  9. #9
    Zitat Zitat von Schattenläufer Beitrag anzeigen
    Das Skript wird also effektiv nur ein einziges Mal ausgeführt.
    Ähnlich wie in Morrowind wird bis zum return-Statement das gesamte Script durchgearbeitet. Nur sorgt der DoOnce-Schalter dafür, dass die Operation nicht mehrfach ausgeführt wird - das Script nudelt aber fröhlich weiter (und verbraucht Ressourcen).

    Lösung: Am Ende Stopquest QUESTID einfügen.

  10. #10
    Zitat Zitat von bg2408 Beitrag anzeigen
    Lösung: Am Ende Stopquest QUESTID einfügen.
    Problem: Dann verschwinden aber auch die Dialoge aus dieser Quest wieder.
    Also, steht zumindest so beim CS Wiki, ich habs selbst noch nie ausprobiert. Machst du das so bei Dialog-Quests?

  11. #11
    Zitat Zitat von Schattenläufer Beitrag anzeigen
    Problem: Dann verschwinden aber auch die Dialoge aus dieser Quest wieder.
    Also, steht zumindest so beim CS Wiki, ich habs selbst noch nie ausprobiert. Machst du das so bei Dialog-Quests?
    Deshalb erstellt man ja auch zwei Quests: Eine mit Script, eine ohne - und in der ohne liegen dann die Dialoge.

    Grundsätzlich sollten Quests, die Dialoge haben, niemals ein laufendes Script haben. Laufende Scripts gehören immer und ohne Ausnahme in "dummy"-Quests. Erspart eine Menge Arbeit .

  12. #12
    Okay, das macht Sinn. Wieder was gelernt - dann werde ich gleich mal meine eigenen Dialog-Quests ein bisschen umgestalten.

  13. #13
    sry das ich solang auf mich warten lasse. ich hab ein tut durchgearbeitet in dem steht das mein Script reichen sollte (abgesehen natürlich davon das kein Topic genannt ist).

  14. #14
    so jetzt hab ich es endlich geschafft zumindest fast, denn noch immer liegt irgenwo ein Fehler vor . wenn ich ein eigenes GREETING erstell und einen eigenen Char und dem Char des Greeting zuteile benutzt der des net, statdessen sagt er "Ich habe keine eigene Begrüßung" oder so ähnlich wenn ich es aber irgendeinem anderen Char zuteile benutzt er des weiß jemand warum?

  15. #15
    Edit: Erste Antwort gelöscht, da erst den Beitrag falsch verstanden......*schäm*


    Hrmm, hat dieser NPC eine eigene Rasse? Wenn er dieses Greeting nicht nutzt, doch andere schon, dann stimmt noch irgendwas mit den Conditions nicht. Das müssen nicht mal die Conditions des Greetings sein, es können auch die Conditions der Quest sein. Wenn Du dort eine Condition mit PlayableRace eingegeben hast, kann da der Hund schon begraben liegen, falls dieser NPC keine der Vanillarassen hat, sondern eine eigens erstellte.
    Check also mal die Conditions im Greeting und vor allem auch in der Quest, welche den Dialog trägt.
    Geändert von Muecke49 (09.07.2009 um 07:50 Uhr)

  16. #16
    Conditions stimmen ich hab zum Test mal einfach einen Waldelf erstellt -> die Condition Playable Race stimmt also sonst stimmen sie auch die einzige weitere Bedinung ist nämlich GetIsId und dann ID meines Test NPC und Value ist auf 1

  17. #17
    Wenn dein Char eine eigene Rasse ist, musst du ihm bei der Race-Erstellung, ich glaube auf der ersten Seite (wenn nicht, geh die anderen Reiter durch) bei Voice, die Stimme einer Oblivion-Rasse (also Redguard oder Nord z.B.) zuordnen. Oder du machst für deinen Char eine eigene Sprach-Aufnahme, ansonsten kommt immer der unten genannte Spruch.

  18. #18
    ich hab ne eigene Sprachaufnahme gemacht

  19. #19
    Hrmm, die Quest mit dem Greeting ist auch bereits am laufen?
    Wenn die Quest noch nicht aktiv ist,kann der char auch das Greeting noch nicht nutzen.

    Liegt auf dem NPC ein Script oder kommt der NPC in einem anderen Script vor?
    (das ist zwar weit hergeholt, doch so langsam gehen mir die Optionen aus, warum er das Greeting nicht nutzen sollte, wenn es bei anderen NPCs auch schon geklappt hat.)

  20. #20
    ne es liegt kein Script vor aber ich probier mal was aus

    EDIT: hab´s geschafft is nur bei diesem einen PlugIn net gegangen hab eine neue TestPlugIn gemacht dann gings
    Geändert von Nimbus (11.07.2009 um 06:35 Uhr)

Berechtigungen

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