[MD][Tutorial] Briefing und Missions-Disziplin

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

User avatar
Jens Ka
Posts: 468
Joined: Thu, 18. Jan 07, 15:32
x4

[MD][Tutorial] Briefing und Missions-Disziplin

Post by Jens Ka »

Hier mal eine kleine Erklärung zum MD Briefing und der Missions-Disziplin.
Ist noch nicht ganz komplett da ich noch nicht alles herausgefunden habe!

Code: Select all

<cues>
    <cue name="Disciptline">
      <action>
        <do_all>
          <!--discipline? Die Missionsdisziplin ist die unterscheidung einer Handelsmission von einer Kampfmission.-->
          <!--Volgende unterscheidungen gibt es.-->
          <create_offer discipline="TXXX" comment="Trade= Goldenes C."/>
          <create_offer discipline="XFXX" comment="Fight= Rotes Fadenkreuz."/>
          <create_offer discipline="XXBX" comment="Build= Grüne Bauklötze."/>
          <create_offer discipline="XXXT" comment="Think= Glühbirne"/>
          <create_offer discipline="XXXXP" comment="Plot= Blauesbuch"/>
        </do_all>
      </action>
    </cue>
    <cue name="Briefing">
      <action>
        <do_all>
          <create_briefing background="" comment="Briefing-Hintergrundbild. Zu finden unter: director\images\ "/>
          <create_briefing title="" comment="Titel eurer Mission oder der Aufgabe die im Briefing vorgestelt wird."/>
          <create_briefing text="" comment="Hier kommt der Missionstext rein. Die länge das textes ist begrenzt!"/>
          <create_briefing story="" comment="Story Titel! (Muss man da noch was zu sagen?)"/>
          <create_briefing cue="" comment="!?! Hir soll man woll den cue angeben woh das Briefing gespeichert wird. Ist bei Lib cue sehr wichtig. (glaube ich)!?!"/>
          <create_briefing chapter="" comment="Ist der Kapitel Titel eurer Story oder mehrteiligen Mission!"/>

<create_briefing instantiate="" 
comment="wir benutzt um sogenannte "Instance" (grob bedeutet das "Kopie") zu erzeugen. 
Das heist dann, das nicht der eigentliche cue ausgeführt wird, sondern eine Kopie (Instance) des selben, 
wobei das zulässt, das der "Original"-Cue dann immer noch aktiv ist und ausgeführt wird, sobald die "Conditions" wieder zutreffen.
                           
Bein NONE wird keine Instance (Kopie) erstellt, das ist die Standardeinstellung. 
Bei Static wird eine Kopie erstellt und diese dann auch ausgeführt. 
Bei der 3. Option soll man anscheinend nicht benutzen, hab auch keine Ahnung was das ist."/>

          <create_briefing>
            <mission discipline="XXXT" level="trivial" comment="Die Disciptlin wird im Briefing nicht angezeigt! Level: Hier wird der von euch gewolte Missionslevel angezeigt!"/>
            <reward money="1000" other="" comment="Reward: Kurz gesagt die belonung die der Spieler bekommen soll. money für Credit werte! other für alles andere."/>
            <timer start="" end="" duration="" comment="
start: Wenn nicht angegeben Standart {player.age}!
duration: Ist die Zeit die der Spieler hat um die Mission zu erfühlen!
end: Ignoriert duration wenn angegeben!"/>
<thumbnails>
              <thumbnail image="" order="" disabled="" comment="Image: Hier kommt die ID des Bildes hin! Die Bilder sind im gleichen Ordner wo auch die Briefing-Hintergrundbild sind!
                         Order: Hier kommt eine Zahl rein 1 bis 3! 1 ist das erste Bild 3 das letzte!
                         Disabled: Ist dazu gedacht das Minibild zu deaktivieren um es erst später sichtbar zu machen!"/>
            </thumbnails>
            <objectives>
              <objective step="1">
                <!--step="1" ist der erst aufgaben eintrag im Briefing-->
                <flyto object="" comment="Angabe der ersten Aufgabe! In disem fall fliege zu Object xy."/>
              </objective>
              <objective step="2">
                <!--step"2" Ist der zweite aufgaben eintrag im Brifing-->
                <dockat object="" comment="nun soll man am ziel xy andocken!"/>
              </objective>
            </objectives>
          </create_briefing>
        </do_all>
      </action>
    </cue>
  </cues>
Fragen, Antworten immer rein hier!

MfG

Jens Ka
Last edited by Jens Ka on Sun, 23. Nov 08, 12:55, edited 3 times in total.
MD IST NICHT MSCI!!!!
MD ist Eventdriven. Es passiert etwas - du reagierst darauf.
Bin nicht für weitere Mod Projekte zu haben.
ND VSM XTC
Allgemeine MD-Fragen
User avatar
MADxHAWK
Posts: 710
Joined: Tue, 1. Mar 05, 17:49
x4

Post by MADxHAWK »

Code: Select all

<create_briefing chapter="?" comment="Keine ahnung was das für ein Text sein soll. (noch nicht probirt)"/> 
Chapter heisst Kapitel und könnte soviel wie Teil x bei einer mehrteiligen Mission heissen sprich die Kapitelüberschrift.

Code: Select all

<timer start="" end="" duration="" comment="time - hier gibts 3 Angabemöglichkeiten, wo was warum weis ich noch nicht."/> 
Schätze mal das hier bei timer start und end entweder ein event angegeben wird ab dem die zeit für die mission läuft oder aber ein zeitwert. Für duration vermute ich mal das ein zeitwert in sekunden angegeben werden muss der die max. länge der Mission angibt.

Beispiel du sollts ein schiff killen und hast 5 minuten zeit, timer start bei annahme der mission, end bei kill des schiffs (erfolg) und duration 300 sekunden, nach ablauf ohne kill -> versagt.

sind aber nur mutmaßungen ;)

Greetz MADxHAWK
***modified*** und stolz drauf
Why does it hurt when my heart misses the beat? Propaganda - Dr. Mabuse (1984)
alles
Posts: 912
Joined: Sat, 1. Oct 05, 14:42
x4

Post by alles »

:thumb_up: Endlich mal ein Anfang, vom MD was in einer Sprache zu sehen, die ich auch verstehe :oops:

Wo bei X3 Reunion der MD rauskam hieß es auf meine Anfrage, nach einer deutschen Version:
Eine Deutsche Übersetzung des Guides ist derzeit in Bearbeitung und wird sobald fertig veröffentlicht
:? Nunja, entweder hab ich die Veröffentlichung verpasst, dann Sorry für diesen Einwurf, oder die Übersetzung ist immer noch in arbeit :?

Egal:

Mir würde es ja reichen, wenn sich mal jemand an die Übersetzung der "Mission Director Definition" macht, welche man zu sehen bekommt, wenn man die Director.htm aufruft.

cu
alles
User avatar
Jens Ka
Posts: 468
Joined: Thu, 18. Jan 07, 15:32
x4

Post by Jens Ka »

Habe das Tutorial ergänzt und erweitert!

Nun habe ich eine Sache die mir überhaupt nichts sagt was das macht oder wo zu das sein soll!

Code: Select all

<create_briefing instantiate="" comment="Hier kann ich folgendes angeben. none, static oder instance!"/>
Hier die HTML beschreibung:
instantiate Objective associated with instance or static cue? - Instantiation type
none No instantiation (default if not supplied)
static Create instances from the static object
instance Created instance (internal use only, should not be used in a cue definition)

Wer da was mit anfangen kann immer her damit ich werde da nicht schlau draus!

MfG

