[Modding] DLG-Scripting: Die Anfänge

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
da bei mir doch ständig Fragen aufkommen, und ich endlich mal meinen kleinen Mod durchziehen will, wobei ja für die erste Hälfte nur noch Scripte und Dialoge fehlen, mach ich nun mal einen kleinen Thread auf, damit ihr mir vielleicht helfen könnt bei kleineren Scriptfehlern!
Dann haben auch andere etwas davon und erkennen ihre Fehler vielleicht auch gleich.

Wenigstens hab ich meinem Hauptmann (HSCapt01.cre, gleichnamige dlg) ein Scriptgeschrieben in die HSCapt01.d
Als ich sie dann umwandeln wollte, funktionierte soweit auch alles, nur WeiDu meinte, dass ein Parsing-Error aufgetreten wäre.
Nun frag ich mich wo dieser sein kann?!

Script sieht folgendermaßen aus:

Code:
BEGIN ~HSCapt01~

IF ~ NumTimesTalkedTo(0)
Global("HSGuard1","LOCALS",0)~ THEN 
  SAY ~Ihr vampirisches Ungeziefer. Dieses Schwert soll sich in eure verfaulte Brust bohren und euer verdorbendes Herz in tausend Stücke zerreissen!~
  IF ~~ THEN DO ~Enemy()~ EXIT
END

Liegt es an der Variable, die ich da einfach mal reingebracht habe?
Ich wollte das einfach nur mal ausprobieren, und hab bloss die Bezeichnungen von einem Beispiel verändert

Muss man sonst diese globale Variable irgendwo hinschreiben? Wenn ja, dann wo?
 
Zuletzt bearbeitet von einem Moderator:

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.425
Code:
IF ~ NumTimesTalkedTo(0)
Global("HSGuard1","LOCALS",0)~ THEN [b] BEGIN ersterDialog[/b]
SAY ~Ihr vampirisches Ungeziefer. Dieses Schwert soll sich in eure verfaulte Brust bohren und euer verdorbendes Herz in tausend Stücke zerreissen!~
IF ~~ THEN DO ~Enemy()~ EXIT
END

Statt "ersterDialog" kann man auch die einfach "1" oder sonstwas nehmen. Jeder Dialog muss eine Bezeichnung haben, damit man andere Dialoge darauf verlinken kann.
 
Zuletzt bearbeitet von einem Moderator:

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
Code:
IF ~ NumTimesTalkedTo(0)
Global("HSGuard1","LOCALS",0)~ THEN BEGIN 1
SAY ~Ihr vampirisches Ungeziefer. Dieses Schwert soll sich in eure verfaulte Brust bohren und euer verdorbendes Herz in tausend Stücke zerreissen!~
IF ~~ THEN DO ~Enemy()~ EXIT
END

Also würde es dann bei mehreren Auswahlmöglichkeiten so aussehen:
IF ~ NumTimesTalkedTo(0)
Global("HSGuard1","LOCALS",0)~ THEN BEGIN 1
SAY ~Ihr vampirisches Ungeziefer. Dieses Schwert soll sich in eure verfaulte Brust bohren und euer verdorbendes Herz in tausend Stücke zerreissen!~
IF ~ NumTimesTalkedTo(1) ~ THEN BEGIN 2
SAY ~Verschwindet Endlich!~
IF ~~ DO ~Enemy()~ EXIT
END

Und muss diese Bezeichnung des Dialoges dann immer anders sein? Das heisst auch bei anderen dlg-Dateien? Oder nur innerhalb dieser?

PS: nun akzeptiert WeiDu das Script, sagt mir aber: You're did not specify '--tlkout dialog.tlk', so 1 strings were not saved.

Das soll wohl heissen, ich soll die dialog.tlk angeben, und sonst wird nichts in der gespeichert, oder? Nur die Dialog.tlk ist doch immer im BG2-Ordner, und den geb ich bei der Umwandlung von *.d -> *.dlg doch immer an!
 
Zuletzt bearbeitet von einem Moderator:

Caswallon

Chronist
Registriert
13.08.2001
Beiträge
11.460
Die Labels (also die "Dialogbezeichnung") muß meines Wissens nur in einem Dialog (= *.D) eindeutig sein; in verschiedenen kann sich das wiederholen.
"1" und "2" usw. finde ich persönlich nicht so schön; mit einem etwas aussagekräftigeren Namen läßt sich das hinterher immer besser lesen. :) Ist aber nur eine persönliche Ansicht; funktionieren tut's auch so.

Zur Syntax kann ich nichts Genaues sagen...
Die Zeile
WeiDU RTWCult.d --transin RTWCult.tra --tlkout dialog.tlk --ftlkout dialogf.tlk --out override
funktioniert bei mir. (Hat mir Dyara vorgesagt... :p)

Edit:
Nein, laß mal Maus oder so erklären... nach den ersten Block fehlt imho ein END oder ein DO, aber ich krieg keine vernünftige Syntax zusammen, von der ich sicher bin, daß sie klappt...

Cas
 
Zuletzt bearbeitet:

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
hehe, dann hast du das selbe Problem wie ich :)

Ich hab immer eine Idee, aber wenn ich die dann umsetzen will, und mir mal die ganzen Möglichkeiten bei Trigger und Actions etc. anschaue, dann kann ich nur noch ahnungslos davor sitzen... ich schaff es einfach nicht die dann in einen ordentlichen Syntax hinzukriegen.
Aber ich bin ja noch ein Anfänger und würde gerne hinbekommen, selbstständig das ganze einmal hinzukriegen :)

Ich les mir zur Zeit Maus Tutorial durch, und dort wird ja noch einmal ganz von Anfang an erklärt. Vielleicht sollte ich mir das ganze erstmal richtig alles durchlesen und nicht so mitten drin einsteigen!

Aber eine Frage hab ich mal noch zum Scripten:
ich hab schon mehrere Karten erstellt, und per IETME meine selbsterstellten Monster aufs Feld gebracht. Nun hatte ich aber im Tutorial gelesen, dass man diese auch per Script einfügen kann.
Welche Methode ist nun besser? Wenn ich die Figur mit IETME aufs Feld bringe, ist es doch trotzdem WeiDu-kompatibel, oder?
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.425
Okay, der generelle Syntax für jeden Dialog lautet:

Code:
IF ~Bedingung~ THEN BEGIN label
SAY ~x~
IF ~Bedingung~ THEN REPLY ~x~ DO ~Aktion~ EXIT/GOTO label
END

Die Bedingungen können leer sein, DO ~Aktion~ kann man weglassen, entweder EXIT oder GOTO label als Ende des Dialoges

Lesen kann kann man das wie folgt. Wenn Bedinungen erfüllt sind, dann beginnt der Dialog und der Sprecher sagt etwas. Dann gibt es eine oder mehrere Antworten des HC, wobei man für die Antwortmöglichkeiten Bedinungen festlegen kann. Nach jeder Antwort muss stehen, ob der Dialog damit zu ende ist, oder zum nächsten Dialog weitergeleitet wird. Dann muss noch klar sein, dass am Schluss alle Dialogoptionen aufgelistet sind (END).

Zum aktuellen Beispiel:

Code:
IF ~ NumTimesTalkedTo(0)
Global("HSGuard1","LOCALS",0)~ THEN BEGIN 1
SAY ~Ihr vampirisches Ungeziefer. Dieses Schwert soll sich in eure verfaulte Brust bohren und euer verdorbendes Herz in tausend Stücke zerreissen!~
[b] IF ~~ THEN EXIT
END[/b]

IF ~ NumTimesTalkedTo(1) ~ THEN BEGIN 2
SAY ~Verschwindet Endlich!~
IF ~~ [b]THEN[/b] DO ~Enemy()~ EXIT
END
 
Zuletzt bearbeitet von einem Moderator:

Caswallon

Chronist
Registriert
13.08.2001
Beiträge
11.460
Zur Sache mit den Kreaturen:
Wenn es um selbsterstellte Areas geht, ist es im Prinzip egal.
Bei schon im Spiel vorhandenen Areas (was auf die Mehrzahl aller Mods zutrifft) ist ein Skript einfacher, da ein Patchen der ARE-Datei mit WeiDU ein ganzes Stück komplizierter ist. :)

Cas
 

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
Ist das Script jetzt so richtig?

Ah langsam versteh ich das ganze!
Ich überseh immer den Unterschied zwischen REPLY und SAY!
Bei REPLY ist es ja noch der selbe Dialog sozusagen. Bei SAY ist es ja schon ein anderer, womit der alte beendet werden muss, und ein neuer begonnen!

Zu den Kreaturen per Script einfügen, ist das dann wirklich logisch!
Ich hab mir mal per IETME schon existierende Karten angeguckt gehabt. Und die sind ja oft so unübersichtlich, dass man da wohl nichts mehr hinkriegen würde.

