Page 1 of 13

Mission Director Basics and Installation

Posted: Wed, 2. Jan 08, 16:55
by Xenon_Slayer
As of X³:Reunion 2.5 the Mission Director is available to all modders who wish to use it. The Mission Director is active only in modified games, so the script editor or a mod must be active in that save game.

What is the Mission Director
The Mission Director, MD for short, is a new tool designed to create mission content in X³:Reunion. It uses an XML based mission-design framework which is editable outside of the game and acts like a plug-in. The MD is not a programming language. Programmers may find they need to think a little differently when creating missions, and newcomers may find it easier to learn than a whole language. If you understand the structure of the X-Universe, you may find the lines of code self explanatory.

Comparing the Mission Director to the Script Editor
You may be asking how the MD differs from the Script Editor, and other programming languages for that matter. You will find that some of the actions in the MD will look very similar to some of the commands used in the SE. Beyond some basic logic that is where the similarities end. If you attempted to create mission in the script editor you would be met with limitations which made development either impossible or painfully time consuming. The simple answer is that the script editor is not designed for mission development.

The Current State of the Mission Director
The Mission Director is open to you to develop and disseminate throughout the modding community, much like the Scripts and Mods. At this stage of its development the Mission Director is unsupported by Egosoft. Assistance can be obtained from volunteers on the forum, but any problems with coding or schemas will not be fixed. There are a number of known minor issues, but none of these should significantly affect your use of the Mission Director.

How to Install The Mission Director
The Mission Director files can be downloaded here: X³:Reunion Mission Director support files

The folder ‘director’ goes in the X3 Reunion directory. The folder will have no mission inside it but there are some samples in the ‘sample’ folder. They must be moved into the ‘director’ folder for use ingame.

How to Edit Mission Files
Like scripts, mission files are XML files. Unlike scripts they are edited outside of the game, so a XML editing tool is needed. We strongly recommend Microsoft Visual Web Developer 2008 Express Edition, which is available for free. Visual Studio.NET 2005/2008 and Visual Web Developer 2005 are also fine for those who already have them.

The provided Mission Director schema files help you create the XML file by displaying all available nodes and attributes as you edit the XML. This functionality is only available if the schema files are in the same folder as the XML you are editing.

The file ‘director.htm’ can be opened in any browser but it works best in IE due to limitations in XML and javascript support in other browsers. This will display all condition, action and variable documentation, as well as well as lists for several things you may need such as sound effects, pilot faces and voice numbers.

There is PDF guide provided in the director folder. This holds a full description of the Mission Directors aims, features and functionality.

Posted: Wed, 2. Jan 08, 19:53
by Lazerath
Sweet!!! :D Thanks for the update!

Posted: Wed, 2. Jan 08, 20:13
by Jakesnake5
And now all HE** is about to break loose.

<Puts on thermal suit>

Posted: Wed, 2. Jan 08, 20:22
by Stevio
Great thanks dudes ;)
your work is very much appreciated! :thumb_up:

Posted: Wed, 2. Jan 08, 21:00
by Tenlar Scarflame
Now this looks like it might be less noob-repellant than the script editor... meaning it's right up my alley. :P

A round of applause to Ego for their continued awesomeness.

Posted: Wed, 2. Jan 08, 22:19
by LV
While I understand your apprieciation y'all, pointless reply's and such will be purged from this thread with Imperial Impunity :)

Serious questions/viewpoints/posts only please ladies , the rest shall perish as it's glued.

Posted: Thu, 3. Jan 08, 00:02
by eladan
Thanks XS.

How about listing the 'known minor issues' so that we know when we encounter them, and don't go off the deep end thinking it's us rather than the MD?

Posted: Thu, 3. Jan 08, 00:24
by Galaxy613
Yes, please tell us of any problems that have already been identified so we don't find "new" bugs to report about.

Anyways, thanks for all of this stuff. I can not wait to see what people make with this. I think I might make some simple "go kill 10-5 xenon/pirates in [sector name] for a reward" that X3 was previously lacking. 8)

