Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls III: Morrowind » Morrowind Editor Help » 2 Fragen (Dialoge) » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag [  1  2  3  >  »  ]
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  2 Fragen (Dialoge)Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ich habe vor einiger Zeit ein Plug In begonnen, habe dann lange nichts mehr daran gemacht und möchte es jetzt endlich zu ende bringen. Schaffe ich aber alleine scheinbar nicht.

Also folgendes. Nachdem der Spieler einen Auftrag angenommen hat, sollte er das Topic (das zum Auftrag geführt hat) nicht ansprechen können. Mein Problem ist, dass der Spieler, nach der Annehmen des Auftrags immer wieder das Topic ansprechen kann und das Gespräch von vorne losgeht. Wie kann man das verhindern? Kann man denn nicht eine Meldung wie "Erfülle erst den Auftrag" schreiben? Nur wohin? Ich bräuchte das auch für denn Fall, dass der Spieler den Auftrag nicht annimmt (Realismus).
Ich habe versucht eine Antwort im TES zu finden. Doch leider bin ich wohl zu unerfahren, denn ich habe nichts gefunden.

Die zweite Sache wäre folgendes. Der Spieler nähert sich einem NPC, dieser spricht einen plötzlich an - alles was der Spieler machen kann ist die Meldung zu lesen und dann auf "Goodbye"/"Leb wohl" zu klicken. Ist das geschehen sollte der NPC den Spieler angreifen.
Was ist für eine solche Meldung nötig?
Dieser NPC sollte übrigens keine anderen Topics haben. Wie ist das möglich?

Danke im Voraus.

- Jerec


__________________

02.07.2003, 15:49 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zu 1.
Mach es mit Tagebucheinträgen. Schreib einfach Tagebucheinträge für deine Quest. Bei dem Gespräch, indem der Auftrag vergeben wird setzt du als Bedingung
Journal "ID_deines_Eintrages" = 0
und unter Result setzt du den Tagebucheintrag auf 10:
journal "ID_deines_Eintrages" 10
Damit wird der Gesprächstext nur einmal angezeigt. Jetzt schreibst du noch einen weiteren Gesprächstext, der den Spieler auffordert die Quest zu erledigen und schreibst bei den Bedingungen
Journal "ID_deines_Eintrages" = 10
Dann noch ein Tagebucheintrag mit der Nr. 20 der erscheint, wenn du den Auftrag erledigt hast und ein passendes Gespräch mit der Bedingung
Journal "ID_deines_Eintrages" = 20
und fertig ist das Topic.

Zu 2.
Du schreibst im Result-Feld deines Gespräches einfach folgendes Script rein:
"ID_des_NPC"->StartCombat Player
Goodbye


Ich hoffe das hilft dir weiter.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

Dieser Beitrag wurde von Hephaistos am 02.07.2003, 17:49 Uhr editiert.

02.07.2003, 17:47 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Vielen Dank erstmal.
Es hat geklappt, jetzt macht das auch Sinn (ich hatte bei einer Sache die Bedingung vergessen).

Zum 2.
Gut, aber wie bekomme ich es hin, dass der NPC meinem Spieler anspricht?
Vielleicht ein Script, welches die Entfernung meiner Figur zu dem NPC abfragt und falls ein Wert von vielleicht 10 (m?) unterschritten wird, spricht mich der NPC an?
So stelle ich mir das vor, nur bräuchte ich jemanden, der das in MW-Scriptsprache übersetzt

Ich hätte da noch ähnliches: Sobald der NPC tot ist soll ein weiterer Journaleintrag kommen und sobald ich seine Überreste durchsuche (Gegenstände aufnehme, etc.) nochmals ein weiterer.
Ich denke, dass ist ebenfalls durch ein Script realisierbar.
Nur wie?


__________________

02.07.2003, 19:10 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

zu 2.
Der richtige Befehl heißt forcegreeting z.B.:
if ( getdistance player <= 512)
..if ( br_talk == 0 )
....forcegreeting
....set br_talk to 1
..endif
endif
Natürlich mußt du ein passendes Greeting erstellen.

Und das mit dem toten NPC kriegst du leicht mit GetHealth hin.
if ( "ID_NPC"->Gethealth <= 0 )
Allerdings solltest du noch eine Variable einbauen die nach einmaligen erscheinen höher gesetzt wird, damit der Eintrag nur einmal erscheint.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

02.07.2003, 19:50 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Hephaistos
zu 2.
Der richtige Befehl heißt forcegreeting z.B.:
if ( getdistance player <= 512)
..if ( br_talk == 0 )
....forcegreeting
....set br_talk to 1
..endif
endif
Natürlich mußt du ein passendes Greeting erstellen.



Wo? Ins Dialogmenü oder in das Script?
Hab ich vergessen zu erwähnen, dass ich ein ziemlicher Newb bin?