Ich hab aber gleich die nächste Frage :D
Durchs Tutorial hab ich bei meinem kleinen Pförtner so eine Art Stimmung eingebaut...
und nun frag ich mich eben wie die Reihenfolge vom Script ist!
Im Tutorial heisst es:

Code:
BEGIN char 
IF NumTimesTalkedTo(0) THEN BEGIN 1
SAY Hallo. 
IF ReputationGT(Player1,5) THEN REPLY Hallo, ich bin CHARNAME GOTO 2

und soweiter und so fort
Nun ist es ja so, dass erst einmal die Kreatur angesprochen wird, die "Hallo" sagt, und erst dann geprüft wird, wie der Ruf ist, oder? Und wenn der Ruf größer als 5 ist, wird "Hallo, ich bin CHARNAME" gesagt, oder?

Wäre es somit dann nicht klüger wenn es heisst:

Code:
BEGIN char 
IF NumTimesTalkedTo(0) ReputationGT(Player1,5) THEN BEGIN 1
SAY Hallo. 
IF  THEN REPLY Hallo, ich bin CHARNAME GOTO 3 EXIT
END

IF NumTimesTalkedTo(0) ReputationLT(Player1,6) THEN BEGIN 2
SAY Verschwindet! 
IF  THEN REPLY Ist ja schon gut... ich bin schon weg EXIT
END

Edit:
Ich hab jetzt mal mein Script geschrieben für meinen Türvorsteher sozusagen, der jetzt aber nur auf jemanden reagiert wenn der Ruf größer als 15 ist! Ein Gegensatz dazu muss noch geschrieben. Es geht mir bloss darum ob das jetzt mit den Verschachtelungen etc. richtig ist:

Code:
BEGIN ~HSCapt01~

IF ~ NumTimesTalkedTo(0) ReputationGT(Player1,15) ~ THEN BEGIN Capt1
SAY~ Seid mir willkommen. Euer Ruf eilt euch schon vorraus!~
IF ~~ THEN REPLY ~Hallo, ich bin <CHARNAME>!~ GOTO Capt5
IF ~~ THEN REPLY ~Was erzählt man denn über mich?~ GOTO Capt6
IF ~~ THEN REPLY ~Schön, und?~ GOTO Capt5
IF ~~ THEN REPLY ~Geht von mir ab ihr schleimiger Wurm!~ GOTO Capt4
END

IF ~ NumTimesTalkedToGT(0) ~ THEN BEGIN Capt2
  SAY ~Ihr solltet euch schnellstens auf den Weg machen. Unsere grosse Anführerin Lady Integra ist kein geduldiger Mensch!~
  IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN Capt3
  SAY ~Es hat mich gefreut! Vielleicht sehen wir uns noch einmal wieder.~
  IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN Capt4
  SAY ~Ihr enttäuscht mich zutiefst! So muss ich euch also dahinraffen. Lady Integra wird nicht sehr erfreut sein...~
  IF ~~ THEN DO ~Enemy() Attack(NearestEnemyOfMyself)~ EXIT
END

IF ~~ THEN BEGIN Capt5
  SAY ~Mein Name ist Michael, <CHARNAME>! Ich bin ein Gesandter des stolzen Hauses der Helsing-Familie. Lady Integra wünscht euch zu sehen!~
  IF ~~ THEN REPLY ~Lady Integra Helsing? Von dieser Familie hab ich noch nie etwas gehört...~ GOTO Capt7
  IF ~~ THEN REPLY ~Dies interessiert mich überhaupt nicht! Machts gut~ GOTO Capt3
END

IF ~~ THEN BEGIN Capt6
  SAY ~Ihr seid ein grosser Mann des Kampfes und habt alle eure Aufgaben zu Ehren und Ruhme erledigt!~
      ~Ihr seid eine grosse Frau des Kampfes und habt alle eure Aufgaben zu Ehren und Ruhme erledigt!~
  IF ~~ THEN REPLY ~ Oh, vielen Dank der Blumen! Doch was wollt ihr von mir?~ GOTO Capt5
  IF ~~ THEN REPLY ~ Da liegt ihr ganz richtig! Ich muss dann aber auch weiter...~ GOTO Capt3
  IF ~~ THEN REPLY ~ Mit solchen Schmeichelein könnt ihr bei mir nicht landen. Lauft lieber sonst seid ihr ein weiterer Blutfleck an meiner Klinge zu Ruhm und Ehre~ GOTO Capt4