Jens Ka
MD IST NICHT MSCI!!!!
MD ist Eventdriven. Es passiert etwas - du reagierst darauf.
Bin nicht für weitere Mod Projekte zu haben.
ND VSM XTC
Allgemeine MD-Fragen
User avatar
Ketraar
EGOSOFT
EGOSOFT
Posts: 12103
Joined: Fri, 21. May 04, 17:15
x4

Post by Ketraar »

"Instatiate" wir benutzt um sogenannte "Instance" (grob bedeutet das "Kopie") zu erzeugen. Das heist dann, das nicht der eigentliche cue ausgeführt wird, sondern eine Kopie (Instance) des selben, wobei das zulässt, das der "Original"-Cue dann immer noch aktiv ist und ausgeführt wird, sobald die "Conditions" wieder zutreffen.

Bein NONE wird keine Instance (Kopie) erstellt, das ist die Standardeinstellung
Bei Static wird eine Kopie erstellt und diese dann auch ausgeführt.
Bei der 3. Option soll man anscheinend nicht benutzen, hab auch keine Ahnung was das ist.

MFG

Ketraar
Image
Raylon
Posts: 371
Joined: Sun, 1. Jun 08, 13:16

Post by Raylon »

Code: Select all

<cue name="Disciptline"> 
Schreibfehler bei Discipline? Oder gewollt!?

Muss man das einfach in eine neue XML Datei einfügen oder wie? Und wenn ja unter welchem namen abspeichern?
User avatar
Ketraar
EGOSOFT
EGOSOFT
Posts: 12103
Joined: Fri, 21. May 04, 17:15
x4

Post by Ketraar »

Raylon wrote:

Code: Select all

<cue name="Disciptline"> 
Schreibfehler bei Discipline? Oder gewollt!?
Im cue Namen ist es irrelevant wie das heisst, du kannst da auch 123458 schreiben, nicht empfehlenswert, aber machbar.
Muss man das einfach in eine neue XML Datei einfügen oder wie? Und wenn ja unter welchem namen abspeichern?
Das hier ist ein Tutorial und keine Mission, sonst verstehe ich nicht wie du das meinst.

MFG

Ketraar
Image
Raylon
Posts: 371
Joined: Sun, 1. Jun 08, 13:16

Post by Raylon »

Ich hab ne neue XML-Datei erstellt, dsa was du geschrieben hast eingefügt und trage da jetzt meine eigenen werte ein. Aber unter welchem Namen muss ich abspeichern wenn ich fertig bin?
User avatar
Ketraar
EGOSOFT
EGOSOFT
Posts: 12103
Joined: Fri, 21. May 04, 17:15
x4

Post by Ketraar »

Das ist egal, solange es ein einzigartiger Name ist (wegen Überschreibung).

Achte auch darauf das ALLE cue Namen einzigartig sind.

MFG

Ketraar
Image
Raylon
Posts: 371
Joined: Sun, 1. Jun 08, 13:16

Post by Raylon »

also speicher ich es einfach unter "director\XXXXX" ab? Woher weiss das spiel dann das es eine mission ist? oder sind in director alles missionen?
User avatar
Ketraar
EGOSOFT
EGOSOFT
Posts: 12103
Joined: Fri, 21. May 04, 17:15
x4

Post by Ketraar »

Obs ne Mission ist oder nicht ist dem MD egal, er führ das aus was da ist. Sobald du die Datei im director Ordner packst erkennt das spiel dise dann schon.

Damit wir hier aber den Topic nicht hijaken stelle deine Fragen bitte hier

MFG

Ketraar
Image
Raylon
Posts: 371
Joined: Sun, 1. Jun 08, 13:16

Post by Raylon »

hab nochn paar fragen zu dem tutorial, wäre super wenn du dir kurz zeit nehmen könntest, sind auch nur kleine einfache fragen ^^

Code: Select all

<create_briefing cue="" comment="!?! Hir soll man woll den cue angeben woh das Briefing gespeichert wird. Ist bei Lib cue sehr wichtig. (glaube ich)!?!"/>
Hmm...was??^^ Was für ein cue angeben?^^ Wenns wichtig ist dann wäre es toll wenn du das nochmal erklären könntest^^ und was ist lib cue? :P

