Page 8 of 10

Posted: Mon, 28. Apr 08, 23:05
by Garga-Potter
We are planning a story and whe would like to give it in several languages without having to tell the user "this should go here, that should go there", and so on. I know that zipping all stuff maintains the directory tree when unzipped, but it could overwrite other files as well. Putting all in a false patch could reduce this risk.

I admit I am not an expert of X3 programming at all: this is actually my first approach to the world of scripting-modding-missiondirectoring in X3 so maybe some issues have been discussed before somewhere else...

Posted: Tue, 29. Apr 08, 08:03
by Garga-Potter
I got the external text solution by reading this post thoroughly :roll:

http://forum.egosoft.com/viewtopic.php?p=2346344

and the 2 posts underneath that one

I suppose it would be a good thing to either make a new PDF with the right explanations (eg the example explained in the booklet will NEVER work as it misses the starting load_file tag) or by adjusting the files suplied in the first post!!!

Or maybe both?

Or maybe just writing an addendum in the first post saying how the external text may be linked in the game!

Ah! By the way: it should be also important to say that the dmp file has been disabled (or how one can enable it), as it is another wrong info placed in the PDF! I spend hours in trying to understand how this thing works!!!

So... to make it clear...

* external texts:
- the structure of the example (BM47_XXXT.xml and the accompagnying text) is right BUT: the first bit of the text call MUST be the same as the pageid tag in the text (in the example the leading "3" is missing both in the calling bit AND in the text file) AND the text filename MUST be the same as the one called in load_text PRECEDED by the language code!!!

* director.dmp: it has been disabled due to performance issues

* detailed script (gate race)
- missing the load_text tag (add in the action part of the prepare cue <load_text fileid="1081">)
- missing the text file, but the name for this example to work MUST BE 391081.xml and the structure is anyway very simple:

Code: Select all

<language id="39"><!-- your language code, remember to set the filename to this code + the pageid code -->

    <page id="[b]1081[/b]" desc="whatever you want">
        <t id="0"> </t>
        <t id="1"> bla bla bla </t>
        <t id="2"> hipty dipty doo </t>
        <t id="3">Sim Sal Bim</t>
        <t id="4">Dart Vader</t>
        <t id="5">and so on</t>
    </page>
</language>
Hope this helps...

Posted: Tue, 29. Apr 08, 13:16
by Cycrow
Garga-Potter wrote:We are planning a story and whe would like to give it in several languages without having to tell the user "this should go here, that should go there", and so on. I know that zipping all stuff maintains the directory tree when unzipped, but it could overwrite other files as well. Putting all in a false patch could reduce this risk.

I admit I am not an expert of X3 programming at all: this is actually my first approach to the world of scripting-modding-missiondirectoring in X3 so maybe some issues have been discussed before somewhere else...
you could of course jsut use the plugin manager and create your mod in a spk file so its installed automatically for you

Posted: Wed, 7. May 08, 15:42
by ChemODun
Previously:
CBJ wrote:
ChemODun wrote:May I post in this thread link to russian translation of Manual and MD files, when I will finish it?
Of course! Positive contributions are always welcome. :)
Now it finished.
ChemODun wrote:Hi All.

Here is Russian Version of XMDGuide manual in pdf.
And same Guide in *.chm format.
As I can see EGOSOFT doesn't need Russian translation. Is it true?

Posted: Wed, 9. Jul 08, 03:37
by Ilintar
Hello,

I've just recently started playing X3 and since I like playing around with editors and stuff (and I wanted to add some entertaining BBS quests to the game), I thought I'd get myself acquainted with the Mission Director. I thought I'd modify a sample mission first, so I took the escort mission. Here's the code:

Code: Select all