END

IF ~~ THEN BEGIN Capt7
  SAY ~Lady Integra Helsing hat die grosse Aufgabe übernommen das große Übel in der Welt zu bekämpfen! Doch sie kann euch näheres erklären. Ihr solltet sie also so schnell wie möglich aufsuchen!~
  IF ~~ THEN REPLY ~ Dann habt Dank! Ich mache mich sofort auf den Weg ~ GOTO Capt3
  IF ~~ THEN REPLY ~ Eure Art widert mich an. Ich denke es ist Zeit meine Klinge zu spüren~ GOTO4
END
 
Zuletzt bearbeitet von einem Moderator:

Caswallon

Chronist
Registriert
13.08.2001
Beiträge
11.460
Bei deinem Beispiel aus dem Tutorial:
Der Unterschied ist ja, daß im Original-Beispiel die Antwortmöglichkeiten des Charakters beschränkt werden, in deinem die Begrüßung des NPCs. Beides ist richtig; man muß halt wissen, was man will.
Will man die Begrüßung des NPCs nach dem Ruf richten, müßte man dein Beispiel verwenden.

Dein Dialog scheint mir richtig zu sein... aber verlaß dich nicht drauf. :D

Cas
 

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
Scheint aber doch ein Fehler drin zu sein :(

Wenn ich nach der Angabe von WeiDu gehe, dann meint er die Zeile

NumTimesTalkedTo(0) ReputationGT(Player1,15) und so weiter...

also man trennt die beiden doch nur durch ein Leerzeichen, oder?
Also irgendwie versteh ich das dann nicht... oder meckert WeiDu einfach, weil kein Gegensatz zu GT(15) exisitiert? Aber ich glaube so intelligent wird es nicht sein, dass es diesen Sinn-Fehler erkennt, oder?

PS: scheint doch ein anderer Fehler zu sein, aber selbe Zeile
Ich hab aber mal ReputationGT rausgenommen, und es wird trotzdem der selbe Fehler angezeigt!

PPS:
Ich hab den Fehler gefunden! :D
Ich hab "~" vergessen hinter dem IF
doch nun hab ich ein neuen Fehler, direkt in der Zeile darunter
WeiDu meint, dass Syntaxfehler mit "mir" vorliegt.
Dabei hab ich das mir sozusagen von <a href="http://forums.pocketplane.net/index.php?PHPSESSID=0466758a5974f19c70f1b1e7be4ab4a4&topic=55.0">diesem</a> Beispiel abgeguckt

PPPS:
also für heute geb ich es auf! Da ist irgendwo der Wurm drin!
Wenn ich SAY ~~ Text ~ IF ~~ THEN usw mache, dann meckert WeiDu beim IF, wenn ich SAY mit nur einem "~" mache, dann ist das zweite Wort des Textes ein Syntaxfehler...
also vielleicht fällt euch irgendwie der Fehler auf, aber mir heute nicht mehr.
Gute Nacht :)
 
Zuletzt bearbeitet:

Caswallon

Chronist
Registriert
13.08.2001
Beiträge
11.460
Ist es so, wie es oben steht?
Dann fehlt noch ein ~ als Abschluß der IF-Bedingung (hinter dem ReputationGT(Player1,15), vor THEN).

Cas
 

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
AAAAAAH
Super!!
Jetzt hab ich den Wurm endlich raus :D

Also da muss man ja richtig aufpassen mit diesen "~"

Jetzt ist nur noch ein Fehler bei BEGIN Capt7 drin

Edit: letzten Fehler gefunden! Hab ein END bei Capt6 vergessen
Jedoch wird jetzt ein Fehler in Zeile51 angezeigt

Das ist die letzte Zeile, und ich weiss nicht was ich da machen soll?!
Reicht kein einfaches END?

Das Exit ist ja bei den anderen beiden Ausstiegen deklariert.

Sooooo:
jetzt bin ich über überglück :)
*über beide Backen strahl* :D

Ich hab den letzten Fehler gefunden: es war GOTO4... doch da sollte eigentlich GOTO Capt4 stehen.

Nun hab ich wieder das Problem mit der --tlkout dialog.tlk

Ich werd mal deine Eingabe von Dyara probieren, Cas :)
Aber jetzt werd ich zufrieden schlafen gehen erstmal ;)
 
