Ship Tricks: Mini-Guides. NO 3D modeling required! (Bullwinkle) [Guide][TC][AP]

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

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

Post Reply
User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Ship Tricks: Mini-Guides. NO 3D modeling required! (Bullwinkle) [Guide][TC][AP]

Post by DrBullwinkle » Fri, 27. Apr 12, 00:02

Ship Tricks: Mini-Guides for modding ships. NO 3D modeling required!
A collection of ship-modification mini-guides for people who want to mod ships without using a 3D modeling tool.

Disclaimer: Real 3D modellers may see these hacks as amusing; like a pet conversion.
People with proper 3D tools will find other guides in the Tutorials and Resources Index.


Index Easy (probably)
These guides are as close to copy-and-paste as I could make them. Some even have Video Tutorials. I hope that they will be relatively easy to reproduce in your game.

In some cases, you do have to change ID's or two-digit ordinal numbers, but that is very easy to do. If any of the instructions are unclear, let me know and I will update them.

The guides do assume some familiarity with the X3 Editor 2 and that you are comfortable using a text editor and the Windows Explorer.

General Tips
  • The mini-guides do assume that you know how to edit TShips using X3 Editor 2, which is intended to be easy enough that it does not need a guide. My guides also assume that you know that TShips is a text file that can be edited with a good text editor.

    - If you are starting with a text entry from TShips, then copy-and-paste with a text editor. Save, then view (or edit) in X3 Editor.

    - Always add AND DELETE to and from the end of any of the files in the types folder. Adding or deleting in the middle can break your saved game. Obviously, do not delete an item that is in use in your saved game.

    - BACKUP your types folder, .cat and .dat files, and saved games before you experiment. If you want to be extra safe, then backup your entire game folder as well.

    - Do not edit files inside of vanilla .cats. Instead, extract the files onto your hard drive (in the appropriate sub-folder, mimicking the .cat). Then edit from those files on your disk. That way, if you make a mistake, then you can simply delete or rename your file and the game will revert to the vanilla version.

    - "Old" guides are still relevant. Most modding techniques have not changed since X3:Reunion (or even X2).
That is pretty much all you need to know. Theoretically, anyway. Kaplah! :)

Thank you to everyone here; I learned it all from you!
Thanks to EgoSoft for making an excellent game.
And special thanks to Nate10587, Dreamora, and expnobody, who helped me to unravel the mysteries of scene files.
Last edited by DrBullwinkle on Fri, 9. Jan 15, 01:13, edited 33 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:02

Detailed Instructions for installing the Colossus Prototype M0

The Colossus M0 Prototype is the result of a previous tutorial. It is a Colossus with the same number of guns as an ATF Tyr M2. It also has the shields and weapons generator of the Tyr. It uses the standard Colossus scene.

1) Copy the Colossus Prototype M0 to the clipboard. Yes, all of that is only a single line in TShips.

2) Paste to the end of TShips.

3) Increment the number of ships at the top of TShips. Look at the third line of TShips. If it says something like "50;401;" then change it to "50;402". The exact numbers may vary.

That's all.

Then, to test:

A) Drag and drop your edited TShips into the X3 Editor. You should see the Colossus Prototype at the end of the Argon listing. Or search for "Colossus" in the left-hand panel of the X3 Editor.

B) If you can see the ship in X3 Editor, then it is probably good. Start the game, and use the Cheat Package to create a ship of type Colossus Prototype.
Last edited by DrBullwinkle on Sun, 13. May 12, 01:55, edited 6 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:03

Add your ship to the game (or to a shipyard) with the Cheat Package

1) Adding your ship to the game
- Start the game, and use the Cheat Package to create a ship of type Colossus Prototype.

- When that works, then can (optionally) Create a Custom Name for Your Ship.

2) Adding your ship to a shipyard
- Target the desired shipyard in-game.
- Open the Cheat Package.
- Double-check that the "target" of the Cheat Package is the shipyard.
- Click "Add Ships to Shipyard"

To fill the shipyard's stock of your new ship
Still in the Cheat Package, with the shipyard targeted; Do one of the following:

- Turn "Keep Factory/Dock stocked" "ON". Or...

- Click "Add/Remove wares in station hold", choose the Colossus Prototype, and change the amount.



Optional: Make a Script to add your ship to a shipyard

Apricotslice contributed the following script (which I edited for easier readability):

Code: Select all

* BW: ==============================
* Adds a custom ship to Teladi shipyards.
* Automatically refills the stock of the ship each time you load a saved game.
* 
* Based on Apricotslice's X3TC-Apricot-PHQ-MO-in-Boron-Shipyards
* BW: ==============================
 
* BW: ==============================
* Change $race and $ship as you like.
* CHANGE BOTH SCRIPTS: SETUP AND UNINSTALL
* BW: ==============================
 
$race = {Teladi} 
$ship = {Argon Advanced Spacesuit 7_288} 
 
$psec = [PLAYERSHIP]->get sector
$i = 0 
while $i < 40 
  $dock = find station in galaxy: startsector=$psec class or type={Shipyard 2037} race=$race flags=[Find.Random] refobj=null serial=null max.jumps=100
  if $dock->exists
    $dock->add product to factory or dock: $ship
    $c = $dock->get amount of ware $ship in cargo bay
    skip if $c > 0 
      = $dock->add 1 units of $ship
  end
  inc $i =