<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
  <documentation>
    <author name="Owen Lake" alias="Xenon_Slayer" contact="E-Mail: Owen@Egosoft.com" />
    <content reference="GG01" name="Basic Escort Mission" description="Escort ship to destination station"/>
    <version number="0.2" date="02/01/08" status="Sample"/>
  </documentation>
  <cues>
    <cue name="GG Add Mission">
      <action>
        <add_bbs_quest name="GG01" priority="1000" max="1"/>
      </action>
      <cues>
        <cue name="GG01" instantiate="static">
          <condition>
            <bbs_quest_evaluated quest="GG01"/>
          </condition>
          <action>
            <do_all>
              <find_station name="GG01.Destination Station" dockingallowed="1" race="default">
                <jumps min="1" max="2"/>
              </find_station>
            </do_all>
          </action>
          <cues>
            <cue name="GG01 Mission Offer">
              <condition>
                <check_all>
                  <check_value value="{object.exists@GG01.Destination Station}" exact="1"/>
                </check_all>
              </condition>
              <action>
                <do_all>
                  <set_value name="GG01.Reward" min="({player.traderank.rank}+1) * 10000" max="({player.traderank.rank}+1) * 20000"/>
                  <set_value name="GG01.Offer Race" exact="{player.dockobject.race}"/>
                  <create_actor name="GG01.Offer Actor" character="{random.pilot.{value@GG01.Offer Race}}"/>
                  <offer_bbs_quest quest="GG01" author="{actor.name@GG01.Offer Actor}" text="[center][u]Ship Escort[/u]\n\n [b]{actor.name@GG01.Offer Actor}[/b] will offer [b]{value@GG01.Reward} credits[/b] to anyone who will escort a trading convoy to [b]{object.name@GG01.Destination Station}, {object.sector.name@GG01.Destination Station}[/b]. Be aware that multiple pirate attacks are expected, as the ship is carrying valuable cargo and the pirates have someone caught onto it.[/center] \n\n[center][select value='Accept']Accept[/select][/center]"/>
                </do_all>
              </action>
              <cues>
                <cue name="GG01 Mission Accepted">
                  <condition>
                    <bbs_quest_selected quest="GG01"/>
                  </condition>
                  <action>
                    <do_all>
                      <accept_bbs_quest quest="GG01"/>
                      <set_value name="GG01.Mission End" exact="0" />
                      <set_value name="GG01.Jumps" min="1" max="({player.fightrank.rank}/3)+2" profile="decreasing"/>
                      <do_if value="{object.exists@GG01.Destination Station}" exact="0" comment="Incase the station was destroyed during the BBS offer.">
                        <incoming_message author="{actor.name@GG01.Offer Actor}" popup="1" text="Sorry. Our transports have already left. Thanks for offering anyway."/>
                      </do_if>
                      <incoming_message author="{actor.name@GG01.Offer Actor}" popup="1" text="Ok. The destination is {object.name@GG01.Destination Station}, {object.sector.name@GG01.Destination Station}"/>
                      <do_all>
                        <create_ship leader="1" group="GG01.Escorted Ships" class="ts" highlight="1"
                                     race="{value@GG01.Offer Race}" typename="SS_SH_A_TS" capturable="1" racelogic="0">
                          <position exact="4km" object="{player.dockobject}"/>
                          <equipment loadout="default"/>
                        </create_ship>
                      </do_all>
                      <do_all chance="60">
                        <create_ship group="GG01.Escorted Ships" class="ts" highlight="1"
                                     race="{value@GG01.Offer Race}" typename="SS_SH_A_TS_1" capturable="1" racelogic="0">
                          <position exact="1km" object="{group.leader@GG01.Escorted Ships}"/>
                          <equipment loadout="default"/>
                        </create_ship>
                      </do_all>
                      <do_all chance="60">
                        <create_ship group="GG01.Escorted Ships" class="ts" highlight="1"
                                     race="{value@GG01.Offer Race}" typename="SS_SH_A_TS_2" capturable="1" racelogic="0">
                          <position exact="1km" object="{group.leader@GG01.Escorted Ships}"/>
                          <equipment loadout="default"/>
                        </create_ship>
                      </do_all>
                      <set_group_command group="GG01.Escorted Ships" command="follow" commandobject="{group.leader@GG01.Escorted Ships}"/>
                      <set_command object="{group.leader@GG01.Escorted Ships}" command="dock" commandobject="GG01.Destination Station"/>
                      <set_value name="GG01.Group Size" exact="{group.object.count@GG01.Escorted Ships}"/>
                    </do_all>
                  </action>
                  <cues>
                    <cue name="GG01 Destination Reached">
                      <condition>
                        <check_all>
                          <all_objects_are_docked group="GG01.Escorted Ships" dockobject="GG01.Destination Station"/>
                          <check_value value="{group.object.count@GG01.Escorted Ships}" min="1"/>
                        </check_all>
                      </condition>
                      <timing>
                        <time exact="5s"/>
                      </timing>
                      <action>
                        <do_all>
                          <incoming_message text="Thank you for getting us to our destination. As promised, here are the [b]{value@GG01.Reward} credits[/b]."/>
                          <reward_player>
                            <money exact="{value@GG01.Reward}"/>
                            <traderank min="30" max="50" />
                          </reward_player>
                        </do_all>
                      </action>
                    </cue>

                    <cue name="GG01 Create Pirates">
                      <timing>
                        <count exact="3"/>
                        <time min="1m" max="2m"/>
                        <!--<interval exact="3m"/>-->
                      </timing>
                      <action>
                        <do_all comment="When interval is fixed make this perform multiple times">
                          <set_object name="GG01.Random Ship" value="{group.object.random@GG01.Escorted Ships}"/>
                          <create_ship class="m4" group="GG01.Pirates" covered="0" race="pirate" racelogic="0" typename="SS_SH_M4_P_1">
                            <position object="GG01.Random Ship" max="10km"/>
                            <sector sector="{object.sector@GG01.Random Ship}"/>
                            <equipment loadout="default"/>
                            <command command="attack" commandobject="GG01.Random Ship"/>
                          </create_ship>
                        </do_all>
                      </action>
                    </cue>

                    <cue name="GG01 Create Pirates 2">
                      <timing>
                        <count exact="3"/>
                        <time min="5m" max="6m"/>
                      </timing>
                      <action>
                        <do_all comment="Second group of pirate raiders">
                          <set_object name="GG01.Random Ship2" value="{group.object.random@GG01.Escorted Ships}"/>
                          <create_ship class="m4" group="GG01.Pirates2" covered="0" race="pirate" racelogic="0" typename="SS_SH_M4_P_1">
                            <position object="GG01.Random Ship2" max="10km"/>
                            <sector sector="{object.sector@GG01.Random Ship2}"/>
                            <equipment loadout="default"/>
                            <command command="attack" commandobject="GG01.Random Ship"/>
                          </create_ship>
                        </do_all>
                      </action>                      
                    </cue>

                    <cue name="GG01 Ship Destroyed" instantiate="static">
                      <condition>
                        <any_object_destroyed group="GG01.Escorted Ships"/>
                      </condition>
                      <timing>
                        <time exact="1s"/>
                      </timing>
                      <action>
                        <do_all>
                          <do_choose>
                            <do_when value="{group.object.count@GG01.Escorted Ships}" min="1">
                              <do_choose>
                                <do_when value="{group.leader.exists@GG01.Escorted Ships}" exact="1">
                                  <incoming_message text="A Ship has been Destroyed"/>
                                </do_when>
                                <do_when value="{group.leader.exists@GG01.Escorted Ships}" exact="0">
                                  <set_object name="GG01.Temp Object" value="{group.object.random@GG01.Escorted Ships}"/>
                                  <set_group_leader group="GG01.Escorted Ships" object="GG01.Temp Object"/>
                                  <incoming_message text="{group.leader@GG01.Escorted Ships}"/>
                                  <set_group_command group="GG01.Escorted Ships" command="follow" commandobject="{group.leader@GG01.Escorted Ships}"/>
                                  <set_command object="{group.leader@GG01.Escorted Ships}" command="dock" commandobject="GG01.Destination Station"/>
                                  <set_group_command group="GG01.Pirates" command="attack" commandobject="{group.object.random@GG01.Escorted Ships}"/>
                                  <set_group_command group="GG01.Pirates2" command="attack" commandobject="{group.object.random@GG01.Escorted Ships}"/>
                                  <incoming_message text="The Escort Leader was destroyed!" author="{actor.name@GG01.Offer Actor}"/>
                                </do_when>
                              </do_choose>
                            </do_when>
                            <do_otherwise>
                              <set_group_command group="GG01.Pirates" command="default"/>
                              <set_group_command group="GG01.Pirates2" command="default"/>
                              <cancel_cue cue="GG01"/>
                            </do_otherwise>
                          </do_choose>
                        </do_all>
                      </action>
                    </cue>

                    <cue name="GG01 Ship Captured By Player" instantiate="static" comment="Removing captured ships from mission groups is important">
                      <condition>
                        <any_object_captured group="GG01.Escorted Ships"/>
                      </condition>
                      <action>
                        <remove_object_from_group object="{event.object}" group="GG01.Escorted Ships"/>
                      </action>
                    </cue>

                    <cue name="GG01 Start Cleanup">
                      <condition>
                        <check_any>
                          <object_destroyed object="GG01.Destination Station"/>
                          <object_destroyed_by_player object="GG01.Destination Station"/>
                          <any_object_destroyed_by_player group="GG01.Escorted Ships"/>
                          <any_object_captured group="GG01.Escorted Ships"/>
                        </check_any>
                      </condition>
                      <timing>
                        <time exact="2s"/>
                      </timing>
                      <action>
                        <do_all>
                          <set_value name="GG01.Ship Count" exact="1"/>
                          <do_choose>
                            <do_when value="{group.object.count@GG01.Escorted Ships}" min="1">
                              <do_choose>
                                <do_when value="{object.exists@GG01.Destination Station}" exact="1">
                                  <set_group_command group="GG01.Escorted Ships" command="dock" commandobject="GG01.Destination Station"/>
                                  <set_value name="GG01.Fail Reason" exact="1" comment="Replace with Text ID"/>
                                </do_when>
                                <do_otherwise>
                                  <do_all exact="{group.object.count@GG01.Escorted Ships}">
                                    <find_station class="station" dockingallowed="1" name="GG01.Cleanup Station" nearest="1">
                                      <sector sector="{object.sector@{group.object.{value@GG01.Ship Count}@GG01.Escorted Ships}}"/>
                                      <jumps min="1"/>
                                    </find_station>
                                    <set_command object="{group.object.{value@GG01.Ship Count}@GG01.Escorted Ships}" command="movesector">
                                      <sector sector="{object.sector@GG01.Cleanup Station}"/>
                                    </set_command>
                                    <set_value name="GG01.Fail Reason" exact="2"/>
                                    <set_value name="GG01.Ship Count" exact="{value@GG01.Ship Count}+1"/>
                                  </do_all>
                                </do_otherwise>
                              </do_choose>
                              <cancel_cue cue="GG01 Ship Destroyed"/>
                              <cancel_cue cue="GG01 Destination Reached"/>
                              <cancel_cue cue="GG01 Create Pirates"/>
                              <cancel_cue cue="GG01 Create Pirates 2"/>
                            </do_when>
                            <do_otherwise>
                              <incoming_message text="You have performed a hostile act onto one of our ships. You have failed the mission."/>
                              <cancel_cue cue="GG01"/>
                            </do_otherwise>
                          </do_choose>
                          <do_if value="{value@GG01.Mission End}" exact="0">
                            <do_choose>
                              <do_when value="{value@GG01.Fail Reason}" exact="1" comment="Totally Failed">
                                <incoming_message text="You have performed a hostile act onto one of our ships. You have failed the mission."/>
                              </do_when>
                              <do_when value="{value@GG01.Fail Reason}" exact="2" comment="Limited Reward">
                                <incoming_message text="The destination has been destroyed. We have been given new orders. Your service is no longer required. You have earned {({value@GG01.Reward} / 2)} Credits."/>
                                <reward_player>
                                  <money exact="{value@GG01.Reward} / 5"/>
                                  <traderank min="5" max="10" />
                                </reward_player>
                              </do_when>
                            </do_choose>
                          </do_if>
                          <set_group_command group="GG01.Pirates" command="default"/>
                          <set_group_command group="GG01.Pirates2" command="default"/>
                          <set_group_highlight group="GG01.Escorted Ships" highlight="0"/>
                          <set_value name="GG01.Mission End" exact="1"/>
                        </do_all>
                      </action>
                      <cues>
                        <cue name="GG01 Cleanup" instantiate="static">
                          <condition>
                            <check_any>
                              <any_object_changed_sector group="GG01.Escorted Ships"/>
                              <any_object_docked group="GG01.Escorted Ships"/>
                            </check_any>
                          </condition>
                          <action>
                            <do_all>
                              <destroy_object object="{event.object}"/>
                              <do_if value="{group.object.count@GG01.Escorted Ships}" exact="0">
                                <cancel_cue cue="GG01"/>
                              </do_if>
                            </do_all>
                          </action>
                        </cue>
                      </cues>
                    </cue>

                    
                  </cues>
                </cue>
              </cues>
            </cue>
          </cues>
        </cue>
      </cues>
    </cue>
  </cues>
