Creating the gamestarts.xml document
1. Open up your mod's file (mine is Ajpav_Mod) and create a new file, you
must name it: "libraries"
Thus my new file's path becomes: \Steam\steamapps\common\x_rebirth\extensions\Ajpav_Mod\libraries
2. Open up Notepad++ and create a file named "gamestarts" - save it as an XML file. The path will be: \Steam\steamapps\common\x_rebirth\extensions\Ajpav_Mod\libraries\gamestarts.xml
3. In your new gamestarts.xml document copy and paste the following
<diff>
<add sel="/gamestarts">
<gamestart id=" " name=" " description=" " image=" ">
<location galaxy="xu_ep1_universe_macro" zone=" ">
<position x="0.0" y="0.0" z="0.0" />
<rotation yaw="0.0" pitch="0.0" roll="0.0" />
</location>
<player macro="player" money="">
<ship macro=" ">
<!-- This is for personal notes: Ajpav is AWESOME -->
<upgrade macro=" " />
<ammo macro=" " />
</ship>
</player>
</gamestart>
</add>
</diff>
4.
gamestart id=" " Create a unique gamestart id name that is short, that you can reference later. For mine I am going to call it: ajpav_start so mine will become:
gamestart id="ajpav_start"
5.
name=" " Create a title for your new game-start, this is the name that will show up in the start-menu of X Rebirth when selecting a game. Mine is called:
name="Terran Bro"
6.
description=" " You can write out a small description here, this will show up in the start-menu of X Rebirth when selecting a game. Mine will be:
description="After hijacking a container of spacefuel, you and your broskis bro out and wake up hungover on the Skunk, with matching tatoos, and a Balor 6km away calling you Commander... WTH happend?
Location: {20003,1}, {20004,7}, {20005,27}
Property:
- 1x {20101,3901}"
6a.
NEVER WRITE THE FOLLOWING 4 CHARACTERS BY THEMSELVES: < > " &
-Why? Because they are used for coding in xml, if you want to use them they are respectively:
< > " &
6b.
& 10;
is the code for a new paragraph, like hitting your "Enter" key once.
Edit: use & 10; without a space between the "&" and the "10;" part - for some silly reasons, the forum reads it as a new paragraph and will not visually display it together.
6c.
{20003,1} and all the other sets of numbers in braces reference specific text the language files in X Rebirth. They can be found in the Game's folder labeled "t". The 1st number is the "page id", the 2nd is the "t id". This allows you to add common text found in-game and have it automatically translated to the player's language choice.
Use either of the extractors, or the save-game editor listed above and check out the 0001-L034.xml document (which is English), and you will see on that the following numbers refer to these text items. Its pretty self-explanatory after you look at the document.
{20003,1} is "Albion"
{20004,7} is "Far Out"
{20005,27} is "The Big Empty"
{20101,3901} is "Balor"
7.
image=" " is for all the different game-start images you see prior to selecting a game. (At time of writing, I do not know how to add your own game-images). I chose:
image=" gamestart_1
">
Your Options from the stock images are:
gamestart_1
gamestart_2
gamestart_3
gamestart_4
gamestart_5
gamestart_6
8.
zone=" " is the zone that you choose to start the player in. The easiest way to figure this out is to fly to the zone you want the player to start in and take a "picture" of the zone. In your game-save files, located in Documents\Egosoft\X Rebirth\ (this file will be a 9-digit number)\screenshots , you will see a text-document accompanying the picture you took. Copy and paste the part in quotations found in:
teleport zone=""
So for the example, I pasted the part in quotations from my picture's text-document:
zone=" tzonecluster_b_sector04_zone27_macro ">
This is the zone called "The Big Empty"
9. XYZ Coordinates and yaw, pitch and roll: If these values are
left as is, when you spawn a player in a zone, they will be spawned in the exact center of that zone.
Not entering checked coordinates is not always good, because perhaps there is a station there (and you could accidentally spawn the player inside the station) Or perhaps you want them to be oriented to an object of interest.
The easiest way to do this is to take a picture of where you want the player to spawn and what you want them to be looking at, and using the method above, simply enter or extrapolate the values from the picture's accompanying text document.
<position x="0.0" y="0.0" z="0.0" />
<rotation yaw="0.0" pitch="0.0" roll="0.0" />
In my game-start, I want the player to be looking toward the PMC Plutarch Exchange station from the side, so I took a picture of where I wanted the player to start & entered the values from that text document:
<position x="5801.25" y="2767.624" z="18059.982" />
<rotation yaw="-148.48059" pitch="-4.85616" roll="0.0" />
10.
<player macro="player" money=""> is the amount of starting money you are choosing to give the player. I want my player to start with 6,969 Credits, so I have entered:
<player macro="player" money="6969">
11.
<ship macro=" "> This is the cockpit-type you start with. I want my player to start with the Jonferco 'Hawk Mk3' Combat Configuration, so mine will be:
<ship macro=" unit_player_ship_b_macro ">
Your choices are:
unit_player_ship_macro is the Argon Shipwrights 'Pride Mk1' Adventurer Configuration (the normal Skunk Cockpit)
unit_player_ship_a_macro is the Jonferco 'Trapezium Mk2' Merchant Configuration
unit_player_ship_b_macro is the Jonferco 'Hawk Mk3' Combat Configuration
unit_player_ship_c_macro is the Jonferco 'Crane Mk2' Management Configuration
12.
<!-- Notes to Self -->, any text that you place in between this:
<!-- --> are personal notes within any xml document you create, they will not be read by the game, and can help you sort your document as you make your mod. I want to remind myself that I'm AWESOME, so I wrote:
<!-- This is for personal notes: Ajpav is AWESOME -->
13.
<upgrade macro=" " /> is for upgrades, this includes: Weapons, Shields, Engines, Scanners, Targeting Computers, and Trading computers.
Your Options are the following:
-Weapons:
weapon_player_mining_mk1_macro is the Mining Laser
weapon_player_impulse_mk1_macro is the Pulsed Maser Mk1
weapon_player_impulse_mk2_macro is the Pulsed Maser Mk2
weapon_player_machinegun_mk1_macro is the Particle Repeater Mk1
weapon_player_machinegun_mk2_macro is the Particle Repeater Mk2
weapon_player_plasma_mk1_macro is the Plasma Cannon Mk1
weapon_player_plasma_mk2_macro is the Plasma Cannon Mk2
weapon_player_shotgun_mk1_macro is the Inertial Hammer Mk1
weapon_player_shotgun_mk2_macro is the Inertial Hammer Mk2
-Shields
shieldgenerator_player_bal_mk1_macro is the Steady Shield Mk1
shieldgenerator_player_bal_mk2_macro is the Steady Shield Mk2
shieldgenerator_player_bal_mk3_macro is the Steady Shield Mk3
shieldgenerator_player_bal_mk4_macro is the Steady Shield Mk4
shieldgenerator_player_bal_mk5_macro is the Steady Shield Mk5
shieldgenerator_player_cap_mk2_macro is the Behemoth Shield Mk2
shieldgenerator_player_cap_mk3_macro is the Behemoth Shield Mk3
shieldgenerator_player_cap_mk4_macro is the Behemoth Shield Mk4
shieldgenerator_player_cap_mk5_macro is the Behemoth Shield Mk5
shieldgenerator_player_rec_mk2_macro is the Dashing Shield Mk2
shieldgenerator_player_rec_mk3_macro is the Dashing Shield Mk3
shieldgenerator_player_rec_mk4_macro is the Dashing Shield Mk4
shieldgenerator_player_rec_mk5_macro is the Dashing Shield Mk5
-Engines:
engine_player_bal_mk1_macro is the Equalized Engine Mk1
engine_player_bal_mk3_macro is the Equalized Engine Mk3
engine_player_bal_mk4_macro is the Equalized Engine Mk4
engine_player_bal_mk5_macro is the Equalized Engine Mk5
engine_player_man_mk2_macro is the Sidewinder Engine Mk2
engine_player_man_mk3_macro is the Sidewinder Engine Mk3
engine_player_man_mk4_macro is the Sidewinder Engine Mk4
engine_player_man_mk5_macro is the Sidewinder Engine Mk5
engine_player_spe_mk2_macro is the Supercharged Engine Mk2
engine_player_spe_mk3_macro is the Supercharged Engine Mk3
engine_player_spe_mk4_macro is the Supercharged Engine Mk4
engine_player_spe_mk5_macro is the Supercharged Engine Mk5
-Scanners:
unit_player_ship_scanner_1_macro is the Basic Scanner
unit_player_ship_scanner_2_macro is the Advanced Scanner
unit_player_ship_scanner_3_macro is the Police Scanner
-Targeting Systems
software_target_computer_mk1_macro is the Targeting System Extension Mk1
software_target_computer_mk2_macro is the Targeting System Extension Mk2
-Trading Computers
software_trading_computer_mk1_macro is the Trading Computer Mk1
software_trading_computer_mk2_macro is the Trading Computer Mk2
software_trading_computer_mk3_macro is the Trading Computer Mk3
14.
<ammo macro=" " /> is the missiles your ship will have as well as Marines, (And Marines are in-general, badass - kind of the supreme-warriors of mankind, especially U.S. Marines - just saying).
-Missiles:
missile_player_dumbfire_macro are V Crushers
missile_player_dumbfire_heavy_macro are Meteorites
missile_player_guided_light_macro are Starflashers
missile_player_guided_macro are Sunstalkers
missile_player_guided_heavy_macro are Hellbusters
missile_player_swarm_macro are Astrobees
missile_player_swarm_heavy_macro are Tristars
missile_player_torpedo_macro are Novadrones
missile_player_emp_macro are Constrictors
-Marines:
character_argon_male_marine_mk1_macro are Recruit Marines
character_argon_male_marine_mk2_macro are Veteran Marines
character_argon_male_marine_mk3_macro are Elite Marines
14. And you're done with the gamestarts.xml Below is the text-version of my gamestarts.xml for reference.
<?xml version="1.0" encoding="utf-8"?>
<diff>
<add sel="/gamestarts">
<gamestart id="ajpav_start" name="Terran Bro" description="After hijacking a container of spacefuel, you and your broskis bro out and wake up hungover on the Skunk, with matching tatoos, and a Balor 6km away calling you Commander... WTH happend?.
Location: {20003,1}, {20004,7}, {20005,27}
Property:
- 1x {20101,3901}" image="gamestart_1">
<location galaxy="xu_ep1_universe_macro" zone="tzonecluster_b_sector04_zone27_macro">
<position x="5801.25" y="2767.624" z="18059.982" />
<rotation yaw="-148.48059" pitch="-4.85616" roll="0.0" />
</location>
<player macro="player" money="696969">
<ship macro="unit_player_ship_b_macro">
<!-- ship weapons, shields, engines, and upgrades -->
<upgrade macro="weapon_player_impulse_mk2_macro" />
<upgrade macro="weapon_player_machinegun_mk2_macro" />
<upgrade macro="weapon_player_plasma_mk2_macro" />
<upgrade macro="weapon_player_shotgun_mk2_macro" />
<upgrade macro="weapon_player_mining_mk1_macro" />
<upgrade macro="shieldgenerator_player_cap_mk5_macro" />
<upgrade macro="engine_player_bal_mk5_macro" />
<upgrade macro="unit_player_ship_scanner_3_macro" />
<ammo macro="missile_player_dumbfire_heavy_macro" count="20" />
<ammo macro="missile_player_swarm_macro" count="20" />
<ammo macro="missile_player_guided_heavy_macro" count="20" />
<ammo macro="missile_player_torpedo_macro" count="20" />
<ammo macro="missile_player_emp_macro" count="20" />
</ship>
</player>
</gamestart>
</add>
</diff>
15. STOP: Do the FOLLOWING IN EXACT ORDER!!!!!
15a. Stand Up
15b. Grab a Beer
15c. Open the Beer
15d. Drink the Beer
-You have now successfully created a new game-start!!! AWESOME!!! Ensure you test it out & enjoy creating custom game-starts! Next, I will show you how to set factions to known, how to create ships, how to create crew and NPCs that are of your faction, (To Be Added: Creating Stations) at the start of your game.