|
|
-
TOOL: Miranda Dialog Creator
Hier ein kleines Tool, welches ich für unser Team entwickelt habe, von dem aber sicherlich auch andere Modder profitieren können:
Eine der undankbarsten Aufgaben bei Gothic-Modding ist sicherlich das Erstellen von Dialogen.
Für jedes noch so kleines Gespräch ist zuerst eine wahre Copy&Paste&Suchen&Ersetzen-Orgie nötig. Auch das Korrekturlesen ist kaum möglich, da sämtliche Untertitel über zahllose Codezeilen verteilt sind.
Der Miranda Dialog Creator macht damit Schluss. Er übernimmt komplett die Erstellung der Skript-Dateien, der Entwickler braucht lediglich eine Dialogdatei erstellen, welche wirklich nur die wichtigen Informationen zu enthalten braucht. Das Format der Datei ist dabei so gewählt, dass diese in einer normalen Textverarbeitung erstellt werden kann. Man profitiert somit von den Vorzügen der automatischen Rechtschreibprüfung.
Ein einfaches Beispiel:
Code:
person: Pers_205_Lea, 16
info: SimpleDialog
>Hallo Welt, hier spricht der Held!
<Hallo Held, hier spricht Lea, die keine Ahnung hat, was du ihr
<sagen willst.
Das war es bereits! Diese wenige Zeilen sorgen dafür, dass der Spieler mit Lea einen kurzen Dialog führen kann.
Natürlich sind auch kompliziertere Sachen möglich:
Code:
Info: ExampleDialog
flags: permanent
conddia: SimpleDialog
conditem: ItFoMuttonRaw, 4
>Seid gegrüßt!
>!t_GreetNov
>Ich bringe das Fleisch.
>>ItFoMuttonRaw, 4
<Sehr gut! Hier deine Belohnung.
<<ItFoBooze
Dieser (beliebig oft wiederholbare) Dialog kommt nur zustande, wenn der Spieler mindestens vier rohe Fleischkeulen im Inventar hat und vorher mit Lea den Dialog SimpleDialog geführt hat. Nach der Begrüßung verbeugt sich der Held und gibt Lea die Keulen. Im Gegenzug gibt es Reiswein. Trotz dieser Komplexität ist der Dialog in ein paar einfach verständlichen Zeilen definiert.
Den Miranda Dialog Creator zum Download und eine Anleitung, welche alle seine Möglichkeiten erläutert findet ihr auf der offiziellen Website.
-
Hmm schöne Sache, ich mach sowas zwar normal lieber per Hand, aber ich werde es mir auf jeden Fall mal ansehen. Ich denke wenn du es auch selbst nutzt wird es einem schon einiges an Arbeit abnehmen
-
-
25.08.2004 06:49
#4
Bisher habe ich Dialoge immer per Copy&Paste und der Ersetzen-Funktion des Editors erstellt, Schlampigkeits-Fehler sind da vorprogrammiert. Werde mir das Tool auf jeden Fall runterladen und testen, gerade da bei uns bald unzählige Dialoge anstehen, kommt das wie gerufen 
Dickes Dankeschön im Voraus!
-
Also ich skripte auch per hand...
ich finde das acuh gar nict so schlimm denn in gesellschaft von anderen Leudden im skype hast du so viel Zeit zu denken das es da eigentlich reines Erhohlen ist^^
-