__________________

02.07.2003, 20:35 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

In ein Script.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

02.07.2003, 21:05 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Nun, das sieht jetzt bei mir so aus:


begin arkoscript

if ( getdistance player <= 512)
..if ( br_talk == 0 )
....forcegreeting
....set br_talk to 1
..endif
endif

br_talk:
Greeting - test - usw

Result:
"Arko"->StartCombat Player
Goodbye


Das Greeting br_talk wird nicht als Variable annerkannt. Daher kann ich das Script auch nicht speichern. Wo liegt der Fehler?


__________________

02.07.2003, 21:19 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Also:

Das Script muß auf den NPC liegen und so ausschauen:

begin arkoscript

;jetzt mußt du erstmal die Variablen definieren
short br_talk


if ( getdistance player <= 512)
..if ( br_talk == 0 )
....forcegreeting
....set br_talk to 1
..endif
endif

;und dann das Script beenden
End


Damit wäre das Script fertig. Im Dialogfenster mußt du jetzt ein Greeting erstellen (z.B. unter Greetings 5). Dabei mußt du darauf achten, daß dein Greeting
a) ganz oben in der Liste steht und
b) unter Speaker Condition die ID des NPC festgelegt ist (damit das Greeting nur für diesen NPC gilt)
Im Result-Fenster des Greetigs schreibst du jetzt
"ID_des_NPC"->StartCombat Player
Goodbye


Damit müßte jetzt folgendes Ergebniss erzielt werden:
Wenn der Spieler näher als 512 kommt spricht der NPC den Charakter an. Als einzig mögliche Antwort erscheint Goodbye. Nach dem Ende des Gespräches greift der NPC den Spieler an.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

02.07.2003, 22:31 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Vielen Dank (auch für die Geduld ), es hat alles funktioniert

Nun, bis auf das...

Zitat:
Und das mit dem toten NPC kriegst du leicht mit GetHealth hin.
if ( "ID_NPC"->Gethealth <= 0 )
Allerdings solltest du noch eine Variable einbauen die nach einmaligen erscheinen höher gesetzt wird, damit der Eintrag nur einmal erscheint.



Der Tagebucheintrag kommt zwar, aber wie du richtig vorausgesagt hast, unbegrenzt oft. Wie und wo baue ich diese zweite Variable ein?


Dann noch die andere Sache:

Zitat:

Sobald der NPC tot ist soll ein weiterer Journaleintrag kommen und sobald ich seine Überreste durchsuche (Gegenstände aufnehme, etc.) nochmals ein weiterer.
Ich denke, dass ist ebenfalls durch ein Script realisierbar.
Nur wie?


Danke im Voraus.


__________________

03.07.2003, 12:44 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9269

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Das durchsuchen einer leiche ist technisch ein aktivieren - dazu sollte im script auf dem NPC folgendes stehen:

short searchonce

if (gethealth <= 0)
..if (onactivate == 1)
....if (searchonce ==0)
......journal "journaltopic" eintragsID
......set searchonce to 1
....endif
....activate
..endif
endif

Damit ist auch die andere frage beantwortet - der einbau einer "einmalvariable" geschieht beim anderen problem genauso wie hier "serarchonce" eingebaut ist!


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

03.07.2003, 13:14 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Nun, bis auf das...
Zitat:
Und das mit dem toten NPC kriegst du leicht mit GetHealth hin.
if ( "ID_NPC"->Gethealth <= 0 )
Allerdings solltest du noch eine Variable einbauen die nach einmaligen erscheinen höher gesetzt wird, damit der Eintrag nur einmal erscheint.

Der Tagebucheintrag kommt zwar, aber wie du richtig vorausgesagt hast, unbegrenzt oft. Wie und wo baue ich diese zweite Variable ein?

Das ist eigentlich ganz leicht, also mal schauen.
Zuerst brauchst du diese Variable, daß heißt du mußt sie am Anfang definieren:
short br_var ;der Name ist völlig egal
Du willst das der Eintrag nur kommt wenn er tod, sprich seine Health kleiner oder gleich Null ist:
if ( "ID_NPC"->Gethealth <= 0 )
Und der Eintrag soll noch nicht erschienen sein:
if ( br_var == 0 )
dann soll der Eintrag erscheinen:
Journal "ID_deines_Eintrages" = 0; oder welche Nummer der Eintrag auch immer hat
jetzt mußt du noch dafür sorgen, daß das Script weiß, daß der Eintrag schon einmal erschienen ist:
set br_var to 1
und jetzt noch die beiden if-Bereiche schließen
endif
endif

und fertig. Als Ergebniss erhalten wir:

short br_var

if ( "ID_NPC"->Gethealth <= 0 )
..if ( br_var == 0 )
....Journal "ID_deines_Eintrages" = 0
....set br_var to 1
..endif
endif



