Arma 3 Scripting

Arma 3: Vehicle in Vehicle Transport

  • Also known as Arma 3 Vehicle in Vehicle Transport

Topic · Markdown · JSON · original wiki page

Vehicle in Vehicle Transport functionality was added in Arma 3 Apex expansion. For proper function it needs suitable transport vehicle with cargo space defined in model and in config. Transported vehicles on the other hand needs no special treatment - important is only their size (estimated from bounding box) and weight. There are multiple config parameters for both transport and transported vehicles which can be used for further tweaking of functionality.

Scripting commands

Transport/transported Vehicles

Transported Vehicles

Transported Vehicle config example:

class VehicleTransport
{
    class Cargo
    {
        parachuteClass            = "B_Parachute_02_F";    // type of parachute used when dropped in air. When empty then parachute is not used.
        parachuteHeightLimit    = 40;                    // minimal height above terrain when parachute is used.
        canBeTransported        = 1;                    // 0 (false) / 1 (true)

        dimensions[]            = { "BBox_1_1_pos", "BBox_1_2_pos" };    // memory point-based override of automatic bounding box
        // or
        // dimensions[]            = { { 0, 0, 0 }, { 3, 2, 1.5 } };        // alternatively, positions in model space (since 2.08)

        rotation = -90;                                // (optional) defines in which direction the vehicle gets rotated
                                                    // when it is loaded into ViV cargo and will only fit when rotated
                                                    // only -90 and 90 are supported. Since v2.08
    };
};

Transport Vehicles

Transport Vehicle config example:

class VehicleTransport
{
    class Carrier
    {
        cargoBayDimensions[]        = { "VTV_limit_1", "VTV_limit_2" };    // memory points in model defining cargo space
        // or
        // cargoBayDimensions[]        = { { 0, 0, 0 }, { 10, 10, 10 } };    // alternatively, positions in model space (since 2.08)

        disableHeightLimit            = 1;                                // if set to 1 disable height limit of transported vehicles
        maxLoadMass                    = 200000;                            // maximum cargo weight (in Kg) which the vehicle can transport
        cargoAlignment[]            = { "front", "left" };                // array of 2 elements defining alignment of vehicles in cargo space.
                                                                        // possible values are left, right, center, front, back. Order is important.

        cargoSpacing[]                = { 0, 0.15, 0 };                    // offset from X,Y,Z axes (in metres)

        exits[]                        = { "VTV_exit_1", "VTV_exit_2" };    // memory points in model defining loading ramps, could have multiple
        // or
        // exits[]                    = { { 5, 0, 0 }, { 5, 10, 0 } };    // alternatively, positions in model space (since 2.08)

        unloadingInterval            = 2;                                // time between unloading vehicles (in seconds)
        loadingDistance                = 10;                                // maximal distance for loading in exit point (in meters).
        loadingAngle                = 60;                                // maximal sector where cargo vehicle must be to for loading (in degrees).
        parachuteClassDefault        = "B_Parachute_02_F";                // type of parachute used when dropped in air. Can be overridden by parachuteClass in Cargo.
        parachuteHeightLimitDefault    = 50;                                // minimal height above terrain when parachute is used. Can be overridden by parachuteHeightLimit in Cargo.

        class CargoTypeWhitelist                                        // whitelist. If this is not empty, only listed vehicles (isKindOf)
         {                                                                // can load into (since 2.10)
             Boat_F = 1;                                                    // In this case the transporter only carry boats, not cars or tanks etc
         };
    };
};

Cargo Space Vehicle Sorting

Examples: