---
name: "BIS_fnc_destroyer01Init"
type: function
status: ok
groups: ["Destroyer"]
arma3_since: "1.84"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/BIS_fnc_destroyer01Init
revid: 286071
updated: 2021-06-20T17:25:14Z
---

# BIS_fnc_destroyer01Init

*Function · Destroyer · Arma 3 v1.84*

## Description

- This is a main function designed to assemble dynamic ship (multi-part structure). Ship consists of multiple sub-objects that are linked together based on precise memory point positions in 3D space.

## Syntax

```sqf
[] call BIS_fnc_destroyer01Init
```

**Parameters:**

- `mode` — 0: (Scalar)
- `param0` — 0: ship Base/object
  and parameters from config

**Returns:** exposes and array of objects (ship parts) to other scripts for easy access as variable in it is own object name-space.
Destroyer (ship) is assembled

## Examples

### Example 1

```sqf
class Eventhandlers
{
    init = "_this call BIS_fnc_Destroyer01Init";                                //main init fnc, will assemble ship in game
    AttributesChanged3DEN = "_this call BIS_fnc_Destroyer01EdenInit";            //function to update objects position in EDEN editor if attributes changed by player
    Dragged3DEN = "_this call BIS_fnc_Destroyer01PosUpdate";                    //function to update objects position in EDEN editor if attributes changed by player
    RegisteredToWorld3DEN = "_this call BIS_fnc_Destroyer01EdenInit";            //initial EDEN init fnc (main init is still called)
    UnregisteredFromWorld3DEN = "_this call BIS_fnc_Destroyer01EdenDelete";        //function  to delete all ship objects in EDEN editor
};
```

## Function header

The comment at the top of the function's file in the game; this page's description, params, returns, examples come from it.

```sqf
/*
Author: Bravo Zero One development
- John_Spartan

Description:
- This is a main function designed to assemble dynamic ship (multi-part structure). Ship consists of multiple sub-objects that are linked together based on precise memory point positions in 3D space.

Execution:
- Call from EH on the main ship's base model (blank model with memory points and reference config).

    Example:
    class Eventhandlers
    {
        init = "_this call BIS_fnc_Destroyer01Init";                                //main init fnc, will assemble ship in game
        AttributesChanged3DEN = "_this call BIS_fnc_Destroyer01EdenInit";            //function to update objects position in EDEN editor if attributes changed by player
        Dragged3DEN = "_this call BIS_fnc_Destroyer01PosUpdate";                    //function to update objects position in EDEN editor if attributes changed by player
        RegisteredToWorld3DEN = "_this call BIS_fnc_Destroyer01EdenInit";            //initial EDEN init fnc (main init is still called)
        UnregisteredFromWorld3DEN = "_this call BIS_fnc_Destroyer01EdenDelete";        //function  to delete all ship objects in EDEN editor
    };

Requirements:
- Compatible object (carrier/ship) must have a base model with reference memory points and set of parts defined as separate objects in cfgVehicles config with their own models.
Main ship base must have a definition of all listed sub parts and memory point position to reference it is placement in 3D space.

    Example in cfgVehicles class for ship base
    multiStructureParts[] = {
                    {"Land_Destroyer_01_hull_01_F","pos_hull_1"},
                    {"Land_Destroyer_01_hull_02_F","pos_hull_2"},
                    {"Land_Destroyer_01_hull_03_F","pos_hull_3"},
                    {"Land_Destroyer_01_hull_04_F","pos_hull_4"},
                    {"Land_Destroyer_01_hull_05_F","pos_hull_5"},
                    {"Land_Destroyer_01_interior_02_F","pos_hull_2"},
                    {"Land_Destroyer_01_interior_03_F","pos_hull_3"},
                    {"Land_Destroyer_01_interior_04_F","pos_hull_4"},
                    {"Land_HelipadEmpty_F","pos_heliPad"},
                    {"ShipFlag_US_F","pos_Flag"}

                };

Parameter(s):
    _this select 0: mode (Scalar)
    0: ship Base/object

    and parameters from config

Returns: exposes and array of objects (ship parts) to other scripts for easy access as variable in it is own object name-space.
Result: Destroyer (ship) is assembled
*/
```

<sub>Source: [BI Community Wiki — BIS fnc destroyer01Init](https://community.bistudio.com/wiki/BIS_fnc_destroyer01Init) (revision 286071).</sub>