end
 
return null
 
You can download the script as a .spk. However, you will have to edit the script (and the uninstall script) before it will do anything. The edits are explained in the header of the script (and they are very simple):

Add_Your_Custom_Ship_to_Shipyards.spk


The MD way
Alternatively, dillpickle posted a nice MD script: Add ship to game (MD) (Dillpickle)
Last edited by DrBullwinkle on Tue, 8. May 12, 21:18, edited 6 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:03

Tools and Resources

================================================
X3 Editor 2
================================================
The most vital tool for modding anything in X3 is the X3 Editor 2. It allows you to open .cat files, which is where most of the files that you will modify exist.

The X3 Editor has a "Virtual File System" (VFS), which automatically finds the highest-precedent file for you (the file that the game will use).

Therefore, the typical process is to:

1) Open the file that you want to modify in VFS. For example, addon\types\TShips (for AP) (or types\TShips for TC).

2) Save to your hard drive; in the same path. In the Save As.. dialog, click the button to "Switch to System Dialog". Then save as as a text file, in the path: addon\types\TShips.txt. Note that you will need the .txt file extension on your hard drive, but the file inside the .cat has no extension.

3) Make your edits to the new file on your hard drive. That way, you can always delete your edited file if you make a mistake, and the original file will still be in the .cat file.


================================================
3D Model and Stats Viewer
================================================
This may be quicker than reloading the game to view your modified scenes:

3D Models and Stats Viewer
How to use the 3D Viewer in X3AP


================================================
A word about File "Precedence" (Yes it is geeky, but you should know this)
================================================
Precedence is the way that a computer knows which thing to use, when there is more than one possible thing.

The computer uses the thing that has the highest precedence.

In X3, file precedence goes like this:

- Files in higher-numbered .cat files have higher precedence over the same-named files in lower-numbered .cat's.

- "Loose" files on your hard drive have precedence over files in .cat's.

- Packed files (.pck) on your hard drive have the highest precedence.

- The game will always use the highest-precedent file.

================================================
Text Editor
================================================
A good text editor makes your life easier. While it is possible to edit X3 files with Notepad, some versions of Notepad have bad habits, such as changing file extension without warning, and inserting line breaks where you do not want them. A real programmer's editor is more reliable and easier to use in the long run.

Use whatever text editor you like. If you have no preference, then consider one of the following:

- Notepad++ (free) is a very popular, free, text editor. It has most of the features of more sophisticated editors, and is "good enough" for most purposes.

- PsPad (free) is another fine, free, text editor. While less well-known than Notepad++, I like PsPad because it opens slightly more quickly than Notepad++.

- UltraEdit (commercial) is an inexpensive programmer's editor that is very nearly perfect. If you are willing to pay for an editor, then you would be hard-pressed to find one that does as much as UltraEdit.

================================================
Merge Tool (a.k.a. File Compare, or "Diff" Tool)
================================================
A Merge Tool allows you to compare two versions of a file, side-by-side, so that you can easily see what has changed. Merge tools are indispensable to programmers and modders.

- WinMerge (free) is moderately capable and free. If it does the job for you, then that is great. However, commercial merge tools are noticeably superior.

- Beyond Compare (commercial) is an excellent and inexpensive merge tool. It can also compare folders and binary files, which is sometimes handy. Beyond Compare is an excellent value, because it can do some things that even more expensive merge tools cannot.

- Araxis Merge is an expensive merge tool, but it also has the easiest-to-use user interface (at least that is my experience with it).

If money is not a barrier, then it would not be overkill to own both Araxis Merge and Beyond Compare. They are different enough that I use them for different tasks. Araxis for quick, normal, day-to-day file compares. Beyond Compare for trickier jobs. Both are superior to WinMerge.

================================================
Directory Compare (Folder Compare)
================================================
These tools compare two folders full of files, and show you what has changed. For example, you could compare Ap to TC to see what is different.

All of the above Merge Tools can compare folders.

I have a slight preference for FileSync. It is an older tool, written for Windows XP, but I like the way it works. *Shrug* maybe that is because I have used it more than other tools -- I am not sure. But it is very inexpensive ($15) and excellent, so I thought that I would mention it. There is a free version that you can try -- it is not disabled in any way other than it "pesters" you to register.


Resources for Newbies
Shrewd135 wrote:Does anyone have any ... scripting guides for x3? ... [snip]
- There is a great list of handy scripts for streamlining X3 at: Streamlining X3. The discussion strays off topic, but the first post is very helpful.

- There is no tutorial for the X3 Editor 2 because it is intended to be easy to use.

- Use the Virtual File System (VFS) to find the highest-precedent file. That is the file that the game will use when there is more than one file of that name to choose from.

- In particular, look at the files in the Types folder: TShips, TLasers, TBullets, TMissiles. For example, you will change both TLasers and TBullets to change the damage per second of a gun.

- When you find a good reference, bookmark it. I save the bbcode in my bookmark description, so that I can easily copy-and-paste a link for other users.

- For example, bookmark this link: Search EgoSoft with Google

- For scripting info, examples, and reference, there is no better single source than the MCSI Programmer's Handbook.

- All scripts *ARE* source code. So you already have the source to the Cheat Package. And you are correct in thinking that it is a good model to use for your own scripts. You may need to use one of the tools bundled with the Plugin Manager to extract the source.