Code: Select all

<create_briefing story="" comment="Story Titel! (Muss man da noch was zu sagen?)"/>
Jop, muss man :D Story ... heisst das wenn ich eine andere mission mit dem gleichen namen mache wird diese drangehängt!? oder wie soll ich das verstehen... so will ichs auf jeden fall machen (zwei missionen, wobei eine aktiviert wird, sobald die andere erledigt ist)

Code: Select all

<reward other="">
wenn ich z.b. ein schiff als belohnung will, gebe ich einfach den code ein? Also z.b. "SS_SH_T_M4" oder so?

Code: Select all

<thumbnail image="" order="">

Code: Select all

Order: Hier kommt eine Zahl rein 1 bis 3! 1 ist das erste Bild 3 das letzte! 
das ORDER verstehe ich net. Man hat ein image, wofür braucht man also zahlen von 1-3?

edit: wieso wurde das jetzt verschoben, ich dachte ich soll die fragen in dem anderen thread stellen?


danke im vorraus!
User avatar
Ketraar
EGOSOFT
EGOSOFT
Posts: 12103
Joined: Fri, 21. May 04, 17:15
x4

Post by Ketraar »

so in etwa sieht ein Briefing aus

Möglichkeit 1:

Code: Select all

<cue name="Myfirstcue">
      <condition>
        <check_age value=""/>
      </condition>
      <action>
        <do_all>
          <create_briefing cue="Myfirstcue" title="Mission Title" text="Kleinertext unterhalb des titels (max 4 Zeilen!)" background="hintergrundbild im ordner director\images">
            <mission discipline="XXXXP" level="easy"/>
            <objectives>
              <objective step="1">
                <flyto>
                  <sector x="5" y="10"/>
                </flyto>
              </objective>
              <objective step="2">
                <dockat object="{object@mystation}"/>
              </objective>
              <objective step="3">
                <talkto actor="{actor@myactor}"/>
              </objective>
            </objectives>
          </create_briefing>
          <set_objective cue="Myfirstcue" story="Mission Title" title="Mission Title" noabort="1">
            <briefing cue="Myfirstcue" step="1"/>
            <mission discipline="XXXXP" level="easy"/>
            <flyto>
              <sector x="5" y="10"/>
            </flyto>
          </set_objective>
        </do_all>
      </action>
    </cue>
    <cue name="Mysecondcue">
      <condition>
        <check_age value=""/>
      </condition>
      <action>
        <do_all>
          <set_objective cue="Myfirstcue" story="Mission Title" title="Mission Title" noabort="1">
            <briefing cue="Myfirstcue" step="2"/>
            <mission discipline="XXXXP" level="easy"/>
            <dockat object="{object@mystation}"/>
          </set_objective>
        </do_all>
      </action>
    </cue>
    <cue name="Mythirdcue">
      <condition>
        <check_age value=""/>
      </condition>
      <action>
        <do_all>
          <set_objective cue="Myfirstcue" story="Mission Title" title="Mission Title" noabort="1">
            <briefing cue="Myfirstcue" step="3"/>
            <mission discipline="XXXXP" level="easy"/>
            <talkto actor="{actor@myactor}"/>
          </set_objective>
        </do_all>
      </action>
    </cue>
Zweite möglichkeit:

Code: Select all

