A vehicle transportation system in Second Life

Using the Piaggio Transportation System with my MD-900 helicopter and Piaggio RoadRunner scooter: note the scooter sitting under the helicopter’s tail boom

So you have a luxury yacht with a helipad and been annoyed that you can’t sail it with your favourite helicopter rezzed on the deck? Or you have a landing craft and would like to be able to have a driveable vehicle it can carry and you can drive straight off? Or a cargo plane you’d like to fly around with your favourite car inside ready to drive? Well, Ape Piaggio might have the answer.

While working to complete the SeaRoo aquatic vehicle (formerly the WaveHopper – see: Previewing a little wave hopping in Second Life – and still very much “coming soon” as the final bugs are ironed out), she’s developed a neat little script set called the Vehicle Transportation System that allows two Modify / Copy vehicles to be combined so that one can be carried by the other, so that the “one” can be used when desired / as the local region settings allow.

As usual, I’ve been able to take the system for a test-run and thought I’d offer a piece on it for those who might be interested.

The Piaggio Vehicle Transportation system classifies the vehicle to be carried (in my case, the Piaggio RoadRunner, foreground and shown with handlebars folded) as the “secondary vehicle”, while the carrier (in this case, my MD-900 helicopter) as the “primary vehicle”

The system does require a careful amount of setting-up. In particular, it requires the unlinking and re-linking of one vehicle. This is something that can create issues, because vehicles often use a defined linkset numbering system which, if altered, can stop the vehicle function correctly. For this reason, there are scripted tools available to manage linksets. It’s also why Ape provides two versions of the Vehicle Transportation System:

  • The Vehicle Transportation System, containing only the scripts needed to allow one vehicle carry another, and suitable for those already have a re-link / unlink tool, or are confident in their own ability to edit linksets.
  • A Combo pack, offering both the Vehicle Transportation System and Ape’s own Relinker Kit, suitable for those who are not confident in editing linksets or who do not have a suitable script set for linkset editing.

Both kits are available on the Marketplace and will deliver the scripts to your inventory in two different folders.

In addition, the following points should be noted:

  • Both vehicles must be Copy / Modify.
  • The system uses a pair of defined terms:
    • Primary vehicle – refers to the vehicle that will transport another vehicle (e.g. a yacht you want to carry a helicopter or jet ski or something; or an aircraft carrying a car or tank or other vehicle, etc.).
    • Secondary vehicle – refers to the vehicle that is being transported.
  • A primary vehicle can only carry one other secondary vehicle.
  • When in use, the system will only work in regions / parcels where rezzing is enabled.
  • If you are the only person on your primary vehicle, note that it may be auto-returned if you swap to your secondary vehicle and are away from the primary longer than the local auto-return time.

Setting The System Up

Note: for the purposes of this article, I’m using my Spijkers & Wingtips MD900 Explorer helicopter and Piaggio SG33E RoadRunner scooter as, respectively, my primary and secondary vehicles, ans they happen to be the two of my vehicles that offer a reasonably logical pairing. As noted above, the system can be used with any suitable pair of Copy / Modify vehicles.

Setting the system up comprises three steps:

  • Preparing a static version of the secondary to be carried by the primary.
  • Linking that version of the secondary to the primary.
  • Preparing a version of the secondary that can be rezzed from the primary when it is to be used.
The “static” version of the secondary vehicle ready to be linked to the primary – the idea here being my RoadRunner is “slung” under the helicopter’s tail boom

Preparing a Static Version of the Secondary Vehicle

  • Rez your primary vehicle.
  • Rez a copy of your secondary vehicle and place it on your primary where you wish it to be positioned when the primary is in use (e.g. put a helicopter on the helipad of a yacht, or a car in the cargo hold of a plane).
  • Edit the secondary and open the Contents tab.
  • From the Vehicle Transportation System folder in your inventory, drag and drop the script called CONVERT INTO STATIC OBJECT into the Contents tab of the secondary vehicle.

WARNING: this script will DELETE all contents from the secondary and render it unuseable, so again, you should only do this if the vehicle is COPY and you retain a working version in your inventory.

  • Wait for the local chat message –> CONVERSION FINISHED <–.
  • Leave the converted vehicle in place.

Linking the Static Version of Secondary to the Primary

Note, the following references using the Piaggio Relinker kit; if you are using another scripted means of unlinking / relinking an object, then please refer to the instructions available with that tool.

  • Edit the static version of the secondary vehicle and open the Contents tab.
  • From the Piaggio Systems Relinker System folder, drag and drop ONE of the ADD scripts into the Contents tab:
    • Use ADD (CONVEX) if the root of the secondary is mesh.
    • Use ADD (PRIM) if the root of the secondary is a prim.
    • If you are unsure of the root of your secondary vehicle, use ADD (NONE).
  • Close the Edit floater of the secondary vehicle.
  • Edit the primary vehicle, and then from the Build menu, select Scripts → Set Scripts to Not Running.
When linking your secondary vehicle to your primary, you must ensure you set the primary’s scripts to Not Running before doing so, and then set them to Running afterwards
  • From the Piaggio Systems Relinker folder in your inventory, drag and drop the RELINKER – MAIN script into the primary.
    • A series of dialogues will be displayed, requesting permission to de-link and re-link he primary vehicle.
    • You must reply YES to each in turn.
  • When the process has finished, local chat will display the message: DONE: REMOVING SCRIPT.
  • Edit the primary vehicle again Scripts → Set Scripts to Running.

Preparing a Rezzable Version of the Secondary for use with the Primary

  • Rez a new copy of the secondary vehicle and edit it.
  • From the Vehicle Transportation System folder, drag and drop the script SECONDARY VEHICLE SYSTEM into the Contents tab of the secondary vehicle.
  • From the General tab of the Build / Edit floater, highlight and Copy (CTRL-C) the name of the secondary vehicle.
  • Take the updated copy of the secondary vehicle back to inventory.
  • Edit the primary and open the Contents tab, then:
    • From the Vehicle Transportation System kit folder, drag and drop the script PRIMARY VEHICLE SYSTEM.
    • Then drag and drop the updated secondary vehicle from inventory into the Contents of the primary.
  • In chat, type NAME, followed by the name of the secondary vehicle as in appears in the primary’s contents. For example:

name SG33E RoadRunner

Note: you can use Paste (CTRL-V) to paste the vehicle name accurately. Also, note this is only required if the primary has other objects in its contents.

Your vehicles should now be set-up and ready to go. Take a copy of the completed pairing back to inventory so you always have a “master” copy.

Using the Vehicle Transportation System


  • As per the notes above, the system will only work in regions / parcels where rezzing is enabled.
  • The engine systems of both the primary and the secondary vehicle must be OFF in order for the system to work correctly.

Use the primary vehicle as you usually would. It should perform exactly as it did before you added the secondary vehicle.

Flying my MD-900 with the RoadRunner “slung” under the tail boom

When you reach a point where you want to use the secondary vehicle, stop the primary and make sure the engine script is not running, then in local chat type RELEASE.:

The version of the secondary vehicle will be removed from the primary and a copy of the driveable version contained in the primary vehicles inventory will be rezzed in its place. You can then sit in the secondary and use it as normal.

Preparing the “driveable” version of my Roadrunner secondary after “detaching” it from my helicopter

When you have finished using the secondary, return to the primary and dismount from it. Make sure the engines of both are turned off, then in local chat type CONNECT.

The rezzed version of the secondary will be removed, and the “static” version will reappear connected to the primary.

Note: if the primary has been auto-returned  to your Lost and Found folder, you can re-rez it to complete the above operation  and continue travelling with the primary. Or you can delete the copy of the secondary and simply pull a fresh version of the primary from inventory the next time you want to use it.

This is an elegant solution for an issue many have found to be annoying. Those interested in trying it for themselves can obtain it as follows:

3 thoughts on “A vehicle transportation system in Second Life

Comments are closed.