- If you are serious about scripting, you will soon outgrow the in-game Script Editor. X-Studio Script Editor and Exscriptor are the external script editors that most experienced scripters use. You can (and should) begin with the in-game script editor, until you understand more about how the game works. But keep X-Studio and Exscriptor in mind for when you are ready for more editing horsepower.

- For modding guides, you will find some links in the Tutorials and Resources Index. In particular, you will find information about 3D modeling for X3 there. Most of these guides assume that you know how to use your 3D modeling program(s).

- For basic 3D modeling information, like your simple ship example, you will want to search elsewhere. Google is your friend. Perhaps get a copy of the free GMax editor and find a tutorial for it.

- For the very basics of modding, Modding 101 has a lot of useful information. It also has a lot of extra words and old links -- it could stand to be updated. But it covers the basics.

- The Ship Tricks: Mini-Guides are intended to be easy to follow. You may not be quit ready for them yet, but you will soon be there if you continue to study.

- A couple of your requests are more advanced topics, such as adding a turret. There are tutorials for that, but begin with learning how to use a 3D modeling program.

- Modifying plots is a job for the Mission Director (MD). There is not much documentation for it, and many experienced programmers find it frustrating to learn and use. Ironically, some less experienced developers have had better luck with it. Perhaps they have less to unlearn? In any case, you should take a look in the Community Scripts Library under the "Mission Director" heading.

- There is some more information on the MD Mission Director Basics and Installation page. However, the documents themselves are outdated. Extract the current documents from the Director folder in VFS (X3 Editor).

- Also, get the current documentation for the MD in acrobat format from Dillpickle's Download Page. It is much easier to read that way.

- While there is a rogue decompiler for X3, I sense that you are nowhere near ready to use it. Decompiling is a job for experienced assembly-language programmers. However, X3 is highly moddable without decompiling.

- Best starting points are the X3 Editor and the MCSI Handbook.
Last edited by DrBullwinkle on Sat, 13. Dec 14, 21:28, edited 12 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:04

Add Main Guns to Any Ship

This example adds main guns to a Brigantine M2, so that you can "fly it like a fighter". A giant, painfully slow, but super-powerful fighter. :)

Video Tutorial: Add Main Guns to Any Ship (with Fast Copy and Paste Trick)

Finished Scene File <== This is what your scene file should look like when you complete the tutorial.

=========================================================
Note: Main Guns will turn a bomber or missile frigate into a fighter/frigate. The only thing that makes a missile turret a missile turret is the lack of guns. So, if you add the guns, then the M8/M7M will no longer fire missiles via its normal turret commands.

An M8 or M7M with Main Guns *will* still fire missiles; one at a time. However it will not fire salvos, and you give up the ability to have different orders for different turrets.

The tutorial was targeted more toward a Panther or Destroyer (but will also work with a Carrier, TL, TM, TS, or TP. Anything that is not an M8 or M7M).
=========================================================


If you prefer written instructions, then read on...

1) Copy and paste the following code block into your scene file.

2) Check the ordinals -- they must be unique and contiguous. I have already done that for the example Brigantine.

2a) Optional: Check the position of the main guns; especially the third number which is front-to-back (442554 in the example). Ideally, you want that value to be somewhere close to the front of the ship.

3) Add the new guns to the main cockpit (Turrets tab) in TShips (using X3 Editor).

4) Done. Go shoot something. :)

Code: Select all