Abenteurer
Also, ich finde, es ist ein großartiges Tool und erleichtert das Dialoge schreiben um einiges. Vielen Dank, dass Du es zur Verfügung stellst.
Zwei Fragen ahbe ich allerdings:
1.: Kannst Du es irgendwie so einstellen, dass sich das Tool den Ordner merkt, wo ich zuletzt meine Skripte gespeichert habe, bzw die *.dia Optionen ausgelesen habe? Ist nämlich etwas umständlich, jedesmal wieder nach dem gleichen Ordner zu suchen, wenn er immer in eigene Dateien anfängt.
2.: Scheinbar ist es nicht möglich, mehrere 'opt' Befehle zu verschachteln. Oder ich mache da etwas falsch. Ich wollte einen Dialog schreiben, der etwa folgendermaßen aussieht:
Held: Kannst Du mir etwas beschaffen?
NPC: Was solls denn sein?
Option1: Ein Schwert
Option2: Eine Rüstung
- Wenn man jetzt Option eins auswählt gehts so weiter:
Held: Ein Schwert
NPC: OK, kostet 300 Goldstücke.
Option1: Nehme ich
Option2: Ist mir zu teuer.
Und wenn ich da versuche mehrere %-Zeichen einzufügen und mehrere 'opt'Funktionen zu verwenden, bekomme ich die Fehlermeldung 'FEHLER (Zeile 75): % nur bei Dialogen erlaubt'.
Geht das nicht oder mache ich was falsch?
-
@Fiddlers Green:
Zu 1.:
Am besten erstellst du dir eine kleine Batch-Datei, um den Creator zu starten:
Einfach eine Text-Datei mit .bat als Endung, z.B. run.bat erstellen und diese Zeile einfügen:
C:\j2sdk1.4.2_03\bin\java -jar MirandaDialogCreator.jar "D:\Programme\JoWooD\Gothic II\_work\Data\scripts\content\Story\Advext\DIALOGS\miranda2texts.dia" "D:\Programme\JoWooD\Gothic II\_work\Data\scripts\content\Story\Advext\DIALOGS"
Dabei musst du natürlich die Pfade und Dateinamen anpassen. Danach kannst du zum Erstellen einfach run.bat starten.
Zu 2.:
Soweit ich weiß, können in Deadalus Optionen selbst keine weiteren Optionen hinzufügen. Ich überprüfe das aber noch einmal und bringe bei Bedarf eine Version 1.1 raus.
-

Abenteurer
Aja, gut, dass mit der bat-Datei ist schonmal eine Hilfe.
Aber nochmal zu den Dialogoptionen: Schau Dir mal z.B. das Dialogscript von Orlan an, direkt den ersten Dialog unter Exit. Da sind auch mehrere Optionen verschachtelt.
Edit:
Noch ein kleiner Verbesserungsvorschlag: Es gibt in Daedalus auch den Befehl 'else if', der die Verschachtelungen von If-Abfragen unter umständen weniger unübersichtlich macht. Wenn Du den als $ELSEIF oder so noch einbauen könntest.
Also, anstatt
$IF condition == 1
$ELSE
$IF condition == 2
$ENDIF
$ENDIF
einfach
$IF condition == 1
$ELSEIF condition == 2
$ENDIF
Gerade, wenn man mehrere 'Ifs' verschachtelt kann das Recht unübersichtlich werden.
Geändert von Fiddlers Green (28.08.2004 um 14:30 Uhr)
-
Zeit für ein kleines Update. Die wichtigsten Neuerungen in Version 1.1:
- Beschränkungen beim Einfügen (%) und Löschen (%%) von Dialogoptionen gelockert. Dialogoptionen können sich nun gegenseitig einfügen, solange sie alle zum selben Dialog gehören.
- $ELSEIF
- Als Eingabe kann nun ein Verzeichnis anstelle einer einzelnen DIA-Datei angegeben werden. Der Creator verarbeitet dann alle *.DIA-Dateien in diesem Verzeichnis.
-

