Hallo mal wieder, gleich zu beginn, ich bin blutiger Anfänger.
Das sollte mein erstes PI werden, habe es mit Hilfe von NR´s NPC-Tut und Scripting for Dummies eigedlich ganz gut hinbekommen, so jetzt aber mal das Prob.: Ich wollte bei Galbadir einen Auftrag einfügen der erst ab einem bestimmten Rang in der Gilde verfügbar wird. Ich sollte den Auftrag bekommen ein "besonderen Seelenstein" aus einer Höhle zu besorgen und im gegenzug eine Ring von Ihr zu erhalten. Soweit so gut, die Texte habe ich alle, Tagebucheinträge sind auch vorhanden, Remove und AddItem sollten auch funktionieren. Aber wenn ich sie anspreche bekomme ich zwar das Angebot ihr zu helfen, dann springt die Textoption abere gleich auf die Frage ob ich den Stein schon hätte -> ja nein , und das wiederhohlt sich dann immer ohne das ich was von dem Auftrag zu hören bekomme.
Was habe ich vergessen?? :?
Entweder steh ich auf der Leitung, oder ich muss doch mehr wissen ;)
- Setzt du bei Auftragserteilung einen Tagebucheintrag? Steht im Feld Result ein Tagebuchindex?
- Fragst du bei der Meldung zur Erfüllung als Variable den Index ab und verwendest eine Choice Auswahl oder wie hast du die Auftragsabrechnung geplant?
- Fragst du alternativ (unter Funktion/Variable) das gewünschte Item ab?
Sonst wird das meinerseits ein Rätselraten oder eine NR-Tut Wiederholung ...
edit: Du verwendest choice - ich sollte mal besser lesen ...
In der Info/Response Liste muss dein Auftrag ganz unten stehen, darüber die Choice-Frage und darüber dann der nächste Teil des Dialoges.
Der jeweils weiter oben stehende Teil muss solche Bedingungen enthalten die dafür sorgen, daß er erst dann ausgeführt wird, wenn der weiter unten stehende Teil erfüllt ist.
So wie du das beschreibst ist entweder eine Bedingung nicht gesetzt oder fehlerhaft definiert? Ich würde es dann so anlegen:
- Die Journalindizes in 10er Schritten anlegen.
- Deinen Auftrag nach ganz unten, Result _dein_Journalindex 10
- Darüber Choice, Funktion einstellen auf Journal ... _dein_Jounalindex ... =10 (damit siehst du die Auftragserteilung nie wieder)
- usw.
Hinweis:
Bei größeren Indexschritten kann man leicht noch was zwischenschieben.
Die Aufragserteilung hat keine Bedingung (kann man aber einbauen) - wird in jedem Fall ausgeführt - da dann der Index auf 10 steht kommt MW nie mehr bis nach unten in der Liste (fängt oben an) - denn nun ist ja die Bedingung für die Choice-Frage wahr.
Ein schönes Beispiel ist glaub ich die Alchemie-Formel Quest in MW.
Ok, wollen wir mal,
Ich wollte eigendlich auch ne Abfrage ob ich den Auftrag akzeptiere, das habe ich dann allerdings weggelassen, wenn ich auf das Topic "Besonderer Auftrag" klicke sollte ich eigendlich die Auftragsanweisungen erhalten, gleichzeitig wird das Tagebuch aktiviert über einen Tagebuchindex im Funktin/Variable.
Ich benutze eine Choice Auswahl ob ich den Ring habe, wenn ich allerdings auf ja klicke und den Ring nicht habe wiederholt sie die Frage bis ich auf nein klicke -> verknüpft mit einem Goodbye im Resultfenster.
DAs mit dem Item habe ich wie im NR-Tut versucht zu lösen wenn ich ihn habe sollte es durch AddItem und RemoveItem ausgetauscht werden.
Das prob ist halt das ich den Auftrag überhaupt nicht bekomme.
Zum allgemeinen Verständnis - ich hatte den Dialog vorliegen.
Es ist nur eine Kleinigkeit, ich habe es im Bild erklärt.
Beim Eintrag "Ohh ihr habt es ..." würde
ich die Results mal wie folgt
ändern:
- Player->RemoveItem "Seltsamer Seelenstein von Solo" 1
- Player->AddItem "Magierringsolo1" 1
- AddItem "Seltsamer Seelenstein von Solo" 1
- RemoveItem "Magierringsolo1" 1
Und es kann Schwierigkeiten mit dem Namen deines Topics geben.
Besonderen Angebot ist nämlich schon im Topic
besonderen Angebote (orig. MW) enthalten. Außer es ist Absicht ;)
Es gibt noch ein leeres Topic besonderes ... das kann sicher weg.
Ich persönlich würde andere IDs für Items vergeben, z.B
_sol_Itemname ... sol macht sie ziemlich eindeutig, der _ stellt sie in Listen an den Anfang, schnelles wiederfinden ;)
edit: Nicht zur Frage gehörend - aber zur .esp ... du hast da Originaldialoge und Greetings als geändert gekennzeichnet (z.B. ring - Fagoth) - wenn du da nichts geändert hast muss das wieder raus (cleanen, TesTool, TESAME) - auch alle leeren einträge können weg ;)