Posted: Thu, 3. Jan 08, 00:51
by Xenon_Slayer
If anyone runs into anything you think is an issue you can either PM one of us or post it here or if suitable a different thread. As the MD is unsupported we will probably not be able to do anything about it other than discuss workarounds.
As for a list, that will be up to you guys as we go along sorry. As we said, there should not be any big problems.

Posted: Fri, 4. Jan 08, 01:03
by ChemODun
Error in director.xsd (in documentation tag)
existed record

Code: Select all

      <xs:element name="object_shields">
        <xs:annotation>
          <xs:documentation>
            Specified object has shield level (percentage)
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attributeGroup ref="condition" />
          <xs:attributeGroup ref="object">
            <xs:annotation>
              <xs:documentation>
                Object to check (player ship if not specified)
              </xs:documentation>
            </xs:annotation>
          </xs:attributeGroup>
          <xs:attributeGroup ref="range">
            <xs:annotation>
              <xs:documentation>
                Hull percentage
              </xs:documentation>
            </xs:annotation>
          </xs:attributeGroup>
        </xs:complexType>
      </xs:element>
must be

Code: Select all

      <xs:element name="object_shields">
        <xs:annotation>
          <xs:documentation>
            Specified object has shield level (percentage)
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attributeGroup ref="condition" />
          <xs:attributeGroup ref="object">
            <xs:annotation>
              <xs:documentation>
                Object to check (player ship if not specified)
              </xs:documentation>
            </xs:annotation>
          </xs:attributeGroup>
          <xs:attributeGroup ref="range">
            <xs:annotation>
              <xs:documentation>
                Shield percentage
              </xs:documentation>
            </xs:annotation>
          </xs:attributeGroup>
        </xs:complexType>
      </xs:element>
i.e. exist Hull percentage, must be Shield percentage

append.

Exist text:

Code: Select all

      <xs:element name="remove_inventory">
        <xs:annotation>
          <xs:documentation>
            Add item to player inventory
          </xs:documentation>
        </xs:annotation>
....
must be

Code: Select all

      <xs:element name="remove_inventory">
        <xs:annotation>
          <xs:documentation>
            Remove item from player inventory
          </xs:documentation>
        </xs:annotation>
i.e. exist Add item to player inventory, must be Remove item from player inventory

Posted: Fri, 4. Jan 08, 10:53
by ChemODun
May I propouse create new event for any object:
object_comm_initiated_by_player.

This event must be occur when player try establish communication whith any object (via standart comm)

Posted: Fri, 4. Jan 08, 10:59
by CBJ
You seem to have missed the part about the MD being unsupported in X3. There will be no changes to this technology preview release.

Posted: Fri, 4. Jan 08, 11:51
by jlehtone
Doesn't technology preview imply the possibility that in future there may be a product containing such technology? And not just that, but that the feedback received for the preview might actually influence the decisions about how the technology could be in the product, should one become tangible?

If so, proposals are such feedback and good, but the proposer can not expect response, perhaps ever. DevNet?

Posted: Fri, 4. Jan 08, 11:51
by Sandalpocalypse
I read the documentation. This is looking good. I'm no programmer and the MSCI always intimidated me. MD seems more straightforward...

Any news on the Steam patch? :x

Posted: Fri, 4. Jan 08, 12:53
by CBJ
jlehtone wrote:Doesn't technology preview imply the possibility that in future there may be a product containing such technology? And not just that, but that the feedback received for the preview might actually influence the decisions about how the technology could be in the product, should one become tangible?

If so, proposals are such feedback and good, but the proposer can not expect response, perhaps ever. DevNet?
Yes, you are absolutely right. Feedback is indeed welcome; the point I was making (perhaps rather more tersely than was strictly necessary) was that any such feedback won't be acted upon in the current product, so people shouldn't post with that expectation. In penance for my shortness in the last reply, I'll divulge a little snippet of information that I probably shouldn't: player comms integration is one of the MD features that is already under development for whatever future product the MD might be used in.
Sandalpocalypse wrote:Any news on the Steam patch?
As far as I'm aware it is already available from Steam.