Hi ich hab ne frage, wie kann man Gespräche erstellen, also mit einem eigenen NPC den man Erstellt hat und in eine Karte gesetzt hat. bin echt ratlos
Ich danke schonmal im Vorraus (ein zweites Danke gibt es wenn es funzt )
Hi ich hab ne frage, wie kann man Gespräche erstellen, also mit einem eigenen NPC den man Erstellt hat und in eine Karte gesetzt hat. bin echt ratlos
Ich danke schonmal im Vorraus (ein zweites Danke gibt es wenn es funzt )
In Chapted dem Charakter nen namen geben und dann ne passende CNV dazu erstellen.
Thx für di schnelle antwort
nur noch eine frage, gibt es eine Vorlage für eine CNV ? oder irgendwie hilfe eine zu erstellen ?
Großes Danke
Edit: So eigendlich könnte man dieses Thema jetzt auch schließen meine Frage ist beantwortet
So nach langer Abstinenz von SoA, habe ich das gute Stück mal wieder installiert.
Und mich auch gleich wieder an ChaptEd rangesetzt.
Doch ohne das ich eine Frage stelle geht es ja nicht
Also die Frage/Problem ist folgendes:
Ich habe ein Dialog mit einem neuen NPC erstellt, in dem Dialog bekommt man einen Quest.
Doch wenn ich den NPC anspreche, sagt er nicht das was er sagen soll.
(Fängt mit den völlig falschen Dialog an)
Den Dialog und ein Bild des falschen Dialogs gibts im Anhang.
Vllt. kann ja mal jemand über den Dialog drüberschauen und mir sagen was eventuell alles falsch ist.
Ich habe natürlich schon selber drübergeschaut, aber für mich sieht das alles richtig aus....
(PS. Vllt. kann ja auch jemand sich die Quest/bzw. die script-sachen anschauen. kann sein das sich da Fehler eingeschlichen haben.)
Dein Problem ist meinermeinung der Punkt [root].
Weil Standart mäßig wird immer der Text der bei Default= gesprochen, außer es wird ein anderer Text getriggert.
Es müsste Reichen say1=All(ttl(!PlayerKnown)); zu setzten. Das ist soweit ich weiß der Trigger der beim ersten Ansprechen gebraucht wird.
Um Später von einem anderen Punkt zu starten musst du dich entsprechend mit den Triggern auseinander setzen. Ich weiß nicht ob irgendwer das hier wirklich gemacht hat^^ ich zumindestens nicht :D.
Bei den beiden Weitern Punkten geh ich aus meinem Gedächtnis. D.h. es können auch Fehler sein und sind daher mit Vorsicht zu genießen. Nimm im Zweifelsfall deine Erfahrung für Richtiger :D.
Weiter im Text
warum du unter [paul] das script1 UNTER den RxpTxt2 gesetzt hast weiß ich nicht. vllt. ein fehler der Nummerierung? Um fehler zu vermeiden sollten zusammen gehörende Teile untereinander und die Selbe nummer haben. (Mein ich zu errinern)
Du fügst auch ständig Titels (Addtitel) hinzu zum Char ohne das du sie Triggerst, also benutzt, oder wieder entfernst. Warum? zumindestens das Entfernen sollte man machen, sonst könnte SOA stress machen
zum einen, scheinst du deinen NCP in chapted nicht korrekt benannt zu haben so das er keine CNV läd. Er müsste den Namen Paul haben damit es klappt.
Zu deiner CNV:
du hast denke ich einfach dinge vertauscht.
[paul]Say=Hallo, mein Guter!RspTxt1=Hallo wie geht es euch?NxtLn1=paul1RxpTxt2=Tut mir Leid, aber ich habe wirklich kein Interrese mit euch zu sprechen.script1=player.addtitle(paul-bad0);Nxtln2=defaultRspDflt=Ich muss weiter.
[paul-bad0]Say=Was wollt ihr denn noch. Ich will euch nicht bei euren achso wichtigen Tätigkeiten aufhalten.Rsptxt1=Das war nicht so gemeint, ich bitte euch um Entschuldigung.script1=player.addtitle(paul);NxtLn1=defaultRspTxt2=Das stimmt und deshalb werde ich jetzt auch gehen.script2=playeraddtitle(paul-badx);Nxtln2=default2
du willst eigentlich zu paul-bad0 weiter, setzt aber nen title statdessen und der dialog geht weiter zu
ich kann dir nur wärmstens empfehlen cnv's mit dem dazugehörigen tool im vorfeld zu testen
Ok danke Vol. werde demnächst die Sache mit den CNV-Tool testen.
Ich denke ich habe mich ein wenig mit den scripten übernommen
Und wollte viele Gut-Böse Sachen einbauen.
Im ChaptEd-Ordner liegt ja ein Worddokument und da sind alle scriptbefehle eingetragen.
In so einem Dialog kann man ne menge toller sachen einbauen
Muss mich nochmal intensiv damit beschäftigen
MfG
wie geesagt, ich denke dein fehler liegt darin, das du dem NCP die CNV garnicht zugewiesen hast. Fazit -> kann nicht klappen
Ok ich habe das ganze nochmal vereinfacht versucht.
Ich habe einen Dialog erstellt, am Ende des Dialogs soll der NPc von seiner jetzigen Position zu einer anderen position laufen.
Folgendes habe ich getan:
Hier der Dialog:
[FileID]
Author=
Coding=
Approved=
version=1
[CharacterID]
Name=Paul
GUID=paul
[Titles]
Set=
Checked=
Removed=
[Quest]
Added=
Removed=
[Items]
Given=
Taken=
Checked=
Added=
[SyntaxCheck]
[Problems]
1=
[Questions]
1=
[root]
Count=6
Else=
Default=Danke, Paul.
say1=Hallo!;
goto1=Paul1
[paul1]
say=Hallo, darf ich Fragen wer ihr seid, und woher ihr kommt?
RspTxt1=Hallo, natürlich. mein Name ist %playername% und ich bin gerade mit dem Schiff angekommen.
NxtLn1=paul2
RspDflt=Bis Bald!
[paul2]
say=Also %playername%, was führt euch den hierher? Niemand geht freiwlillig in diesen schweren Tagen nach Avalon!
RspTxt1=Das stimmt aber ich hörte was hier vor sich geht und wollte unbedingt helfen. Aber nun zu euch, wer seid ihr und was ist eure Aufgabe.
NxtLn1=paul3
[paul3]
say=Mein Name ist Paul, ich komme aus Taberland. Und als der krieg bekann hat man mich mit einer Garnision als verstärkung geschickt. Aber inzwischen sind fast alle aus meiner Truppe tot.
RspTxt1=Tut mir leid das zu hören!
NxtLn1=paul4
[paul4]
say=Ja es ist ein Jammer, das waren viele gute Soldaten die nicht zu ihren Frauen zurück kehren werden. Aber der Kampf geht trotzdem weiter.
RspTxt1=Ihr habt eine gesunde Einstellung Paul, was wollt ihr als nächstes tun?
script1=player.addtitle(xpaul1);
NxtLn1=paul5
[paul5]
say=Ich denke ich werde wieder mal auf meinen alten Posten vorbei schauen. Würde gerne wissen wer da noch alles lebt. Wir sehen uns wieder %playername%.
script1=Siege2CA20BF75001719.moveto(PathCorner2CA20BF750346D5);
RspDflt=Dann will ich euch nicht länger aufhalten. Gehabt euch wohl Paul.
Dann habe ich dem NPc einen Namen gegeben- in dem fall Paul.
Dann habe ich einen PathCorner erstellt und unter GroupName den Namen Paul gesetzt.
In ChaptEd habe ich unter der Option Events-OnActivate des NPC folgendes:
converse(paul)
In ChaptEd habe ich unter der Option Events-OnLoad des NPC folgendes:
player.iftitle(xpaul1); Siege2CA20BF75001719.moveto(PathCorner2CA20BF750346D5);
So nur bewegt sich der NPC kein Stück.
Edit.
Ok ich habe dann nochwas versucht:
Zusätzlich zu dem was ich oben gemacht habe, habe ich:
Einen PathCorner direkt vor dem NPC gesetzt, und unter OnLoad folgendes:
Siege2CA20BF75001719.setpos(PathCorner2CA20BF752867D6);
um die Position des NPC zu bestimmen ?
Dann habe ich unter der Option AI-Idle beim NPC folgendes:
Unter PathStart: PathCorner2CA20BF752867D6
Unter PathEnd: PathCorner2CA20BF750346D5
Unter PathEndSCR: Siege2CA20BF75001719.setpos(PathCorner2CA20BF752867D6);
Unter PathStartSCR: converse(paul)
Ich weiß nicht ob das was direkt damit zutun hat, aber ich habe bei anderen NPC geschaut. Die auch nach einem Gespräch ihre Position wechseln.
Hat übrigens auch nichts gebracht
Ich würd ja schritt für Schritt vorgehen funktioniert schon das Gespräch? Wenn nein dann wird er auch nicht laufen.
Doch das Gespräch funktioniert
Er will nur nicht laufen
gucks dir bei anderen ncp's ab, die nach nem dialog weglaufen. so viele sind das imho auch nicht
ZitatOriginal von voldemort13
gucks dir bei anderen ncp's ab, die nach nem dialog weglaufen. so viele sind das imho auch nicht
Ja das habe ich versucht,a ber leider ohne Erfolg.
Ich habe das Script im Script-editor prüfen lassen und da war alles in Ordnung.
Auch die CNv. habe ich im CNV-editor prüfenlassen und da war auch alles in Ordung.
Folgende Schritt habe ich gemacht.
1. den NPC neu gesetzt und die alten PathCorners gelöscht.
2. einen neuen PathCorner gesetzt
3. Dem NPC bei Events OnLoad folgendes Script zugewiesen:
player.iftitle(xpaul1);
moveto(pathCornerXY);
endif;
4. einen weiteren PathCorner direkt vor dem NPC gesetzt
5. den beiden PathCorner GroupName und EditName zugewiesen.
6. Dasselbe beim NPC
7. Beim NPC AI_IDLE->PathStart->name des pathcorners der vor dem NPC ist.
8. PathStartSCR->converse(paul) eingetragen
9. PathEnd->name des pathcorners der am ziel gesetzt ist
10. Script->das script=GUIDXY.converse(paul)-->guid steht für den namen des NPC`s unter GameObject
Und natürlich habe ich in der CNV. unter einer Zeile folgendes:
[paul5]
say=Ich denke ich werde wieder mal auf meinen alten Posten vorbei schauen. Würde gerne wissen wer da noch alles lebt. Wir sehen uns wieder %playername%.
script1=player.addtitle(xpaul1);
RspTxt1=Dann will ich euch nicht länger aufhalten. Gehabt euch wohl Paul.
NxtLn1=xpaul1
RspDflt=none
die CNV. läuft ohne probleme
Ich weiß langsam echt nicht was ich falsch mache.
Versuchs mal mit einem Trigger
Ein Trigger ist doch schon vorhanden->script1=player.addtitle(xpaul1);
oder meinst du einen Trigger im Editor->gsOnTrigger ?
mfg
ZitatOriginal von Odin
Ein Trigger ist doch schon vorhanden->script1=player.addtitle(xpaul1);
Das ist kein Trigger, das ist ein Scriptaufruf.
ZitatOriginal von Odin
oder meinst du einen Trigger im Editor->gsOnTrigger ?
mfg
Exakt den meine ich.
Habe ich getan aber es funktioniert noch nicht.
Aber vllt. habe ich es ja wieder falsch gemacht
ich habe einen sOnTrigger erstellt und unter OnTrigger folgendes definiert:
IfPlayer;
player.iftitle(xpaul);
SiegeXY.moveto(PathCornerXY);
endif;