TShips Discoveries and Listing

The place to discuss scripting and game modifications for X³: Reunion.

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

How do you like the new TShips file?

Absolutely love it!
50
70%
Great idea, but organize it differently
15
21%
*Yawn*
6
8%
 
Total votes: 71

g_BonE
Posts: 153
Joined: Thu, 28. Aug 03, 11:37
x4

Post by g_BonE »

okay now... i added another line (copied the argon nova SS_SH_A_M3_3 changed and renamed the last part to SS_SH_A_M3_6). I also added 1 to the ship-count. How can i make this new variant of the Nova buyable in a station and / or rename it ?
(x|x) .oO[ Fenster fährt mich Nüsse !!! ]
Galaxy613
Posts: 3285
Joined: Tue, 28. Dec 04, 02:19
x4

Post by Galaxy613 »

g_BonE wrote:okay now... i added another line (copied the argon nova SS_SH_A_M3_3 changed and renamed the last part to SS_SH_A_M3_6). I also added 1 to the ship-count. How can i make this new variant of the Nova buyable in a station and / or rename it ?
Methinks you'll have to edit the x3_universe.xml file and put it into a mod to overwrite the standard one. All you need is notepad to edit the XML file, just look for "SS_SH_A_M3" and you should find an Argon Shipyard, copy that line, and where it has "SS_SH_A_M3" put "SS_SH_A_M3_6". I donno how well a new varient will work because of how X3 handles them... which I don't really know how it does... but good luck! :)
10,000 Lightyears of awesomeness
g_BonE
Posts: 153
Joined: Thu, 28. Aug 03, 11:37
x4

Post by g_BonE »

okay, so this might be seen as a cheat, but just for me to find out how this whole modding thing works i just finished a "quick mod". Those are the lines added to the types\TShips.txt:

Code: Select all

0;0;0.4635423;0.3752658;0.3708315;5;4132;55298;33977;103;1;5;89;15000;168;225;ships\argon\argon_M3_scene;
4512;50531903;9;70000;0.049995;4;4;132513343;20;50;50;4500;5000;89;63;2;0;0;0;0;0;0;0;0;0;0;0;4;1;500000;
35;36;1;2;42;2023;2;1;0;ships\argon\argon_M3;0;2;1;ships\props\cameradummy;28;2;1;8;1;8;1;1;ships\props\weapondummy;1;;
-1;2;1;ships\props\weapondummy;2;;-1;3;1;ships\props\weapondummy;3;;-1;4;1;ships\props\weapondummy;4;;-1;5;1;ships\props\weapondummy;5;;
-1;6;1;ships\props\weapondummy;6;;-1;7;1;ships\props\weapondummy;7;;-1;8;1;ships\props\weapondummy;8;;-1;9;1;2;1;9;1;ships\props\turretdummy;9;;
-1;130;50000;25;1;0;50000;5;0;0;SS_SH_A_M3_6;

0;0;0.5959397;0.4167541;0.423622;7;3152;82801;47287;104;1;5;89;15000;168;212;ships\argon\argon_M4_scene;
4512;50531903;6;70000;0.049995;4;4;132513343;20;50;50;1000;1500;86;0;0;0;0;0;0;0;0;0;0;0;0;0;4;1;500000;
35;36;1;3;48;2024;1;1;0;ships\argon\argon_M4;0;1;1;6;1;6;1;1;ships\props\weapondummy;3;;-1;2;1;ships\props\weapondummy;4;;
-1;3;1;ships\props\weapondummy;5;;-1;4;1;ships\props\weapondummy;6;;-1;5;1;ships\props\weapondummy;7;;-1;6;1;ships\props\weapondummy;8;;
-1;26;50000;25;1;0;50000;5;0;0;SS_SH_A_M5_6;

0;0;0.37430;0.27938;0.27956;1;4372;42734;27194;106;1;5;30;15000;142;212;ships\split\split_TS_liquidstorage_M_scene;
4512;50535999;5;70000;0.049995;4;4;132513343;20;50;50;20000;25000;87;101;2;0;0;0;0;0;0;0;0;0;0;0;4;3;500000;
35;36;1;6;9;2031;2;1;0;ships\split\split_TS_liquidstorage_M;4;2;1;ships\props\cameradummy;1;2;1;4;1;4;1;1;ships\props\weapondummy;5;;
-1;2;1;ships\props\weapondummy;6;;-1;3;1;ships\props\weapondummy;7;;-1;4;1;ships\props\weapondummy;8;;
-1;5;1;2;1;5;1;ships\props\turretdummy;2;;-1;1;50000;25;1;0;50000;5;0;0;SS_SH_S_TS_6;

0;0;0.056592;0.055280;0.055173;0;3362;33980;18075;102;1;12;351;50000;112;247;ships\split\split_TL_scene;
4512;27138335;8;14000;0.049995;4;8;132513343;20;50;50;80000;85000;87;83;1;85;4;84;2;85;3;0;0;0;0;20;5;3;950000;
37;38;0;0;6;2032;5;1;0;ships\split\split_TL;11;2;1;ships\props\cameradummy;12;3;2;ships\props\cameradummy;13;4;3;
ships\props\cameradummy;14;5;4;ships\props\cameradummy;15;5;1;0;1;1;1;0;0;0;;-1;1;2;2;2;1;1;ships\props\bigturret_dummy;
8;ships\props\bigturret_rightweapon;3;2;1;ships\props\bigturret_dummy;8;ships\props\bigturret_leftweapon;
4;3;2;3;2;3;1;ships\props\bigturret_dummy;9;ships\props\bigturret_rightweapon;3;4;1;ships\props\bigturret_dummy;
9;ships\props\bigturret_leftweapon;4;5;2;4;2;5;1;ships\props\bigturret_dummy;7;ships\props\bigturret_rightweapon;
3;6;1;ships\props\bigturret_dummy;7;ships\props\bigturret_leftweapon;4;7;2;5;2;7;1;ships\props\bigturret_dummy;10;
ships\props\bigturret_rightweapon;3;8;1;ships\props\bigturret_dummy;10;ships\props\bigturret_leftweapon;4;1;50000;
25;1;0;50000;5;0;0;SS_SH_S_TL_6;
For the 4 new entries (4132,3152,4372 and 3362) i just added this:

Code: Select all

<t id="3152">gB_Discoverer Mk2</t>
<t id="4132">gB_Nova Mk2</t>
<t id="4372">gB_Caiman Mk2</t>
<t id="3362">gB_Elephant Mk2</t>
to t\440001.xml and 490001.xml respectively. after packing the files into a MyMod.cat and dropping those into the mods folder of X3 i now got my new modded ships to be created using a CreateShip script.

Playing around with the ship definitions i found that some of the missing data could be the "additional names" (f.e. Super Tanker, Hauler, Vanguard,...) and its related different model types. Also there's got to be a way to change the weapons that get used with a "equip default items"-script from the TShips.txt file.

Anyway. thanks for the in-depth view of the file and keep the good work up and coming !
(x|x) .oO[ Fenster fährt mich Nüsse !!! ]
IneffableModder
Posts: 75
Joined: Wed, 9. Nov 05, 02:05
x3tc

Post by IneffableModder »

Why is the cockpit scene file represented as a integer? Maybe this would be better described as a cockpit Id?

ex. first line of the TShips file ... right after ships\argon\argon_TL_scene (ship scene file) is 4512 (cockpit scene file) ... that doesn't make much sense.

Do you agree with my findings?
AMD Phenom 9600+
Nvidia 8800 GTS 320
4 GIGs Dual Channel Memory
2 250 gig Raid 0 3 Gb/s drives
LogiTech Extreme 3D Pro USB - If I can find it ...
User avatar
euclid
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 13478
Joined: Sun, 15. Feb 04, 20:12
x4

Post by euclid »

I can't find the X-shuttle in the TShips file - or did I miss something?


Cheers Euclid
IneffableModder
Posts: 75
Joined: Wed, 9. Nov 05, 02:05
x3tc

Post by IneffableModder »

/// Repeat for all turrets/weapons
Turret Body
Turret Path
(Turret Type)
Init Laser Pos
Number of Guns
Index
Gun Entries
Gun Index
Gun Count
Body ID
Path ID
Body ID 2
Path ID 2
/// Repeat for all turrets/weapons

I don't think this section is correct

If you look at the original TShips.txt specification there are 3 objects that are serialized here. The same pattern seems to be appearsing in this section. The order appears to be Cockpits, Weapons, Turrets. For far I havn't been able to get all of the fields to match and when I do I will paste my results here.
AMD Phenom 9600+
Nvidia 8800 GTS 320
4 GIGs Dual Channel Memory
2 250 gig Raid 0 3 Gb/s drives
LogiTech Extreme 3D Pro USB - If I can find it ...
Galaxy613
Posts: 3285
Joined: Tue, 28. Dec 04, 02:19
x4

Post by Galaxy613 »

IneffableModder wrote:Why is the cockpit scene file represented as a integer? Maybe this would be better described as a cockpit Id?

ex. first line of the TShips file ... right after ships\argon\argon_TL_scene (ship scene file) is 4512 (cockpit scene file) ... that doesn't make much sense.

Do you agree with my findings?
It makes a whole lots of damn scene if you were a X2 modder, in X2 ALL scenes, cockpit or ship, were numbered. In X3 you can use text. The funny thing is, the 04512.bod file is there, it's just the cockpit parts are commented out. :twisted: Also number 4510 is the M4 cockpit, 4511 is the M5 cockpit, and just keeps going up till 4518. All 'cept the 4512 one(which is the M3 one BTW) work without any BOD editing!

You heard it here first! :twisted:
10,000 Lightyears of awesomeness
John_hmstr
Posts: 4
Joined: Wed, 23. Nov 05, 13:55
x4

Post by John_hmstr »

jlehtone wrote:
nuclear_eclipse wrote:Updated OP with detailed information on TShips entries, including Laser and Missile masks.
Is this correct?

Code: Select all

Velocity (xxxx / 5  = base, base * 0.10 * tunings = max)
That would be mathematically equivalent to

Code: Select all

Velocity (xxxx / 50  = base2, base2 * tunings = max)
However, when I use

Code: Select all

Velocity (xxxx / 5000  = base3, base3 * (10 + tunings) = current max)
I seem to get correct values.


Hey guys long time lurker who is finally coming out of the shadows. :-)

Ok guys all of these formulas are partially correct but there are some small errors.

Ok to get things started lets get a few things straight.

1. Velocity = B (Or whatever the number listed in the Tships file is supposed to stand for.)
2. Max engine tunings = T This value is from the Tships file (Each tuning increases the Va value by 10 percent.)
3. Base ship velocity = Va (Max velocity before any tunings are applied)
4. Max ship velocity = Vb (Max velocity after all tunings are applied)

I will be using the B and T values from the Tships file for the argon Centaur M6 as an example after each equation.

So to find the base velocity we us this equation.

Code: Select all

Va = B / 500    Example: B=26225 ---->  Va = 26225 / 500 = 52.45 ---> Va=52.45
Now that we know the base speed lets figure out the max speed. The equation for that is.

Code: Select all

Vb = Va + (Va * 0.10 * T)      Example: Va = 52.45 T = 10 ---->      Vb = 52.45 + (52.45 * 0.10 * 10)  --->  Vb = 104.9  max velocity for the Argon Centaur

So concluding there are 2 easy ways to manipulate the speed of ships in the Tships file. The first is to change the base value (probably the most balanced and easiest way, but keep in mind that small changes to the base will result in LARGE changes to the base and max speeds) or just increase or decrease the max tunings to/from the desired ship. Another good note if looking to generally increase speed for all ships is to make sure to increase weapon projectile/missile speeds proportionally as you don't want to overrun your weapons fire, have your enemy outrun your weapons fire, or make the lead time needed to hit your target wider then the screen. :o

Well that’s all I got for now.

Hope I was helpful,

John_hmstr
doubleshadow
Posts: 671
Joined: Fri, 12. Mar 04, 08:14
x3

Post by doubleshadow »

jlehtone
Posts: 22476
Joined: Sat, 23. Apr 05, 21:42
x4

Post by jlehtone »

I wrote: However, when I use

Code: Select all

Velocity (xxxx / 5000  = base3, base3 * (10 + tunings) = current max)
I seem to get correct values.
I must admit that I was lazy and did not check my formula with anything but the max speed values.
John_hmstr wrote:Ok to get things started lets get a few things straight.

1. Velocity = B (Or whatever the number listed in the Tships file is supposed to stand for.)
2. Max engine tunings = T This value is from the Tships file (Each tuning increases the Va value by 10 percent.)
3. Base ship velocity = Va (Max velocity before any tunings are applied)
4. Max ship velocity = Vb (Max velocity after all tunings are applied)

So to find the base velocity we us this equation.

Code: Select all

Va = B / 500    Example: B=26225 ---->  Va = 26225 / 500 = 52.45 ---> Va=52.45
Now that we know the base speed lets figure out the max speed. The equation for that is.

Code: Select all

Vb = Va + (Va * 0.10 * T)      Example: Va = 52.45 T = 10 ---->      Vb = 52.45 + (52.45 * 0.10 * 10)  --->  Vb = 104.9  max velocity for the Argon Centaur
Note:

Code: Select all

SPEED_MODIFIER = Sm = 500
TUNING_MODIFIER = Tm = 10
Sm2 = Sm * Tm = 5000
Vb = Va + (Va * 0.10 * T)
   = Va + (Va / 10 * T) = Va + (Va/Tm * T)
   = B/Sm + ( B/(Sm*Tm) * T )
   = 10 * B/Sm2 + (B/Sm2 * T)
   = B/Sm2 * ( 10 + T ) = B/Sm2 * (Tm + T)
   = B/5000 * ( 10 + T ) = base3 * ( 10 + Tunings )
Thus, with all due respect, could you (John_hmstr) show the small errors in my equation, which according to my limited deduction is exactly the same as yours?
doubleshadow wrote:

Code: Select all

SPEED_MODIFIER = 500
TUNNING_MODIFIER = 10
minSpeed = ship_speed_value / SPEED_MODIFIER
maxSpeed = (minSpeed / TUNNING_MODIFIER) * ship_tunning_count
Are you sure about the spelling DS? I set ship_tunning_count = 0 and get maxSpeed = 0 :roll:
Goner Pancake Protector X
Insanity included at no extra charge.
There is no Box. I am the sand.
doubleshadow
Posts: 671
Joined: Fri, 12. Mar 04, 08:14
x3

Post by doubleshadow »

jlehtone wrote:
doubleshadow wrote:

Code: Select all

SPEED_MODIFIER = 500
TUNNING_MODIFIER = 10
minSpeed = ship_speed_value / SPEED_MODIFIER
maxSpeed = (minSpeed / TUNNING_MODIFIER) * ship_tunning_count
Are you sure about the spelling DS? I set ship_tunning_count = 0 and get maxSpeed = 0 :roll:
:lol: You got me :oops:

Anyway this is how it is implemented in all versions of X2E and X3E 0.0.1 :)
jlehtone
Posts: 22476
Joined: Sat, 23. Apr 05, 21:42
x4

Post by jlehtone »

doubleshadow wrote:Anyway this is how it is implemented in all versions of X2E and X3E 0.0.1 :)
So do not break it then :wink:

The only technical issue there may be the rounding, while moving between integers and floats. The game shows two decimals, and I think that it does round down at that precision. Thus, in practice something similar to:

Code: Select all

SPEED_MODIFIER = 50
PRECISION = 100
TUNNING_MODIFIER = 10
currSpeed = int( ship_speed_value * (TUNNING_MODIFIER + ship_tunning_count) / SPEED_MODIFIER ) / PRECISION
should be close. There is no real need for minSpeed, nor maxSpeed (equations) since they do come at ship_tunning_count=0 and ship_tunning_count=maxTunings, respectively.
Goner Pancake Protector X
Insanity included at no extra charge.
There is no Box. I am the sand.
skadog
Posts: 180
Joined: Tue, 7. Oct 03, 14:34
x3

Post by skadog »

And to think you got paid to do all that hard work on top of it all!!! :lol: Good work John, you rock.
IneffableModder
Posts: 75
Joined: Wed, 9. Nov 05, 02:05
x3tc

Post by IneffableModder »

Galaxy613 wrote:
IneffableModder wrote:Why is the cockpit scene file represented as a integer? Maybe this would be better described as a cockpit Id?

ex. first line of the TShips file ... right after ships\argon\argon_TL_scene (ship scene file) is 4512 (cockpit scene file) ... that doesn't make much sense.

Do you agree with my findings?
It makes a whole lots of damn scene if you were a X2 modder, in X2 ALL scenes, cockpit or ship, were numbered. In X3 you can use text. The funny thing is, the 04512.bod file is there, it's just the cockpit parts are commented out. :twisted: Also number 4510 is the M4 cockpit, 4511 is the M5 cockpit, and just keeps going up till 4518. All 'cept the 4512 one(which is the M3 one BTW) work without any BOD editing!

You heard it here first! :twisted:

Yeah, I owned X2 but I never did any modding work for it. I am reading all the material from X2 and basically just catching up with how the game ties all the files together.
AMD Phenom 9600+
Nvidia 8800 GTS 320
4 GIGs Dual Channel Memory
2 250 gig Raid 0 3 Gb/s drives
LogiTech Extreme 3D Pro USB - If I can find it ...
doubleshadow
Posts: 671
Joined: Fri, 12. Mar 04, 08:14
x3

Post by doubleshadow »

jlehtone wrote:The only technical issue there may be the rounding, while moving between integers and floats. The game shows two decimals, and I think that it does round down at that precision.
Hey - we are not going to make a new game are we? :D

X3E is calculating all floats with "full precision" (whatever this may be...). The result is then displayed rounded to 3 decimal places.

X3 game is sometimes using rounding toward nearest and sometimes towards zero. I don't know and I don't really care how the "rounding towards nearest" is implemented - could be "round to even" or simple "round to nearest" - it probably depends on how the C compiler does this. Linker version in X3.exe is 75.24 so it is made by some really new VC compiler - maybe latest .NET beta? (I think X2 was compiled with .NET 2003 compiler)
jlehtone
Posts: 22476
Joined: Sat, 23. Apr 05, 21:42
x4

Post by jlehtone »

doubleshadow wrote:Hey - we are not going to make a new game are we? :D
For fun, maybe :roll:

I was referring to how to get the same numbers as seen in-game. I do not care how they do it as long as I get the same numbers (as shown in-game).

Floats cannot be precise, only integers are. That is why accounting uses internally integers, but formats the shown values as if they would have four decimals.

However, even with 'single-precision' floats there are more decimals (usually) that the rounding of the (CPU) float operation is not the issue. What does determine the shown value, is most likely the float formatting function. According to C/C++ documentation, the value "is rounded". :o One may separately choose from several "rounding modes" and "rounding directions". I could not figure out the default mode. Thus, it can still be up to writer of library and some compilers are ...

My expression definitely does round "down". At least for positive values and as long as divide-by-100 is close to correct. :wink: Then again, one calculator once said that 3.11 - 3.10 = 0 :roll:
Maulkye
Posts: 181
Joined: Mon, 26. Jul 04, 19:09
x3

Post by Maulkye »

IneffableModder wrote:/// Repeat for all turrets/weapons
Turret Body
Turret Path
(Turret Type)
Init Laser Pos
Number of Guns
Index
Gun Entries
Gun Index
Gun Count
Body ID
Path ID
Body ID 2
Path ID 2
/// Repeat for all turrets/weapons

I don't think this section is correct

If you look at the original TShips.txt specification there are 3 objects that are serialized here. The same pattern seems to be appearsing in this section. The order appears to be Cockpits, Weapons, Turrets. For far I havn't been able to get all of the fields to match and when I do I will paste my results here.
Has anyone discussed this further yet? I'm not finding these consistent with my TShips data either, or perhaps I'm misreading them?
Andras
Posts: 174
Joined: Thu, 26. Feb 04, 00:28
x3tc

Post by Andras »

Breaking down the T-ship lines like this

/ARGON M1

0;0;0.007599;0.006073;0.005096;3;3111;24720;1959;102;1;11;373;4100;112;247;
ships\argon\argon_M1_scene;4514;51314702;
20;
53200;
0.014999;
4;6;
122100763;9;6;6;8800;8800;0;
1;1;3;4;2;2;4;3;5;5;6;6;
60;4;1;200000;
37;38;0;0;10;2021;7;
1;0;ships\argon\argon_M1;0;
2;1;ships\props\cameradummy;22;
3;2;ships\props\cameradummy;23;
4;3;ships\props\cameradummy;24;
5;4;ships\props\cameradummy;25;
6;5;ships\props\cameradummy;26;
7;6;ships\props\cameradummy;27;
7;1;0;1;1;1;0;0;0;;-1;
1;4;2;4;
1;1;ships\props\bigturret_dummy;3;ships\props\bigturret_rightweapon;3;
2;1;ships\props\bigturret_dummy;3;ships\props\bigturret_leftweapon;4;
3;1;ships\props\bigturret_dummy;4;ships\props\bigturret_rightweapon;3;
4;1;ships\props\bigturret_dummy;4;ships\props\bigturret_leftweapon;4;
5;4;3;4;
5;1;ships\props\bigturret_dummy;9;ships\props\bigturret_rightweapon;3;
6;1;ships\props\bigturret_dummy;9;ships\props\bigturret_leftweapon;4;
7;1;ships\props\bigturret_dummy;10;ships\props\bigturret_rightweapon;3;
8;1;ships\props\bigturret_dummy;10;ships\props\bigturret_leftweapon;4;
9;4;4;4;
9;1;ships\props\bigturret_dummy;5;ships\props\bigturret_rightweapon;3;
10;1;ships\props\bigturret_dummy;5;ships\props\bigturret_leftweapon;4;
11;1;ships\props\bigturret_dummy;6;ships\props\bigturret_rightweapon;3;
12;1;ships\props\bigturret_dummy;6;ships\props\bigturret_leftweapon;4;
13;4;5;4;
13;1;ships\props\bigturret_dummy;7;ships\props\bigturret_rightweapon;3;
14;1;ships\props\bigturret_dummy;7;ships\props\bigturret_leftweapon;4;
15;1;ships\props\bigturret_dummy;8;ships\props\bigturret_rightweapon;3;
16;1;ships\props\bigturret_dummy;8;ships\props\bigturret_leftweapon;4;
17;2;6;2;
17;1;ships\props\bigturret2_dummy;11;ships\props\bigturret_leftweapon;0;
18;1;ships\props\bigturret2_dummy;12;ships\props\bigturret_leftweapon;0;
19;2;7;2;
19;1;ships\props\bigturret2_dummy;13;ships\props\bigturret_leftweapon;0;
20;1;ships\props\bigturret2_dummy;14;ships\props\bigturret_leftweapon;0;
1;1355948;25;1;0;1355948;100000;0;0;SS_SH_A_M1;

you see that it ineed does make sense

have fun

A.
Maulkye
Posts: 181
Joined: Mon, 26. Jul 04, 19:09
x3

Still don't see it

Post by Maulkye »

Sorry but I still don't see it.


Body ID
Picture ID
Yaw (1.00000 being 360%)
Pitch (1.00000 being 360%)
Roll (1.00000 being 360%)
Ship Class (0=TL, 1=TS, 2=M0, 3=M1, 4=M2, 5=M3, 6=M4, 7=M5, 8=PTL, 9=PTS, 10=GM6, 11=M6, 12=TP)
TFile Entry (ReadText 17-xxxxx)
Velocity (xxxx / 5 = base, base * 0.10 * tunings = max)
Acceleration (xxxx/10)
Engine Sound
Reaction Delay
Engine Effect
Glow Effect
Reactor Output (xxxx MW)
Engine Volume Low (0-255)
Engine Voulme High (0-255)


--> 0;0;0.007599;0.006073;0.005096;3;3111;24720;1959;102;1;11;373;4100;112;247;



Ship Scene File
Cockpit Scene File
Laser Mask (See Below)


--> ships\argon\argon_M1_scene;4514;51314702;



Laser Count
Laser Energy (Independent of Reactor)
Laser Recharge Rate (Independent of Reactor)


---> 20;
---> 53200;
---> 0.014999;



Shield Type (0=1MJ, 1=5MJ, 2=25MJ, 3=125MJ, 4=1GJ, 5=10GJ)
Shield Count

---> 4;6;



Missile Mask (See Below)
Missile Count (when equipping ships)
Engine Tunings (0+)
Rudder Tunings (0+)
Default Cargo Space
Max Cargo Space
Cockpit Body

--> 122100763;9;6;6;8800;8800;0;



Turret 1 Body
Turret 1 Name (1-6)
Turret 2 Body
Turret 2 Name
Turret 3 Body
Turret 3 Name
Turret 4 Body
Turret 4 Name
Turret 5 Body
Turret 5 Name
Turret 6 Body
Turret 6 Name

--> 1;1;3;4;2;2;4;3;5;5;6;6;
// Do these refer to locations and images?




Docking Slots (Positive for internal docking, negative for external docking)
Cargo Type (0=Tiny, 1=S, 2=M, 3=L, 4=XL, 5=ST)
Race (1=A, 2=B, 3=S, 4=P, 5=Tl, 6=X, 7=K, 8=U, 9=G, 15=R1, 16=R2, 17=R3, 18=Tr, 19=Y)
Hull Strength

--> 60;4;1;200000;
//So far.. so good, but this is where I get lost



--- (35)
--- (36)
--- (1)
--- (0)
--- (50)
--- (2039)
--- (1)

--> 37;38;0;0;10;2021;7;
//Ok, they don't match and I don't know what they are, but I'll just ignore them for now.


//That leaves the next sequence in the TDef file

--- (1)
--- (0)
/// Repeat for all turrets/weapons
Turret Body
Turret Path
(Turret Type)
Init Laser Pos
Number of Guns
Index
Gun Entries
Gun Index
Gun Count
Body ID
Path ID
Body ID 2
Path ID 2
/// Repeat for all turrets/weapons


//And these are the fields that should fit it

1;0;ships\argon\argon_M1;0;
2;1;ships\props\cameradummy;22;
3;2;ships\props\cameradummy;23;
4;3;ships\props\cameradummy;24;
5;4;ships\props\cameradummy;25;
6;5;ships\props\cameradummy;26;
7;6;ships\props\cameradummy;27;
7;1;0;1;1;1;0;0;0;;-1;
1;4;2;4;
1;1;ships\props\bigturret_dummy;3;ships\props\bigturret_rightweapon;3;
2;1;ships\props\bigturret_dummy;3;ships\props\bigturret_leftweapon;4;
3;1;ships\props\bigturret_dummy;4;ships\props\bigturret_rightweapon;3;
4;1;ships\props\bigturret_dummy;4;ships\props\bigturret_leftweapon;4;
5;4;3;4;
5;1;ships\props\bigturret_dummy;9;ships\props\bigturret_rightweapon;3;
6;1;ships\props\bigturret_dummy;9;ships\props\bigturret_leftweapon;4;
7;1;ships\props\bigturret_dummy;10;ships\props\bigturret_rightweapon;3;
8;1;ships\props\bigturret_dummy;10;ships\props\bigturret_leftweapon;4;
9;4;4;4;
9;1;ships\props\bigturret_dummy;5;ships\props\bigturret_rightweapon;3;
10;1;ships\props\bigturret_dummy;5;ships\props\bigturret_leftweapon;4;
11;1;ships\props\bigturret_dummy;6;ships\props\bigturret_rightweapon;3;
12;1;ships\props\bigturret_dummy;6;ships\props\bigturret_leftweapon;4;
13;4;5;4;
13;1;ships\props\bigturret_dummy;7;ships\props\bigturret_rightweapon;3;
14;1;ships\props\bigturret_dummy;7;ships\props\bigturret_leftweapon;4;
15;1;ships\props\bigturret_dummy;8;ships\props\bigturret_rightweapon;3;
16;1;ships\props\bigturret_dummy;8;ships\props\bigturret_leftweapon;4;
17;2;6;2;
17;1;ships\props\bigturret2_dummy;11;ships\props\bigturret_leftweapon;0;
18;1;ships\props\bigturret2_dummy;12;ships\props\bigturret_leftweapon;0;
19;2;7;2;
19;1;ships\props\bigturret2_dummy;13;ships\props\bigturret_leftweapon;0;
20;1;ships\props\bigturret2_dummy;14;ships\props\bigturret_leftweapon;0;


//And the last ten fields come out easy

0;
Price (~ xxxxx * 50 = ingame price)
Price Modifier 1 (25)
Price Modifier 2 (1)
Ware Class (Keep at 0)
Price again
Race Recognition Required for Purchase
0;
0;
TShips Entry Name (SS_SH_...)


--> 1;1355948;25;1;0;1355948;100000;0;0;SS_SH_A_M1;


Any idea what I'm missing in the weapons segment? I'm not sure what "turret type" encapsulates and maybe I'm not following which parts need to be repeated. I just don't see how to shoehorn that segment into the def layout. I'm having a faint memory from X2 where there were subdivisions in the guns and turrets, but I haven't referred to those old mappings yet, because I expected X3 was different. Is this the key?

Millions of thanks to anyone who can help.
Maulkye
Posts: 181
Joined: Mon, 26. Jul 04, 19:09
x3

TShips

Post by Maulkye »

OK, I've been doing some analysis on this and I think I have a different way of writing the TShips defs that seems to match easier for me. So, with all props to Nuclear Eclipse I'd like to post it and ask for comments. I'm going to try it later today and see what happens. Apologies if my lingo doesn't match up. My changes are marked by a comment line and spaces:

Code: Select all

Body ID   
Picture ID
Yaw (1.00000 being 360%)
Pitch (1.00000 being 360%)
Roll (1.00000 being 360%)
Ship Class (0=TL, 1=TS, 2=M0, 3=M1, 4=M2, 5=M3, 6=M4, 7=M5, 8=PTL, 9=PTS, 10=GM6, 11=M6, 12=TP)
TFile Entry (ReadText 17-xxxxx)
Velocity (xxxx / 5  = base, base * 0.10 * tunings = max)
Acceleration (xxxx/10)
Engine Sound
Reaction Delay
Engine Effect
Glow Effect
Reactor Output (xxxx MW)
Engine Volume Low (0-255)
Engine Voulme High (0-255)
Ship Scene File
Cockpit Scene File
Laser Mask (See Below)
Laser Count
Laser Energy (Independent of Reactor)
Laser Recharge Rate  (Independent of Reactor)
Shield Type (0=1MJ, 1=5MJ, 2=25MJ, 3=125MJ, 4=1GJ, 5=10GJ)
Shield Count
Missile Mask (See Below)
Missile Count (when equipping ships)
Engine Tunings (0+)
Rudder Tunings (0+)
Default Cargo Space
Max Cargo Space
Cockpit Body
Turret 1 Body
Turret 1 Name (1-6)
Turret 2 Body
Turret 2 Name
Turret 3 Body
Turret 3 Name
Turret 4 Body
Turret 4 Name
Turret 5 Body
Turret 5 Name
Turret 6 Body
Turret 6 Name
Docking Slots (Positive for internal docking, negative for external docking)
Cargo Type (0=Tiny, 1=S, 2=M, 3=L, 4=XL, 5=ST)
Race (1=A, 2=B, 3=S, 4=P, 5=Tl, 6=X, 7=K, 8=U, 9=G, 15=R1, 16=R2, 17=R3, 18=Tr, 19=Y)
Hull Strength
--- (35)
--- (36)
--- (1)
--- (0)
--- (50)
--- (2039)

  //Maulkye's Notes -----------------------------------------

#Gun Mounts    //always +1 for front guns, even with empty
    //Repeat the following for each mount
    Mount#
    Mount#-1
    BodyID
    Path
#Gun Mounts    //always +1 for front guns, even with empty
    //Repeat the following for each mount
    Next Gun Index #
    Number of Guns for this mount
    Mount#
    Number of Hard Points Defined For this mount
        //Repeat the following for # of Hard Points Defined
        Gun Index
        1
        Body1
        Path1
        Body2
        Path2

    //End Maulkye's Notes -----------------------------------------

0;
Price (~ xxxxx * 50 = ingame price)
Price Modifier 1 (25)
Price Modifier 2 (1)
Ware Class (Keep at 0)
Price again
Race Recognition Required for Purchase
0;
0;
TShips Entry Name (SS_SH_...) 
Any thoughts?

Return to “X³: Reunion - Scripts and Modding”