<cue name="Myfirstcue">
      <condition>
        <check_age value=""/>
      </condition>
      <action>
        <do_all>
          <create_briefing cue="Myfirstcue" title="Mission Title" text="Kleinertext unterhalb des titels (max 4 Zeilen!)" background="hintergrundbild im ordner director\images">
            <mission discipline="XXXXP" level="easy"/>
            <objectives>
              <objective step="1">
                <flyto>
                  <sector x="5" y="10"/>
                </flyto>
              </objective>
            </objectives>
          </create_briefing>
          <set_objective cue="Myfirstcue" story="Mission Title" title="Mission Title" noabort="1">
            <briefing cue="Myfirstcue" step="1"/>
            <mission discipline="XXXXP" level="easy"/>
            <flyto>
              <sector x="5" y="10"/>
            </flyto>
          </set_objective>
        </do_all>
      </action>
    </cue>
    <cue name="Mysecondcue">
      <condition>
        <check_age value=""/>
      </condition>
      <action>
        <do_all>
          <create_briefing cue="Myfirstcue" title="Mission Title" text="Kleinertext unterhalb des titels (max 4 Zeilen!)" background="hintergrundbild im ordner director\images">
            <mission discipline="XXXXP" level="easy"/>
            <objectives>
              <objective step="2">
                <dockat object="{object@mystation}"/>
              </objective>
            </objectives>
          </create_briefing>
          <set_objective cue="Myfirstcue" story="Mission Title" title="Mission Title" noabort="1">
            <briefing cue="Myfirstcue" step="2"/>
            <mission discipline="XXXXP" level="easy"/>
            <dockat object="{object@mystation}"/>
          </set_objective>
        </do_all>
      </action>
    </cue>
    <cue name="Mythirdcue">
      <condition>
        <check_age value=""/>
      </condition>
      <action>
        <do_all>
          <create_briefing cue="Myfirstcue" title="Mission Title" text="Kleinertext unterhalb des titels (max 4 Zeilen!)" background="hintergrundbild im ordner director\images">
            <mission discipline="XXXXP" level="easy"/>
            <objectives>
              <objective step="3">
                <talkto actor="{actor@myactor}"/>
              </objective>
            </objectives>
          </create_briefing>
          <set_objective cue="Myfirstcue" story="Mission Title" title="Mission Title" noabort="1">
            <briefing cue="Myfirstcue" step="3"/>
            <mission discipline="XXXXP" level="easy"/>
            <talkto actor="{actor@myactor}"/>
          </set_objective>
        </do_all>
      </action>
    </cue>
In der ersten variante sind die Objectives sofort sichtbar, auch die nachfolgenden, in der 2 Variante werden sie "addiert".
Der cue Name sagt dem MD wo das Briefing das erste mal erstellt wurde und überschreibt bestehendes jedes mal wenn du ein create_briefing mit selben cue Name nutzt.
Soltest du also immer nur ein Step sehen wollen, änderst du die step zahl nicht und dieser wird beim nächsten create überschrieben.

MFG

Ketraar
Image
Raylon
Posts: 371
Joined: Sun, 1. Jun 08, 13:16

Post by Raylon »

super, danke!

Hab mal was versucht und würde gerne wissen was da falsch ist :

Code: Select all

        <objectives>
          <objective step="1">
            <flyto>
              <sector x="5" y="10"/>
            </flyto>
          </objective>
            <objective step="2">
              <create_ship typename="SS_SH_A_M4P_P" race="Pirate"/>
                <sector x="5" y="10"/>
                <position x="10" y="10" z="0"/>
              </create_ship>
              <create_ship typename="SS_SH_T_M5_P" race="Pirate"/>
                <sector x="5" y="10"/>
                  <position x="11" y="11" z="1"/>
              </create_ship>
              <create_ship typename="SS_SH_T_M5_P" race="Pirate"/>
                <sector x="5" y="10">
                  <position x="12" y="12" z="-1"/>
              </create_ship>
              <destroy>
                <object="SS_SH_A_M4P_P"/>
                <object="SS_SH_T_M5_P"/>
                <object="SS_SH_T_M5_P"/>
              </destroy>
            </objective>
        </objectives>
danke und mfg
User avatar
Ketraar
EGOSOFT
EGOSOFT
Posts: 12103
Joined: Fri, 21. May 04, 17:15
x4

Post by Ketraar »

