Dialoge durch Variabeln beeinflussen
Posted: Tue Mar 30, 2010 1:16 pm
Hallo Leute
ich habe mich vorgestern zum ersten Mal mit dem Geck beschäftigt, bin also totaler noob. Einige Tutorials habe ich mir schon angesehen - ich kann mittlerweile Häuser platzieren und mit der Außenwelt verbinden sowie Nav-Meshs und funktionierende Händler (dank Metzgers Tutorial) erstellen.
Nun möchte ich einen einfachen Dialog erstellen in dem der NPC je nach Antwort des Spielers beim erneuten Ansprechen etwas anderes sagt. Ich habe mir überlegt, dass man dies durch die Abfrage von Variabeln regeln kann. Je nach dem, welche Antwort der Spieler wählt soll der Wert einer Variablen entsprechend gesetzt werden. Beim erneuten Ansprechen des NPC wird dann eben abgefragt, welchen Wert sie hat und dementsprechend erscheint dann der Text des NPC.
So hab ich mir das jedenfalls gedacht, in der Praxis klappt das bei mir natürlich nicht. Das dürfte wohl zum größten Teil daran liegen, dass ich mich mit Scripten eigentlich gar nicht auskenne und jetzt gerade meine ersten Erfahrungen mache. ..Ich hoffe, ihr könnt mir weiterhelfen, ich bin wie folgt vorgegangen (der Dialog ist auf die schnelle zusammengeschustert und dient nur dazu, mit der funktionnsweise überhaupt klar zu kommen).
Ich habe eine neue Quest erstellt und bei "Quest Data" folgendes Script eingefügt um überhaupt eine Variable zu definieren (eventuell habe ich da schon die ersten Fehler gemacht...)
scn MEINEQUESTSCRIPT
short MeineVariable
begin gamemode
end
Diese Variable soll nun je nach Dialogauswahl einen anderen Wert bekommen. (Momentan müsste der ja 0 sein, oder?)
Beim ersten Ansprechen erscheint folgender Dialog:
("say once" ist angeklickt)
SP: Hallo
NPC: Hallo, wie findest du meine Frisur?
Unter Choices habe ich "Auswahl1" sowie "Auswahl2" eingefügt.
Auswahl1 startet folgenden Dialog:
("say once" und "goodbye" ist angeklickt)
SP: Steht dir super!
NPC: Danke!
Unter "Result Script End" habe ich "set MeineVariable to 10" eingegeben. Es erscheint eine Fehler der sagt "Unknown variable 'MeineVariable'. Kann mir jemand sagen, was ich da falsch gemacht habe?
Auswahl2 startet folgenden Dialog:
("say once" und "goodbye" ist angeklickt)
SP: Sieht bescheuert aus.
NPC: Arschloch.
Unter "Result Script End" habe ich "set MeineVariable to 5" eingegeben. Gleicher Fehler wie oben.
Es gibt noch die zwei Topics "NPCErfreut" und "NPCBeleidigt" die je nach Antwort des Spielers beim erneuten Ansprechen des NPCs erscheinen sollen.
Bei "NPCErfreut" habe ich mir gedacht, dass bei "Result Script Begin" ne Abfrage wie "if meinevariable == 10" kommen muss um den Text zu zeigen, bei "NPCBeleidigt" dann eben "if meinevariable == 5"
Durch den obigen Fehler kann ich das aber noch nicht testen. Wäre das denn richtig oder habe ich da auch falsch gedacht?
ich habe mich vorgestern zum ersten Mal mit dem Geck beschäftigt, bin also totaler noob. Einige Tutorials habe ich mir schon angesehen - ich kann mittlerweile Häuser platzieren und mit der Außenwelt verbinden sowie Nav-Meshs und funktionierende Händler (dank Metzgers Tutorial) erstellen.
Nun möchte ich einen einfachen Dialog erstellen in dem der NPC je nach Antwort des Spielers beim erneuten Ansprechen etwas anderes sagt. Ich habe mir überlegt, dass man dies durch die Abfrage von Variabeln regeln kann. Je nach dem, welche Antwort der Spieler wählt soll der Wert einer Variablen entsprechend gesetzt werden. Beim erneuten Ansprechen des NPC wird dann eben abgefragt, welchen Wert sie hat und dementsprechend erscheint dann der Text des NPC.
So hab ich mir das jedenfalls gedacht, in der Praxis klappt das bei mir natürlich nicht. Das dürfte wohl zum größten Teil daran liegen, dass ich mich mit Scripten eigentlich gar nicht auskenne und jetzt gerade meine ersten Erfahrungen mache. ..Ich hoffe, ihr könnt mir weiterhelfen, ich bin wie folgt vorgegangen (der Dialog ist auf die schnelle zusammengeschustert und dient nur dazu, mit der funktionnsweise überhaupt klar zu kommen).
Ich habe eine neue Quest erstellt und bei "Quest Data" folgendes Script eingefügt um überhaupt eine Variable zu definieren (eventuell habe ich da schon die ersten Fehler gemacht...)
scn MEINEQUESTSCRIPT
short MeineVariable
begin gamemode
end
Diese Variable soll nun je nach Dialogauswahl einen anderen Wert bekommen. (Momentan müsste der ja 0 sein, oder?)
Beim ersten Ansprechen erscheint folgender Dialog:
("say once" ist angeklickt)
SP: Hallo
NPC: Hallo, wie findest du meine Frisur?
Unter Choices habe ich "Auswahl1" sowie "Auswahl2" eingefügt.
Auswahl1 startet folgenden Dialog:
("say once" und "goodbye" ist angeklickt)
SP: Steht dir super!
NPC: Danke!
Unter "Result Script End" habe ich "set MeineVariable to 10" eingegeben. Es erscheint eine Fehler der sagt "Unknown variable 'MeineVariable'. Kann mir jemand sagen, was ich da falsch gemacht habe?
Auswahl2 startet folgenden Dialog:
("say once" und "goodbye" ist angeklickt)
SP: Sieht bescheuert aus.
NPC: Arschloch.
Unter "Result Script End" habe ich "set MeineVariable to 5" eingegeben. Gleicher Fehler wie oben.
Es gibt noch die zwei Topics "NPCErfreut" und "NPCBeleidigt" die je nach Antwort des Spielers beim erneuten Ansprechen des NPCs erscheinen sollen.
Bei "NPCErfreut" habe ich mir gedacht, dass bei "Result Script Begin" ne Abfrage wie "if meinevariable == 10" kommen muss um den Text zu zeigen, bei "NPCBeleidigt" dann eben "if meinevariable == 5"
Durch den obigen Fehler kann ich das aber noch nicht testen. Wäre das denn richtig oder habe ich da auch falsch gedacht?