/ =====================================================================
/ Adding 8 Main Guns to any ship (Bullwinkle, 2012-02-06) 
/ (Based on nate10587's excellent advice)
/ 1) Change the "P 29" through "P 36" entries to next-higher 
/    indexes for your ship's scene.
/    (Example is for Pirate Brigantine M2)
/ 2) Change the x, y, z locations as appropriate for your ship.
/    For example, it is OK to copy locations from forward 
/    turrets on your ship.
/    The z value is most important (front-to-back axis). 
/    If in doubt, just change that.
/    Don't worry about being perfect. This is mainly for visuals.
/ 3) Add the index numbers from (1) to TShips for your ship's cockpit.
/    Number of laser parts = 1
/    Model = ships\props\invisible_weapon
/    Scene node index = (next higher index for your ship's scene)
/    For main guns, leave "Secondary Model" blank and 
/    Secondary Scene node index = -1.
/ 4) Add Weapon Types for your ship.
/ You're done!
P 29; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-01; b
  { 0x2002;  -10087; 10636; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  -10087; 10636; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 30; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-02; b
  { 0x2002;  10066; 10636; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  10066; 10636; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 31; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-03; b
  { 0x2002;  -23664; 8107; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  -23664; 8107; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 32; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-04; b
  { 0x2002;  23643; 8107; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  23643; 8107; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 33; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-05; b
  { 0x2002;  -31534; -33659; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  -31534; -33659; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 34; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-06; b
  { 0x2002;  31513; -33659; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  31513; -33659; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 35; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-07; b
  { 0x2002;  -23320; -33719; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  -23320; -33719; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
P 36; B ships\props\invisible_weapon; C 1; N Bships\props\invisible_weapon_1-08; b
  { 0x2002;  23299; -33719; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  3333;  1; } // 1
  { 0x2002;  23299; -33719; 442554;  0.000000; 0.000000; 0.000000; 0.000000;  -1;  -1; } // -1
/ =====================================================================

Modifying TShips is easier. Just in case you run into trouble, here is a modified TShips entry that corresponds to the above. (Note that this is not the vanilla Brigantine, so just use it for reference):

1) Copy and paste the Brigantine M2 with Main Guns to the end of TShips (using a good text editor).

2) Increment the number of lines at the top of TShips. For example, if line 3 says, "50;401;" then change it to "50;402;".

3) Test by loading TShips into X3 Editor.

4) If that works, then use the Cheat Package to Create a Ship of type "Brigantine Raider" (in-game).
Last edited by DrBullwinkle on Sat, 5. May 12, 06:06, edited 13 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:05

Add Guns to Existing Turrets
apricotslice wrote:If you can get a Colossus to carry an M2's worth of guns, let me know
It is easy to add extra guns to a ship that already has turrets. Your Colossus has turrets in all six positions, so it is a perfect example. You do not have to edit the scene at all.

Video Tutorial: Adding 12 Guns to a Turret (YouTube)

I made the video using your Apricot/Bullwinkle "Moose" M0, but you can use a Colossus to follow the example.

Here is a TShips entry, with three turrets now complete. Copy and paste to the end of TShips, and increment the ship count in line 3 of TShips:

Apricot_Bullwinkle_Moose-3_Turrets_Complete (TShips entry)

===================================================
If you want the name, as well, then add the following two lines to Page 17 of your 8686-L044.xml file. (If you do not have one of those, then add the lines to Page 17 of *any* t file that is loaded by your game.):

Code: Select all

 <t id="4533">Pirate Bullwinkle Moose</t>
 <t id="4534">It is not known whether this legendary pirate maurader is fact or fiction. It is rumored that nobody who has seen it has survived to tell the tale.</t>

===================================================



If you prefer a detailed text explanation, then read on...

Just add more guns to the existing turrets (by re-using the existing ordinals). If you look closely at TShips, you will see that the vanilla Colossus already does that. Copy and paste the following into the bottom of TShips, then look at the turrets in X3 Editor 2:

Colossus Prototype M0

(Optional detailed installation instructions above.)

Voila! Instant M0.
It will take longer to read the instructions than it will take to do it. :)



Turret Guns Step-by-Step

OK, if that was not enough detail, we can do it one step at a time.

Let's use the vanilla Colossus as an example, since everybody has it.

0) Before we begin, backup your TShips. That way we can revert if we muff anything up.

Also be sure that you are not flying a Colossus in your saved game. Best to save in an empty sector, flying only a fighter (or some other ship), with no Colossus in-sector.

1) Let's begin by looking at the front turret. (vanilla Colossus, Turrets tab). (NOT the cockpit: the "front" turret).

For a moment, let's just focus on the gun itself, which is Model/Scene(1). Ignore the right-hand part (Model/Scene(2)).

2) The first two guns are on turret 3. The second two guns are on turret 4.

See how that works?

Let's put two more guns on turret 3.

3) Click the gun icon. Fill out the forum to duplicate the first gun on turret 3:

Number of laser parts = 1
Primary Model = ships\props\bigturret_dummy
Scene node index = 3
Secondary Model = ships\props\bigturret_rightweapon
Scene node index = 3
Click "OK"

Now repeat for the second gun. Click the gun icon. Then:

Number of laser parts = 1
Primary Model = ships\props\bigturret_dummy
Scene node index = 3
Secondary Model = ships\props\bigturret_leftweapon
Scene node index = 4
Click "OK"

You should now see 6 guns on your front turret.

3a) Copy and Paste Tip: There is a lot to do. I speed up the process by doing three passes:

- I add all of the turret dummies in a single pass; changing ordinals as appropriate.

- I then make a second pass; adding the rightweapons. Always ordinal 3, for this example turret.

- Then I make a third pass; completing the leftweapons. Ordinal 4 in this example turret.

When I do it this way, I can fill out a turret in about 3 minutes (without rushing).

4) If you have any .xsp ships in your game, then open and close the Plugin Manager to allow it to regenerate its own version of TShips (which will be TShips.pck in your types folder on disk). Give it a few seconds to complete its work before starting the game.

5) Test in game.
Still in your empty sector; use the Cheat Package to Create a Ship of type Colossus. Enter it, then enter the front turret. Do you have six guns? Do they all fire?

If so, then you have successfully added two more guns to your front turret!

6) Duplicate the above process for turret 4.

Click the gun icon. Fill out the forum to duplicate the first gun on turret 4:

Number of laser parts = 1
Primary Model = ships\props\bigturret_dummy
Scene node index = 4
Secondary Model = ships\props\bigturret_rightweapon
Scene node index = 3
Click "OK"

Now repeat for the second gun. Click the gun icon. Then:

Number of laser parts = 1
Primary Model = ships\props\bigturret_dummy
Scene node index = 4
Secondary Model = ships\props\bigturret_leftweapon
Scene node index = 4
Click "OK"

You should now have 8 guns in your front turret. Test in-game if you are uncertain.

7) Duplicate the process AGAIN for turrets 3 and 4 ==> 12 guns!

You're done! (Well, done with the front turrets, anyway). It should look like this:

[ external image ]

8 ) Now do the process again for the right turret. When you are done, it should look like this:

[ external image ]

Here is the TShips entry for the ship so far. Copy and paste to the end of your TShips file and increment the ship count in line 3 of TShips:

Apricot_Bullwinkle_Moose-Two_Turrets_Complete

