---
name: "BIS_fnc_garage"
type: function
status: broken
groups: ["Vehicles", "Broken Functions"]
arma3_since: "1.42"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/BIS_fnc_garage
revid: 349504
updated: 2023-11-08T17:09:12Z
---

# BIS_fnc_garage

*Function · Vehicles, Broken Functions · Arma 3 v1.42*

> [!WARNING]
> This function is listed as broken on the wiki.

## Description

Splendid™ Virtual Arsenal Garage.

## Syntax

```sqf
[mode, params] call BIS_fnc_garage
```

**Parameters:**

- `mode`: [String](../topics/String.md) - (Optional, default "Open") **case-sensitive**. Can be "Open"; other cases are for internal use
- `params`: [Anything](../topics/Anything.md) - (Optional, default `[]`) depending on *mode*, can be:
  - "Open": [fullGarage, garageCentre]
    - fullGarage: [Boolean](../topics/Boolean.md) - (Optional, default [false](../commands/false.md))
    - garageCentre: [Object](../topics/Object.md) - (Optional, default [objNull](../commands/objNull.md)) the garage centre as vehicle; will be deleted on opening

**Returns:** [Nothing](../topics/Nothing.md)

## Examples

### Example 1

```sqf
[] call BIS_fnc_garage;
```

### Example 2

```sqf
player addAction ["Open Garage", {

     // create a position 30 meters infront of the player
    _pos = player getPos [30,getDir player];

    // create empty helipad at the position and save it in the global variable BIS_fnc_garage_center
    BIS_fnc_garage_center = createVehicle ["Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE"];

    ["Open", true] call BIS_fnc_garage;
}];
```

### Example 3

```sqf
player addAction ["Open Garage", {

     // create a position 30 meters infront of the player
    _pos = player getPos [30, getDir player];

    // create empty helipad at the position
    _vehicle = createVehicle ["Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE"];

    // pass created vehicle to function for use as position
    ["Open", [true, _vehicle]] call BIS_fnc_garage;
}];
```

## See also

[BIS_fnc_arsenal](../functions/BIS_fnc_arsenal.md) · Arsenal

## Community notes

**Larrow** — 2015-05-31

Available namespace variables

```sqf
missionNamespace
    BIS_fnc_arsenal_center            // copy of BIS_fnc_garage_center
    BIS_fnc_arsenal_fullGarage        // holds param 1 of "open" statement
    BIS_fnc_arsenal_group            // Group spawned vehicle is created in, default players group
    BIS_fnc_arsenal_type            // --- 0 - Arsenal, 1 - Garage
    BIS_fnc_garage_center            // Hold a reference to an OBJECT of where to spawn selected garage vehicle
    BIS_fnc_garage_centerType        // ? // default selected vehicle model from config
    BIS_fnc_garage_data                // Array of vehicles for garage tabs - see below
    BIS_fnc_garage_turretPaths        // ? // []

uiNamespace
    BIS_fnc_arsenal_cam                // null if arsenal is not open else holds reference to arsenal display
    BIS_fnc_arsenal_toggleSpace        // ?
    BIS_fnc_garage_defaultClass        // Default class to display
    BIS_fnc_garage_stats            // min and max values of config ["maxspeed","armor","fuelcapacity","threat"] of cfgVehicles >> crew
```

Available scripted eventHandlers

```sqf
// [namespace event is stored in, event name, passed variables]
[missionNamespace, "garageOpened", [_display, _toggleSpace]]
[missionNamespace, "garageClosed", [displayNull, uiNamespace getVariable ["BIS_fnc_arsenal_toggleSpace", false]]]
```

Structure of BIS_fnc_garage_data

```sqf
BIS_fnc_garage_data = [
    // CARS
    [
        //model
        "\a3\soft_f\offroad_01\offroad_01_unarmed_f",
        // config paths of classes that use above model
        [
            config.bin/CfgVehicles/C_Offroad_01_F,
            config.bin/CfgVehicles/B_G_Offroad_01_F
        ],
        "\a3\soft_f\mrap_02\mrap_02_gmg_f",
        [
            config.bin/CfgVehicles/O_MRAP_02_gmg_F
        ]
    ],
    [],        // ARMOR
    [],        // HELIS
    [],        // PLANES
    [],        // NAVAL
    []        // STATICS
]
```

---

**.kju** — 2018-05-01

The above overview isn't fully correct:

1. BIS_fnc_garage_centerType returns by default the model path of the "default class" 

```sqf
getText (configFile >> "cfgvehicles" >> _classDefault >> "model")
```

 yet once a vehicle is selected it returns its class name.
1. BIS_fnc_garage_center returns by default the player reference, yet otherwise the created vehicle object

<sub>Source: [BI Community Wiki — BIS fnc garage](https://community.bistudio.com/wiki/BIS_fnc_garage) (revision 349504).</sub>