</director>
Now, I've run into two problems with the mission.

1) It seems that if I code a version of the mission, make it run the instantiated cue, then correct the mission and try to reload, it will not launch again, not even when I reset the Mission Director. It looks like there's a quest ID lingering in the saved file that won't go away with the MD reset and that prevents it from adding a new BBS item. When I change the cue and quest names, however (hence the weird cue names above) and reset the MD, the quest instantly appears.

2) This might be related to the previous one - when I manage to finish the quest (I get my rewards etc.), it does not reappear in the quest list on the BBS. Again, even if I reset the MD, it won't appear again.

Any ideas on what I'm doing wrong or how to remedy this?

Posted: Wed, 9. Jul 08, 20:19
by Stu Austin
Hello Ilintar. When I first started making the BBS missions, I came to the conclusion that it was broken. I spent days trying to get them to work on the bbs with no success. So I decided to try a different approach.
Instead of having them show up on bbs, I decided to have an incoming message asking if I wanted to do a mission. So far the way I do it now has been working great. I've modified the missions a lot but here is a simple one which it can be changed around to suit your needs. Enable script editor, fly to the wall and 45 seconds later you will get an incoming message. You are more than welcome to change the file around anyway you would like. Hope this helps.

Code: Select all

<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
  <documentation>
    <author name="Stu Austin" alias="Stu Austin" contact="contact info" />
    <content reference="Escort Mission" name="Escort Template" description="escort mission with rewards." />
    <version number="0.1" date="4-5-2008" status="beta" />
  </documentation>
  <cues>
    <cue name="question" game="all" map="all">
      <condition>
        <check_all>
          <object_changed_sector comment="Check first"/>
          <object_sector exact="0">
            <sector x="2" y="3" comment="The Wall"/>
          </object_sector>
          <match_object object="{player.ship}" class="fighter"/>
        </check_all>
      </condition>
      <timing>
        <time exact="45s" />
      </timing>
      <action>
        <ask_question name="q" author="Space Truckers Inc." text="Hello Commander. We desparately need an escort for one of our transports. There will be an reward plus a bonus if mission is completed successfully. Will you provide us as an escort?\n\n[center][select value='yes']Yes[/select][/center]\n[center][select value='no']No[/select][/center]" />
      </action>
      <cues>
        <cue name="ES01" game="all" map="all" instantiate="instance">
          <action>
            <do_all>
              <find_station name="ES01.Destination Station" dockingallowed="1" race="default">
                <jumps min="1" max="2"/>
              </find_station>
            </do_all>
          </action>
          <cues>
        <cue name="answer yes" game="all" map="all">
          <condition>
            <question_answered question="q" answer="yes" />
          </condition>
          <action>
            <do_all>
              <set_value name="ES01.Mission End" exact="0"/>
              <set_value name="ES01.Jumps" min="1" max="({player.fightrank.rank}/3)+2" profile="decreasing"/>
              <find_station name="ES01.Destination Station" dockingallowed="1" race="default">
                <jumps min="1" max="1"/>
              </find_station>
              <incoming_message author="Space Truckers Inc." popup="1" text="Thankyou Commander. The destination is {object.name@ES01.Destination Station}, {object.sector.name@ES01.Destination Station}"/>
              <do_all>
                <create_ship leader="1" group="ES01.Escorted Ships" class="ts" highlight="1"
                             race="argon" typename="SS_SH_A_TS" capturable="1" racelogic="0">
                  <position exact="1km" object="{player.ship}"/>
                  <equipment loadout="default"/>
                  <pilot shipname="Space Truckers Inc."/>
                </create_ship>
              </do_all>
              <set_command object="{group.leader@ES01.Escorted Ships}" command="dock" commandobject="ES01.Destination Station"/>
              <set_value name="ES01.Group Size" exact="{group.object.count@ES01.Escorted Ships}"/>
            </do_all>
          </action>
              <cues>
            <cue name="ES01 Mission Offer" game="all" map="all">
              <condition>
                <check_all>
                  <check_value value="{object.exists@ES01.Destination Station}" exact="1"/>
                </check_all>
              </condition>
              <action>
                <do_all>
                  <create_actor name="ES01.Offer Actor" character="{random.pilot.{value@ES01.Offer Race}}"/>
                </do_all>
              </action>
              <cues>
                <cue name="ES01 Mission Accepted" game="all" map="all">
                  <cues>
                    <cue name="ES01 Destination Reached" game="all" map="all">
                      <condition>
                        <check_all>
                          <all_objects_are_docked group="ES01.Escorted Ships" dockobject="ES01.Destination Station"/>
                          <check_value value="{group.object.count@ES01.Escorted Ships}" min="1"/>
                        </check_all>
                      </condition>
                      <timing>
                        <time exact="5s"/>
                      </timing>
                      <action>
                        <do_all>
                          <reward_player>
                            <money exact="1500000"/>
                            <traderank exact="10000"/>
                            <fightrank exact="10000"/>
                          </reward_player>
                          <incoming_message author="Space Truckers Inc" text="Mission Completed. We have awarded 1,500,000 credits to your account and 10,000 points each towards your trade and fight rank increase."/>
                          <cancel_cue cue="ES01 Destination Reached"/>
                        </do_all>
                      </action>
    </cue>
  </cues>
                </cue>
              </cues>
            </cue>
          </cues>
        </cue>
      </cues>
    </cue>
  </cues>
    </cue>
  </cues>