Zuletzt bearbeitet:

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.425
Hm, das mit dem Compilieren der d-Datei lass ich immer von WeiDU mittels einer tp2-Datei machen. Der Syntax ist mir sonst zu kompliziert und aufwendig ;)

Ansonsten Glückwunsch!
 

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
Der Syntax war sogar relativ einfach :)

Geschafft! :D
Ich werd nachher mal noch mein Vorsteher testen, weil ich gerade eine Gruppe hab, die einen größeren Ruf als 15 hat!

Also Syntax war jetzt:
weidu HSCapt01.d --tlkout dialog.tlk --ftlkout dialogf.tlk

und jetzt hat er endlich 18 Einträge zur Dialog.tlk gemacht und einen zur DialogF.tlk :D

Aber wenn das immer so ein riesen Aufwand ist für jeden der einzelnen Leute, dann seh ich ja langsam schwarz für meine Vorstellung, 10 verschiedene Kämpfer(selbes Fussvolk, aber verschiedene Hauptmänner), 7 Hauptcharaktere und sicher sonst wieviel Skripts fertig zu schreiben :o
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.425
Ähm, er hat nur einen Eintrag zur dialogf.tlk gemacht?

Das ist sehr verheerend. dialog.tlk und dialogf.tlk müssen immer dieselbe Anzahl von Strings enthalten, sonst bekommt ein weiblicher HC nur Buchstabensalat.

Der Aufwand ist hoch. Allerdings bekommst du sicherlich ein wenig Routine in das Ganze. Vor allem kann man mit der Zeit Sachen wiederverwenden (mit copy&paste). Ich hab für mein aktuelles Mod auch Skripte von vorherigen Mods verwendet und entschärft ;) . Wenn man einmal ein Magierskript gemacht hat, muss man es nur der jeweiligen Situation (besonders wirksame Zauber, Stufe des Magiers, etc.) anpassen und nicht jedesmal neu schreiben.
 

Seradin

Kleine Drow
Registriert
20.09.2002
Beiträge
1.386
@Cas: Sobald du eine Dialog-Datei mit über 300 Dialogen hast, bist du froh, wenn du Zahlen verwenden darfst. :D

@Pereghost: Dialog.tlk und DialogF.tlk sollten immer gleich viele Einträge haben.
Du kannst dir zum Basteln auch mal diesen Thread hier anschauen.

PS: zu Langsam :(
 

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
Also bei bei der Dialog.tlk 74136 String
bei der DialogF.tlk 74136
Also stehen die selben String-Anzahlen drin. Also scheint es doch richtig zu sein, hoff ich mal :)
Ich meinte nur, dass ich ja auch noch einen Extra-für-weiblich-Kommentar eingebaut hatte, der dann ja in die DialogF.tlk einfliesst.

Na ich guck mir heute mal noch die bcs-Dateien an, und vielleicht noch die tp2. Und dann hoffe ich, dass ich etwas mehr in der Materie drin stehe.
Außerdem darf ich ja jetzt auch noch eine Gegenseite zum RufGT(15) schreiben...
da versinkt man ja förmlich in Arbeit!
Wie lange sitzt man denn dann an einem Mod? :o

Edit:
Vielen Dank für den Link!
Aber da hab ich wieder das selbe Problem wie bei allen Tutorials! Es handelt sich wieder um einen NPC... die kann ich schon langsam auswendig. Aber den einfachsten Weg, nämlich einfach ein Gespräch mit einer fremden Person die man das erste mal trifft und mehrere Auswahlmöglichkeiten hat, fehlt überall. Und das muss man sich erstmal einmal selbst erarbeiten, so erscheint es mir zu mindestens :)
Aber vielleicht find ich da ja auch noch ein paar clevere Tipps, die ich dann bei mir anwenden kann!
 
Zuletzt bearbeitet:

Seradin

Kleine Drow
Registriert
20.09.2002
Beiträge
1.386
Der erste Dialog eines mitnehmbaren NPC ist doch genau dass was du suchst, nur das halt am Ende keine Option folgt, die ihn in die Gruppe bringt. Sonst sehen Dialoge für alle Nicht-Spieler-Charaktere vom System her gleich aus.
Also wie lange man an einem Mod sitzt, hängt davon ab, was das Modul machen soll. Einen einfachen NPC, der nur in die Gruppe aufzunehmen und rauszuwerfen ist, ohne anspruchsvolle Dialoge, bekomme ich inzwischen in einem Abend hin. Für eine kleine Quest kann man gut zwei/drei Wochen brauchen und für meinen Elvan Mod sitzte ich jetzt schon 1,5 Jahre (aber nicht ständig) dran. Was halt bei Mods sehr zeitaufwenig ist, sind die Dialoge und Texte (bei neuen items), vorallem, wenn man viele Möglichkeiten einbauen will.
 