Was die zweite Sache betrifft hängt das davon ab: Willst du das der Eintrag erscheint sobald du ihn durchsuchst, dann muß auf dem NPC ein Script mit einer OnActivate-Abfrage liegen. Willst du das der Eintrag erscheint sobald du einen Gegenstand, z.B. eine Nachricht nimmst, so reicht ein Script auf dem entsprechenden Gegenstand mit einer OnPCadd-Abfrage, aber ACHTUNG OnPCAdd ist eine Variable.

Edit: sieht so aus als wäre ich zu langsam gewesen, vielleicht sollte ich doch nicht zwei Dinge gleichzeitig machen
Aber Garak kennt sich sowieso besser aus als ich, also solltest du im zweifelsfall auf ihn hören


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

Dieser Beitrag wurde von Hephaistos am 03.07.2003, 14:46 Uhr editiert.

03.07.2003, 13:37 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ich hatte es schon nach Garak's Modell gemacht und es hat funktioniert. Sorry, hätte ich früher posten sollen, ich hoffe du hast nicht zu viel Zeit damit kaputt gemacht.

Danke an euch beide.

Ich müsste jetzt eigentlich zurecht kommen, falls nicht melde ich mich

EDIT

Doch noch eine Sache: Ich sollte den Auftragsgeber jetzt wieder auf das Topic ansprechen können. Wie mache ich das?

EDIT²

Hat sich erledigt


__________________

Dieser Beitrag wurde von Lizard King am 03.07.2003, 17:12 Uhr editiert.

03.07.2003, 14:55 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Scheinbar doch nicht ...

----
Wenn der Auftrag angenommen wird, kommt die result:
journal "ID meines Topics" 10
Dann, in der Zeit in der der Auftrag noch nicht erfüllt ist kommt:
Bedingungen: journal "ID meines Topics" 10
keine Result
Wenn der Auftrag erfüllt ist kommt
Bedingungen:
journal "ID m. T." 20 (der Feind wurde getötet und durchsucht)
journal "ID m. T." 10
item "bestimmtes item" bestimmte Anzahl
Result
Choice "Reden" Zahl "Reden2" andere Zahl
----

Das funktioniert nicht. Auch wenn journal "ID m. T." 20 erfüllt wurde und ich die richtige Menge der Gegenstände in meinem Inventar habe, kommt immer noch die Meldung, dass ich den Auftrag nicht erfüllt habe.
Ich war mir so sicher, dass es so gehen müsste. Wo liegt der Fehler?

und sry wegen dem Doppelpost.


__________________

Dieser Beitrag wurde von Lizard King am 03.07.2003, 18:28 Uhr editiert.

03.07.2003, 18:27 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Bedingungen:
journal "ID m. T." 20 (der Feind wurde getötet und durchsucht)
journal "ID m. T." 10

Verstehe ich richtig, du hast sowohl "ID m. T." 20 als auch "ID m. T." 10 als Bedingung für den selben Text? Wenn ja ist das der Fehler. Wenn du bereits "ID m. T." 20 erfüllst kannst du nicht auch "ID m. T." 10 erfüllen, logisch oder? Also lösch "ID m. T." 10 einfach.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

03.07.2003, 21:01 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Keine Wirkung, das war auch meine erste Einstellung.
Ich wollte mit den zwei jorunal-Bedingungen eine Verbindung zwischen den Journaleinträgen und dem Greeting herstellen. Ich glaube es liegt naämlich daran, dass es eben zwischen dem Greeting, den Journaleinträgen und dem Topic keine Verbindung gibt.
Ich habe zwar beim Greeting die Bedingung
journal "ID m. T." 10 eingegeben, aber wenn ich den Auftrag nicht annehme und so zu dem NPC gehe, spricht er mich trotzdem an. Nur eben mit einer normalen Grußform und ohne mich danach anzugreifen.
Ich denke ich muss noch eine Bedingung in das Script bringen. Eben journal "ID m.T." 10.
Oder muss man da anders vorgehen?

Eigentlich sollte der NPC erst nach der Auftragsannahme dort sein, aber ob ich das realisieren kann, bezweifle ich.


__________________

04.07.2003, 11:44 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Eigentlich sollte der NPC erst nach der Auftragsannahme dort sein, aber ob ich das realisieren kann, bezweifle ich.

Das läst sich leicht mit dem Befehlen enable und disable realisieren. Einfach eine Abfrage machen, ob er da sein soll und dann mit
"ID_NPC" -> disable
entfernen oder mit
"ID_NPC" -> enable
hinstellen.

Ansonsten hab ich gerade den Überblick verloren. Schreib doch nochmal rein was genau der NPC tun soll und was er wirklich tut.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