</director>

Posted: Wed, 16. Jul 08, 03:02
by Ilintar
Yeah, but the problem is the tradeoff between scripting and playing. If one were able to add the missions to the BBS, one could actually enjoy the game and have his custom-made missions pop once in a while. With preprogrammed missions, you have to actually remember to trigger them, disable them when you need them so that they don't appear suddenly etc.

So, I'm looking for a way to make the BBS missions work, I'll try to look into it myself if I find some more time.

Posted: Wed, 16. Jul 08, 10:55
by Ketraar
Ilintar wrote:and have his custom-made missions pop once in a while.
I advise you read Stu's post again, but slower.
Instead of having them show up on bbs, I decided to have an incoming message asking if I wanted to do a mission.
So there is not really a big difference, to the BBS missions. You get them, you read them and you accept them or not.

I think its an acceptable compromise.

MFG

Ketraar

Posted: Wed, 16. Jul 08, 15:55
by Ilintar
So there is not really a big difference, to the BBS missions. You get them, you read them and you accept them or not.
I think I quite explicitly noted where I see the difference, but once again:
1) With BBS missions, you can play your game normally and not worry about _specific_ conditions that have to be met for your mission to appear.
2) With custom-made missions triggered on entry to some sector, you can actually have it interrupt your game (say, you're travelling a lot through The Wall doing some trading), so you have to turn them on and off continuously.

I'm not saying his solution is bad, I'm just saying I'm still hoping there's a way to integrate the missions from MD into the game in a way that will make it transparent for the typical player.

Posted: Wed, 16. Jul 08, 16:28
by Ketraar
Ok then lets see if I can say this:
BBS inclusion is NOT working, as Stu and others came to know after trying for a very long time.

Having said that:
Ilintar wrote:1) With BBS missions, you can play your game normally and not worry about _specific_ conditions that have to be met for your mission to appear.
How you set the conditions its up to you so I don't see a difference, since it would be the same for BBS (yes those also need conditions).
2) With custom-made missions triggered on entry to some sector, you can actually have it interrupt your game (say, you're travelling a lot through The Wall doing some trading), so you have to turn them on and off continuously.
Make the incoming message pop up only when the player is docked. Also its up to you to decide how often the same mission will appear and if random or not.

I think you are missing the point that using incoming message does not imply that a mission must be static. Its just the "delivery" of the mission that differs, everything else its just about the same.

MFG

Ketraar

Posted: Fri, 25. Jul 08, 14:42
by YBnorml
When using the MD how does one go about adding or removing notoriety?

When ever I try to add it I get no lookup for any attributes. I also can't seem to find anything showing how to us this command.

One small example is all I need :-)

