Mission Director Grundlagen und Installation

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators

Post Reply
CBJ
EGOSOFT
EGOSOFT
Posts: 51726
Joined: Tue, 29. Apr 03, 00:56
x4

Mission Director Grundlagen und Installation

Post by CBJ » Wed, 2. Jan 08, 18:10

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.

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Wed, 2. Jan 08, 18:48

*die neuen Infos in die Totorial- und Tool-Sammlung einarbeitet*


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 ;)

User avatar
-Ford-
Posts: 2064
Joined: Wed, 18. Jan 06, 18:40
x3tc

Post by -Ford- » Thu, 3. Jan 08, 03:40

Ah endlich... Vielen Dank CBJ. :)

(Hoffe hier darf man posten?! Falls nicht vielmals Entschuldigung und bitte diesen Post löschen)
Ponyfabulous

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Thu, 3. Jan 08, 07:22

türlich darf man hier Posten, sonst wär das Topic doch zu :roll:

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 ;)

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 12:31

@UniTrader: vorschlag akzeptiert :D

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.

User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven » Thu, 3. Jan 08, 13:08

Soweit ich das verstanden habe, wird sie automatisch erzeugt.


Nun meine Frage :D


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.
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 13:17

Moonraven wrote:Soweit ich das verstanden habe, wird sie automatisch erzeugt.
das hab ich auch so verstanden, aber ich konnte keine director.dmp finden...

Diamonddragon
Posts: 1957
Joined: Sat, 7. Feb 04, 20:26
x3tc

Post by Diamonddragon » Thu, 3. Jan 08, 13:47

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.
Es ist nicht das Schicksal, was die Zukunft bestimmt.
Script- und Modliste

User avatar
SymTec ltd.
Posts: 5285
Joined: Mon, 11. Apr 05, 21:11
x3tc

Post by SymTec ltd. » Thu, 3. Jan 08, 14:02

Dass man Movies per Script starten kann, wäre mir neu. :roll:

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 14:18

Diamonddragon wrote:Die director.dmp ist in der veröffentlichten 2.5 Version deaktiviert worden, da es Performanceprobleme gab.
:idea:

thx, Diamonddragon. wollte gerade x3 vanilla paralell installieren. meine festplatte wirds dir danken :D

alles
Posts: 912
Joined: Sat, 1. Oct 05, 14:42
x4

Post by alles » Thu, 3. Jan 08, 15:18

Schade, die Anleitung ist ja nur auf Englisch :cry:

Da ich leider mit Englisch auf dem Kriegsfuß stehe, wollte ich doch mal vorsichtig anfragen, ob man auf eine deutsche Übersetzung hoffen kann?

cu
alles

User avatar
Moonraven
Posts: 968
Joined: Wed, 27. Aug 03, 11:13
x3

Post by Moonraven » Thu, 3. Jan 08, 15:19

Danke Diamonddragon, anscheinend hab ich nen göttlichen Finger. Ich erwisch immer die Sachen die noch nicht so ganz funktionieren. :D

Videos kann man leider nicht über den Script-Editor abspielen.
Gruß Moonraven
Wer lesen kann, ist ganz klar im Vorteil.
[ external image ]

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 15:44

nochmal ich :D

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?

:arrow: 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..

XGamer
Posts: 2355
Joined: Sun, 25. Apr 04, 19:09
x4

Post by XGamer » Thu, 3. Jan 08, 15:55

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.

Diamonddragon
Posts: 1957
Joined: Sat, 7. Feb 04, 20:26
x3tc

Post by Diamonddragon » Thu, 3. Jan 08, 16:00

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.
Es ist nicht das Schicksal, was die Zukunft bestimmt.
Script- und Modliste

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 16:08

genau so hab ichs gemacht, aber da ist wohl noch irgendwo n fehlerchen drin, weil funktioneieren tuts nicht... :gruebel:

EDIT:

habs gefunden: hatte aus versehen beim verschieben eines kommentar-end-tags die schließende klammer eines cues-tags mitverschoben. :shock:

jetzt klappts 8)

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>
so nicht??

Code: Select all

<cue name="mission.single.369.testing.main">
      <condition>
        ....
      </condition>
     <action ref="mission.lib.369.create.m6" />
</cue>

XGamer
Posts: 2355
Joined: Sun, 25. Apr 04, 19:09
x4

Post by XGamer » Thu, 3. Jan 08, 16:42

Bei der zweiten Methode wird nur der Action part also alles was zwischen

Code: Select all

<action>
... und ....
</action>
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...
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.

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 16:44

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>

XGamer
Posts: 2355
Joined: Sun, 25. Apr 04, 19:09
x4

Post by XGamer » Thu, 3. Jan 08, 16:54

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

Code: Select all

<position max="8km">
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...
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.

369
Posts: 220
Joined: Thu, 16. Jan 03, 15:14
x2

Post by 369 » Thu, 3. Jan 08, 17:02

@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 :D )

btw, beide schiffe an der selben stelle hat geklappt :o
ganz ohne beschädigungen sogar. ist aber bereits geändert (copy & paste halt)

Post Reply

Return to “X³: Reunion - Scripts und Modding”