Pereghost

Member
Registriert
22.05.2004
Beiträge
88
heisst Mod nicht Modifikation?
Hier wird es überall Modul genannt *grübl*

Na ich hab noch eine Menge vor mir:
Ich will noch 3 Karten erstellen, die zum Quest gehören. Um das Quest zu lösen, brauch ich 5 weitere Karten.

Dann die Charaktere:
1 männlicher einfacher Soldat
1 weiblicher einfacher Soldat
8 Hauptmänner
1 General Furgeson
1 schwächlicher Walter
1 menschliche Celes Victoria (wobei sie vielleicht ein NPC wird)
1 vampirische Celes Victoria
1 stärkerer Walter
1 Lady Integra van Helsing
1 Alucard (menschlich-vamprische Form)
3 weitere Verwandlungsformen von Alucard (wird wohl das schwierigste Script von allen)
1 vampirischer Incognito
2 Verwandlungsformen von Incognito
Massen von Vampiren, vampirischen Nebeln

weitere Idee war von mir:
zusätzlich gefallene Paladine und Waldläufer

Tja das sind also erstmal die Charaktere und Karten, der Rest wie ein paar Items wird noch dazu kommen.

Ich hab noch eine Frage:
Ich hatte geplant, dass auf einer Schriftrolle die auf Bodhis Tisch in der Mitte liegt der Standort beschrieben ist.
Wenn man die Schriftrolle dann aus dem Container "Tisch" nimmt, muss man sich die erst durchlesen, dann wird ein Skript aktiviert, dass die Weltkarte aktualisiert wurde.
Nun frag ich mich, wie man ein Skript auf einen Gegenstand, nämlich einer Schriftrolle legt?!
Und wie soll dieses dann aussehen, wenn es die Weltkarte aktualisiert.

Ansonsten wenn man auf der Seite des Bösen kämpft kriegt man den Hinweis wegen der Weltkarte von Bodhi. Ist es klug Bodhi's Dialog und Skript zu verändern?

Noch eine weitere Frage:
ich hab die dialog.tlk und dialogF.tlk, sowie die HSCapt01.dlg jetzt im WeiDu Ordner.
Jetzt muss ich sicher die dialog.tlk und dialogF.tlk, die im BG2-Ordner liegen, überschreiben mit denen aus dem WeiDu-Ordner, oder? Muss dann die HSCapt01.dlg auch noch in den override-Ordner rein?
Weil die Strings sind doch jetzt in der dialog.tlk drin...
 
Zuletzt bearbeitet:

Seradin

Kleine Drow
Registriert
20.09.2002
Beiträge
1.386
Ob Modul oder Modulation ist eigentlich egal. Bei anderen Spielen, werden die Ergänzungen halt Module genannt.

Ein Skript habe ich bis jetzt noch nicht über ein Item gestartet, aber es gibt zwei andere Möglichkeiten. Du kannst das Skript abfragen lassenob das item im Besitzt der Gruppe ist oder du kannst eine Variable setzten lassen, sobald das item im gebrauch ist, also z.B. gelesen wird. Beides sollte eigentlich machbar sein.

Also für WeiDu, brauchst du nur die *.d Dateien. Diese werden dann mit Hilfe der tp2-Datei in den Spiele-Syntax übersetzt und die *.dlg erstellt. Das soll heissen, lass deine .tlk und f.tlk da wo sie sind. WeiDu ergänst sie dann mit den neuen Dialogen, sobald das Mod installiert wird. Nur am Anfang muss man dem Charakter noch die richtige dlg zuordnen. Du brauchst also nichts weiter machen als in der tp2 alles richtig angegeben zu haben.

Ein WeiDu Mod sieht eigentlich erstmal so aus.
In dem Ordner des Mods befinden sich alle d-Dateien (können auch in einem entsprechenden Unterordener für die Sprachen sein), items, areas, Skripte, Bilder usw. Durch starten der entsprechenden exe-Datei wird dann das tp2-file durchgegangen und die Teile installiert und zum Teil auch kompaliert (übersetzt) wie zum Beispiel die d-Dateien.
 
Zuletzt bearbeitet:
Oben