YB

Posted: Fri, 25. Jul 08, 15:30
by Ketraar

Code: Select all

<reward_player>
  <notoriety>
    <relation race="argon" exact="10000"/>
  </notoriety>
</reward_player>
No lookup is needed.
Note that you can use min/max instead of exact.
If you want to set a specific notoriety rank you will have to do this in two steps.

Code: Select all

<set_value name="this.notorietyvaluerank2" exact="{lookup.notoriety@notop2}"/>
This will give you the exact value of the 2nd positive rank

Code: Select all

<reward_player>
  <notoriety>
    <relation race="argon" exact="{value@this.notorietyvaluerank2}-{player.notoriety.argon}"/>
  </notoriety>
</reward_player>
Here you add the full amount of the notoriety, but since it gets added you just remove the existing amount that the player has to that specific race (argon in this case).

As an alternative you can just lookup the amounts yourself and replace the set_value step with those.

Hope this helps.

MFG

Ketraar

Mission Director

Posted: Fri, 22. Aug 08, 22:10
by Gilesey
While I'm waiting for TC to come out, I'm planning to revist X3 to get back into the swing of things but would rather have some new missions to do while I'm there.

I read of the Mission Director a while ago, but I can't find much content, there are only two missions in the sticky at the top of the page...

http://forum.egosoft.com/viewtopic.php?t=96340