9) Now repeat for the rest of your turrets.

Notes
The maximum number of turrets that can be fired on the player ship is six: Front, Right, Back, Left, Top, Bottom.

Up to 12 guns can be fired by the player in each turret.

Maximum turret guns that can be fired by the player = 6x12 = 72.

If you add Main Guns, then you could get that maximum up to 84. That is, if you want a fighter that has more guns than any destroyer in the game. ;)
Last edited by DrBullwinkle on Mon, 30. Apr 12, 07:39, edited 12 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:05

Adding Docking Bays to Any Ship

Docking Bays, Part 1: Internal Docks

There are only 3 Steps:

1.1) Append the following code block to your scene. For the Tyr, that is objects\ships\M2\Terran_m2tyr_scene

Code: Select all

/ =====================================================================
/ Adding internal docking bays to any ship (Bullwinkle) 2012-04-05
/ This hack adds docking bays to a ship. 
/ Uses the docks from an Argon Colossus M1. 
/ Docks may not be in the correct locations for your ship, so I 
/ recommend that you use Docking Lockup Fix:
/ http://forum.egosoft.com/viewtopic.php?t=240058 and 
/ Safe Undocking: http://forum.egosoft.com/viewtopic.php?t=321044
/
/ Steps:
/ 1) Append this to your ship's scene file.
/ 2) Adjust the ordinals (the P 43- P 51 numbers). They must be unique (and maybe consecutive?)
/ 3) Change Docking Slots in TShips to the number of slots that you desire.
/
/ If you want to dock ships larger than M3, then you might want to change your dummies entry 
/ for 19026 and 19027 from FIGHTER to "STANDARD" 
/ See http://forum.egosoft.com/viewtopic.php?p=3870841#3870841 Larger Carrier Docks for M6/M8/TS/TP/TM Ships.
/
/ =====================================================================

// Docking Bays
P 43; B 19027; N B19027a; b
  { 0x2002;  9949; -20974; -38809;  0.250000; 0.000000; -1.000000; 0.000000;  -1;  -1; } // -1

P 44; B 19026; C 1; N B19026_1; b
  { 0x2002;  -38711; -62679; -25776;  0.250000; 0.000000; 1.000000; 0.000000;  -1;  -1; } // -1


// More Docking bays
P 45; B 19026; C 2; N B19026_2; b
  { 0x2002;  -38711; -62652; -52798;  0.250000; 0.000000; 1.000000; 0.000000;  -1;  -1; } // -1

P 46; B 19026; C 3; N B19026_3; b
  { 0x2002;  -38711; -46519; -52769;  0.250000; 0.000000; 1.000000; 0.000000;  -1;  -1; } // -1

P 47; B 19026; C 4; N B19026_4; b
  { 0x2002;  -38711; -46527; -25707;  0.250000; 0.000000; 1.000000; 0.000000;  -1;  -1; } // -1

P 48; B 19026; C 5; N B19026_5; b
  { 0x2002;  38712; -62679; -25776;  0.250000; 0.000000; -1.000000; 0.000000;  -1;  -1; } // -1

P 49; B 19026; C 6; N B19026_6; b
  { 0x2002;  38712; -62652; -52798;  0.250000; 0.000000; -1.000000; 0.000000;  -1;  -1; } // -1

P 50; B 19026; C 7; N B19026_7; b
  { 0x2002;  38712; -46519; -52769;  0.250000; 0.000000; -1.000000; 0.000000;  -1;  -1; } // -1

P 51; B 19026; C 8; N B19026_8; b
  { 0x2002;  38712; -46527; -25707;  0.250000; 0.000000; -1.000000; 0.000000;  -1;  -1; } // -1
1.2) Adjust the ordinal numbers as I did above. They must be unique and contiguous. Since the highest ordinal for the Tyr is 42, I numbered them 43-51.

1.3) In TShips, change the number of Docking Slots to 60 (or whatever).

1.4) Note: Since we are just guessing at the locations for these docking bays, fighters may have trouble docking and undocking while In Sector. To fix that problem, use

Docking Bays, Part 2: External Docks

Video Tutorial: Add External Docks to a Ship for M6, TS, and More (YouTube)

While internal docking bays are easier, there are times when you may want finer control over the types and numbers of ships that you can dock. External docks are the solution. External docks are not "bays". They are more like "mooring points" used by ships; the "docked" ship is tethered near the carrier, so that they move together as a single unit. Viewed from the outside, it appears as though the docked ship is very near the carrier, but not touching it, as if it is being towed or bound to the outside of the carrier.

The downside is that external docks must be carefully placed so that will work without problems in either usage or looks. Without a 3D modeling tool, that means that you will be doing some guesswork and trial-and-error testing. Don't Panic -- It is not as bad as it sounds. :)

2.0) (Cattafett's Improved Capital Ship Hangers Mod is an excellent implementation of this technique. Check out his mod; he may have already saved you the effort of doing it yourself.)

The process is similar to Part 1, except that you will be using one of the external docking bays from Dummies.

2.1) Copy and paste the following dock entry into your ship's scene:

Code: Select all

