[Docn] Director Start.xml

The place to discuss scripting and game modifications for X³: Terran Conflict and X³: Albion Prelude.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

[Docn] Director Start.xml

Post by apricotslice » Sat, 6. Dec 08, 05:00

There are 2 files used for the specification of Game Starts.

TC/director/start.xml
TC/L/true/gamestarts.xml

AP Note : These have changed for AP :
TC/addon/director/start.xml
TC/addon/types/gamestarts.xml



Both are xml files like scripts, and require an xml editor to edit them.

Gamestart.xml contains the text you see on the New Game Menu, the sector you start in and the starting ship.

Start.xml contains all the rest of the information for the start, including ship fittings, sectors visible, extra ships, race ranks, plot activation and starting credits.

Conventional scripting methodology has that all text must be included in a text file. However, this does not work for starts. Any text references not in 0001-L???.txt are ignored on game startup. So it is necessary to hardcode the text into both files when creating a new start.

You can modify the existing start files for changing the setup of your starting ship, adding extra ships, adding or changing whatever fitout you want in them.

You can add completely new starts.

You need to know the ID's of everything you put in.

I could not find a way to put a ship inside a ship, although I did try. It just seemed to ignore the embedded ship.

I wasnt too impressed with where the ships were placed, (right next to the starting ship, whereever they fit in the sector), but they did get put in.

Example of gamestart.xml from the AMS Mod.

Code: Select all

  <!-- Apricot Mapping Service -->
  <gamestart id="125" name="Apricot Mapping Service" description="The AMS has fallen on hard times, but unlike some, you are still CEO of a viable corporation with a small fleet to command and some unique technical innovations. You are a friend to most. Time to rebuild." difficulty="Easy" image="start125" plot="1">
    <player name="John -Apricot- Slice" species="Argon" gender="Male" age="48"/>
    <!-- Argon Prime -->
    <sector x="1" y="3"/>
    <ship typename="APRICOT_GUNBUS"/>
  </gamestart>      
Example of start.xml entries from the AMS Mod, of a new game start, for player ship and bonus ship.

Part 1.

AP Note : This section of code has been removed. The plots are now embedded at the top of the code for part 2.

Code: Select all

              <do_when value="{player.gamestart}" exact="125" comment="Apricot Mapping Service">
                <set_value name="Terran Link Plot" exact="1"/>
                <set_value name="HUB Plot" exact="1"/>
                <set_value name="HQ Plot" exact="1"/>
              </do_when>      
Part 2.

