Factory node alignment script (request / help with script / BOD scene format )

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
scrangos
Posts: 2
Joined: Sat, 30. Nov 13, 02:34

Factory node alignment script (request / help with script / BOD scene format )

Post by scrangos » Sat, 21. Dec 13, 19:16

Helloes, I've been looking for a script that can automatically align factory nodes for placement. While FCC helps, it doesnt do much for mines and still has room for improvement.

Should one exist please let me know.

Having not found one I've started digging to see if its feasable to do so based on the constraints of scripting using my experience in coding in other languages.

Math options seem severely limited but there seem to be some math libraries that would help with it.

The goal would be to select an already placed factory, and one to place. Choose nodes from both factories (numerically, in order of appearance in the bod file), distance and rotation of second factory around that node.

The bod files seem to contain information of the positioning and rotation of the node in relation to the factory. Therefore one would need to calculate the offset off the node, then trace a vector x distance to where the other node would be and calculate the point and rotation the second factory must have to make the node be in the correct position and rotation.

It doesnt not seem possible to draw information in the bod files directly ingame as far as ive found (to get the data on the nodes). So one owuld need to parse all the scene files for the factories with a custom parser (which i could make) after extracting them (probably using x3 editor) and crease an array with the values one could index after getting the factory type.

I need help interpreting the scene files that come with x3 editor. Ive eye'd the code for dbox2 but all the flag posibilities make it confusing.

P 16; B dummy_connection; N Bdummy_connection; b // idx 18
{ 0x2002; -439161; 5939; 190296; 0.500000; 0.707107; -0.707107; -0.000000; -1; 1; } // 0

From my searches -439161; 5939; 190296; refer to the position of the node relative to the factory, sideways, upwards, forward.
0.707107; -0.707107; -0.000000; are the rotation. and the last number, 1; is the animation frame.

But what values are those in and what ratio do they have with ingame meters? Same with the rotation, what values are they and how do they translate to degrees or radians?

And a more general scripting question, does the station class have some sort of public variables that can be called? like station.type or something of the sort or is everything processed through the script functions like [retvar] = [var/station] get type of (just guessing at this).

Post Reply

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