/ Add an External Dock (Moor)
/ Bullwinkle 2012-05-05
/ 1) Copy and Paste the following two un-commented lines into your 
/    ship's scene file. Those are the lines without the "/" comment character.
/ 2) Change ## to the next higher Ordinal number. For example, the highest ordinal
/    on a Megalodon is 62, so yours should be 63. The ordinal numbers must
/    be unique and contiguous.
/ 3) Change XX, YY, and ZZ to numbers. You will have to guess at these, 
/    then test in-game (unless you can do it with a 3D modeling tool).
/    For the Megalodon, 3 Guess-and-Test cycles resulted in: 225000, 200000, -350000.
/
/    The goal is for your dock to be far enough away from the ship that
/    docking vessels will not collide. However, it should be near enough 
/    that docked vessels do not interfere with jump gates or station docks.
/
/ 4) X3 has trouble docking and undocking ships larger than M3. 
/    Gazz wrote two scripts which solve these problems by using the 
/    docking computer instead of the animated docking sequence:
/    Docking Lockup Fix              (http://forum.egosoft.com/viewtopic.php?t=240058)
/    Safe Undocking / Jumping        (http://forum.egosoft.com/viewtopic.php?t=321044)
/
/ 0, 0, 0 is the center of the ship.
/ XX is Right/Left (+ is Right/Starboard)
/ YY is Up/Down (+ is Up)
/ ZZ is Front/Rear (+ is Front)
/
/ For our example Megalodon, let's make two docks; M6 on starboard side and TS on port.
/ The four lines should look something like this:
/
/ P 63; B ships\props\extern_M6_dock; N ships\props\extern_M6_dock; b 
/ { 0x2002;  250000; 200000; -350000;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; }
/
/ P 64; B ships\props\extern_TS_dock; N ships\props\extern_TS_dock; b 
/ { 0x2002;  -250000; 200000; -350000;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; }
/
/ The two lines are:

P ##; B ships\props\extern_M6_dock; N ships\props\extern_M6_dock; b 
{ 0x2002;  XX; YY; ZZ;  0.000000; 0.000000; 0.000000; 0.000000;  -1; 1; }

Note that most of the lines are comments. Only the last two lines are working code. And they are "broken" until you fix them (as follows):

2.2) Increment the Ordinal (P ##) to the next-higher number in the scene. The ordinals must be unique and contiguous. Ex: If the highest ordinal in the scene is 42, then make yours 43.

2.3) Change the XX, YY, and ZZ location of the dock to fit your ship. This is the part that requires guesswork.

XX is Right/Left. (+ is Right (Starboard))
YY is Up/Down. (+ is Up)
ZZ is Forward/Rear. (+ is Forward)

(0, 0, 0 is the center of the ship)

2.4) In TShips, increase the number of Docking Bays (General tab) to include your new docks (even though they are not, technically, "bays").

2.5) Now comes the slightly tedious part: Testing. It took me three attempts to get approximately correct placement (this is where GMax or 3DS Max would be easier).

2.6) For testing, I used the Cheat Package to add the new ship to the game and test it:
  • 5a) Go to an empty sector and cheat in the ship(s) that you want to dock TO your test ship.
    5b) Save the game without the test ship.
    5c) Alt-tab to your text editor to adjust the scene. Save the scene.
    5d) Reload the saved game.
    5e) Cheat in the test ship. Dock the other ship(s). Check that they can dock and undock without crashing, especially with you in the cockpit.
    5f) Do not save until you get a working ship.
    Repeat 5d - 5f until you have a "good enough" location for the mooring point. With a little practice, three tries should get you pretty close.
2.7) Use Docking Lockup Fix and Safe Undocking to overcome any docking or undocking issues. (They use the docking computer rather than the animated sequence).
Last edited by DrBullwinkle on Thu, 5. Mar 15, 11:15, edited 25 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:06

Tips for Newbie Modders
Plugin Manager, VFS, and Saved Game Quirks

There are some "secrets" that nobody bothers to explain to newbies. They are not in the documentation or stickies or FAQ, and only appear as bits and pieces scattered throughout the forum. Unfortunately, by the time people figure these things out (it can take months), they often forget which problems they had as newbies, so they never get documented.

A few that come to mind are:

1) Saved Games in X3 are different than most other games. They save the entire "state" of the game, including scripts and ship stats. It is all too easy to make a modification that is inconsistent with your saved game. Results vary from quirky behavior to hundreds of Mammoths to crashing the game or making the saved game invalid.

Tip: Backup both your mods and your saved games. Track them together.

2) The Plugin Manager (PM) creates its own versions of some of the files in the Types folder. For example, if you add a .xsp ship, then the PM will create a types\TShips.pck file. This files takes precedence over other TShips that you might have.

The files are created when the PM closes. They are deleted when the PM opens.

3) The X3 Editor 2 has a feature called VFS. The Virtual File System automatically finds the highest-precedent file for you (the file that the game will use).

4) Therefore, if you try to edit TShips from VFS, you will see a different TShips file depending on whether or not the PM is running.

If you do NOT use VFS for your edits, then you may experience ships appearing and disappearing (or working and not working) during different game loads. This seemingly inconsistent behavior drove me crazy until I understood how it worked.

Tip: Always close the Plugin Manager before starting the game. Also, give it a few seconds to complete its work before you start the game.

5) Here are some more Plugin Manager Notes from Cycrow.

6) See also the "General Tips" in the Index (Main) post.

7) See also the "Resources for Newbies" section in the Tools and Resources post.
Last edited by DrBullwinkle on Sat, 5. May 12, 22:36, edited 4 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 00:07