Code: Select all

              <do_when value="{player.gamestart}" exact="125" comment="Apricot Mapping Service">
                <reward_player>
                  <money min="18000" max="20000"/>
                  <notoriety>
                    <relation race="argon" operation="set" exact="max"/>
                    <relation race="boron" operation="set" exact="max"/>
                    <relation race="paranid" operation="set" exact="max"/>
                    <relation race="split" operation="set" exact="max"/>
                    <relation race="teladi" operation="set" exact="max"/>
                    <relation race="goner" operation="set" exact="max"/>
                    <relation race="pirate" operation="set" exact="enemy"/>
                    <relation race="khaak" operation="set" exact="min" mutual="1"/>
                    <relation race="xenon" operation="set" exact="min" mutual="1"/>
                    <relation race="atf" operation="set" exact="friend"/>
                    <relation race="terran" operation="set" exact="friend" mutual="1"/>
                    <relation race="yaki" operation="set" exact="foe" mutual="1"/>
                  </notoriety>
                  <equipment>
                    <ware typename="SS_SHIELD_F" exact="10"/>
                    <ware typename="SS_LASER_APRICOT1" exact="11"/>
                    <ware typename="SS_LASER_APRICOT2" exact="11"/>
                    <ware typename="SS_LASER_REPAIR" exact="1"/>
                    <ware typename="SS_LASER_TUG" exact="1"/>
                    <ware typename="SS_LASER_MINING" exact="1"/>
                    <ware typename="SS_WARE_BOOST" exact="1"/>
                    <ware typename="SS_WARE_SCANNER2" exact="1" comment="Duplex Scanner"/>
                    <ware typename="SS_WARE_SCANNER3" exact="1"/>
                    <ware typename="SS_WARE_TECH213" exact="85" comment="Engine Tunings"/>
                    <ware typename="SS_WARE_TECH231" exact="1" comment="SETA"/>
                    <ware typename="SS_WARE_TECH242" exact="1" comment="Video Enhancement Goggles"/>
                    <ware typename="SS_WARE_TECH246" exact="35" comment="Rudder Optomisation"/>
                    <ware typename="SS_WARE_TECH251" exact="0" comment="Cargo Bay Extension"/>
                    <ware typename="SS_WARE_TECH209" exact="20" comment="Salvage Insurance"/>
                    <ware typename="SS_WARE_TECH226" exact="1"/>
                    <ware typename="SS_WARE_TECH216" exact="1"/>
                    <ware typename="SS_WARE_TECH221" exact="1"/>
                    <ware typename="SS_WARE_TECH241" exact="1"/>
                    <ware typename="SS_WARE_TECH275" exact="1"/>
                    <ware typename="SS_WARE_TECH276" exact="1"/>
                    <ware typename="SS_WARE_TECH277" exact="1"/>
                    <ware typename="SS_WARE_L_A" exact="1"/>
                    <ware typename="SS_WARE_L_P" exact="1"/>
                    <ware typename="SS_WARE_L_T" exact="1"/>
                    <ware typename="SS_WARE_L_B" exact="1"/>
                    <ware typename="SS_WARE_L_S" exact="1"/>
                    <ware typename="SS_WARE_BEAMING" exact="1"/>
                    <ware typename="SS_WARE_BESTBUY" exact="1"/>
                    <ware typename="SS_WARE_BESTSELL" exact="1"/>
                    <ware typename="SS_WARE_BIOSCANNER" exact="1"/>
                    <ware typename="SS_WARE_CARGOSHIELD" exact="1"/>
                    <ware typename="SS_WARE_FIREWALL" exact="1"/>
                    <ware typename="SS_WARE_HULLPOLARIZE" exact="1"/>
                    <ware typename="SS_WARE_LIFESUPPORT" exact="1"/>
                    <ware typename="SS_WARE_ORECOLLECTOR" exact="1"/>
                    <ware typename="SS_WARE_SENTRY" exact="1"/>
                    <ware typename="SS_WARE_SW_CARRIER" exact="1"/>
                    <ware typename="SS_WARE_SW_EXPLORER" exact="1"/>
                    <ware typename="SS_WARE_SW_FIGHT_1" exact="1"/>
                    <ware typename="SS_WARE_SW_FIGHT_2" exact="1"/>
                    <ware typename="SS_WARE_SW_NAV_1" exact="1"/>
                    <ware typename="SS_WARE_SW_NEW13" exact="1"/>
                    <ware typename="SS_WARE_SW_NEW17" exact="1"/>
                    <ware typename="SS_WARE_SW_NEW2" exact="1"/>
                    <ware typename="SS_WARE_SW_PATROL_1" exact="1"/>
                    <ware typename="SS_WARE_SW_SPECIAL_1" exact="1"/>
                    <ware typename="SS_WARE_SW_SUPPLY_1" exact="1"/>
                    <ware typename="SS_WARE_SW_TRADE_1" exact="1"/>
                    <ware typename="SS_WARE_SW_TRADE_2" exact="1"/>
                    <ware typename="SS_WARE_UNFOCUS_JUMP" exact="1"/>
                    <ware typename="SS_WARE_WARPING" exact="1"/>
                  </equipment>
                  <cargo>
                        <ware typename="SS_WARE_ENERGY" exact="3000"/>
                        <ware typename="SS_WARE_DUMMY23" exact="1"/>
                        <ware typename="SS_WARE_DUMMY26" exact="1"/>
                        <ware typename="SS_WARE_DUMMY30" exact="1"/>
                  </cargo>
                  <map>
                    <sector x="0" y="0"/>
                    <sector x="0" y="1"/>
                    <sector x="0" y="2"/>
                    <sector x="0" y="3"/>
                    <sector x="0" y="4"/>
                    <sector x="0" y="5"/>
                    <sector x="0" y="6"/>
                  </map>
                </reward_player>                 
                    <create_ship race="player" typename="APRICOT_CAMEL">
                      <equipment>
                        <ware typename="SS_SHIELD_F" exact="10"/>
                        <ware typename="SS_LASER_APRICOT1" exact="11"/>
                        <ware typename="SS_LASER_APRICOT2" exact="11"/>
                        <ware typename="SS_LASER_REPAIR" exact="1"/>
                        <ware typename="SS_LASER_TUG" exact="1"/>
                        <ware typename="SS_LASER_MINING" exact="1"/>
                        <ware typename="SS_WARE_BOOST" exact="1"/>
                        <ware typename="SS_WARE_SCANNER2" exact="1" comment="Duplex Scanner"/>
                        <ware typename="SS_WARE_SCANNER3" exact="1"/>
                        <ware typename="SS_WARE_TECH213" exact="113" comment="Engine Tunings"/>
                        <ware typename="SS_WARE_TECH231" exact="1" comment="SETA"/>
                        <ware typename="SS_WARE_TECH242" exact="1" comment="Video Enhancement Goggles"/>
                        <ware typename="SS_WARE_TECH246" exact="35" comment="Rudder Optomisation"/>
                        <ware typename="SS_WARE_TECH226" exact="1"/>
                        <ware typename="SS_WARE_TECH216" exact="1"/>
                        <ware typename="SS_WARE_TECH221" exact="1"/>
                        <ware typename="SS_WARE_TECH241" exact="1"/>
                        <ware typename="SS_WARE_TECH275" exact="1"/>
                        <ware typename="SS_WARE_TECH276" exact="1"/>
                        <ware typename="SS_WARE_TECH277" exact="1"/>
                        <ware typename="SS_WARE_L_A" exact="1"/>
                        <ware typename="SS_WARE_L_P" exact="1"/>
                        <ware typename="SS_WARE_L_T" exact="1"/>
                        <ware typename="SS_WARE_L_B" exact="1"/>
                        <ware typename="SS_WARE_L_S" exact="1"/>
                        <ware typename="SS_WARE_BEAMING" exact="1"/>
                        <ware typename="SS_WARE_BESTBUY" exact="1"/>
                        <ware typename="SS_WARE_BESTSELL" exact="1"/>
                        <ware typename="SS_WARE_BIOSCANNER" exact="1"/>
                        <ware typename="SS_WARE_CARGOSHIELD" exact="1"/>
                        <ware typename="SS_WARE_FIREWALL" exact="1"/>
                        <ware typename="SS_WARE_HULLPOLARIZE" exact="1"/>
                        <ware typename="SS_WARE_LIFESUPPORT" exact="1"/>
                        <ware typename="SS_WARE_ORECOLLECTOR" exact="1"/>
                        <ware typename="SS_WARE_SENTRY" exact="1"/>
                        <ware typename="SS_WARE_SW_CARRIER" exact="1"/>
                        <ware typename="SS_WARE_SW_EXPLORER" exact="1"/>
                        <ware typename="SS_WARE_SW_FIGHT_1" exact="1"/>
                        <ware typename="SS_WARE_SW_FIGHT_2" exact="1"/>
                        <ware typename="SS_WARE_SW_NAV_1" exact="1"/>
                        <ware typename="SS_WARE_SW_NEW13" exact="1"/>
                        <ware typename="SS_WARE_SW_NEW17" exact="1"/>
                        <ware typename="SS_WARE_SW_NEW2" exact="1"/>
                        <ware typename="SS_WARE_SW_PATROL_1" exact="1"/>
                        <ware typename="SS_WARE_SW_SPECIAL_1" exact="1"/>
                        <ware typename="SS_WARE_SW_SUPPLY_1" exact="1"/>
                        <ware typename="SS_WARE_SW_TRADE_1" exact="1"/>
                        <ware typename="SS_WARE_SW_TRADE_2" exact="1"/>
                        <ware typename="SS_WARE_UNFOCUS_JUMP" exact="1"/>
                        <ware typename="SS_WARE_WARPING" exact="1"/>
                      </equipment>
                      <cargo>
                        <ware typename="SS_WARE_ENERGY" exact="3000"/>
                        <ware typename="SS_WARE_DUMMY23" exact="1"/>
                        <ware typename="SS_WARE_DUMMY26" exact="1"/>
                        <ware typename="SS_WARE_DUMMY30" exact="1"/>
                      </cargo>
                    </create_ship>
                </reward_player>
                <set_value name="ATF Notoriety" exact="{lookup.notoriety@notop1}"/>
                <set_value name="Terran Link Plot" exact="1"/>
                <set_value name="HUB Plot" exact="1"/>
                <set_value name="HQ Plot" exact="1"/>
              </do_when>      