...am I looking in the wrong place, is there anything else.

Can anyone help.

Posted: Sat, 23. Aug 08, 03:46
by eladan
Those are the only ones I know of.

The mission director is relatively new. People need to learn it and test what it can do before they are able to start producing missions with it. There isn't an established base of people familiar with it as there was with the script editor when X3 came out.

Posted: Fri, 12. Sep 08, 21:03
by Jedi Rebel
is there a command dictionary:stating what each commands function is;
im not use to these high level languages;so use to programming in assembly without an assembler/editor.((z80 & 6502)the ancients languages)
if its not designed for x3 then surly someone could write a compiler???
anyone remember what a R.O.M. did? but a rom kept processing the code continually;making the programme slow and with high level languages,there are things you just cant do as with machine code(Assembly).

Posted: Fri, 12. Sep 08, 21:08
by Cycrow
what do you need a compiler for ?

the mission director is not a programming language, its designed for a very specific task, creating missions via the use of game events.

due to the use of xml and the schema, theres no need for a "command dictionary" as everything you need is explained in the schema, you jsut need to use a program that can understand it

Posted: Sat, 13. Sep 08, 14:16
by XGamer
All you need is the VWD 2005 Express Edition which can be downloaded for free from the Microsoft Website. Link

And for the "Command Dictionary" just open director.htm in the Director Folder with any Browser such as Internet Explorer. It lists all available Commands, Variables and stuff that you can use and explains briefly what they do.

greetz
XGamer

Posted: Wed, 24. Sep 08, 16:05
by Stu Austin
I can't find any info but is Mission Director going to be included with Terran Conflict?

Posted: Wed, 24. Sep 08, 16:11
by CBJ
Yes, of course!

Posted: Wed, 24. Sep 08, 16:15
by Stu Austin
Thanks CBJ.