Larger Docking Bays for M6, M8, TS, and TP Ships (on Your Carrier)

If you think that carriers should be able to dock any ship smaller than a frigate, then you might want to change your dummies entry for 19026 and 19027 from FIGHTER to "STANDARD". There are other docks used by carriers, but 19026 and 19027 are the most common. The video shows how to find other docks, if your ship uses them. Well, it sort of shows you... you might have to figure out some of it with traditional sleuthing techniques.

Video Tutorial: Larger Docking Bays for M6/M8/TS/TP Ships (YouTube)

===================================================

Or read on for the text version...

1) Open types\dummies in X3 Editor. Use the TDebugger.

2) Navigate to 19026.

3) Double-click on "flags".

4) Delete the word "FIGHTER" and insert "STANDARD" in its place.

(See: Dummy File Flags for a list of available flags.)

(For more background on how and why this tutorial works, see: How to Change a Ships Docking Values. Dreamora's excellent pictures have expired, but the text should explain most of it.)

External docks work best for docking large ships. If you make the above change to Dummies, you will probably notice that some ships larger than M3 will have trouble docking and undocking from some carriers. To solve these problems:
  • Docking: Use Docking Lockup Fix.

    Undocking: Use Safe undocking / jumping (Gazz).

    Undocking (Alternative): Undocking should only be a problem when you pilot the ship. If you do not use Safe Undocking, you can first launch the ship by commanding it to Idle (Navigation Menu), then transfer to the ship via transporter device.
Common Dock Sizes:
FIGHTER
STANDARD
M6
TRANSPORT
TS
HUGESHIP
Last edited by DrBullwinkle on Thu, 20. Sep 12, 21:56, edited 8 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 04:31

Fleet Mangement 1: Equipping Fighters

Early in the game, running around looking for jump drives and docking computers is a lot of fun. It creates many challenging situations, and gives the player ample opportunity to come up with creative solutions.

However, later in the game, when you have to outfit 60 fighters for your Raptor... that's a drag.

My philosophy is that it makes sense to play it the "vanilla way" early in the game. But, when you have a carrier and a fleet of fighters, then do it the "easy way". Don't even think twice about it being "cheating", because the vanilla game gives you no good solution to the problem.

My favorites ways to equip a wing of fighters are:

1) The absolutely easiest, no-fuss, way to equip multiple ships is to clone them with the Cheat Package. When I do it this way, I simply keep a fully-equipped ship of the type that I want to clone, and name it "template.Whatever". Keep it docked in a safe sector.

You still have to set the Missile and Ammunition reload settings on the clones. Everything else can be done by assigning the clones to a wing.

Cloned ships can have any equipment that you want, including energy cells, fighter drones, satellites, and ammunition.

So clones are really the absolute "best" way to equip multiple ships. (Just remember to also deduct the credits from your account when you build the ships).

2) Yalamandi's Shipyard
Best ease-of-use combined with best "realism" when it comes to finding rare weapons. By that I mean that Yalamandi's adds a shipyard and equipment dock; giving you the option of whether you want to fill the equipment dock. The script can automatically fill the equipment dock, or you can do it yourself.

Filling the dock yourself keeps the script from being "overpowered" by making you find rare weapons by yourself. If you do this, I recommend a TL with Station Camper to automate refilling the equipment dock.

(The shipyard itself re-engineers ships, adds weapons and shields from the equipment dock, adds tunings, and allows you to save loadout "packages".)

3) Runner Up: If you prefer using your PHQ to build the ships, then Player Workshops "finishes" the job by adding equipment packages and tunings. You will still have to add weapons and shields yourself.


Fleet Management 2: Fleet Support Scripts
There are several large script packages that handle a variety of fleet management and automated-combat needs. The major players are:

Drone Carrier Software (DCS) Special-Purpose light carrier software. Completely automated for OOS patrols. Currently limited to Mk1, Mk2, and Keris drones, but I plan to add ship-type drones in the future.
ADS - Anarkis Defense System (Simple and Effective)
CODEA Weapon System (Elaborate "realism"; hire and train pilots, gunners, and officers)
Automated Carrier Software (Carrier creates and equips fighters with on-board fab; thus eliminating that tedious and boring chore.)
Last edited by DrBullwinkle on Fri, 8. Jun 12, 19:55, edited 2 times in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 27. Apr 12, 04:31

Using X3Editor (for first-time users)


To handle all possible conditions:

1) Close X3Editor and Plugin Manager. Close the game, of course.

2) Back up your entire X3 folder. Just in case you ever need to revert to previous files.

3) Open the Plugin Manager (to remove its merged files).

4) Open X3Editor. Make sure that your X3Editor profile is set up correctly, including which game you play.

5) Open from VFS to get the correct file that the game will use.

6) Double-check the path to the file in the X3Editor title bar.

7) Obviously, save when done editing.

8 ) Close the Plugin Manager (to allow it to rebuild its merged files.)

9) Start the game and test your changes. (See Testing Your Modded Ship for tips on some kinds of changes, such as changes to scene files.)

There are some videos demonstrating this (and more) above. See "A word about File Precedence" in the Tools and Resources tutorial for more information about how the X3 file system works.
  • (The steps with the Plugin Manager (PM) are only necessary if you merge anything. Examples are .xsp ships, or EMP if you are editing TWareT. If you are only editing TShips (and have no .xsp ships installed), then you can safely skip the PM steps. )