Adding a station using a director file, by Stu Austin.

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="http://www.egosoft.com" />
    <content reference="Factory" name="Factory" description="Simple 'factory' template" />
    <version number="1.0" date="3-24-2008" status="development" />
  </documentation>
  <cues>
    <cue name="create_wheat1">
      <condition>
        <check_all>
          <check_value value="{player.gamestart}" exact="107" comment="The exact equals to gamestart number."/>
          <check_age value="{player.age}" min="60s" />
        </check_all>
      </condition>
      <action>
        <do_all>
          <load_text fileid="7005"/>
          <find_sector x="1" y="3" name="argonprime" comment="Finds Argon Prime and assigns a name which can be used later" />
          <create_station name="this.Wheatfarm" typename="SS_FAC_R214_1" class="factory" textid="5900">
            <position x="10km" y="10km" z="10km" comment="position of the factory in the spawned sector"/>
            <sector sector="argonprime"/>
          </create_station>
          <set_owner object="this.Wheatfarm" race="argon"/>
          <add_equipment object="this.Wheatfarm">
            <ware typename="SS_SHIELD_E" exact="15" comment="15x1mj shield"/>
          </add_equipment>
          <set_shield object="this.Wheatfarm" exact="90"/>
          <add_resources object="this.Wheatfarm">
            <ware exact="25000" typename="SS_WARE_ENERGY"/>
          </add_resources>
          <complete_cue cue="create_wheat1"/>
        </do_all>
      </action>
    </cue>
  </cues>
