Mission Director Grundlagen und Installation
Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators
-
- EGOSOFT
- Posts: 52126
- Joined: Tue, 29. Apr 03, 00:56
Mission Director Grundlagen und Installation
Ab X³: Reunion 2.5 steht der Mission Director allen interessierten Moddern zur Verfügung. Der Mission Director ist ausschließlich in modifizierten Spielständen verfügbar, daher muss entweder der Script Editor aktiviert oder ein Mod geladen sein.
Was ist der Mission Director
Der Mission Director, oder kurz MD, ist ein neues Hilfsmittel zum Erstellen von Missionen in X³: Reunion. Er nutzt ein XML basiertes Framework, das außerhalb des Spiels bearbeitet werden kann, und funktioniert ähnlich wie ein Plug-In. Der MD ist keine Programmiersprache. Programmierer werden möglicherweise feststellen, daß sie ein klein wenig umdenken müssen um Missionen zu erstellen, während Anfänger es leichter haben werden als beim Erlernen einer kompletten Programmiersprache. Wenn du dich mit der Struktur des X-Universums auskennst, ist der Code vermutlich selbsterklärend.
Vergleich des Mission Directors mit dem Script Editor
Du fragst dich vielleicht, was den Mission Director vom Script Editor bzw. anderen Programmiersprachen unterscheidet. Du wirst feststellen, daß einige Aktionen im MD einigen Kommandos des Script Editors sehr ähneln. Abgesehen von einigen logischen Grundlagen enden damit aber auch schon die Gemeinsamkeiten. Wenn du je versucht hast mit dem Script Editor eine Mission zu erstellen wirst du schnell an Grenzen gestossen sein, die die Entwicklung entweder unmöglich oder zumindest äußerst zeitraubend gemacht haben. Die einfache Antwort ist, daß der Script Editor nicht zum Entwickeln von Missionen entworfen wurde.
Der aktuelle Status des Mission Director
Der Mission Director steht dir, ähnlich wie die Skripte und Mods, zur Entwicklung und Verbeitung innerhalb der Modding Community zur Verfügung. In der aktuellen Entwicklungsphase wird der Mission Director nicht von Egosoft supported. Unterstützung steht dank einiger Freiwilliger über die Foren zur Verfügung. Probleme im Programmcode oder den XML Schemata werden allerdings nicht behoben. Es gibt eine Reihe kleinerer, bekannter Probleme, von denen jedoch keines die Nutzung des Mission Directors nachhaltig beeinflussen sollte.
Wie wird der Mission Director installiert
Die Mission Director Dateien können hier heruntergeladen werden: X³: Reunion Mission Director support files
Der Ordner 'director' gehört in das X³: Reunion Verzeichnis. Dieser Ordner enthält vorerst keine Missionen, jedoch sind im Ordner 'sample' einige Beispiele vorhanden. Diese müssen in den 'director' Ordner verschoben werden, um sie im Spiel nutzen zu können.
Wie werden Missionen bearbeitet
Genau wie Scripts sind Missionen XML-Dateien. Anders als Scripte werden sie jedoch außerhalb des Spiels bearbeitet, daher wird ein XML-Editor benötigt. Wir empfehlen insbesondere die kostenlos verfügbare Microsoft Visual Web Developer 2008 Express Edition. Genauso gut können aber auch Visual Studio.NET 2005/2008 und Visual Web Developer 2005 genutzt werden, falls diese bereits vorhanden sind.
Die zur Verfügung gestellten Mission Director Schema Dateien helfen bei der Erzeugung der XML Datei, indem alle verfügbaren Knoten und Attribute während der Bearbeitung angezeigt werden. Diese Funktion steht nur zur Verfügung, wenn sich die Schema Dateien im selben Verzeichnis wie die gerade bearbeitete XML Datei befinden.
Die Datei 'director.htm' kann mit jedem Browser geöffnet werden, wobei sich allerdings der IE, aufgrund von Einschränkungen der XML- und javasscript-Unterstützung in anderen Browsern, am besten eignet. Dadurch wird die Dokumentation aller Bedingungen, Aktionen und Variablen ebenso angezeigt wie Auflistungen verfügbarer Soundeffekte, Piloten-Gesichter, Stimmen und anderer nützlicher Dinge.
Im Ordner 'director' steht ein PDF-Leitfaden zur Verfügung. Dieser enthält eine komplette Auflistung der Ziele, Eigenschaften und Funktionen des Mission Directors.
Was ist der Mission Director
Der Mission Director, oder kurz MD, ist ein neues Hilfsmittel zum Erstellen von Missionen in X³: Reunion. Er nutzt ein XML basiertes Framework, das außerhalb des Spiels bearbeitet werden kann, und funktioniert ähnlich wie ein Plug-In. Der MD ist keine Programmiersprache. Programmierer werden möglicherweise feststellen, daß sie ein klein wenig umdenken müssen um Missionen zu erstellen, während Anfänger es leichter haben werden als beim Erlernen einer kompletten Programmiersprache. Wenn du dich mit der Struktur des X-Universums auskennst, ist der Code vermutlich selbsterklärend.
Vergleich des Mission Directors mit dem Script Editor
Du fragst dich vielleicht, was den Mission Director vom Script Editor bzw. anderen Programmiersprachen unterscheidet. Du wirst feststellen, daß einige Aktionen im MD einigen Kommandos des Script Editors sehr ähneln. Abgesehen von einigen logischen Grundlagen enden damit aber auch schon die Gemeinsamkeiten. Wenn du je versucht hast mit dem Script Editor eine Mission zu erstellen wirst du schnell an Grenzen gestossen sein, die die Entwicklung entweder unmöglich oder zumindest äußerst zeitraubend gemacht haben. Die einfache Antwort ist, daß der Script Editor nicht zum Entwickeln von Missionen entworfen wurde.
Der aktuelle Status des Mission Director
Der Mission Director steht dir, ähnlich wie die Skripte und Mods, zur Entwicklung und Verbeitung innerhalb der Modding Community zur Verfügung. In der aktuellen Entwicklungsphase wird der Mission Director nicht von Egosoft supported. Unterstützung steht dank einiger Freiwilliger über die Foren zur Verfügung. Probleme im Programmcode oder den XML Schemata werden allerdings nicht behoben. Es gibt eine Reihe kleinerer, bekannter Probleme, von denen jedoch keines die Nutzung des Mission Directors nachhaltig beeinflussen sollte.
Wie wird der Mission Director installiert
Die Mission Director Dateien können hier heruntergeladen werden: X³: Reunion Mission Director support files
Der Ordner 'director' gehört in das X³: Reunion Verzeichnis. Dieser Ordner enthält vorerst keine Missionen, jedoch sind im Ordner 'sample' einige Beispiele vorhanden. Diese müssen in den 'director' Ordner verschoben werden, um sie im Spiel nutzen zu können.
Wie werden Missionen bearbeitet
Genau wie Scripts sind Missionen XML-Dateien. Anders als Scripte werden sie jedoch außerhalb des Spiels bearbeitet, daher wird ein XML-Editor benötigt. Wir empfehlen insbesondere die kostenlos verfügbare Microsoft Visual Web Developer 2008 Express Edition. Genauso gut können aber auch Visual Studio.NET 2005/2008 und Visual Web Developer 2005 genutzt werden, falls diese bereits vorhanden sind.
Die zur Verfügung gestellten Mission Director Schema Dateien helfen bei der Erzeugung der XML Datei, indem alle verfügbaren Knoten und Attribute während der Bearbeitung angezeigt werden. Diese Funktion steht nur zur Verfügung, wenn sich die Schema Dateien im selben Verzeichnis wie die gerade bearbeitete XML Datei befinden.
Die Datei 'director.htm' kann mit jedem Browser geöffnet werden, wobei sich allerdings der IE, aufgrund von Einschränkungen der XML- und javasscript-Unterstützung in anderen Browsern, am besten eignet. Dadurch wird die Dokumentation aller Bedingungen, Aktionen und Variablen ebenso angezeigt wie Auflistungen verfügbarer Soundeffekte, Piloten-Gesichter, Stimmen und anderer nützlicher Dinge.
Im Ordner 'director' steht ein PDF-Leitfaden zur Verfügung. Dieser enthält eine komplette Auflistung der Ziele, Eigenschaften und Funktionen des Mission Directors.
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
*die neuen Infos in die Totorial- und Tool-Sammlung einarbeitet*
Vielen dank CBJ
Vielen dank CBJ
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
-
- Posts: 2064
- Joined: Wed, 18. Jan 06, 18:40
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
türlich darf man hier Posten, sonst wär das Topic doch zu
PS ich nutz den Post gleich mal für nen Vorschlag: lasst uns dieses Topic nutzen, um alle zu beginn auftretenden Fragen zum Mission Director zu sammeln damit das Forum übersichtlich bleibt.. und die mods bitte ich, alle evtl. aufkommenden Topics mit allgemeinen Fragen zum MD hier rein zu verschieben..
PS ich nutz den Post gleich mal für nen Vorschlag: lasst uns dieses Topic nutzen, um alle zu beginn auftretenden Fragen zum Mission Director zu sammeln damit das Forum übersichtlich bleibt.. und die mods bitte ich, alle evtl. aufkommenden Topics mit allgemeinen Fragen zum MD hier rein zu verschieben..
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
@UniTrader: vorschlag akzeptiert
hätte da auch gleich mal ne frage:
ich hab das mit der director.dmp irgendwie nicht ganz verstanden, glaub ich. das soll wohl ne art logfile im x3 root verzeichnis sein, aber muss man das erst irgendwo einstellen, oder kommt die von alleine? ich konnte bei mir nix finden.
hätte da auch gleich mal ne frage:
ich hab das mit der director.dmp irgendwie nicht ganz verstanden, glaub ich. das soll wohl ne art logfile im x3 root verzeichnis sein, aber muss man das erst irgendwo einstellen, oder kommt die von alleine? ich konnte bei mir nix finden.
-
- Posts: 968
- Joined: Wed, 27. Aug 03, 11:13
Soweit ich das verstanden habe, wird sie automatisch erzeugt.
Nun meine Frage
Hat es jemand schon geschafft, die Videos mit dem MD zum laufen zu bringen ?
Ich hab das einfach mal versucht mit dem 00800.dat-Video im MOV ordner. Es wird korrekt gefaded und er zeigt mir auch den Anfang an. Dann hört das Video auf, und die normale Game-Grafik ist zum Teufel.
Nun meine Frage
Hat es jemand schon geschafft, die Videos mit dem MD zum laufen zu bringen ?
Ich hab das einfach mal versucht mit dem 00800.dat-Video im MOV ordner. Es wird korrekt gefaded und er zeigt mir auch den Anfang an. Dann hört das Video auf, und die normale Game-Grafik ist zum Teufel.
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
-
- Posts: 1957
- Joined: Sat, 7. Feb 04, 20:26
Die director.dmp ist in der veröffentlichten 2.5 Version deaktiviert worden, da es Performanceprobleme gab.
Bzgl. dem movie: die action funktioniert nicht korrekt. Alternativ müsste es doch möglich sein das Video über ein Script zu starten, oder? Denn scripte kann man über den MD ja starten.
Bzgl. dem movie: die action funktioniert nicht korrekt. Alternativ müsste es doch möglich sein das Video über ein Script zu starten, oder? Denn scripte kann man über den MD ja starten.
Es ist nicht das Schicksal, was die Zukunft bestimmt.
Script- und Modliste
Script- und Modliste
-
- Posts: 5285
- Joined: Mon, 11. Apr 05, 21:11
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
-
- Posts: 912
- Joined: Sat, 1. Oct 05, 14:42
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
nochmal ich
ich spiele gerade ein wenig mit den librarys rum. ist ja eigentlich ne tolle sache, aber:
muss eine library innerhalb des parent cues sein, oder kann man librarys auch in andere xml dateien auslagern? und wenn ja, wie?
meine grundüberlegung wäre folgende: wenn man ein x-beliebiges szenario nimmt in dem eine gegnerflotte erstellt werden soll, dann könnte man eine lib mit vanilla schiffen nehmen und quasi als patch eine lib mit xtm schiffen zur verfügung stellen..
ich spiele gerade ein wenig mit den librarys rum. ist ja eigentlich ne tolle sache, aber:
muss eine library innerhalb des parent cues sein, oder kann man librarys auch in andere xml dateien auslagern? und wenn ja, wie?
meine grundüberlegung wäre folgende: wenn man ein x-beliebiges szenario nimmt in dem eine gegnerflotte erstellt werden soll, dann könnte man eine lib mit vanilla schiffen nehmen und quasi als patch eine lib mit xtm schiffen zur verfügung stellen..
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
Im Grunde kannst du da jede entsprechende XML Datei im Ordner vom Spiel geladen wird die library cue in eine eigene Datei schreiben und von deiner Mission aus aufrufen... Daher muss auch darauf geachtet werden das die cue namen einzigartig sind, da ansonsten Probleme auftauchen können bei mehreren Missionen im Ordner.
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- Posts: 1957
- Joined: Sat, 7. Feb 04, 20:26
Du kannst libs in eine x-beliebige xml auslagern und diese in einer anderen XML aufrufen.
Die lib erstellst du ja einfach wie nen normalen cue, nur mit library="1". Dort dann die actions etc.
In dem cue wo du dann die lib aufrufst, nimmst du dann entweder das ref="cuename" Attribut im cue tag oder im <action> tag. Wenn du das im action tag machst, kannst du mit params der library Parameter übergeben.
Die lib erstellst du ja einfach wie nen normalen cue, nur mit library="1". Dort dann die actions etc.
In dem cue wo du dann die lib aufrufst, nimmst du dann entweder das ref="cuename" Attribut im cue tag oder im <action> tag. Wenn du das im action tag machst, kannst du mit params der library Parameter übergeben.
Es ist nicht das Schicksal, was die Zukunft bestimmt.
Script- und Modliste
Script- und Modliste
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
genau so hab ichs gemacht, aber da ist wohl noch irgendwo n fehlerchen drin, weil funktioneieren tuts nicht...
EDIT:
habs gefunden: hatte aus versehen beim verschieben eines kommentar-end-tags die schließende klammer eines cues-tags mitverschoben.
jetzt klappts
EDIT 2:
so klappts:
so nicht??
EDIT:
habs gefunden: hatte aus versehen beim verschieben eines kommentar-end-tags die schließende klammer eines cues-tags mitverschoben.
jetzt klappts
EDIT 2:
so klappts:
Code: Select all
<cue name="mission.single.369.testing.main">
<condition>
....
</condition>
<cues>
<cue ref="mission.lib.369.create.m6" />
</cues>
</cue>
Code: Select all
<cue name="mission.single.369.testing.main">
<condition>
....
</condition>
<action ref="mission.lib.369.create.m6" />
</cue>
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
Bei der zweiten Methode wird nur der Action part also alles was zwischen
steht kopiert und in deine aktuelle Cue übernommen und dann ausgeführt.
Bei der ersten Variante wird die komplette Library Cue in eine Subcue deiner aktuellen kopiert und dort werden dann nocheinmal die conditions der library cue überprüft (sofern diese welche hat) bevor die action ausgeführt wird.
Normalerweise müsste es in beiden Fällen wunderbar klappen...
Du könntest aber mal den Code der library Cue posten vlt. ist da ja ein Fehler der erklärt wieso es mit der zweiten Methode nicht funktioniert...
Code: Select all
<action>
... und ....
</action>
Bei der ersten Variante wird die komplette Library Cue in eine Subcue deiner aktuellen kopiert und dort werden dann nocheinmal die conditions der library cue überprüft (sofern diese welche hat) bevor die action ausgeführt wird.
Normalerweise müsste es in beiden Fällen wunderbar klappen...
Du könntest aber mal den Code der library Cue posten vlt. ist da ja ein Fehler der erklärt wieso es mit der zweiten Methode nicht funktioniert...
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
klar, hier die komplette lib:
Code: Select all
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="libs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
<documentation>
<author name="369" alias="369" contact="369@layer-acht.net" />
<content reference="Library" name="lib.369" description="MD Training Library" />
<version number="1" date="today" status="testing" />
</documentation>
<cues>
<!-- cues go here -->
<cue name="mission.lib.369.create.xfs" library="1" comment="Creates a small Xenon fleet">
<action>
<do_all>
<create_ship name="this.opp1" class="m6" race="xenon" typename="SS_SH_X_M6" racelogic="0">
<position x="0" y="0" z="0"/>
<sector x="13" y="4"/>
<equipment loadout="maximum"/>
<command command="killenemies" />
<pilot name="UO" race="xenon"/>
</create_ship>
<create_ship name="this.opp2" class="m6" race="xenon" typename="SS_SH_X_M6" racelogic="0">
<position x="0" y="0" z="0"/>
<sector x="13" y="4"/>
<equipment loadout="maximum"/>
<command command="protect" commandobject="this.opp1" />
<pilot name="UO" race="xenon"/>
</create_ship>
</do_all>
</action>
</cue>
</cues>
</director>
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
Nun in diesem Falle wird keines deiner vorherigen Beispiele klappen da du eine cue referenzierst welche nicht existiert.
Zur Erinnerung: Du rufst auf: missison.lib.369.create.m6
aber definiert hast du: mission.lib.369.create.xfs
Desweiteren wirst du immer nur ein einziges Schiff (wenn überhaupt) erstellen da du innerhalb einer Millisekunde zwei Schiffe an exakt demselben Ort erstellst!!! Daher wird mindestens eines von beiden zerstört! Es ist empfehlenswert zu nutzen anstatt eine exakte Position anzugeben. Dann werden die Schiffe so positioniert das sie nicht ineinander stehen!
Desweiteren musst du nicht alle deine nodes angeben kannst dies aber natürlich machen. <pilot> zum Beispiel kannst du ohne weiteres weglassen...
Zur Erinnerung: Du rufst auf: missison.lib.369.create.m6
aber definiert hast du: mission.lib.369.create.xfs
Desweiteren wirst du immer nur ein einziges Schiff (wenn überhaupt) erstellen da du innerhalb einer Millisekunde zwei Schiffe an exakt demselben Ort erstellst!!! Daher wird mindestens eines von beiden zerstört! Es ist empfehlenswert
Code: Select all
<position max="8km">
Desweiteren musst du nicht alle deine nodes angeben kannst dies aber natürlich machen. <pilot> zum Beispiel kannst du ohne weiteres weglassen...
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- Posts: 220
- Joined: Thu, 16. Jan 03, 15:14
@XGamer:
sry, hatte mittlerweile schon etwas weitergemacht. den lib namen hab ich natürlich in meiner referenzierenden cue ebenfalls geändert (nur halt impost oben nicht )
btw, beide schiffe an der selben stelle hat geklappt
ganz ohne beschädigungen sogar. ist aber bereits geändert (copy & paste halt)
sry, hatte mittlerweile schon etwas weitergemacht. den lib namen hab ich natürlich in meiner referenzierenden cue ebenfalls geändert (nur halt impost oben nicht )
btw, beide schiffe an der selben stelle hat geklappt
ganz ohne beschädigungen sogar. ist aber bereits geändert (copy & paste halt)