See also X3Editor2 Basics
Last edited by DrBullwinkle on Sat, 28. Feb 15, 20:00, edited 2 times in total.

dougeye
Posts: 2409
Joined: Sat, 7. Mar 09, 18:29
x3tc

Post by dougeye » Fri, 27. Apr 12, 08:45

One thing that would be interesting in regards to adding the ship to the game is a breif guide of how to add the ship to a shipyard/s permanently rather than just cheating one in.
I used to list PC parts here, but "the best" will suffice!

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Fri, 4. May 12, 20:23

Great idea, dougeye! Added.

UPDATED Videos: Higher quality now. Also fixed the Docking Bays video which was just wrong.

Aegyen
Posts: 245
Joined: Sat, 31. May 08, 19:33
x4

Post by Aegyen » Sat, 5. May 12, 01:32

Very handy and useful for us amateurs... :lol:

I found one more thing, while playing around with getting a ship in game, that was extremely helpful: How to create a name for your ship, and get it added into the game.

http://www.xwiki.chaos.net.nz/How_to_cr ... _your_ship

And thanks y'all, now I am going to end up with a whole .cat full of ships, tagged onto Lucike's Mod Collection... :roll: His Tships (modified) will be in my .cat, to make life easier. Watch him up and change stuff, now.. :lol:
Last edited by Aegyen on Sat, 5. May 12, 01:36, edited 1 time in total.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 5. May 12, 01:36

That link is already in the tutorials, but I added it to the Index in the first post so that others will not miss it. Thank you.

And thanks for the kind words.
Last edited by DrBullwinkle on Sat, 5. May 12, 10:05, edited 1 time in total.

User avatar
Killjaeden
Posts: 5366
Joined: Sun, 3. Sep 06, 18:19
x3tc

Post by Killjaeden » Sat, 5. May 12, 02:19

perhaps it help some people if you would mention that adding frontguns to a missilefrigate or bomber will also make their turrets shoot lasers instead of missiles. Provided they didnt forget to add weaponcompatibility. missileturrets will never work with frontguns, never ever.
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
Image

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 5. May 12, 02:37

Killjaeden wrote:adding [Main Guns] to a missilefrigate or bomber will also make their turrets shoot lasers instead of missiles.

...missileturrets will never work with [Main Guns]
Good point, KJ.

The only thing that makes a missile turret a missile turret is the lack of guns. So, adding Main Guns will have the effect that the M8/M7M will only fire single missiles, and you give up the ability to control the turrets individually.

The tutorial was targeted more toward a Panther or Destroyer (but will also work with a Carrier or TL).

Adding Main Guns to Any Ship Tutorial Updated.

Also, Video Tutorial: Add External Docks to a Ship for M6, TS, and More (YouTube) Added.

User avatar
DrBullwinkle
Posts: 5715
Joined: Sat, 17. Dec 11, 01:44
x3tc

Post by DrBullwinkle » Sat, 5. May 12, 23:20

Testing Your Modded Ship

A few of the changes that you make in TShips will take effect immediately; just reload a saved game. The General tab and Weapon Compatibility work this way.

Most other changes work best by the following method:
  • 1) Get into a *different* ship (not the one that you modded).
    2) Go to an empty sector.
    3) Save.
    4) Mod ship.
    5) Reload save.
    6) Create ship.
    7) Test.

User avatar
XDrake
Posts: 133
Joined: Wed, 29. Oct 08, 18:48
x3tc

Post by XDrake » Fri, 25. May 12, 02:00

Thank you, first of all for your fine work!
I have a question on ‘Docking larger ships’.
I am using a M1 model, I can remember for the life of me the actual name, I wish to use your trick and be able to dock larger ships. My question is if I make these changes to the dummies file, will all ships of M1 class be able to dock larger ships too? I sort of want my ship to be special.
What I am getting at is there a way that I can copy and paste, a new dummies entry and change the numbering?
XDrake
-------------------------------------------------------
NECORE Inc.

The X-Plorer
Posts: 389
Joined: Fri, 4. Nov 11, 02:03

Post by The X-Plorer » Fri, 25. May 12, 02:49

:o

Quick! somebody! Try to make this a sticky!

This could come in extreme handy for me... I dont want it dissapearing on me.... :evil:

And BTW DrBullwinkle, a few thoughts to throw out on this, think they're worth looking into?

-A Missile weapon that acts like a laser weapon? (Limited dumbfire missiles? come on, at least have a weapon that fires missile-like projectiles at the cost of energy consumption.)

-A flak missile? (Just before hitting the target it splits into a bunch of flak clouds that spread out the damage.)

-A FF jammer (An upgrade that makes your enemies unable to tell if you're a hostile, seems a bit odd but imagine how many unintended encounters with pirates that could prevent.)

-A Weapons energy siphon? (Perhaps you can steal the weapons energy from hostiles with this handy little weapon?)

-A Sheild energy siphon? (similar to above except it steals sheild energy)

Also will be tinkering around to see if I can do the following:

- Create a flak weapon that sends enemy fighters FLYING away. (More so than the CIG, but not send them dozens of KM away.) Can the push effect of the CIG be amplified for this case?

And good to hear from you again as well DrBullwinkle. :wink:
Happy accidents are just another form of discovery, except they are way more fun.

Post Reply

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