04.07.2003, 12:03 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ja, ich glaube umständlicher ausdrücken konnte ich mich nicht mehr

Ich wollte bisher nicht so in Detail gehen. Also, was soll’s.

Der Spieler geht zu einem NPC, der übrigens zur Normalaustattung von Gramfeste/Mournhold gehört. Dort kann er dann einen Auftrag annehmen. Er soll in die Kanalisation, um dort nach einem Freund zu suchen. Dieser Freund ist wahrscheinlich schon tot und man soll sich um den Mörder kümmern. Außerdem soll man die Gegenstände des vermissten Freundes mitnehmen (wenn er Tod ist).
Der Spieler begibt sich also in Kanalisation, wird dort von dem Mörder angesprochen und muss ihn töten. => Journaleintrag. Dann entdeckt man die Leiche des Vermissten und nimmt seine Gegenstände mit (anbei gibt es noch ein bisschen was zu plündern). => weitere Journaleintrag.
Jetzt sollte man den Auftragsgeber darüber informieren können, doch das geht nicht. Es kommt immer noch die Meldung, dass der Auftrag nicht erledigt sei.

Hier noch mal die Dialogeinstellungen:
Auftragsannahme:

Bedingungen: Choice
Text: Darum geht's, wollt ihr annehmen
Result: Choice "ja" 1 "nein" 2
(vereinfachte Version)

Auftrag angenommen:
Bedingungen: Choice "1" ; Jurnal "ID m.T." 0
Text: Danke, toll
Result: journal "Id m.T." 10

Auftrag noch nicht erledigt:
Bedingungen: Journal "id. m. T." 10
Text: noch nicht erledigt
keine Result

Auftrag erledigt - mit den richtigen Gegenständen:
Bedingungen: Journal "ID m.T." 3 ; item "gegenstand" richtige Anzahl
Text: ja, super. Habt ihr alles?
Result: "Ja, alles Hier ist die Gegenstände" 3 "Ja, nur die Gegenstände habe ich nicht (Lügen)" 4

Auftrag erledigt - die Gegenstände wirklich nicht haben:
Bedingung: Journal "ID m. t." 3 ; item "Gegenstand" weniger als verlangt
Text: Ihr habt ihn gefunden? Wo sind Gegenstände? Holt sie!
keine Result


So...Ich hoffe das ist etwas übersichtlicher. Was danach an Dialogen kommt ist ja egal.

Hier noch die Scripts:

Arkoscript (der Mörder):

begin arkoscript

short br_talk
short searchonce

if ( getdistance player <= 512)
..if ( br_talk == 0 )
....forcegreeting
....set br_talk to 1
..endif
endif

if (gethealth <= 0)
....if (searchonce ==0)
......journal "ringderreise" 2
......set searchonce to 1
....endif
endif

End

Sugarearscript (der vermisste Freund, wundert euch nicht über den Namen )

begin sugarearscript

short searchonce

if (gethealth <= 0)
..if (onactivate == 1)
....if (searchonce ==0)
......journal "ringderreise" 3
......set searchonce to 1
....endif
....activate
..endif
endif

end

Ring der Reise = ID des Journaltopic

Ich habe die searchone vom arkoscript übernommen, da ich einfach Nummer sicher gehen wollte.


__________________

Dieser Beitrag wurde von Lizard King am 04.07.2003, 12:48 Uhr editiert.

04.07.2003, 12:46 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Wenn ich mir das so anschaue kann ich eigentlich keinen Fehler finden. Allerdings ist deine Nummerierung der Tagebucheinträge irgendwie seltsam. Reihenfolge: 0, 10, 3. Ich weiß nicht ob sich Morrowind daran stört, daß der letzte Eintrag eine niedrigere Nr. hat als der vorletzte. Versuch mal das zu ändern. Ansonsten warten bis Garak wieder hier ist, wahrscheinlich weiß er mehr.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

04.07.2003, 15:34 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Lizard King
Crusader




Dabei seit: April 2003
Geschlecht:
Herkunft: bw
Beiträge: 482

Lizard King ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ja! Das war's!
Ich hatte diese Nummern mehr willkürlich gewäht und habe sie jetzt eine richtige Anordnung genommen.

Wie geht das jetzt mit dem enable?

if journal "ID m.T." 10
"ID_NPC" -> enable
endif

if journal "ID m.T" 40
"ID_NPC" -> disable
endif


So vielleicht?


__________________

04.07.2003, 16:01 Profil von Füge  deiner Freunde-Liste hinzu Email an Lizard King senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Du bist nahe dran. Der richtige Befehl heißt Getjournalindex und nicht journal.
Außerdem würde ich noch ein if ( cellchanged == 1 ) davor stellen.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

04.07.2003, 17:10 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
[  1  2  3  >  »  ]   « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR