Getting NEW ships into X3TC

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

Post Reply
User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Getting NEW ships into X3TC

Post by Hank001 » Mon, 16. Apr 18, 20:05

Package Creator 1.32 aside there seems to be huge roadbloacks
to successfully getting new ship geometry and scenes into X3TC.

I'm sure some are asking "What do you mean? That's simple!"
My answer is, "Oh Yeah. Just try it!".

I don't mean replacing an existing ship. I mean putting a new one in a new slot and getting the game to use it.

It needs a body of knowledge that's greater than how to use the package creator.

It needs for a start a clear "codec" for t files. What are the codes?
What are their values and constrains and ranges?

What are the ID's for the body files for empty slots? ID's for the arcana needed like Body ID's... Well YOU go to the "customolize ship" part cold and see what I mean and DONT ask Cycrow if there's documentation. The answer is NO. Great for playng with existing junk. Nada for NEW ships.

I'd go so far as to say the advances in software like DBox2 have actually made it HARDER not easier. Yeah? Try setting up a scene file for a new ship and get it export and work. Dropping back to MAX 7 and old DBox no longer sets up cockpits that work in new versions of TC or X3R. However does not expect to load in geomertry and still has the helpers to position the guns. New DBox just isn't set up to create new scene files anymore without heavy edits to the file in text edit, but again, try it without a codec. Isn't going to work.

Plus it seems there's arcana involved with pdb and pbb files. I successfully got them extracted sometimes... Now see how successful you are in putting them back! Worse, pack them, unpack again and compare the results. Don't scream, it's not going to do you much good.

There has to be a process to do this successfull. I suppose it boils down to: Does Egosoft want it.

If not I'm wasting time, but if they do, where's all this information?
Again don't try searches. Isn't happening and I figure it would take more than my lifetime to read every post on the site.

This should have been addressed and probably has, but if so it's buried in many posts in many parts.

So what Hank001 needs is the methodology to get a workflow going and then Hank001 is going to build a PDF that outlines it so poor saps like me can actually take a ship of their own design and put it into the game and fly it around.


https://the-starport.net/uploads/newbb/ ... 298147.jpg

Yes it's a mod in another game right now. Deal with it. :D


{Images posted directly to the forums should not be greater than 640x480 or 100kb, oversize image now linked - Terre}
The answer to life, the universe and everything:
MIND THE GAP

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 16. Apr 18, 23:57

What about keep the post simple, a bit less dialogue and more I want this or how to that, would be nice.

As far as I understand you want to add a totally new ship.

If thats the case I can help.
We have 3 independent topics:
1 Including new Geometry and make any ship use it
2 Create a new shiptype (with existing model) that doesn't disturb any other type
3 Make the Game spawn some shiptype and add it to shipyards

1 is not exactly my profession but you need to get the model into bod format and write a scene file for it, a scene manages positioning of hardpoints like turrets docking ports and engine effects.

2 to start just copy some similar ship and paste it at the END OF THE TSHIPS, use x3 editor 2 Tfileeditor for this its easy, than just change its values

3 for the shipyard a script is a fast and clean solution, for spawns you need to edit the Jobs and JobWings files, x3 editor has a handy jobs editor.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Tue, 17. Apr 18, 00:23

Okay I could have simplified.

You can do almost anything with existing ships. This I know and in the ship creator it's fairly simple. No problems there.

Now either create a NEW SHIP either in 3ds Max, GMax or other 3D program (I primarily model in Cinema 4D and bridge to 3DS Max)
Now use the DBox exporter to get them into bod format.

Now TRY to go from THIS POINT assuming you do NOT want to relace any existing ship already in the vanilla X3TC game.
What codes are open. New ship so what body ID, etc do you use?

And unless you've accomplised that RECENTLY as TC's newest versions that everything you DID know no longer seems to apply.

Then add to this the scene files as the come out of DBox2 don't match to what X3TC is looking for. They need editing in Text format.

Now comes the t files. It's a new ship. From this point you are out the cold without a codec.

And if you don't get me from here, sorry I don't have any crayons around.
The answer to life, the universe and everything:
MIND THE GAP

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Wed, 18. Apr 18, 10:23

Given a correct bod model I know how to do the remains.

First we create a new ship type for testing the other parts.
if you want to create a fighter we should start by coping a plain Nova, and changing it's model and abilities afterwards.
first get X3 editor 2 and a good texteditor like notepad++
to identify our ship we have to give it a name
move to your x3 terranconflict folder for TC or x3 terranconflict\addon folder for AP I will refer it as <data root>
go to <data root>\t and create a new textfile called e.g. 2345-L044.xml and fill in this:

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<language id="44">
<page id="17" title="Boardcomp. objects" descr="">
 <t id="9875">my new ship name</t><!--must be uneven-->
 <t id="9876">some desription</t><!--must be the next even number-->
</page>
</language>
now open x3 editor 2 go to plugins cat manager this should open the vfs of your game inside vfs find types/TShips for TC or addon/types/TShips for AP drag and drop it to <data root>\types.
now click open in X3 editor 2's buttonlist click switch to system dialogue if necessary and navigate to the extracted file, we want to open it with the tfile editor.
given you used the correct editor plugin you will now see a list of all ships the game offers locate the argon nova rightclick it: copy
rightclick again and hit: PASTE TO THE END, never ever use paste or you will destroy the game.
now find you nova copy and find the field for name text id and enter the uneven number from the xml e.g. 9875 save and start a new game(we always use a new game for testing it will work with older saves, too, but errors are better to be found in a new game.)

now we rename the pilot to "Thereshallbewings" to enable the script editor (found in command console).
we write 2 new scripts with these names
"setup.mynewship":

Code: Select all

load text: id=2345
* the first is a general command the second is placed automatically
return null
"aaa.cheat.spawn.myship":

Code: Select all

*both are object commands, the second belong to the subcategory create objects
$sector = [Playership] -> get sector
$ship = create ship: type=my new ship name owner= player addto=$sector x=0 y=0 z=0
run both using the 'r' key, now you got your copied nova.

get this working before I tell you the next chapter.
I store a link here I need for the second part: https://www.wolframalpha.com/input/?i=e ... wal=header
where we have to translate euler angles into quaternions.
Last edited by ubuntufreakdragon on Wed, 18. Apr 18, 12:42, edited 1 time in total.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Wed, 18. Apr 18, 12:32

Okay! I'll go thorugh this today as a process. There's still holes there, but at least I can perhaps work then out. Thanks. Again when I get a worklow that leads to success on this the next step is outlinging the step-by-step in PDF form. If I'm shooting at leaving a legacy it's curing that "Too many hidden things" bit and opening the game to the few that think creating the new is their path. X3 has always hit me as a great venue, not vehicle, but venue. Egosoft has always embrassed the new. Added the new to their games and have a thriving community. Now all it needs is a bit more signposts down the path...

:lol: :x3:

Edit: Oh just great. After starting the whole process suddenly 3Ds Max wants to give me a BSOD for an exception error when it tries to load DBox2.

Edit: Error somewhat fixed. Now resolving the old mess about 3Ds Max not loading in Wavefront .OBJ's correctly. (Though nice if like your models turned into abstract art). Having to jump through hoops getting them into GW obj format. (via text edit). :shock:

Edit: Really love (Not) the what DBox2's export does to the ship's textures. (GAAA! :evil: )

Edit: To the point where I've decided X3TC just doesn't like me. Took dropping back to v1 tools from the dark ages to get a model into the game and all the UV coordinates are trashed. Looks fine in Max, looks goofey in the game. I give up. :headbang:
The answer to life, the universe and everything:
MIND THE GAP

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Sun, 6. May 18, 23:08

Really want to get yourself worked up?
Go to wonderful search engine here and look
up something simple like "shipyard".

Dare ya. :twisted:

A bit of an exercise in futility eh?

:fg:
The answer to life, the universe and everything:
MIND THE GAP

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 24950
Joined: Sun, 2. Apr 06, 16:38
x4

Post by X2-Illuminatus » Mon, 7. May 18, 08:49

If you're looking for specific information within the forum, which you cannot find by utilizing either [url=http://forum.egosoft.com/search/index.html?template=default&style=default.css][b]Li[/b]nk[b]Li[/b]st[/url] or [url=http://forum.egosoft.com/search.php][b]Se[/b]arch[b]Fu[/b]nction[/url] (see this FAQ article), you can also search the forum using google by adding "site:forum.egosoft.com" (without quotes) to your search request. Additionally, typing "inurl:topic id" (where topic id is the number displayed in the address bar of your browser at the end of the topic link) will let you search topics.

As for adding new ships to the game, have you already checked the Tutorials and Resources sticky, whether anything helpful is in there? For example in this forum's sticky thread, you find this tutorial from the xwiki (page loads rather slowly, but it's been archived here) on how to build a TS class ship and add it to the game.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten

Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)

Neuauflage der fünf X-Romane als Taschenbuch

The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Mon, 7. May 18, 13:16

Hey thanks! Sorry, really BAD day yesterday.
Got BSODs left and right and tracked
them down finally in the wee hours.

Yes it WAS DBox2. Only wasn't it's fault.

FYI. 3Ds Max an another drive but C:
needs all that junk in the Docs and settings
under users Local Settings for Autodesk
copied into a same directory on C:
Or you get a page fault when DBox2
loads up.
The answer to life, the universe and everything:
MIND THE GAP

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 7. May 18, 13:48

How far are you with the adding copies of vanilla ship part, without it testing the other parts will be impossible.
adding a custom model to an copy of an existing ship.
move to x3editor tships and delete for the ship all items in the turret part but the cockpit node this will be
Model: ships\props\cameradummy Scenenodeindex: 1
And create a .bod text file with this contents:

Code: Select all

P 0; B <PathToModel>; N <some name, normally <PathToModel>_somenumber>; b  // idx 0
{ 0x2002;  0; 0; 0;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; } // 0
P 1; B ships\props\cameradummy; C 1; N Bships\props\cameradummy_0bridge; b  // idx 33
{ 0x2002;  <3 position coodinates separators: ; >;  <quaternion (4 rotation coordinates)>;  -1; 1; } // 0
an in tships under model set path to the new .bod
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Mon, 7. May 18, 14:02

That's what I needed! There's where I've been falling flat with ShipCreator! Past it being for mods. Cycrow PM'd me with more info and I just screenshot your post so I have hardcopy to work with.

I'm getting closer past all the glitches getting models into 3Ds Max from C4D (Models exported as WAVEFRONT obj's get turned into garbage with 3Ds Max GW Obj import. Cured in later versions than mine).

Thanks Much!
The answer to life, the universe and everything:
MIND THE GAP

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 7. May 18, 14:09

oh and if you have a new question write a new post so others can see it, not just an edit.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Mon, 7. May 18, 14:13

Good idea. Wilco.

Just a question where that puzzles me.
Was there a reason the Venti isn't for sale
in the vanilla game? Or is it one of those
that are plans only? :?
The answer to life, the universe and everything:
MIND THE GAP

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Mon, 7. May 18, 14:23

The reason is likely Egosoft found it either unbalanced or forgot to add it.
It works and can be earned in vanilla by completing the otas missions if I remember it correctly.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
Hank001
Posts: 1652
Joined: Tue, 21. Feb 06, 23:50
x3ap

Post by Hank001 » Mon, 7. May 18, 14:31

Yeah, with 10 guns and a turret I'd it's past imballanced and just
plain lopsided. :D. Granted it shows 6, but 2 are 3 barrel gatlins. Other 2 are double barreled. Model viewer shows the 10.

Mod's going to cut that to 8 & 1 and in the neighborhood of Advced Eclipse. Cycrow clued me into how to limit ship sales to certain shipyards like OTAS. Will edit post with that.

Cycrow told me:
For the shipyards, you can just make a script that adds it to specific ones.

The ship creator uses a script that simply finds all shipyards then adds the ships to them.

to add them manually, you need to call the "plugin.manager.getship" script, the argument is the ID that you specifed in the ship creator.

this will turn the ID into the ship type which you can then use in the normal script commands

Code:

$shiptype = [THIS]-> call script: 'plugin.manager.getship', ID='SS_MYSHIP_ID'
$shipyard -> add product to factory: $shiptype


You just need a way to select the shipyards you want to add them too
The answer to life, the universe and everything:
MIND THE GAP

User avatar
ubuntufreakdragon
Posts: 5189
Joined: Thu, 23. Jun 11, 14:57
x4

Post by ubuntufreakdragon » Tue, 8. May 18, 11:10

In normally add ships like this:

Code: Select all

* $shiptype = <new ship type>
* here you can either enter it directly or use
$shiptype = get ware from maintype 7 and subtype <the number from x3 editor 2 tships - 1(editor starts counting at 1 SE starts at 0)>
* or use Cycrows library
* $shipyardtype = Otas Shipyard
$shipyardtype = get ware from maintype 6 and subtype 397
$array.shipyards = get station array: of race Argon class/type=$shipyardtype
counter = size of array $array.shipyards
while $counter
  dec $counter=
  $shipyard = $array.shipyards[$counter]
  if not $shipyard uses ware $shiptype as product
    $shipyard add product to factory or dock: $shiptype
    =$shipyard add 1 units of $shiptype
  end
end
return null
the sript has the prefix setup.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

Post Reply

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