Also ich weiss nicht woher du die create_ship und die destroy nodes her hast, scheint mir aber das du:
a) kein xml-Bearbeitungsprogramm benutzt
b) deine Datei nicht im selben Ordner bearbeitest, wo sich die director.xsd befindet.
c) du die errors ignorierst (rote Linien die, die nodes unterstreichen)

Im xml-Bearbeitungsprogramm kannst du ctrl+space (strg+leertaste) drücken, dann erscheint ein drop-down-menu mit den möglichen Optionen. Manche sachen gehen auch wenn sie dort nicht gelistet sind, das sind dann aber meist typenames, ansonsten wenn es nicht zur Auswahl steht, gehts auch nicht. :wink:

MFG

Ketraar
Image
User avatar
Jens Ka
Posts: 468
Joined: Thu, 18. Jan 07, 15:32
x4

Post by Jens Ka »

Raylon wrote:Code:
<create_briefing story="" comment="Story Titel! (Muss man da noch was zu sagen?)"/>


Jop, muss man Very Happy Story ... heisst das wenn ich eine andere mission mit dem gleichen namen mache wird diese drangehängt!? oder wie soll ich das verstehen... so will ichs auf jeden fall machen (zwei missionen, wobei eine aktiviert wird, sobald die andere erledigt ist)
Da kommt einfach nur der Story Name rein aus wiefilen MD Datein die besteht ist egal!
Code:
<reward other="">


wenn ich z.b. ein schiff als belohnung will, gebe ich einfach den code ein? Also z.b. "SS_SH_T_M4" oder so?
Das kannst machen allerdings ist das nur da zu da das es im Briefing steht! Mit "SS_SH_T_M4" wird aber kein normaler Spieler was anfangen können! Damit der Name des Schiffes im Briefing Steht wäre {object.name@SS_SH_T_M4} besser :wink:
Code:
Order: Hier kommt eine Zahl rein 1 bis 3! 1 ist das erste Bild 3 das letzte!


das ORDER verstehe ich net. Man hat ein image, wofür braucht man also zahlen von 1-3?
Die Zahlen sind da zu da damit der MD weis welches thumbnail image wo hin soll 1 ist das oberste 3 das unterste thumbnail image!

MfG

Jens Ka
MD IST NICHT MSCI!!!!
MD ist Eventdriven. Es passiert etwas - du reagierst darauf.
Bin nicht für weitere Mod Projekte zu haben.
ND VSM XTC
Allgemeine MD-Fragen
mortebln
Posts: 9
Joined: Mon, 15. Dec 08, 11:50

Post by mortebln »

kann mal jemand der ahnung hat, einer der code so schreiben das er funktioniert? hab versucht die code´s zu testen. mein xml editor sagt mir das es den befehl create_briefing nicht gibt und in x passiert auch nichts.

wäre sehr cool wenn das jemand das machen würde. weil man ja auch das tutorial auch wegschmeisen kann.

mfg morte
User avatar
Jens Ka
Posts: 468
Joined: Thu, 18. Jan 07, 15:32
x4

Post by Jens Ka »

mortebln wrote:kann mal jemand der ahnung hat, einer der code so schreiben das er funktioniert?
Klick Ein paar Beiträge weiter vorne. :roll:
hab versucht die code´s zu testen.
Der code im ersten Beitrag sind zu Erklärung der Briefing nots und derer subnots. Nicht mehr nicht weniger.
mein xml editor sagt mir das es den befehl create_briefing nicht gibt und in x passiert auch nichts.
Siehe hier.
weil man ja auch das tutorial auch wegschmeisen kann.
hmm wenn meinst. Ok, spare ich mir das in Zukunft.
MD IST NICHT MSCI!!!!
MD ist Eventdriven. Es passiert etwas - du reagierst darauf.
Bin nicht für weitere Mod Projekte zu haben.
ND VSM XTC
Allgemeine MD-Fragen

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”