Abenteurer
Sehr gut, jetzt ist er wohl perfekt.
Soll ich bescheid sagen, wenn mir nochwas auffällt?
-
Feeback ist natürlich immer willkommen..
-
nur.. ich hab java kann das tool aber irgenwie nicht benutzen. kA warum^^
ich würd schon gerne mal reinguckn auch wenn ich so gut genug skripten kann^^
-
Was ist das genaue Problem? Hast du eine aktuelle Version von JAVA installiert, z.B. die J2SE 1.4.2?
-
So.. ich wollts mir runterladen aber 100MB nur für das behinderte java sind mir schon zu viel^^
ich denk da skripte ich allternativ weiter^^
-
Die benötigte Runtime Enviroment ist zwar nur 15 MB groß (du musst ja nicht das gesamte SDK runterladen, um Java-Programme auszuführen), aber ich will ja niemanden zu seinem Glück zwingen..
-
Lehrling
Hi
Ich muss Fizzban gratulieren. Das Tool ist echt super. Bei Dialogen erleichtert es enorm die Arbeit. Ich kann es nur jedem empfehlen. Ich werde mich mal einarbeiten damit und dann nur noch damit Dialoge machen.
Gruß
-kubi
-
Also erstmal hammer tool, arbeite schon eine weile damit. Eine sache stört mich allerdings, vielleicht ist es auch mein fehler k.a.
Jedenfalls muss man wenn es ein dialog mit trade funktion sein soll das naträglich einbauen mit flags gehts nid und per ! landest direkt in der info
an alle die jetzt sagen öh warum kramst du so nen alten thread raus.
Besser nen alten wieder hoch als neuen aufmachen oder?
-
Ich finde diese Tool auch sehr praktisch (deshalb steht es ja in den Credits von Gestrandet) und das man nachträglich in den Skripten noch ein paar Änderungen vornehmen muss ist ja auch kein Beinbruch, um das Handelsinventar aufzurufen muss man ja nur ein zusätzliches c info objekt erstellen und 2 zusätzliche zeilen eintragen trade = true (oder 1) und B_GiveTradeInv(self) schon ist das fertig. Ich füge übrigens auch die Bedingungen für Dialoge oft nachträglich ein auch wenn es nicht nötg ist, aber ich habe dabei irgendwie lieber das Skript direkt vor mir, als mir immer erst klarzumachen, wie ich die Bedingungen im creator genau setzen muss, damit das was ich haben will rauskommt, aber das ist ja eigene Blödheit .
-
Da fällt mir ein, dass auf meiner Festplatte schon länger eine MDC-Version mit einigen neuen Features schlummert. Die sollte ich einfach mal als Version 1.2 veröffentlichen.. 
Zum Download gibt es die Version wie üblich unter http://www.fizzban.net/creator.html
Neue Features:
- Neuer Flag neben important und permanent: trade, was den Dialog zu einem Handeldialog macht
- Neue Option NUM:, welche es erlaubt, die Reihenfolge der Dialoge zu beeinflussen
- Spezielle Taschendiebstahl-Dialoge eingefügt
- Setzt man ein Ausrufezeichen vor eine Beschreibung, wird der folgende String als Daedalus-Konstante aufgefasst (z.B. !DIALOG_ENDE)
- Dialogoptionen eines anderen Dialoges können mit % eingefügt werden
- Neuer Befehl $EXP: Vergibt Erfahrungspunkte an den Spieler
- Neuer Befehl $STARTMIS: Startet eine Quest und trägt sie unter "Aktuelle Missionen" ins Tagebuch ein
- Neuer Befehl $LOGMISS/$LOGNOTE: Schreibt eine neue Zeile ins Tagebuch und erzeugt die Ausgabe "Neuer Tagebucheintrag"
- Neuer Befehl $MISSUCC, $MISFAIL, $MISOBSO: Markiert eine Quest als erfolgreich, fehlgeschlagen oder veraltert und passt das Tagebuch an
- Auf Wunsch versucht der MDC, aufeinanderfolgende Zeilen des selben Charakters so zusammenzufassen, dass die Untertitelboxen möglichst voll werden.
- Auf Wunsch werden alle erstellten Dialogzeilen mit ID ausgegeben. Kann praktisch sein bei der Aufnahme von der Sprachausgabe
Beispiele zu allen Neuerungen gibt es am Ende der beigefügten example.dia
-

ähm ja hättsch nid gedacht das so ein kleiner post so viel bringt *g*
da sind ja ein paar neue interessante funktionen drin, was bei den tagebuch sachen bissel stört, is das man die constanten so nid in einer datei vorher definieren kann.. aber das hier bei den variablen ja sowieso so.
@eldred
Wenn ich nen npc mit dem creator mache, habe leider noch jede menge ohne gemacht versuche ich direkt alles in der .dia einzubauen. Weil sonst is ja wenn ich z.b. noch weitere dialoge dran h#nge wieder alles überschrieben und das is bissel sch.. dann geht zwar nid immer aber meistens. Scripte zwar eigentlich lieber per hand. Aber dar man wenn man die dialoge schreibt grad noch leicht die paar >,< zeichen machen kann nehm ich den doch gerne
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|