</director>      

Additional comments - July 2009.

WARNING : If you make the start.xml file too big, it may not execute on lower end or memory limited computers. I particularly found this when also adding a lot of stations and ships to the game using multiple setup.... scripts. Its like the computer makes a list of things to do, and start.xml and your setup scripts are well down the list, and if the computer runs out of resources, the start.xml just doesnt get done.

To get around this, if your start.xml is going to be large, then only have a single setup script, that checks for a global variable on starting the first time, and because it doesnt exist yet, it does nothing except turn the global variable on. After the first load of a save game, the setup finds the global variable exists, so calls your scripts for what you want created in the game. It then sets the global variable to something that says its completed, and all other times the game is started, it should find the task complete and so not run anything else. I recommend you include hotkey creation at the same time.

When adding a new gamestart, consult the list in the sticky thread of modding documentation for already used start numbers. Then submit your gamestart number to be added to that list.

Please do not duplicate other peoples gamestart numbers or egosofts, as at some time in the future, it may be feasable to make a false patch that includes all of them.

Updates for AP :

There are several significant changes to starts in AP.

Within start.xml, the section I call Part 1, has been removed. The plots information is now embedded at the top of each start, in the Part 2 area.

gamestarts.xml has moved location. It is now in the types folder.
Last edited by apricotslice on Thu, 1. Mar 12, 03:05, edited 11 times in total.

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Sat, 6. Dec 08, 05:05

Another thought :

How far can you nest ship types ?

As in, can you specify a ship, having a ship docked, with that ship having docked ships ?

(Obviously this sounds absurd at first glance, but I like to store my TM on my M1 using Beamdock, and the TM could have ships as well. In designing a start, I'd like to have most ships docked, so there is the thrill of discovery when you look in the bays.)

One of my better "Oooooooooo wouldnt that be great" moments. :D

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Sat, 6. Dec 08, 08:21

I spent some time on this today, and basically answered most of my own questions through trial and error.

Updating the OP.

User avatar
Krewzur
Posts: 725
Joined: Mon, 16. Jun 08, 20:14
x4

Post by Krewzur » Fri, 19. Dec 08, 22:52

you change the ship you start off with in gamestarts.xml (03.cat\L\true\).

For example in Terran Defender your start ship is towards the bottom:

Code: Select all

<!-- Terran Defender 
 -->
<gamestart id="101" name="Terran Defender" description="{1900,2101}" difficulty="{1900,2201}" image="start01" plot="1">
 <player name="{1900,2301}" species="{1900,2401}" gender="{1900,2501}" age="{1900,2601}"/>
<!-- Uranus 
 -->
 <sector x="10" y="1"/>
 <ship typename="SS_SH_USC_M4"/>
 </gamestart>

You can also change the picture, race, description, name, etc.
Corsair 400c // Intel i7 8700k // H100i v2 // ASUS Maximus X Code // ASUS 1080ti Strix OC // 2x8GB Corsair Vengeance 3200MHz // Samsung 960 Evo 250GB // 960GB SanDisk Ultra II // Corsair RM850i

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Fri, 19. Dec 08, 22:57

Thats great to know too. :)

In X3R it was hardcoded to a position in tships, so changing the order of the ships caused the ships to change on a new game start. Good to know they fixed that.

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Fri, 19. Dec 08, 22:59

apricotslice wrote:How far can you nest ship types ?
Every ship can be an environment.

You can put an M2 into a satellite.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Fri, 19. Dec 08, 23:04

How would you code that ?

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

Post by UniTrader » Sat, 20. Dec 08, 08:25

here some hints for creating new Game Starts in X3TC (haven't read the initial post completely, but i think they are usefule ;) i am working on a gamestart-mod in the German Forums ^^)

- The Gamestarts themselves are defined in the L/true/GameStarts.xml
- The Icons for them are in the same folder, but it seems they must have the same format as the existing starts (not tested if it has to be the ame resolution or the same aspect ratio, but i think it is the aspect ratio because the Icon which i tested has been scaled down..)

- The Start equipment besides the Ship is defined in the director/start.xml, however you can use any new MD-File for custom starts to define their equipment (but when you want to put it in the cats/dats you have to add it in the director/MDfiles-file or it will not be loaded). This makes the fitting of this Mod easier for future Patches..

- The Text for the Gamestarts has to be written in the t/0001-Lxxx.xml because there is no possibility to load a custom t-file before the game Starts. But the good thing is you can unse any Page/t id-combination you like for the Game Start, so you can simply use one page for everything and you can copy this page completely, when EGO thinks they have to change the 0001-Lxxx.xml ;)


PS when you want my current mod as example please PM me, but it can take a while becaue i am in vaction ^^ and i can not make this mod ready for english users..
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
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Sat, 20. Dec 08, 08:55

Good info, thanks. :)

OP updated.

PaulP
Posts: 186
Joined: Tue, 18. Nov 08, 00:50
x4

Post by PaulP » Sat, 20. Dec 08, 10:00

You can add a map in too. You just add a <map> section right after </property> with all the desired sectors. Like this:

Code: Select all

                  <map>
                    <sector x="0" y="0"/>
                    <sector x="1" y="0"/>
                    <sector x="2" y="0"/>
                    <sector x="3" y="0"/>
                    <sector x="4" y="0"/>
                    <sector x="5" y="0"/>
                    <sector x="6" y="0"/>
                    <sector x="8" y="0"/>
                    <sector x="10" y="0"/>
                    <sector x="11" y="0"/>
                    <sector x="13" y="0"/>
                    <sector x="0" y="1"/>
                    <sector x="1" y="1"/>
                    <sector x="2" y="1"/>
                    <sector x="3" y="1"/>
                  </map>
That will give you sectors, but it doesn't have the gates or stations, though - so you can't actually jump anywhere. Then you can add some code to make the sectors have revealed gates and stations. Put it in after </reward_player>, like this:

Code: Select all

                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="0" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="1" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="2" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="3" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="4" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="5" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="6" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="8" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="10" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="11" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="13" y="0"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="0" y="1"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="1" y="1"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="2" y="1"/>
                    </find_gate>
                    <find_gate group="this.gates" multiple="1" max="6">
                    <sector x="3" y="1"/>
                    </find_gate>

                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="0" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="1" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="2" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="3" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="4" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="5" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="6" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="8" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="10" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="11" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="13" y="0"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="0" y="1"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="1" y="1"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="2" y="1"/>
                    </find_station>
                    <find_station group="this.gates" multiple="1" max="30">
                    <sector x="3" y="1"/>
                    </find_station>
                    <set_group_known group="this.gates" known="1"/>
You could just add in whatever sectors you wanted and have it give you all of them as a map. These are just part of the top row of sectors followed by the first 4 on the second row (Three Worlds, Power Circle, Antigone Memorial, Rolk's Fate). You could do the entire map, but it would take a lot of code :) I'm not sure if you can just have it find every gate and sector in the universe with 1 line of code or not, if you could it'd make it a lot easier.

The max=6 and 30 are just arbitrary, I don't think any sector has more than 4 gates, but just in case. Same with stations - I just set it at a point that I figured would catch everything.

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Sat, 20. Dec 08, 11:06

If you wanted to add in a specific station in a specific sector, with say a specific set of wares that it sells (non-player), how would you do that ?

Goldo
Posts: 851
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by Goldo » Sat, 20. Dec 08, 13:41

this looks REALLY helpful - I so want to create a Start that fits in the The Exile story I have as well as the custom game I RPed in...

Trouble is... looking at alot of that - its still just goobledigook to me :(

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Sat, 20. Dec 08, 13:45

Goldo, it appears as if there is enough of us that understand this, that when your ready, a good description of what you want could be quickly wipped up by one of us.

All you would need to do is describe the senario, give it a name, a face, a ship, a ship start location, and what you want on it.

Goldo
Posts: 851
Joined: Wed, 6. Nov 02, 20:31
x3tc

Post by Goldo » Sat, 20. Dec 08, 13:51

apricotslice wrote:Goldo, it appears as if there is enough of us that understand this, that when your ready, a good description of what you want could be quickly wipped up by one of us.

All you would need to do is describe the senario, give it a name, a face, a ship, a ship start location, and what you want on it.
hmmm, that would be ace... I used a custom start in my current game but used cheat scripts to change the sector and ship, noterieties etc lol.... it worked for me although kinda crude.

I'll engineer the same again - but grab a load of info - be really cool if someone can do this....

Would this also be a custom start i.e. a non-story based start - or would there be a storyline in there?

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Sat, 20. Dec 08, 14:11

You get to choose. From what I've seen, you can choose all the plots, or only 1 or 2 of them.

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Tue, 23. Dec 08, 23:55

Renewing 2 questions :

Code example for a ship within a ship.

Code example for adding a station to a sector, with products and upgrades.

(EG if adding an EQ, then how do you add the upgrades and have them work, since when you script in an EQ, it doesnt function properly. Question : Can this be done now ?)

User avatar
Seathal
Posts: 920
Joined: Thu, 5. Jun 08, 23:03
x4

[XML Code - Doubts] L\true\gamestarts.xml and director\start.xml

Post by Seathal » Mon, 5. Jan 09, 00:12

I'd like to create a custom start (not the default one) but somehting like the others (USC Commander, Terran Defender, Argon Patriot, Tormented Teladi...) but with my own design and conditions. Can this be made? Where are the "startup options" files located, if such exist? How can they be modified?

Thanks!
Last edited by Seathal on Mon, 5. Jan 09, 03:22, edited 2 times in total.

User avatar
Seathal
Posts: 920
Joined: Thu, 5. Jun 08, 23:03
x4

Post by Seathal » Mon, 5. Jan 09, 01:52

Concerning this topic. I'm trying to custom my own game start but I can't, by no means open the 03 file (there are two of them; .DAT and the other appears as "Security catalog") I can see its contents with X3TC Editor but cannot manipulate or change their names or anything (I also see that the start.xml is not start.pck).

Can somebody please tell me how one can modify those files?

Thanks.

User avatar
apricotslice
Posts: 14129
Joined: Sun, 16. May 04, 13:01
x4

Post by apricotslice » Mon, 5. Jan 09, 02:08

You also need the modmanager program, to extract everything from the cat/dat.

User avatar
Observe
Posts: 5079
Joined: Fri, 30. Dec 05, 17:47
xr

Post by Observe » Mon, 5. Jan 09, 02:23

Fortunately in TC you have full control over game starts. You will want to look at two files in particular:

L\true\gamestarts.xml
director\start.xml

By examining those two files, you will see what you need to do. :wink:

Post Reply

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