---
name: "BIS_fnc_target"
type: function
status: ok
groups: ["Interaction"]
arma3_since: "1.00"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/BIS_fnc_target
revid: 337301
updated: 2023-01-13T10:27:53Z
---

# BIS_fnc_target

*Function · Interaction · Arma 3 v1.00*

## Description

Handles the shooting targets in the Bootcamp DLC, statistics, animation, etc. (targets such as `TargetBootcampHuman_f`)

|  |  |  |
|---|---|---|
| + Action/Parameter Table | Action ([String](../topics/String.md)) | Parameters ([Array](../topics/Array.md)) arguments |
| **initialize**<br>Initializes the target and sets it to the "up" position | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **terminate**<br>Doesn't do anything | N/A |  |
| **animate**<br>Animate the object to the given position ("up" or "down") | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- position: [String](../topics/String.md) - "up" or "down" (default) |  |
| **getAnimationPhase**<br>**Return Value:** [Number](../topics/Number.md) - 0 (up) or 1 (down) depending on current state | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **getAnimationPhaseString**<br>**Return Value:** [String](../topics/String.md) - "up" or "down" depending on current state | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **getAnimatedSelection**<br>**Return Value:** [String](../topics/String.md) - the name of the "animatedSelection" from object config | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **hit**<br>Handles the hit event to animate the target down and up again | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- unit: [Object](../topics/Object.md) - Unit which shot the target<br>- damage: [Number](../topics/Number.md) - Amount of damage done to the target |  |
| **hitPart**<br>Handles the hit event and stores the data | - partsList: [Array](../topics/Array.md) - Contains list of all parts which got hit (see [HitPart EH](../topics/Event_Handlers.md#hitpart) format) to format [target, shooter]:<br>  - target: [Object](../topics/Object.md) - Target object of type 'TargetBootcamp_base_F'<br>  - shooter: [Object](../topics/Object.md) - Unit which shot the target |  |
| **getShooterDataIndex**<br>**Return Value:** [Number](../topics/Number.md) - index from Shooter Data for specific unit | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target |  |
| **getShooterData**<br>**Return Value:** [Array](../topics/Array.md) - all data from Shooter Data for specific unit<br>Format: `[["uid", ""], ["name", ""], ["shots", [[["time", 0], ["distance", 0], ["weapon", ""], ["direct", 0]]]]]` | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target |  |
| **setShooterData**<br>Set Shooter Data for specific unit | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target<br>- data: [Array](../topics/Array.md) - Shooter Data |  |
| **getShotsData**<br>**Return Value:** [Array](../topics/Array.md) - Shots Data for specific unit | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target |  |
| **getShotsDataFromTargets**<br>**Return Value:** [Number](../topics/Number.md) - total amount of shots hit | - targets: [Array](../topics/Array.md) of [Object](../topics/Object.md) - List of target objects of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target |  |
| **getShotsDataWithFilter**<br>**Return Value:** [Array](../topics/Array.md) - Shot Data after custom filter | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target<br>- filter: [String](../topics/String.md) - One of "time", "distance", "weapon" or "direct"<br>- code: [Code](../topics/Code.md) - Custom code to validate the shot. _this is the value of filtered data |  |
| **setShotsData**<br>Set Shots Data for specific unit | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target<br>- data: [Array](../topics/Array.md) - Shots Data |  |
| **getShootersData**<br>**Return Value:** [Array](../topics/Array.md) - full Shooters Data | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **setShootersData**<br>Set full Shooters Data | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- data: [Array](../topics/Array.md) - Shooter Data |  |
| **resetShootersData**<br>Remove all data from Shooters Data array | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **getShooterTemplate**<br>**Return Value:** [Array](../topics/Array.md) - template for Shooter Data | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- uid: [String](../topics/String.md) - Player UID of unit who shot the target |  |
| **getShotTemplate**<br>**Return Value:** [Array](../topics/Array.md) - template for Shot Data (see [HitPart EH](../topics/Event_Handlers.md#hitpart) format) | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- shooter: [Object](../topics/Object.md) - Unit who shot the target<br>- projectile: [Object](../topics/Object.md) - ("_bullet" not used)<br>- position: [Array](../topics/Array.md) format [Position](../topics/Position.md) - ("_position" not used)<br>- velocity: [Array](../topics/Array.md) - ("_velocity" not used)<br>- selection: [Array](../topics/Array.md) - ("_selection" not used)<br>- ammo: [Array](../topics/Array.md) - ("_ammo" not used)<br>- vector: [Array](../topics/Array.md) - ("_direction" not used)<br>- radius: [Array](../topics/Array.md) - ("_radius" not used)<br>- surfaceType: [String](../topics/String.md) - ("_surface" not used)<br>- isDirect: [Boolean](../topics/Boolean.md) - [true](../commands/true.md) if object was directly hit, [false](../commands/false.md) if it was hit by indirect/splash damage. |  |
| **getShooterByUid**<br>**Return Value:** [Object](../topics/Object.md) - corresponding shooter unit | - uid: [String](../topics/String.md) - Player UID of unit who shot the target |  |
| **uiOpen**<br>Opens the Target Board display | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **uiOpenToAll**<br>Opens the Target Board display for all connected players | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F" |  |
| **uiOnLoad**<br>Triggered when display is opened (internal) | - display: [Display](../topics/Display.md) |  |
| **uiFillTable**<br>Triggered when display is opened, fills UI with Shooters Data (internal) | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- control: [Control](../topics/Control.md) - "_listBox" |  |
| **uiFillTableRow**<br>Triggered when display is opened, fills UI with Shooter Data (internal) | - target: [Object](../topics/Object.md) - Target object of type "TargetBootcamp_base_F"<br>- control: [Control](../topics/Control.md) - "_listBox"<br>- data: [Array](../topics/Array.md) - Shooter Data |  |

## Syntax

```sqf
[action, parameters] call BIS_fnc_target
```

**Parameters:**

- `action`: [String](../topics/String.md)
- `parameters`: [Array](../topics/Array.md)

**Returns:** See [above table](../functions/BIS_fnc_target.md#description)

## Examples

### Example 1

```sqf
// open the Score Board
["uiOpen", [myTarget]] call BIS_fnc_target;
```

### Example 2

```sqf
// open the Score Board for all players in MP
["uiOpenToAll", [myTarget]] call BIS_fnc_target;
```

### Example 3

```sqf
// clear all data from Score Board
["resetShootersData", [myTarget]] call BIS_fnc_target;
```

## See also

[doTarget](../commands/doTarget.md)

<sub>Source: [BI Community Wiki — BIS fnc target](https://community.bistudio.com/wiki/BIS_fnc_target) (revision 337301).</sub>
