Merge pull request #2377 from acemod/removeDocumentation

remove documentation from master
This commit is contained in:
bux578 2015-09-09 18:48:26 +02:00
commit 4639c5c4f9
132 changed files with 0 additions and 6824 deletions

View File

@ -1,128 +0,0 @@
---
layout: wiki
title: ACE3 Config Entries
description: A list of all ACE3 config entries.
group: development
parent: wiki
order: 2
---
## 1. CfgVehicles
Entries found in the `CfgVehicles.hpp` files
```c++
ace_nightvision_grain
ace_nightvision_blur
ace_recoil_enablecamshake
ace_dragging_cancarry
ace_dragging_carryposition
ace_dragging_carrydirection
ace_dragging_candrag
ace_dragging_dragposition
ace_dragging_dragdirection
ace_gforcecoef
ace_offset
ace_hasReserveParachute
ace_reserveParachute
```
## 2. CfgWeapons
Entries found in the `CfgWeapons.hpp` files
```c++
ace_recoil_shakemultiplier
ace_overpressure_angle
ace_overpressure_range
ace_overpressure_damage
ace_overheating_dispersion
ace_overheating_slowdownfactor
ace_overheating_jamchance
ace_nightvision_grain
ace_nightvision_blur
ace_nightvision_radblur
ace_usedtube
ace_reloadlaunchers_enabled
ace_bipod
ace_overheating_allowswapbarrel
ace_clearjamaction
ace_checktemperatureaction
ace_gforcecoef
ace_protection
ace_scopeadjust_horizontal
ace_scopeadjust_vertical
ace_scopeadjust_verticalincrement
ace_scopeadjust_horizontalincrement
ace_isusedlauncher
ace_attachable
ace_range
ace_detonator
ace_barrelTwist
ace_twistDirection
ace_barrelLength
ace_laserpointer
ace_nextmodeclass
ace_modedescription
ace_hearing_protection
ace_hearing_lowerVolume
```
## 3. CfgAmmo
Entries found in the `CfgAmmo.hpp` files
```c++
ace_recoil_shakemultiplier
ace_frag_skip
ace_frag_force
ace_frag_classes
ace_frag_metal
ace_frag_charge
ace_frag_gurney_c
ace_frag_gurney_k
ace_explodeondefuse
ace_explosive
ace_fcs_airburst
ace_caliber
ace_bulletlength
ace_bulletmass
ace_transonicstabilitycoef
ace_ammotempmuzzlevelocityshifts
ace_ballisticcoefficients
ace_velocityboundaries
ace_standardatmosphere
ace_dragmodel
ace_muzzlevelocities
ace_barrellengths
```
## 4. CfgGlasses
Entries found in the `CfgGlasses.hpp` file
```c++
ace_color
ace_tintamount
ace_overlay
ace_overlaydirt
ace_overlaycracked
ace_resistance
ace_protection
ace_dustpath
```
## 5. CfgMagazines
Entries found in the `CfgMagazines.hpp` files
```c++
ace_isbelt
ace_attachable
ace_placeable
ace_setupobject
ace_delaytime
ace_triggers
ace_magazines_forcemagazinemuzzlevelocity
```

View File

@ -1,254 +0,0 @@
---
layout: wiki
title: ACE3 Events System
description: Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality.
group: development
parent: wiki
order: 3
---
## 1. Event Handlers
Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality.
The commands are listed below.
* `[eventName, eventCodeBlock] call ace_common_fnc_addEventHandler` <br/> adds an event handler with the event name and returns the event handler id.
* `[eventName, args] call ace_common_fnc_globalEvent` <br/> calls an event with the listed args on all machines, the local machine, and the server.
* `[eventName, args] call ace_common_fnc_serverEvent` <br/> calls an event just on the server computer (dedicated or self-hosted).
* `[eventName, targetObject(s), args] call ace_common_fnc_targetEvent` <br/> calls an event just on the targeted object or list of objects.
* `[eventName, args] call ace_common_fnc_localEvent` <br/> calls an event just on the local machine, useful for inter-module events.
Events can be removed or cleared with the following commands.
* `[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler` <br/> will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`.
* `[eventName] call ace_common_fnc_removeAllEventHandlers` <br/> will remove all event handlers for that type of event.
### 1.1 Synchronized Events
* `[eventName, eventCodeBlock, ttlNumberOrCodeBlock] call ace_common_fnc_addSyncedEventHandler` <br/> adds a globally synchronized event handler which will expire events after the provided TTL, or the code returns true.
* `[eventName] call ace_common_fnc_removeSyncedEventHandler` <br/> will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addSyncedEventHandler`.
* * `[eventName, args, ttlNumberOrCodeBlock] call ace_common_fnc_syncedEvent` <br/> calls a global synchronized event, which will also be run on JIP players unless it has expired; event will expire after the provided TTL, or the code returns true.
### 1.2 Pattern:
```c++
// tapper machine
["tapShoulder", [_target], [otherArguments]] call EFUNC(common,targetEvent);
// target machine XEH_preInit.sqf
PREP(onTapShoulder);
["tapShoulder", FUNC(onTapShoulder) ] call EFUNC(common,addEventHandler);
```
### 1.3 Listenable Event List:
<table>
<thead>
<tr>
<th>Event Key</th>
<th>Description</th>
<th>Source(s)</th>
<th>Passed Parameter(s) (_this)</th>
<th>Locality</th>
</tr>
</thead>
<tbody>
<tr>
<td>"playerChanged"</td>
<td>`player` changed (zeus/respawn/init)</td>
<td>common</td>
<td>[_newPlayer, _oldPlayer]</td>
<td>local</td>
</tr>
<tr>
<td>"PlayerJIP"</td>
<td>Player was a JIP player, and `player` object is now created.</td>
<td>common</td>
<td>[_player]</td>
<td>local</td>
</tr>
</tr>
<tr>
<td>"playerInventoryChanged"</td>
<td>Inventory changed</td>
<td>common</td>
<td>[_player, getAllGear-Array]</td>
<td>local</td>
</tr>
</tr>
<tr>
<td>"playerVisionModeChanged"</td>
<td>Vision mode changed (e.g. NVG on)</td>
<td>common</td>
<td>[_unit, _newVisionMode]</td>
<td>local</td>
</tr>
</tr>
<tr>
<td>"inventoryDisplayChanged"</td>
<td>Inventory display opened/closed</td>
<td>common</td>
<td>[_unit, _isOpen]</td>
<td>local</td>
</tr>
</tr>
<tr>
<td>"zeusDisplayChanged"</td>
<td>Zeus display opened/closed</td>
<td>common</td>
<td>[_unit, _isOpen]</td>
<td>local</td>
</tr>
</tr>
<tr>
<td>"cameraViewChanged"</td>
<td>Camera view changed</td>
<td>common</td>
<td>[_unit, _newCameraView]</td>
<td>local</td>
</tr>
<tr>
<td>"playerVehicleChanged"</td>
<td>Player vehicle changed</td>
<td>common</td>
<td>[_unit, _newVehicle]</td>
<td>local</td>
</tr>
<tr>
<td>"playerTurretChanged"</td>
<td>Player turret changed</td>
<td>common</td>
<td>[_unit, _newTurretIndexArray]</td>
<td>local</td>
</tr>
<tr>
<td>"infoDisplayChanged"</td>
<td>On info box change (e.g. entering and leaving a vehicle)</td>
<td>common</td>
<td>[_display, _type]</td>
<td>local</td>
</tr>
<tr>
<td>"inventoryDisplayLoaded"</td>
<td>On opening the inventory display</td>
<td>common</td>
<td>[_display]</td>
<td>local</td>
</tr>
<tr>
<td>"mapDisplayLoaded"</td>
<td>On loading the map (briefing and mission start)</td>
<td>common</td>
<td>[_display, _mapType]</td>
<td>local</td>
</tr>
<tr>
<td>"SettingsInitialized"</td>
<td>Settings are now safe to use (at mission start)</td>
<td>common</td>
<td></td>
<td>local</td>
</tr>
<tr>
<td>"SettingChanged"</td>
<td>A setting was changed</td>
<td>common</td>
<td>[_name, _value]</td>
<td>local</td>
</tr>
<tr>
<td>"interactionMenuOpened"</td>
<td>Interaction Menu Opened</td>
<td>interaction</td>
<td></td>
<td>local</td>
</tr>
<tr>
<td>"killedByFriendly"</td>
<td>On TK/Civilian Killed</td>
<td>respawn</td>
<td></td>
<td>local</td>
</tr>
<tr>
<td>"drawing_requestMarkers"</td>
<td>Request Drawing Markers</td>
<td>map</td>
<td></td>
<td>target</td>
</tr>
<tr>
<td>"drawing_sendbackMarkers"</td>
<td>Send Drawing Markers</td>
<td>map</td>
<td></td>
<td>target</td>
</tr>
<tr>
<td>"drawing_addLineMarker"</td>
<td>Line Drawn</td>
<td>map</td>
<td></td>
<td>global</td>
</tr>
<tr>
<td>"drawing_removeLineMarker"</td>
<td>Line Deleted</td>
<td>map</td>
<td></td>
<td>global</td>
</tr>
<tr>
<td>"flashbangExplosion"</td>
<td>Flashbang Goes Bang</td>
<td>grenades</td>
<td></td>
<td>target</td>
</tr>
<tr>
<td>"zeusUnitAssigned"</td>
<td>A player was assigned as zeus</td>
<td>zeus</td>
<td>[_logic,_player]</td>
<td>global</td>
</tr>
</tbody>
</table>
### 1.4 Callable Event List:
<table>
<thead>
<tr>
<th>Event Key</th>
<th>Description</th>
<th>Parameters</th>
<th>Owner</th>
<th>Locality</th>
</tr>
</thead>
<tbody>
</tr>
<td>"SetHandcuffed"</td>
<td>Set the captive (handcuffed) state of a unit</td>
<td>[_unit, _state]</td>
<td>captives</td>
<td>local</td>
</tr>
</tr>
<td>"SetSurrendered"</td>
<td>Set the surrender state of a unit</td>
<td>[_unit, _state]</td>
<td>captives</td>
<td>local</td>
</tr>
<tr>
<td>"ace_fcs_forceChange"</td>
<td>force FCS updates</td>
<td>fcs</td>
<td>fcs</td>
<td>local</td>
</tr>
</tbody>
</table>

View File

@ -1,31 +0,0 @@
---
layout: wiki
title: Arma 3 Issues
description: Keeping track of Arma 3 issues that need to be fixed. If you want to support us and help raise Bohemia's awareness of those issues, please upvote them.
group: development
parent: wiki
order: 6
---
Keeping track of Arma 3 issues that need to be fixed. If you want to support us and help raise Bohemia's awareness of those issues, please upvote them:
**Open:**
* [bux578: 0020997: MineDetector equipable in Launcher slot](http://feedback.arma3.com/view.php?id=20997)
* [bux578: 0021176: Zeus / Curator Add Remote Controlled Event](http://feedback.arma3.com/view.php?id=21176)
* [bux578: 0021469: Add script commands "addPrimaryWeaponMagazine" and "addSecondaryWeaponMagazine"](http://feedback.arma3.com/view.php?id=21469)
* [bux578: 0022000: Add/Alter script command to add perfectly configured weapons to cargo](http://feedback.arma3.com/view.php?id=22000)
* [commy2: 0021443: Unexpected behavior of += array in configs](http://feedback.arma3.com/view.php?id=21443)
* [commy2: 0022671: setVariable is not always JIP persistent](http://feedback.arma3.com/view.php?id=22671)
* [commy2: 0025404: splitString scripting command causes game crash] (http://feedback.arma3.com/view.php?id=25404)
* [CorruptedHeart: 0022318: Can no longer use "MenuBack" shortcut in AddAction](http://feedback.arma3.com/view.php?id=22318)
* [James2464: 0023725: All Environment Rocks Should Have PhysX LODs](http://feedback.arma3.com/view.php?id=23725)
* [Jaynus: 0023679: Display event handler return values for mouse buttons should be respected](http://feedback.arma3.com/view.php?id=23679)
* [Heisenberg: 0023741: Switching between optic modes of a sniper scope (AMS, DMS, MOS) will result in a blurred vision](http://feedback.arma3.com/view.php?id=23741)
* [AgentRev: 0022310: setObjectTextureGlobal causing "Cannot load texture" errors when used with valid mission files](http://feedback.arma3.com/view.php?id=22310)
**Resolved:**
* <del>[Nou: 0020761: Memory points rfemur, lfemur, and other leg memory points returned incorrectly with SQF command selectionPosition](http://feedback.arma3.com/view.php?id=20761)</del>
* <del>[commy2: 0023136: isLightOn doesn't recognize destroyed light bulbs for streetlamps](http://feedback.arma3.com/view.php?id=23136)</del>

View File

@ -1,96 +0,0 @@
---
layout: wiki
title: Arma 3 Scheduler And Our Practices
description:
group: development
parent: wiki
order: 8
---
## 1. Terminology
### 1.1 Frame
A single rendered frame of Arma 3.
### 1.2 Scheduled Space
This refers to execution would is ruled by the Arma 3 default script scheduling engine. This would include:
* spawn
* execVM
### 1.3 Unscheduled Space
This refers to execution which is linear; what this means is that the code will run to completion prior to executing the current frame. It must complete, but is guaranteed to run within a given frame.
* perFrameHandler
* Extended_EventHandlers
* addEventHandler
## 2. What is the scheduler and why do I care?
BIKI Article: https://community.bistudio.com/wiki/Biki2.0:Performance_Considerations
The Arma 3 script scheduler basically gives a fair-share execution to all running scripts, FSMs, and SQS files running on any given client or server at any given time. See the BIKI article for a in-depth explanation of this. What this basically means though, is that all scripts get a fair share; this also means scheduled execution is drastically affected by other poorly written mods. For example, if 2 different spawn's are running in a tight loop of `do { foo } while (true);`, they will both get exactly 50% of the scheduling time.
With the way mission makers and mod makers generally use spawn/execVM, this means you're actually getting drastically less execution time in the scheduled environment than you might think. This leads to visible delay issues all the way up to massive delay on execution. You can easily test and prove this by looping spawns and watching the execution times extend.
What does this all mean? It means we need to live outside of the spawn execution as much as possible. There are 2 places that the majority of our functionality should stem from, which means that as long as we strictly always perform calls between functions, we are executing within the same frame. If our execution is either stemming from the perFrameHandlers, or any default Extended_EventHandlers, than we can guarantee execution within a single frame. *ANY OTHER CIRCUMSTANCE IS NOT GUARANTEED.*
The scheduler will also actually halt your script mid-execution, usually at the end of a given control block, and pause you to yield to other scripts. This can lead to drastically incorrect results when performing calculations. Again, this is the reason we want all our given code to run to completion in a single given frame.
## 3 Design Patterns
Because we are attempting to always run to completion; execution occurs from 2 places. Either PFH handles or event handlers; in both cases, we wish our code to run to completion. This takes a change in mind set for design to ensure your executing that way. In a nutshell though, this all distills down to the fact that you will always call other chunks of code; nothing will ever be spawned off. The only circumstance this really becomes a problem is for waiting or delay. If designed correctly, though, you can avoid those circumstances.
Rules of thumb for component design:
* If you need to wait for a value, don't wait, use a CBA event! This means everything should be designed and written with an event-driven model in mind.
* If you have to wait, use a PFH delay/diag_tickTime check.
### 3.1 PFH-Design Pattern
Line Notes:
* PerFrameHandlers should be self-removing. If a PFH is no longer needed, it is responsible for removing itself.
### 3.2 ACE3 General Rules
* Always use call whenever possible. We should be calling functions chains exclusive and not be relying on spawn/execVM ever. Consider spawn/execVM banned without good reason. All code should be a chain of execution which is traceable, and not triggered between seperate threads.
* waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning: Sleep/waitUntil surrender about 5x the scheduler time than even normal execution does.**
* If we need a spawn or exec, we should utilize the perFrame scheduler. Spawn/execVM are subject to the Arma 3 scheduler and as such, cannot be relied upon. In order to give our players a consistent gameplay experience, we need to have total control over how and when all of our code runs.
* PFH should be utilized at all possible times when the player can see the result of whatever the code is. This applies to missile guidance, bullets, wind, optics, interactive UI, HUD's, and rendering. We should only consider scheduled execution if the code is running out of the visual range of the player.
### 3.3 Code Examples
#### 3.3.1 Generic PFH functions
See: https://dev.withsix.com/docs/cba/files/common/fnc_addPerFrameHandler-sqf.html for more details.
```c++
[{ code } , delayTime, [ARGS] ] call CBA_fnc_addPerFrameHandler;
```
#### 3.3.2 PFH Wait
```c++
DFUNC(myDelayedFunction) = {
// Our argument array is passed in a PFH as select 0
_args = _this select 0;
// Print our arguments
diag_log text format["I received: %1", (_args select 0)];
// Delete this PFH, so it is only executed once
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
// This runs the PFH once every 5 seconds, with the variable array ["balls"] being passed in
// This executes FUNC(myDelayedFunction), that could also be a { code } block.
// Parameter 2 is the delay (in seconds) for a PFH. This is "execute every N seconds", 0 will be every frame.
[FUNC(myDelayedFunction), 5, ["balls"] ] call CBA_fnc_addPerFrameHandler;
```

View File

@ -1,37 +0,0 @@
---
layout: wiki
title: Branching and Release
description:
group: development
parent: wiki
order: 5
---
## 1 Versioning
For ACE3 we use an versioning strategy based on <a href="http://semver.org/">Semver</a>. This means our version numbering is structured `MAJOR.MINOR.PATCH.BUILD`.
Because this modification is for Arma and backwards compatability is not always possible, our `MAJOR.MINOR.PATCH.BUILD` rules are slightly different. We increment the:
MAJOR version when we switch to a new arma version (ie Arma 4 or standalone expansion),
MINOR version when we add new features or large amount of bug fixes.
PATCH version when a release only contains bug fixes.
## 2 Branching and releases
We have a release scheduled every 2 weeks on a Tuesday. On the Friday before release, the project management will decide whether or not this scheduled release will continue. When continuing with the release, the current `master branch` will be merged into the `release branch`. The release branch will not contain any direct commits and no other branches will be merged into this branch. The exception being `hotfixes`, which are branched off `Release` and merged back into `Release` and `Master`.
`Hotfixes` are fixes for critical bugs that prevent stable gameplay with the currently available version of ACE3.
During this release process between the Friday and Tuesday, the day of release, work can continue on as normal on the `Master branch`. This includes new features, bug fixes that won't make it for release or other work. These will not be merged into the `Release branch` until the next release cycle, normally 2 weeks later.
### 2.1 Branching
* New features, bug fixes that are not a hotfix or other work will always be branched off `master` or another branch but never a `hotfix` or the `Release branch`.
* Hotfixes are always branched off the `Release branch`
* The release branch is never merged or deleted. Only master or hotfixes are allowed to merge into the `Release branch`.
### 2.2 Diagram
<a href="{{ site.baseurl }}/img/wiki/development/release_and_branching.jpg"><img src="{{ site.baseurl }}/img/wiki/development/release_and_branching.jpg" alt="Release and branching flowchart" /></a>

View File

@ -1,298 +0,0 @@
---
layout: wiki
title: Coding Guidelines
description:
group: development
parent: wiki
order: 1
---
## 1. Indentation
4 spaces for indentation.
```c++
class Something: Or {
....class Other {
........foo = "bar";
....};
};
```
### 1.1 Reasoning
Tabs can be tricky sometimes, especially when it comes to sharing code with others. Additionally, a lot of people tend to forget they're using tabs when they're aligning things after the first character, which causes things to fall apart when viewing the code at different tab lengths.
## 2. Braces
- opening brace on the same line as keyword
- closing brace in own line, same level of indentation as keyword
**Yes:**
```c++
class Something: Or {
class Other {
foo = "bar";
};
};
```
**No:**
```c++
class Something : Or
{
class Other
{
foo = "bar";
};
};
```
**Also no:**
```c++
class Something : Or {
class Other {
foo = "bar";
};
};
```
When using `if`/`else`, it is encouraged to put `else` on the same line as the closing brace to save space:
```c++
if (alive player) then {
player setDamage 1;
} else {
hint ":(";
};
```
In cases where you , e.g, have a lot of one-liner classes, it is allowed to use something like this to save space:
```c++
class One {foo = 1;};
class Two {foo = 2;};
class Three {foo = 3;};
```
### 2.1 Reasoning
Putting the opening brace in it's own line wastes a lot of space, and keeping the closing brace on the same level as the keyword makes it easier to recognize what exactly the brace closes.
## 3. How to create a new module
1. Copy the structure from `extras\blank` to the `addons\` folder and name it what you wish the new module to be named.
1. Edit `script_component.hpp`, change the `COMPONENT` definition to the name of the module. Also edit each of the `DEBUG` definitions to be the name of the module (for example, `DEBUG_SETTINGS_BLANK` should be `DEBUG_SETTINGS_BALLS` for module balls)
1. Edit the `script_component.hpp` file in the the `functions` directory to match the path of the new module, for example `#include "\z\ace\addons\blank\script_component.hpp"` for module called balls should now be `#include "\z\ace\addons\ballls\script_component.hpp"`.
1. The module is now prepared for development
### 3.1 Function Definitions
Functions should be created in the functions\ subdirectory, named `fnc_FunctionName.sqf` They should then be indexed via the `PREP(FunctionName)` macro in the XEH_preInit.sqf file. The `PREP` macro allows for CBA function caching, which drastically speeds up load times. **Beware though that function caching is enabled by default and as such to disable it you need to `#define DISABLE_COMPILE_CACHE` above your `#include "script_components.hpp"` include!**
Every function should have a header of the following format:
```cpp
/*
* Author: [Name of Author(s)]
* [Description]
*
* Arguments:
* 0: The first argument <STRING>
* 1: The second argument <OBJECT>
*
* Return Value:
* The return value <BOOL>
*
* Example:
* ["something", player] call ace_common_fnc_imanexample
*
* Public: [Yes/No]
*/
```
## 4. Macro Usage
### 4.1 Module/PBO specific Macro Usage
The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls':
| Macros | Expands to |
| -------|---------|
| `GVAR(face)` | ace_balls_face |
|`QGVAR(face)` | "ace_balls_face" |
| `EGVAR(balls,face)` | ace_balls_face |
| `EGVAR(leg,face)` | ace_leg_face |
| `QEGVAR(leg,face)` | "ace_leg_face" |
There also exists the FUNC family of Macros:
| Macros | Expands to |
| -------|---------|
|`FUNC(face)` | ace_balls_fnc_face or the call trace wrapper for that function.|
|`EFUNC(balls,face)` | ace_balls_fnc_face or the call trace wrapper for that function.|
|`EFUNC(leg,face) `| ace_leg_fnc_face or the call trace wrapper for that function.|
|`DFUNC(face)` | ace_balls_fnc_face and will ALWAYS be the function global variable.|
|`DEFUNC(leg,face)` | ace_leg_fnc_face and will ALWAYS be the function global variable.|
|`QFUNC(face)` | "ace_balls_fnc_face" |
|`QEFUNC(leg,face)` | "ace_leg_fnc_face" |
The `FUNC` and `EFUNC` macros should NOT be used inside `QUOTE` macros if the intention is to get the function name or assumed to be the function variable due to call tracing (see below). If you need to 100% always be sure that you are getting the function name or variable use the `DFUNC` or `DEFUNC` macros. For example `QUOTE(FUNC(face)) == "ace_balls_fnc_face"` would be an illegal use of `FUNC` inside `QUOTE`.
Using `FUNC` or `EFUNC` inside a `QUOTE` macro is fine if the intention is for it to be executed as a function.
#### 4.1.1 FUNC Macros, Call Tracing, and Non-ACE3 /Anonymous Functions
ACE3 implements a basic call tracing system that can dump the call stack on errors or wherever you want. To do this the `FUNC` macros in debug mode will expand out to include metadata about the call including line numbers and files. This functionality is automatic with the use of calls via `FUNC` and `EFUNC`, but any calls to other functions need to use the following macros:
| Macro | example |
| -------|---------|
|`CALLSTACK(functionName)` | `[] call CALLSTACK(cba_fnc_someFunction)` |
|`CALLSTACK_NAMED(function,functionName)` | `[] call CALLSTACK_NAMED(_anonymousFunction,'My anonymous function!')`|
These macros will call these functions with the appropriate wrappers and enable call logging into them (but to no further calls inside obviously).
### 4.2 General Purpose Macros
[CBA script_macros_common.hpp](https://gist.github.com/commy2/9ed6cc73fbe6a2b3f4e1)
* `QUOTE()` is utilized within configuration files for bypassing the quote issues in configuration macros. So, all code segments inside a given config should utilize wrapping in the QUOTE() macro instead of direct strings. This allows us to use our macros inside the string segments, such as `QUOTE(_this call FUNC(balls))`
#### 4.2.1 setVariable, getVariable family macros
| Macro | Expands to |
| -------|---------|
|`GETVAR(player,MyVarName,false)` | player getVariable ["MyVarName", false]|
|`GETMVAR(MyVarName,objNull)` | missionNamespace getVariable ["MyVarName", objNull]|
|`GETUVAR(MyVarName,displayNull)` | uiNamespace getVariable ["MyVarName", displayNull]|
|`SETVAR(player,MyVarName,127)` | player setVariable ["MyVarName", 127] SETPVAR(player,MyVarName,127) player setVariable ["MyVarName", 127, true] |
|`SETMVAR(MyVarName,player)` | missionNamespace setVariable ["MyVarName", player] |
|`SETUVAR(MyVarName,_control)` | uiNamespace setVariable ["MyVarName", _control] |
#### 4.2.2 STRING family macros
Note that you need the strings in module stringtable.xml in the correct format
`STR_ACE_<module>_<string>`</br>
Example:</br>
`STR_Balls_Banana`</br>
Script strings:
| Macro | Expands to |
| -------|---------|
| `LSTRING(banana)` | "STR_ACE_balls_banana"|
| `ELSTRING(balls,banana)` | "STR_ACE_balls_banana"|
Config Strings (require `$` as first character):
| Macro | Expands to |
| -------|---------|
| `CSTRING(banana)` | "$STR_ACE_balls_banana" |
| `ECSTRING(balls,banana)` | "$STR_ACE_balls_banana" |
## 5. Event Handlers
Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality.
The commands are listed below.
| Even Handler | Use |
| -------|---------|
|`[eventName, eventCodeBlock] call ace_common_fnc_addEventHandler` | adds an event handler with the event name and returns the event handler id.|
| `[eventName, args] call ace_common_fnc_globalEvent` | calls an event with the listed args on all machines, the local machine, and the server. |
|`[eventName, args] call ace_common_fnc_serverEvent` | calls an event just on the server computer (dedicated or self-hosted).|
| `[eventName, targetObject(s), args] call ace_common_fnc_targetEvent` | calls an event just on the targeted object or list of objects.|
|`[eventName, args] call ace_common_fnc_localEvent` | calls an event just on the local machine, useful for inter-module events.|
Events can be removed or cleared with the following commands.
| Even Handler | Use |
| -------|---------|
|`[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler` | will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`.|
|`[eventName] call ace_common_fnc_removeAllEventHandlers` | will remove all event handlers for that type of event.|
More information on the [ACE3 Events System](https://github.com/KoffeinFlummi/ACE3/wiki/ACE-Events-System) page.
## 6. Hashes
Hashes are a variable type that store key value pairs. They are not implemented natively in SQF, so there are a number of macros and functions for their usage in ACE3. If you are unfamiliar with the idea, they are similar in function to `setVariable`/`getVariable` but do not require an object to use.
The following example is a simple usage using our macros which will be explained further below.
```c++
_hash = HASHCREATE;
HASH_SET(_hash, "key", "value");
if(HASH_HASKEY(_hash, "key")) then {
player sideChat format["val: %1", HASH_GET(_hash, "key"); // will print out "val: value"
};
HASH_REM(_hash, "key");
if(HASH_HASKEY(_hash, "key")) then {
// this will never execute because we removed the hash key/val pair "key"
};
```
A description of the above macros is below.
| Macro | Use |
| -------|---------|
|`HASHCREATE` | used to create an empty hash.|
| `HASH_SET(hash, key, val)` | will set the hash key to that value, a key can be anything, even objects. |
|`HASH_GET(hash, key)` | will return the value of that key (or nil if it doesn't exist). |
| `HASH_HASKEY(hash, key)` | will return true/false if that key exists in the hash. |
| `HASH_REM(hash, key)` | will remove that hash key.|
### 6.1 Hashlists
A hashlist is an extension of a hash. It is a list of hashes! The reason for having this special type of storage container rather than using a normal array is that an array of normal hashes that are are similar will duplicate a large amount of data in their storage of keys. A hashlist on the other hand uses a common list of keys and an array of unique value containers. The following will demonstrate it's usage.
```c++
_defaultKeys = ["key1","key2","key3"];
// create a new hashlist using the above keys as default
_hashList = HASHLIST_CREATELIST(_defaultKeys);
//lets get a blank hash template out of this hashlist
_hash = HASHLIST_CREATEHASH(_hashList);
//_hash is now a standard hash...
HASH_SET(_hash, "key1", "1");
//to store it to the list we need to push it to the list
HASHLIST_PUSH(_hashList, _hash);
//now lets get it out and store it in something else for fun
//it was pushed to an empty list, so it's index is 0
_anotherHash = HASHLIST_SELECT(_hashList, 0);
// this should print "val: 1"
player sideChat format["val: %1", HASH_GET(_anotherHash, "key1")];
//Say we need to add a new key to the hashlist
//that we didn't initialize it with? We can simply
//set a new key using the standard HASH_SET macro
HASH_SET(_anotherHash, "anotherKey", "another value");
```
As you can see above working with hashlists are fairly simple, a more in depth explanation of the macros is below.
| Macro | Use |
| -------|---------|
|`HASHLIST_CREATELIST(keys)` | creates a new hashlist with the default keys, pass [] for no default keys.|
|`HASHLIST_CREATEHASH(hashlist)` | returns a blank hash template from a hashlist.|
|`HASHLIST_PUSH(hashList, hash)` | pushes a new hash onto the end of the list.|
|`HASHLIST_SELECT(hashlist, index)` | returns the hash at that index in the list. |
|`HASHLIST_SET(hashlist, index, hash)` | sets a specific index to that hash.|
#### 6.1.1 A note on pass by reference and hashes
Hashes and hashlists are implemented with SQF arrays, and as such they are passed by reference to other functions. Remember to make copies (using the + operator) if you intend for the hash or hashlist to be modified with out the need for changing the original value.

View File

@ -1,65 +0,0 @@
---
layout: wiki
title: Documentation guidelines and tips
group: development
parent: wiki
order: 19
---
# Documentation guidelines
## Example entry
```
---
layout: wiki
title: Mission Modules
group: feature
parent: wiki
---
## 1. Overview
### 1.1 Sub-feature 1
Short description of sub-feature 1.
### 1.2 Sub-feature 2
Short description of sub-feature 2.
## 2. Usage
### 2.1 thing n°1
- Step 1.
- Step 2.
- Step 3.
### 2.2 thing n°2
- Step 1.
- Step 2.
- Step 3.
## 3. Dependencies
`ace_something`
## 4. Guides
```
# Guidelines
- A line between each entry like above.
- Use `ACE3` instead of `ACE 3`.
- Remove each entry that is not used.
- Don't forget to say what you're going to work on in #documentation in slack or [this topic] (https://github.com/acemod/ACE3/issues/1166)
- Keybinds in ``` <kbd>thoses thingies</kbd> ```
- Keywords in ``` `thoses thingies` ```
- Capitals at the start of a sentence and `.`at the end.
- VERIFY EVERYTHING IN GAME, ALL THE THINGS
# Tips
- Use http://dillinger.io/ to keep your sanity
- [Markdown cheat sheet] (https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)

View File

@ -1,60 +0,0 @@
---
layout: wiki
title: Extension Guidelines
description:
group: development
parent: wiki
order: 9
---
## 1. Basics
### 1.1 Requirements
- A compiler (VS/GCC/Clang)
- If starting with Visual Studio, you need to make sure to use the Visual studio command prompt
- cmake 3.0 or later in your path
### 1.2 Cross-Platform Guidelines
### 1.3 C++ basic style and naming guide
### 1.4 ace_common cpp library
---
## 2 Building Extensions on Windows
### 2.1 Compiling
#### 2.1.1 Windows - Creating a Visual Studio Project
1. Open your compiling command prompt (which has cmake and your compiler)
2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options.
```
cd extensions\build
cmake .. -G "Visual Studio 14 2015"
```
A Visual studio project file will now be generated in your build directory.
#### 2.1.2 Windows - Visual Studio - Compile only (nmake)
1. Open your compiling command prompt (which has cmake and your compiler)
2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options.
```
cd extensions\build
cmake .. -G "NMake Makefiles"
nmake
```
The extensions will not be built in its appropriate project folder, for example:
```
extensions\
build\
fcs\ace_fcs.dll
somethingElse\ace_somethingElse.dll
```
### 2.2 Creating a New Extension

View File

@ -1,31 +0,0 @@
---
layout: wiki
title: How to translate ACE3
description: This page describes in short how you can help translating ACE3 into your language.
group: development
parent: wiki
order: 20
---
This page describes in short how you can help translating ACE3 into your language.
1. If you don't already have a GitHub account create one at http://github.com
2. Open the ACE3 repository at https://github.com/acemod/ACE3
3. In the top right corner press the "Fork" button
4. You are being redirected to your personal fork, a version that is hosted on your GitHub account (it says "yourUsername/ACE3")
5. Clone that fork to your PC (There are a lot of tools and tutorials how to do this (e.g. [GitHub for Windows](https://windows.github.com)))
6. Download [tabler](https://github.com/bux578/tabler/releases) and extract it somewhere
7. Open the tabler.exe and in the menu click "File > Open language files"
8. Point tabler to the cloned ACE3 directory
9. Start translating
10. When done go to the menu and click "File > Save language files"
11. Commit your changes to your local cloned repository
12. Sync (Push) your commit(s) to your fork
13. Create a Pull Request for your changes
(The last three steps require some git knowledge, but there are a lot of tutorials out there)
[GitHub for Windows help](https://windows.github.com/help.html)
#### Community Translation Guides
**Spanish:** [https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f](https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f)

View File

@ -1,37 +0,0 @@
---
layout: wiki
title: Merging Pull Requests
description:
group: development
parent: wiki
order: 5
---
Who's responsible for merging pull requests.
All authors must add themselves to the AUTHORS.txt file **with a valid email adress**.
#### Changes To Existing Addons
The people responsible for merging changes to existing addons are the maintainers listed in the README.md file of the respective addon folder.
If the changes consists of trivial changes, such as spelling or indentation fixes:
```diff
valueA = 12;
valueB = 31;
- valueC =2;
+ valueC = 2;
```
... the PR can be merged right away by one of the maintainers.
Non-trivial pull requests remain open for a minimum of 48 hours, to give all other contributors time to comment on potential issues, and are then merged by a maintainer, should no issues arise.
#### New Addons / Other Changes
If a pull request adds a new addon, or changes something else, like the README, everyone has 72 hours to comment on the changes. After that, one of the team leads ([NouberNou](https://github.com/NouberNou), [KoffeinFlummi](https://github.com/KoffeinFlummi), [Glowbal](https://github.com/Glowbal)) will merge it.
Trivial changes such as spelling fixes can be merged immediately by any contributor.

View File

@ -1,42 +0,0 @@
---
layout: wiki
title: Modularity And PBO Structure
description:
group: development
parent: wiki
order: 4
---
## 1. Modularity
Main principles:
- As much stuff as possible should be modular
- Strive to make as much stuff as possible run-time togglable. Adding/removing PBOS would still be requiring to toggle any feature relying on config changes.
## 2. PBO Structure
Main principles:
- Try to keep single module dependencies as much as possible
- Interaction would be the requirement for most modules.
- Anything that is 100% config should require Common and not Interaction.
```
Main -> Common -> OptionsMenu -> Interaction -> Most things
Main -> Common -> Config things
Main -> Common -> 3D Models |
Interaction | -> Feature
```
## 3. Optional .PBOs for 3rd Party Mods
- ACE3 policy is to NOT take care of compatibility with third party addons single handely. The current compatible .PBOs were kickstarted by the ACE3 team as an example to mod creators so it's clear which entries are needed for compatibility. The authors of those addons have been contacted and many of those pbos are due to be included in their respective mods eventually.
<div class="panel callout">
<h5>Notice for 3rd party mod creators:</h5>
<p>Most of the config entries are inert if ACE3 is not present, so addons can be made ACE3 compatible without explicitly requiring ACE3. However, for addons that are not inert (for example, scope configs), it is best to create and distribute compatibility .PBOs along with the original mod content; feel free to consult with ACE3 devs about how to correctly implement this. All existing compatibility .PBOs are examples and thus no further compatibility .PBOs will be provided by the ACE3 team.</p>
</div>

View File

@ -1,112 +0,0 @@
---
layout: wiki
title: Setting Up The Development Environment
description: This page describes how you can setup your development environment for ACE3, allowing you to properly build ACE and utilize file patching.
group: development
parent: wiki
order: 0
---
This page describes how you can setup your development environment for ACE3, allowing you to properly build ACE and utilize file patching.
## 1. Requirements
- Arma 3 (duh)
- A proper installation of the Arma 3 Tools (available on Steam)
- A properly setup P-drive
- Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update)
- Python 3.x, available [here](http://www.python.org)
- The following Mikero Tools (available [here](https://dev.withsix.com/projects/mikero-pbodll/files)): DePBO, DeOgg, Rapify, MakePBO, PBOProject
- A properly setup PATH variable (containing Python ,the Mikero tools and git)
## 2. Why so complicated?
If you have contributed to AGM you might be used to an easier build process, where there was even an .exe you could use for building. ACE3, however, makes use of CBA macros to simplify things and give the developer access to a better debug process, which requires a stricter build environment. Additionally, Mikero's tools are stricter and report more errors than AddonBuilder does. The structure of this development environment also allows for [file patching](#7-file-patching), which is very useful for debugging.
Not offering .exes for the Python scripts we use allows us to make easy changes without the hassle of compiling self-extracting exes all the time.
## 3. Getting ACE
To actually get the ACE source code on your machine, it is recommended that you use Git. Tutorials for this are all around the web, and it allows you to track your changes and easily update your local copy.
If you just want to create a quick and dirty build, you can also directly download the source code using the "Download ZIP" button on the front page of the GitHub repo.
## 4. Initial Setup
After ensuring that you have installed all requirements, execute the `setup.py` script found in the `tools` folder. This will do most of the heavy lifting for you, create the links you need and copy the required CBA code to the proper place. Please note that these links are tied to the location of your ACE3 source code, so make sure that the project folder is where you want it to be. We recommend that you store the ACE3 project on your P-drive.
### 4.1 Manual Setup
Should the script fail, here is how you create the required links manually:
First, to set up the links, create `z` folders both in your Arma 3 directory and on your P-drive. Then run the following commands as admin, replacing the text in brackets with the appropriate paths:
Windows 8:
```
mklink /D /J "[Arma 3 installation folder]\z\ace" "[location of the ACE3 project]"
mklink /D /J "P:\z\ace" "[location of the ACE3 project]"
```
Windows 7 and Vista:
```
mklink /D "[Arma 3 installation folder]\z\ace" "[location of the ACE3 project]"
mklink /D "P:\z\ace" "[location of the ACE3 project]"
```
Then, copy the `cba` folder from the `tools` folder to `P:\x\cba`. Create the `x` folder if needed. That folder contains the parts of the CBA source code that are required for the macros to work.
## 5. Creating a Test Build
To create a development build of ACE to test changes or to debug something, run the `build.py` file in the `tools` folder. This will populate the `addons` folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use [file patching](#file-patching).
This also means that you cannot distribute this build to others.
To start the game using this build, you can use the following modline:
```
-mod=@cba_a3;z\ace
```
## 6. Creating a Release Build
To create a complete build of ACE that you can use without the source files, run the `make.py` file in the `tools` folder. This will populate the `release` folder with binarized PBOs that you can redistribute. These handle like those of any other mod.
## 7. File Patching
File Patching allows you to change the files in an addon while the game is running, requiring only a restart of the mission. This makes it great for debugging, as it cuts down the time required between tests. Note that this only works with PBOs created using MakePBO, as outlined in [Creating a Test Build](#creating-a-test-build).
### 7.1 Enabling File Patching
There are two ways to enable file patching:
- Load cba_cache_disable.pbo (included in CBA's optional folder)
- Add the following to your test missions description.ext:
```c++
class CfgSettings {
class CBA {
class Caching {
compile = 0;
xeh = 0;
functions = 0;
};
};
};
```
### 7.2 Restrictions of File Patching
Files must exist in the built PBOs for filepatching to work. If you create a new file you must rebuild the PBO or Arma will not find it in your file paths.
Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes `diag_mergeConfig` which takes a full system path (as in `p:\z\ace\addons\my_module\config.cpp`) and allows you selectivly reload config files.
If you need to add/remove files, then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing.

View File

@ -1,32 +0,0 @@
---
layout: wiki
title: Advanced Ballistics
description: The advanced ballistics module improves internal and external ballistics.
group: feature
category: realism
parent: wiki
---
## 1. Overview
The Advanced Ballistics module improves internal and external ballistics.
## 1.1 Features
- Drag modelling based on real-world ballistic coefficients.
- Ambient air density (air pressure, temperature, humidity) affects drag.
- Wind affects drag and deflects the trajectory.
- Wind speed varies with altitude.
- Terrain features, buildings and other objects disrupt the wind.
- [Magnus effect](https://en.wikipedia.org/wiki/Magnus_effect) (spin drift)
- [Coriolis effect](https://en.wikipedia.org/wiki/Coriolis_effect) and [Eötvös effect](https://en.wikipedia.org/wiki/Eotvos_effect) (Earth rotation)
- Loss of stability during transonic flight.
- Variable muzzle velocity based on powder burn rate and barrel length.
- Bullet trace effect for supersonic bullets (light refraction due to air pressure waves).
- A protractor for quickly measuring the inclination angle.
## 2. Usage
### 2.1 Protractor
Press <kbd>Ctrl</kbd>+<kbd>&nbsp;Shift</kbd>+<kbd>K</kbd> while using a compatible weapon to toggle the protractor. The red line indicates the current inclination angle in degrees. The protractor will disappear if you lower or holster your weapon.
## 3. Dependencies
`ace_ballistics`, `ace_weather`, `ace_modules`

View File

@ -1,31 +0,0 @@
---
layout: wiki
title: AI (Artificial Intelligence)
description: Config based changes to AI to ensure compatibility with advanced AI modifications
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Adjusted AI skill values
The idea here is to reduce the AI's godlike aiming capabilities while retaining its high intelligence. The AI should be smart enough to move through a town, but also be 'human' in their reaction time and aim.
*Note: All these values can still be adjusted via scripts, these arrays just change what 0 & 1 are for `setSkill`.*
### 1.2 Firing in burst mode
AI will now use the automatic mode of their weapons at short distances, instead of always relying on firing single shots in quick succession.
### 1.3 Longer engagement ranges
The maximum engagement ranges are increased: AI will fire in bursts with variable lengths on high ranges of 500 - 700 meters, depending on their weapon and optic.
### 1.4 No dead zones in CQB
Some weapons had minimum engagement ranges. If you were as close as 2 meters to an AAF soldier, he wouldn't open fire, because the AI couldn't find any valid fire mode for their weapon. ACE3 removes this behaviour mostly notable in CQB by adding a valid firing mode.
### 1.5 No scripting
All changes of ACE3 AI are config based to ensure full compatibility with advanced AI modifications like e.g. "ASR AI 3".
## 2. Dependencies
`ace_common`

View File

@ -1,42 +0,0 @@
---
layout: wiki
title: Aircraft
description: Aircraft overhaul
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Adjusted flight behaviour
Changes the flight behaviour of various aircraft.
### 1.2 Various adjustments to aircraft and gunships munitions
- Higher capacity magazines for the Comanche.
- Gatling rate of fire (ROF) increased.
- AP rockets have less splash damage.
### 1.3 Missile lock warnings
Adds missile-lock warning systems to helicopters and planes based on the equivalent real life capabilities.
### 1.4 Semi-automatic flare mode
Adds the semi-automatic flare mode known from Arma 2. The key to switch modes existed in Arma 3's key settings, but wasn't operational until now.
### 1.5 Ejecting from pilot and copilot seats
Pilots and copilots of all helicopters can now eject.
### 1.6 Laser marker for Wildcat
Adds a laser marker to the copilot seat of the Wildcat.
### 1.7 HUD for AH-9
Adds a HUD to the AH-9 based on the Comanche's HUD.
## 2. Usage
### 2.1 Switching flare modes
Press <kbd>Ctrl</kbd>+<kbd>C</kbd> to switch between flare firing modes (Arma 3 default key bind `countermeasure mode`)
## 3. Dependencies
`ace_common`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: APL
description: assets under APL license
group: feature
category: equipment
parent: wiki
---
## 1. Overview
This folder regroups all assets released under the APL license.
## 2. Dependencies
`ace_main`

View File

@ -1,27 +0,0 @@
---
layout: wiki
title: ATragMX
description:
group: feature
category: equipment
parent: wiki
---
## Overview
### Sub-feature 1
Short description of sub-feature 1.
### Sub-feature 2
Short description of sub-feature 2.
## Usage
Short overview of how to use the feature, e.g. menu options, key bindings,
instructions. May not apply to all modules.
## Dependencies
`ace_common`, `ace_weather`

View File

@ -1,35 +0,0 @@
---
layout: wiki
title: Attach
description: Allow players to attach items to vehicles or themselves
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Attach items to uniform
Allows players to attach IR grenades and chemlights to themselves.
### 1.2 IR Strobe
Adds an attachable IR strobe, which is only visible using night vision devices and offers better visibility than IR grenades.
## 2. Usage
### 2.1 Attaching to yourself
- Use Self Interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Equipment`.
- Select `Attach item`.
- Select which item you want to attach.
- Repeat the process to detach.
### 2.2 Attaching to a vehicle
- Interact with the vehicle <kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Attach item`.
- Select your item and follow the instructions on the screen.
- Repeat the process to detach.
## 3. Dependencies
`ace_interaction`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Backpacks
description: Notifies a player when his backpack is opened
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Zipping sounds
A zipper sound is played when someone opens your backpack.
## 2. Dependencies
`ace_common`

View File

@ -1,32 +0,0 @@
---
layout: wiki
title: Ballistics
description: Realistic ballistic improvements
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Realistic ballistics
Changes include adjusted muzzle velocity, air friction and dispersion based on real life values.
### 1.2 Realistic silencers and subsonic ammunition
Silencers no longer decrease the muzzle velocity and are generally less effective when used with normal ammunition. They now only remove the muzzle blast and flash. To prevent the crack caused by supersonic projectiles, ACE3 introduces subsonic ammunition for the 7.62mm caliber. This is also fully compatible with AI.
### 1.3 Armor piercing ammunition
Armor piercing rounds have higher penetration values against light armored targets and other obstacles on the battlefield. Their drawback is a slightly decreased man-stopping power. AP rounds are available in multiple calibers including 5.56mm and 7.62mm.
### 1.4 IR-Dim tracer ammunition
IR-Dim ammunition is similar to tracer rounds, but these tracers are only visible using night vision devices.
### 1.5 M118 long range ammunition
The M14 EBR now uses ammunition with decreased muzzle velocity and air friction to improve precision and energy retention at long ranges.
### 1.6 Fully config-based
This module applies configuration changes only and does not decrease game performance.
## 2. Dependencies
`ace_common`

View File

@ -1,48 +0,0 @@
---
layout: wiki
title: Captives
description: System for taking and handling captives
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Take captives
Introduces a captivity system.
### 1.2 Load and unload captives into / from vehicles
You can load and unload captives from vehicles using ACE3 interactions.
### 1.3 Frisk captives
You can frisk a restrained captive.
### 1.4 Surrendering
Allows players to surrender. It renders the unit unable to move and with the hands behind its head. When surrendered AI won't fire.
## 2. Usage
### 2.1 Taking a unit into captivity
- You need `Cable Tie`.
- Approach the unit and Interact <kbd>⊞ win</kbd> (ACE3 default).
- The interaction is located around the hands in the form of a handcuffs icon.
- Repeat to release.
### 2.2 Escorting a captive
- Interact with the captive <kbd>⊞ win</kbd>.
- Select the `Escort prisoner` option.
- To stop escorting, use the mousewheel and select `Release` or use Self Interaction <kbd>Ctrl</kbd>+<kbd>⊞ win</kbd> and select `Release`.
### 2.3 Loading and unloading a captive into/from a vehicle
- Escort the captive.
- Approach the vehicle you wish to load the captive unit into.
- Interact with the vehicle <kbd>⊞ win</kbd> and select `Load captive`.
- To unload the captive interact with the vehicle <kbd>⊞ win</kbd>
- Select `Passengers`.
- Select the captive.
- Select `Unload captive`.
## 3. Dependencies
`ace_interaction`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: Common
description: Common functions and systems used by most other components.
group: feature
category: general
parent: wiki
---
## 1. Overview
Common functions and systems used by most other components.
## 2. Dependencies
`ace_main`
*Note: The Common module is required by nearly all other modules. Do NOT remove it!*

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Concertina Wire
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
A concertina wire is a type of barbed wire formed in large coils that can be expanded to form obstacles, in ACE3 any vehicle making contact with it gets its tires destroyed.
## 2. Usage
### 2.1 Deploying the concertina wire
- Approach the concertina coil and select <kbd>&nbsp;Win</kbd> (ACE3 default)
- Select `Deploy concertina wire`.
- Follow the instructions on screen.
## 3. Dependencies
`ace_apl` , `ace_interaction`

View File

@ -1,15 +0,0 @@
---
layout: wiki
title: Dagr
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds the Defense Advanced GPS Receiver.
## 3. Dependencies
`ace_weather`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Difficulties
description: Tweak to Vanilla hardest difficulty
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Elite mode adjustments
Adjusts the default settings of the hardest difficulty to better resemble Arma 2 settings (no crosshair, stat screen, death messages).
## 2. Dependencies
`ace_common`

View File

@ -1,24 +0,0 @@
---
layout: wiki
title: Disarming
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Searching through a unit's inventory
You can search the inventory and disarm captured or unconscious units.
## 2. Usage
### 2.1 Searching and disarming
- Interact with the captured or unconscious unit <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interaction Key`).
- Select `Open inventory`.
- Drag & Drop the items you wish to remove from the unit.
## 3. Dependencies
`ace_interaction`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: Disposable
description: Makes NLAW disposable and allows addons to do the same
group: feature
category: equipment
parent: wiki
---
## 1. Overview
The NLAW is shoulder fired and disposable, firing just once before being needed to be disposed of. This feature makes the NLAW disposable and provides the tools for other addons to do the same.
## 2. Dependencies
`ace_common`

View File

@ -1,24 +0,0 @@
---
layout: wiki
title: Dragging
description: Adds the option to drag and carry units and objects
group: feature
category: interaction
parent: wiki
---
## 1. Overview
This adds the option to drag or carry units or objects.
## 2. Usage
### 2.1 Dragging / Carrying units and objects
- You can only drag or carry an unconscious unit.
- Interact with the unit or object <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interact Key`).
- Select `Drag` or `Carry`.
- To release, use the mouse wheel and select `Release` or use Self Interaction <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> and select `Release`.
## 3. Dependencies
`ace_interaction`

View File

@ -1,41 +0,0 @@
---
layout: wiki
title: Explosives
description: Adds numerous improvements to using and handling explosives
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Advanced explosives placement
Enables more precise placement of explosives.
### 1.2 Numerous trigger types
Offers different trigger types, like clackers and dead man switches.
### 1.3 Attach explosives to vehicles
Enables attaching explosives to vehicles.
## 2. Usage
### 2.1 Placing explosives
- Use self interaction <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- Select `Explosives`.
- Choose your explosive type and follow the instructions on the screen.
### 2.2 Arming and detonating explosives
- Interact with the explosive <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interact Key`).
- Choose the arming method.
- For clackers use Self Interaction `Explosives` &rarr; `Detonate` and choose the corresponding Firing Device.
### 2.3 Defusing explosives
- A `Defusal Kit` is required.
- Interact with the explosive <kbd>&nbsp;Win</kbd>.
- Select `Disarm`.
- You are safe to pick it up after the action has completed.
## 3. Dependencies
`ace_interaction`

View File

@ -1,36 +0,0 @@
---
layout: wiki
title: FCS (Fire Control System)
description:
category: equipment
group: feature
parent: wiki
---
## 1. Overview
### 1.1 Fire control system
Offers a custom fire control system for tanks and helicopters. It enables engaging stationary and moving targets.
### 1.2 Manual lasing targets
Changes the default rangefinders, including those in vehicles, to require manual lasing.
### 1.3 Air burst ammunition
Anti air cannons can now use airburst ammunition. It will explode on the FCS' zeroed in range.
## 2. Usage
### 2.1 Engaging moving targets
- Place the crosshair on the enemy vehicle.
- Press and hold <kbd>Tab&nbsp;</kbd> (ACE 3 default key bind `Lock Target [Hold]`) and follow the target for about 2 seconds.
- Release <kbd>Tab&nbsp;</kbd>.
- The optic is now adjusted sideways to ensure a hit.
### 2.2 Ranging stationary targets
- Place the crosshair on the object to range.
- Tap <kbd>Tab&nbsp;</kbd>
- The optic is now adjusted.
## 3. Dependencies
`ace_interaction`

View File

@ -1,21 +0,0 @@
---
layout: wiki
title: Finger
description: Finger pointing
group: feature
category: realism
parent: wiki
---
## 1. Overview
Allows players to point in a direction with their fingers, when they do so people around (4m by default) can see a big circle in the pointed direction.
## 2. Usage
### 2.1 How to point things
- Press <kbd>&nbsp;Shift</kbd>+<kbd>`</kbd> (QWERTY and AZERTY layouts)
## 3. Dependencies
`ace_common`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: Flash Suppressors
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
This adds the ability to use the flash suppressors that are already in game but not accessible.
Flash suppressors are devices that reduce the muzzle flash while firing by cooling or dispersing the burning gases that exit the muzzle. Its intent is to reduce the chances that the shooter will be blinded in low-light shooting conditions as well as reducing the intensity of the flash visible to the enemy.
## 2. Dependencies
`ace_common`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Fonts
description: Custom fonts including fixed-width font.
group: feature
category: general
parent: wiki
---
## 1. Overview
This module adds a font that will be used in the future, characters with equal widths to make it easy to structure correctly. This is **NOT** present in 3.1.1 because of a bug even if it's present in the sources.
## 3. Dependencies
`ace_main`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: Frag
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
Adds a shrapnel system for explosives.
## 2. Dependencies
`ace_common`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: G-Forces
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
Adds G-force induced tunnel vision and unconsciousness.
## 2. Dependencies
`ace_common`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Goggles
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Visual Effects for eyewear
Adds color tint to sunglasses and other eyewear. Causes raindrops to appear on the screen in rain. Causes dirt to appear on the screen when dirt is kicked up nearby (e.g. explosions, rotor wash, bullet impacts, muzzle blast).
## 2. Usage
### 2.1 Cleaning your goggles
- To clean your goggles press <kbd>SHIFT</kbd> + <kbd>ALT</kbd> + <kbd>T</kbd>(ACE3 deault key bind `Wipe goggles`)
## 3. Dependencies
`ace_common`

View File

@ -1,32 +0,0 @@
---
layout: wiki
title: Grenades
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Throw modes
Provides different modes for throwing grenades (high throw, precision throw and drop mode).
### 1.2 Hand flares
Adds throwable hand flares in the colors white, red, green and yellow. Additionally buffs existing flares by making them brighter and last longer.
### 1.3 M84 stun grenade
Adds the M84 stun grenade. The stun effect will also affect AI.
## 2. Usage
### 2.1 Switching between throw modes
- Press <kbd>8</kbd> (ACE3 default key bind `Switch Grenade Mode`)
### 2.2 Switching between grenades
- Press <kbd>6</kbd> (ACE3 default key bind `Select frag`) to switch between `LETHAL` grenades
- Press <kbd>7</kbd> (ACE3 default key bind `Select non-frag`) to switch between `NON LETHAL` grenades
## 3. Dependencies
`ace_common`

View File

@ -1,34 +0,0 @@
---
layout: wiki
title: Hearing
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Hearing damage simulation
Introduces hearing damage caused by nearby explosions and large-caliber weapons.
### 1.2 Earplugs
Adds earplugs to mitigate that effect. Soldiers with high caliber weapons or
missile launchers will be equipped with those, but remember to put them in.
### 1.3 Helmets
Some types of helmets can mitigate hearing damage also (ie. crewman helmet, pilot helmet etc.).
## 2. Usage
### 2.1 Equipping earplugs
- For this you need the `Earplugs` item.
- Press the self interaction key <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- Select `Equipment`.
- Select `Earplugs in`.
- Same method to remove them but the option is `Earplugs out`.
- Note: you're able to re-use earplugs.
## 3. Dependencies
`ace_interaction`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: Hit Reactions
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Falling under fire
If a unit is shot while running it falls to the ground in a prone position, the area where the shot lands does not matters.
Note that the shot needs to inflict a certain amount of damage to make the unit fall, a small cut won't make the unit stumble.
## 2. Dependencies
`ace_common`

View File

@ -1,44 +0,0 @@
---
layout: wiki
title: HuntIR
description: High-altitude Unit Navigated Tactical Imaging Round
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 The HuntIR
The **H**igh-altitude **U**nit **N**avigated **T**actical **I**maging **R**ound (HuntIR) is designed to be fired from a grenade launcher. After being fired in the air the in-built parachute will be deployed and the IR CMOS camera will activate, providing a video stream until it touches the ground or get shot down.
## 2. Usage
NOTE: The HuntIR round does not work with modded weapons without a compatibility fix made either by the ACE3 team or the mod team.
### 2.1 Using the HuntIR
- To be able to connect to the IR CMOS camera you will need a `HuntIR monitor`.
- Fire the HuntIR round as high as possible over the area you want to observe.
- Open the `HuntIR monitor`.
- To open the `HuntIR monitor` self interact <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd> (ACE3 default)
- Select `Equipment`.
- Select `Activate HuntIR monitor`.
- You now have control of the IR CMOS camera, to close the monitor press <kbd>ESC</kbd> or <kbd>&nbsp;Win</kbd>
### 2.2 IR CMOS camera controls
Shortcut | Action
------------ | -------------
<kbd>A</kbd> | Decrease zoom level
<kbd>D</kbd> | Increase zoom level
<kbd>N</kbd> | Toggle NV
<kbd>S</kbd> | Next camera
<kbd>W</kbd> | Previous camera
<kbd></kbd> | Rotate camera anticlockwise
<kbd></kbd>| Rotate camera clockwise
<kbd></kbd> | Raise camera
<kbd></kbd> | Lower camera
<kbd>R</kbd> | Reset camera
## 3. Dependencies
`ace_common`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: Interact Menu
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
This handles the interaction layer of ACE3.
## 2. Dependencies
`ace_common`
*Note: The Interact Menu module is required by most of the other modules. Do NOT remove it!*

View File

@ -1,46 +0,0 @@
---
layout: wiki
title: Interaction
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
This provides interaction options between units, vehicles, buildings and objects.
Some of the zeus actions are also available (while in zeus) in the interaction menu (remote control, group management).
## 2. Usage
### 2.1 Opening the self interaction menu
- Press and hold <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd> (ACE3 default).
### 2.2 Opening the interaction menu
- Press and hold <kbd>&nbsp;Win</kbd> (ACE3 default).
### 2.3 Using the zeus interactions
- Units
- Select the unit(s).
- Open the interaction menu.
- Select `Units`.
- Select the stance (works for multiple units) or remote control.
- Groups
- Select a group by clicking on the icon hovering above it's squad leader, to select multiple squads press and hold <kbd>Ctrl</kbd>.
- Open the interaction menu.
- Select `Groups`.
- From here you can select the speed / formation / behavior of all the units of the group(s).
- Waypoints
- Select a waypoint by clicking on it, same as above press and hold <kbd>Ctrl</kbd> to select multiple.
- Open the interaction menu.
- Select `Waypoints`.
- From here you can modify the speed / formation / behavior of the units / groups that are moving to that waypoint.
## 3. Dependencies
`ace_interact_menu`
*Note: The Interaction module is required by most of the other modules. Do NOT remove it!*

View File

@ -1,26 +0,0 @@
---
layout: wiki
title: Inventory
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Resized inventory UI
Makes the inventory dialog bigger and increases the number of items that can be seen in the list at once.
## 2. Usage
### 2.1 Changing the size of the UI
- Press <kbd>Escape</kbd>.
- Click on `ACE OPTIONS` on the top left corner of the screen.
- Click on `Make Inventory Display Bigger`.
- Choose the size desired on the right drop down menu.
- Press the `Close` button, your changes are automatically saved.
## 3. Dependencies
`ace_common`

View File

@ -1,34 +0,0 @@
---
layout: wiki
title: Javelin
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Improved locking
The locking capabilities of the Titan and Javelin got improved, you can now lock on anything that has a thermal signature, including houses.
### 1.2 Fire mode switching
The Titan / Javelin now posses the ability to be used in top down attack or direct.
## 2. Usage
### 2.1 Locking with the Titan / Javelin
- For this feature you need to have a compatible launcher.
- Fully zoom in with the launcher.
- Switch to thermals <kbd>N</kbd> (Arma 3 default key bind `Night vision`).
- While keeping your aim steadily on target press and hold <kbd>Tab&nbsp;</kbd> (ACE3 default key bind `Lock Target [Hold]`).
- When the sound changes and a cross appears on the screen the target is locked and you're able to fire.
### 2.2 Switching fire mode
- For this feature you need to have a compatible launcher.
- When aiming with your launcher press <kbd>Ctrl</kbd> + <kbd>Tab&nbsp;</kbd>.
- On the right side of the screen (for most launchers) you should see that `TOP`is now illumiated in green which means that your missile will be fired in top down mode.
## 3. Dependencies
`ace_main`, `ace_common`, `ace_missileguidance`

View File

@ -1,27 +0,0 @@
---
layout: wiki
title: Kestrel 4500
description:
group: feature
category: equipment
parent: wiki
---
## Overview
### Sub-feature 1
Short description of sub-feature 1.
### Sub-feature 2
Short description of sub-feature 2.
## Usage
Short overview of how to use the feature, e.g. menu options, key bindings,
instructions. May not apply to all modules.
## Dependencies
`ace_common`, `ace_weather`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: Laser Self-Designate
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Allows gunners to lase their own targets. See [Feature: "FCS"]({{ site.productionUrl }}/wiki/feature/fcs.html) for more information.
## 2. Dependencies
`ace_laser`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: Laser
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
Contains various functions necessary for the realistic portrayal of laser mechanics in other components.
## 2. Dependencies
`ace_common`

View File

@ -1,24 +0,0 @@
---
layout: wiki
title: Laser Pointer
description: Switching laser modes, daylight lasers
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Visible light laser
ACE3 adds a visible laser attachment for weapons. This feature is compatible with BI's lasers as well as supported modded ones.
## 2. Usage
### 2.1 Switching laser mode
- For this feature you need to have a compatible side attachment.
- Press <kbd>Ctrl</kbd> + <kbd>L</kbd> (ACE3 default key bind `Switch Laser / IR Laser`).
- A hint indicating the mode switch will appear in the top right corner.
## 3. Dependencies
`ace_common`

View File

@ -1,24 +0,0 @@
---
layout: wiki
title: Logistics - UAV Battery
description: UAV recharging
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Rechargeable darters.
Adds an item `ACE_UAVBattery` that allows refuelling / recharging of the "Darter" quad-copter UAVs.
## 2. Usage
### 2.1 Recharging the darter
- For this you need a `UAV battery` and the UAV needs to be a quad-copter.
- Interact with the UAV <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interact Key`)
- Select `Recharge`
## 3. Dependencies
`ace_interaction`

View File

@ -1,25 +0,0 @@
---
layout: wiki
title: Logistics - Wirecutter
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Wirecutter
Adds an item `ACE_wirecutter` that allows cutting of fences in Arma 3 and AllInArma maps.
## 2. Usage
### 2.1 Using the wirecutter
- For this you need a `Wirecutter`.
- Approach the fence you want to cut.
- Press the interaction key <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interaction Key`).
- Find the interaction point and select `Cut Fence` (the only option).
## 3. Dependencies
`ace_interaction`

View File

@ -1,25 +0,0 @@
---
layout: wiki
title: Magazine Repack
description: Repacking magazines, and maybe your bananas.
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Repacking magazines
Adds the ability to repack magazines of the same type.
## 2. Usage
### 2.1 Repacking
- For this you need multiple half empty mags of the same type.
- Press the self interaction button <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- Select `Repack magazines`.
- Select the type of magazines you want to repack.
## 3. Dependencies
`ace_interaction`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: Main
description: main module
group: feature
category: general
parent: wiki
---
## 1. Overview
Main module which acts as the ACE3 core module.
## 2. Dependencies
`Arma 3` and `CBA_A3`
*Note: The Main module is required by all other modules. Do not remove it!*

View File

@ -1,34 +0,0 @@
---
layout: wiki
title: Map
description: Map improvements
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Map styling
Better map styling (contours, legend, hiding bushes and trees, etc).
### 1.2 Map zoom level (optional)
The mission maker / server owner can restrict the maximum zoom level of the map.
### 1.3 Map shake (optional)
While walking your map will move slightly.
### 1.4 Map illumination (optional)
The map illumination will be the same as your surroundings meaning that in a dark night you'll either need a light source or NVGs to see your map.
### 1.5 Blufor tracker (optional)
The Blufor tracker marks the position of your faction's group leaders on the map.
## 2. Usage
- IMPORTANT NOTICE: The (optional) features above CAN be restricted by the mission maker / server owner. User experience may vary.
## 3. Dependencies
`ace_interaction`

View File

@ -1,39 +0,0 @@
---
layout: wiki
title: Map Tools
description: Map tools, a roamer and pens
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Line drawing
This adds the possibility to draw accurate lines on the map screen.
### 1.2 Map tools
This adds map tools that can be used to measure distances between two points or bearings on the map.
### 1.3 GPS on map
If you are equipped with a vanilla GPS it will be shown on the map. (You don't need the `Map Tools` item in your inventory for this.)
## 2. Usage
### 2.1 Using map tools
- To use map tools the `Map Tools` item is required.
- Open the map <kbd>M</kbd> (Arma 3 default key bind `Map`).
- Press the self interaction key <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- Select `Map tools`.
- Select the type of tools you want to use.
- Note that you can drag the Roamer (map tool) around with <kbd>LMB</kbd> and rotate it with <kbd>Ctrl</kbd> + <kbd>LMB</kbd>.
### 2.2 Drawing lines
- To draw lines the `Map Tools` item is required.
- Press <kbd>ALT</kbd> + <kbd>LMB</kbd> to start the line, left click again to end it.
- To delete a line press <kbd>Del</kbd> around the center of the line.
- Note that you can change the color of the lines by clicking on one of the coloured column on top of the screen (While the map is opened).
## 3. Dependencies
`ace_interaction`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Markers
description: improved markers
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Improved marker placement
Expands the "Insert Marker" menu and allows to rotate map markers. Shows the currently selected channel to prevent misplacement.
## 2. Dependencies
`ace_common`

View File

@ -1,371 +0,0 @@
---
layout: wiki
title: Medical System
description: ACE3 provides users with a more realistic medical system and comes in both a basic and advanced version. Both versions have overlap but each have their own unique characteristics.
group: feature
order: 4
category: realism
parent: wiki
---
**Disclaimer:** With the documentation for the medical system being extremely long it's highly advised to use the table of contents at the top right corner of the page.
## 1. Overview
ACE3 provides users with a more realistic medical system and comes in both a basic and an advanced version. This page will detail the differences between both systems and what they do as well as how to use them efficiently.
### 1.1 Basic medical
ACE3's basic medical system is quite a bit more complex than Arma 3's default system, but not really difficult to grasp. ACE3 basic medical is a mixture between the ACE2 and AGM medical systems.
All interactions in the medical system are done with the interaction menu. Non-medics can - by default - not perform all actions (Epinephrine and IVs) and their actions take more time as when performed by trained medics.
### 1.2 Revive system
The revive system lets you bring downed units back up.
Upon receiving a deadly amount of damage a unit will fall unconscious for a determined amount of time. In that time a medic will need to treat them and give them epinephrine to bring them back up.
### 1.3 Advanced medical
The advanced medical system provides a more complex and detailed medical simulation and is based off the CSE CMS. It focuses on a more realistic model for injuries and treatments, thus resulting in a more important and prominent role for combat medics, and a bigger incentive to avoid getting shot.
The system behind advanced medical is designed to attempt to mimic important parts of the human body, as well as react to any injuries sustained and treatments applied in a realistic manner. The available treatments and supplies in advanced medical are based off the Tactical Combat Casualty Care (TCCC) guidelines, which are the same guidelines used by real-life combat medics around the world.
Besides the 4 elements introduced by basic medical, advanced introduces the following:
- More detailed wound system.
- Accurate blood loss based upon sustained injuries.
- Vitals, including heart rate and blood pressure.
- Cardiac Arrest.
- Various treatment methods such as CPR, different kinds of IVs and a working tourniquet.
- A basic medication simulation.
## 2. Usage
### 2.1 Basic
When hit, units start to lose blood depending on the severity of their wounds. Once the level of blood falls below a certain threshold, the unit will fall unconscious and eventually die. Units will also fall unconscious when sustaining large amounts of damage at once or from high amounts of pain.
#### 2.1.1 Wounds, bandages and medications
##### 2.1.1.1 Wounds
It's pretty straightforward compared to advanced, you only have two types of wounds.
- Yellow: you need one bandage to heal it.
- Red: you need two bandages to heal it.
##### 2.1.1.2 Bandages
- All of them have the same effect.
##### 2.1.1.3 Tourniquet
- Serves no use in basic
##### 2.1.1.4 IVs
IV | Effect
---------- | ---------- |
Saline | Serves no use in basic
Plasma | Serves no use in basic
Blood | Restores the blood of the patient
Use the appropriate amount depending on the situation (low / heavy loss of blood) (250, 500 or 1 000 mL)
##### 2.1.1.5 Autoinjectors
Autoinjector | Effect
---------- | ---------- |
Morphine | Removes pain
Epinephrine | Wakes up the patient
Atropine | Serves no use in basic
#### 2.1.2 Treating the patient
- **Step 1:** Is the patient responsive?
- **Yes:** Ask him if he has wounds / he is in pain.
- **No:** Go to step 2.
- **Step 2:** Is the patient wounded?
- **Yes:** Treat the wounds and go to step 3.
- **No:** Skip this step.
- **Step 3:** Is the patient in pain?
- **Yes:** Give him morphine.
- **No:** Skip this step.
- **Step 4:** Did the patient lose blood?
- **Yes:** Give blood via IV.
- **No:** Go to step 5.
- **No and patient responsive:** You're done.
- **Step 5**
- If at this point the patient is still not back on its feet it's time to use an epinephrine Autoinjector.
#### 2.1.3 Additional informations
- If the revive system is in place your character will not die until the revive timer is at 0. Even if a tank shoots your ass off an epinephrine shot will bring you back up after your wounds are treated. (The timer is invisible and may vary from mission to mission, it also depends on the amount of lives remaining you have.)
- You can't do an overdose in basic.
#### 2.1.4 Revive (Basic Medical)
For the following procedure to work revive need to be enabled.
- A unit in the revive state will be unconscious and will stay unconscious until it is either woken up or the revive timer runs out.
- A unit in the revive state can't die from any source of damage, only the timer ending can kill it.
- To wake up a patient treat all of his wounds, make sure he isn't in pain and then use epinephrine.
- Each successful revive removes a life from the unit, once the lives run out the next time the unit will take fatal damage it will not enter the revive state and will die.
### 2.2 Advanced
Same as with basic, when hit an injury is sustained. Different though is that the type of injury and the severity of it are based upon how the damage was done and what caused it. This affects both blood loss and immediate consequences, such as being knocked out or being killed right away. When a player has sustained an injury, this will be indicated by flashing red on the screen; this means the player is bleeding.
#### 2.2.1 Wounds, bandages and medications
##### 2.2.1.1 Abrasions (or scrapes)
- They occur when the skin is rubbed away by friction against another rough surface (e.g. rope burns and skinned knees).
- Sources: falling, rope burn, vehicle crashes.
- Effects: pain - extremely light, bleeding - extremely slowly.
##### 2.2.1.2 Avulsions
- Occur when an entire structure or part of it is forcibly pulled away, such as the loss of a permanent tooth or an ear lobe. Explosions, gunshots, and animal bites may cause avulsions.
- Sources: explosions, vehicle crashes, grenades, artillery shells, bullets, backblast, bites.
- Effects: pain - extremely high, bleeding - extremely fast (depends on wound size).
##### 2.2.1.3 Contusions
- Also called bruises, these are the result of a forceful trauma that injures an internal structure without breaking the skin. Blows to the chest, abdomen, or head with a blunt instrument (e.g. a football or a fist) can cause contusions.
- Sources: bullets, backblast, punches, vehicle crashes, falling.
- Effects: pain - light, no bleeding.
##### 2.2.1.4 Crush wounds
- Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures.
- Sources: falling, vehicle crashes, punches.
- Effects: pain - light, bleeding - extremely slowly.
##### 2.2.1.5 Cut wounds
- Slicing wounds made with a sharp instrument, leaving even edges. They may be as minimal as a paper cut or as significant as a surgical incision.
- Sources: vehicle crashes, grenades, explosions, artillery shells, backblast, stabs.
- Effects: pain - light, bleeding - speed depends on length and size of the wound.
##### 2.2.1.6 Lacerations (tears)
- these are separating wounds that produce ragged edges. They are produced by a tremendous force against the body, either from an internal source or from an external source like a punch.
- Sources: vehicle crashes, punches.
- Effects: pain - light, bleeding - slow to medium speed (depends on wound size).
##### 2.2.1.7 Velocity wound
- They are caused by an object entering the body at a high speed, typically a bullet or small pieces of shrapnel.
- Sources: bullets, grenades, explosions, artillery shells.
- Effects: pain - extremely high, bleeding - medium speed (depends on wound size).
##### 2.2.1.8 Puncture wounds
- Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass.
- Sources: stabs, grenades.
- Effects: pain - light, bleeding - slowly.
In order to stop the bleeding, all bleeding injuries on every body part requires treatment. This is done by either applying a tourniquet to legs or arms as a temporary solution, or by using bandages to stop the bleeding as a more permanent fix.
##### 2.2.1.9 Bandages effectiveness
Bandage | Abrasions | Avulsions | Contusions | Crush wounds | Cut wounds | Lacerations | Velocity wounds | Puncture wounds|
---------- | ---------- | ---------- | ---------- | ---------- | ---------- | ---------- | ---------- | ------- |
Basic | `highest` | lowest | `highest` | low | very low | medium | lowest | low
Bandage (packing) | `highest` | `highest` | `highest` | low | lowest | lowest | `highest` | lowest
Bandage (elastic) | `highest` | lowest | `highest` | `highest` | `highest` | `highest` | low | high
QuikClot | medium | high | medium | medium | medium | medium | high | high
##### 2.2.1.10 Tourniquet
- Can only be applied on limbs.
- Stops bleeding from wounds.
- Should be taken off as fast as possible and applied only to give medic time to bandage all the wounds.
- If not taken off for a while it will cause pain to the patient.
##### 2.2.1.11 IVs
IV | Effect
---------- | ---------- |
Saline plasma and blood | All three restore the volume of liquid in the blood stream. as a result blood pressure is raised for all of them.
Use the appropriate amount depending on the situation (heavy loss of blood, blood pressure too low) (250, 500 or 1 000 mL)
##### 2.2.1.12 Autoinjectors
Autoinjector | Effect
---------- | ---------- |
Morphine | lower the blood pressure and heart rate of the patient, also suppress pain
Epinephrine | raise the heart rate of the patient
Atropine | lower the heart rate of the patient
##### 2.2.1.13 Surgical kit
- Is only useful when advanced wounds (reopening) is enabled.
- Stitch a wound to stop it from reopening.
- It's use may be limited to a certain class and / or near a vehicle / facility.
- It's use can also be limited according to the condition of the patient, you might need to stabilize him first before using it.
##### 2.2.1.14 PAK
- Used to fully heal someone. (Removes any injury, restore vitals to a stable state and reset the medical history, clears all medication in the system.)
- It's use may be limited to a certain class and / or near a vehicle / facility.
- It's use can also be limited according to the condition of the patient, you might need to stabilize him first before using it.
#### 2.2.2 Vitals
##### 2.2.2.1 Blood pressure
NOTE:the `systolic` blood pressure is the number on the left, the `diastolic` blood pressure is the number on the right.
- Blood pressure is affected by the amount of blood lost as well as IVs and medication.
- **Non existent:** 0 - 20 `systolic`.
- **Low:** 20 - 100 `systolic`.
- **Normal:** 100 - 160 `systolic`.
- **High:** 160 and above `systolic`.
##### 2.2.2.2 Heart rate
- The heart rate (pulse) is affected by the amount of blood lost and medications.
- **Low:** 45 and below
- **Normal:** between 46 and 119
- **High:** 120 and above
##### 2.2.2.3 Cardiac arrest
- A patient will enter cardiac arrest when:</br>
- The heart rate is below 20.
- The heart rate is above 200.
- The systolic blood pressure is above 260.
- The diastolic blood pressure is below 40 and the heart rate is above 190.
- The systolic blood pressure is above 145 and the heart rate is above 150.
#### 2.2.3 Treating the patient
This is a step by step guide, follow the steps from 1 to 6 in order unless stated otherwise.
- **Step 1:** Is the patient responsive?
- **Yes:** Ask him if he has wounds / he is in pain and act accordingly.
- **No:** Go to step 2.
- **Step 2:** Does the patient have a pulse?
- **Yes:** Go to step 3.
- **No:** If you are alone provide CPR, if you have someone else get him to do CPR while you treat the patient's wounds. skip to step 3 or 4 depending on the situation.
- **Step 3:** Is the patient wounded?
- **Yes**: Treat the wounds.
- **No:** Skip this step.
- **Step 4:** Did the patient lose blood?
- **Yes:** Use IVs to restore the volume of liquid in the blood stream of the patient.
- **No:** Skip this step.
- **Step 5:** Is the patient in pain?
- **Yes and stable pulse:** Give him morphine.
- **Yes and unstable heart rate:** Stabilize the heart rate before administrating morphine.
- **No:** You're done.
- **Step 6:** is the patient awake now?
- **Yes:** You're done.
- **No:** Stabilize his pulse / make sure he isn't in pain or missing blood.
Note that keeping the patient's vitals stable is very important while treating him.
#### 2.2.4 Additional informations
- As an infantryman you can use a tourniquet to stop a limb from bleeding, note that this is supposed to be a temporary solution and leaving the tourniquet more than 5 minutes will induce pain.
- Epinephrine should **NEVER** be used in case of cardiac arrest, it will only make the patient harder to treat afterwards or might outright kill him (remember epinephrine raises the blood pressure, a blood pressure too high is deadly).
- Pain is only suppressed and not removed by default.
- You don't have to take epinephrine after you take morphine, just wait until your pulse stabilizes by itself (Provided that you are in a stable condition).
- Giving too much morphine to a patient (more than one every 10 minutes) will put him in cardiac arrest because of a blood pressure / heart rate too low.
#### 2.2.5 Revive (Advanced Medical)
For the following procedure to work revive needs to be enabled.
- A unit in the revive state will be unconscious and will stay unconscious until it is either woken up or the revive timer runs out.
- A unit in the revive state can't die from any source of damage, only the timer ending can kill it.
- To wake up a patient the use of a PAK is required.
- Each successful revive removes a life from the unit, once the lives run out the next time the unit will take fatal damage it will not enter the revive state and will die.
- Each successful round of CPR (filled up completion bar) increases the time left in the revive state.
## 3. Guides
### 3.1 Example loadouts
#### 3.1.1 Basic
- Soldier:
- 10 × Bandage (Basic)
- 3 × Morphine Autoinjector
- 1 × Epinephrine Autoinjector
- Medic:
- 15-25 × Bandage (Basic)
- 10 × Morphine Autoinjector
- 10 × Epinephrine Autoinjector
- 6 × Blood IV (500ml)
#### 3.1.2 Advanced
- Soldier :
- 3-6 × Bandage (Basic)
- 3-6 × Bandage (Elastic)
- 3-6 × Packing Bandage
- 3-6 × Basic Field Dressing (QuikClot)
- 1 × Morphine Autoinjector
- 1 × Epinephrine Autoinjector
- 1 × Tourniquet (CAT)
- **Optional**: 1 × Saline IV (500ml) - used only by a qualified medic
- Combat First Responder (CFR):
- 10-15 × Bandage (Basic)
- 10-15 × Bandage (Elastic)
- 10-15 × Packing Bandage
- 10-15 × Basic Field Dressing (QuikClot)
- 8 × Atropine Autoinjector
- 5 × Morphine Autoinjector
- 5 × Epinephrine Autoinjector
- 3 × Tourniquet (CAT)
- 4 × Saline IV (500ml)
- Medic:
- 10-15 × Bandage (Basic)
- 15-20 × Bandage (Elastic)
- 15-20 × Packing Bandage
- 10-15 × Basic Field Dressing (QuikClot)
- 12 × Atropine Autoinjector
- 8 × Morphine Autoinjector
- 8 × Epinephrine Autoinjector
- 5 × Tourniquet (CAT)
- 6 × Saline IV (500ml)
- 1-3 × *Surgical Kit*
- 1-3 × *Personal Aid Kit*
- Paramedic:
- 10-15 × Bandage (Basic)
- 15-20 × Bandage (Elastic)
- 15-20 × Packing Bandage
- 10-15 × Basic Field Dressing (QuikClot)
- 5 × Tourniquet (CAT)
- 2 × Saline IV (500ml)
## 4. Dependencies
`ace_interaction`, `ace_modules`, `ace_apl`

View File

@ -1,149 +0,0 @@
---
layout: wiki
title: MicroDAGR
description: A GPS device and much more
group: feature
category: equipment
parent: wiki
---
For an easier time reading don't forget that you can view all chapters on the right side of the page by clicking on Show/hide under table of content.
## 1. Overview
"Military operations rely on the position,
navigation and timing (PNT) data that GPS
can provide. In combat, the accuracy of
PNT data can mean the difference between
life and death. Non-military GPS receivers
simply arent good enough when lives are
on the line" (Extracted from the real life manual)
that's where the MicroDAGR comes in, here's a list of it's features (in arma 3) :
- Compass and headings.
- Date and hour synced to the mission.
- Elevation (above or below sea level)
- Current speed.
- GPS with topographic and satellite view.
- Creating, naming, deleting waypoints.
- Friendly identification (BLUFOR tracker need to be on)
- The MicroDAGR is also able to connect to your vector to retrieve data from it.
## 2. Usage
Please note that the numbers in 2.1 are going to be referred to as `1` `2` etc when explaining how to use the MicroDAGR
### 2.1 Bringing the MicroDAGR
- Self interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd>.
- Select `Equipment`.
- Select `configure MicroDAGR`.
### 2.2 The MicroDAGR interface
<img src="{{ site.baseurl }}/img/wiki/feature/microdagr1.jpg" width="300" height="394" alt"main menu" /> <img src="{{ site.baseurl }}/img/wiki/feature/microdagr2.jpg" width="300" height="394" alt"compass view" /> <img src="{{ site.baseurl }}/img/wiki/feature/microdagr3.jpg" width="300" height="394" alt"map view" /> <img src="{{ site.baseurl }}/img/wiki/feature/microdagr4.jpg" width="300" height="394" alt"options menu" />
number | function |
------ | ----------------------------------------------------- |
`1` | Options menu and hour display.
`2` | Grid position `e` is west to east `n` is south to north.
`3` | Elevation above sea level in meters.
`4` & `11` | Compass heading.
`5` & `10` | Current speed.
`6` | Date (mission).
`7` | Main menu button.
`8` | Compass menu button.
`9` | Map menu button.
`12` | Compass
`13` | Player heading (your eyes).
`14` | Center the map on your position.
`15` | Map zoom.
`16` | Map dezoom
`17` | Your position.
`18` | Waypoint creation menu
`19` | Waypoint editing menu.
`20` | Connection menu.
`21` | Settings menu.
### 2.3 Waypoints
#### 2.3.1 Adding waypoints
- There's three ways of adding a waypoint.
- First way: Using the waypoint creation menu.
- Find the position you want to mark on the map.
- Get it's map grid.
- The grid is composed of 6 digits.
- The first three digits are read west to east. (Top of the map screen).
- The last three are read south to north. (Left side of the map screen).
- Go to the options menu (Click in `1` area, above the bar).
- Click on `Mark`(`18`).
- Enter the grid number.
- Press OK.
- Enter the desired name of the waypoint.
- Press OK.
- Second way: Using the waypoint menu
- Find the position you want to mark on the map.
- Get it's map grid.
- The grid is composed of 6 digits.
- The first three digits are read west to east. (Top of the map screen).
- The last three are read south to north. (Left side of the map screen).
- Go to the options menu (Click in `1` area, above the bar).
- CLick on `Waypoints` (`19`).
- Click on `Add`.
- Enter the grid number.
- Press OK.
- Enter the name of the waypoint.
- Press OK.
- Third way: Using the Map menu.
- Go to the map menu (click on `9`)
- double left click on the position where you want your waypoint.
- Enter the name of the waypoint.
- Press OK.
#### 2.3.2 Setting a waypoint
- Go to the options menu (Click in `1` area, above the bar).
- CLick on `Waypoints` (`19`).
- Select the waypoint.
- Click on `SetWp`.
- Once a waypoint is set:
- It's heading, elevation and distance are marked on the main menu. (`7`)
- It's heading, direction, grid position and name are marked in the compass menu (`8`)
- A marker appear at the waypoint grid location in the map menu (`9`)
#### 2.3.3 Deleting a waypoint
- Go to the options menu (Click in `1` area, above the bar).
- CLick on `Waypoints` (`19`).
- Select the waypoint.
- Click on `Delete`.
### 2.4 Switching between mils and degrees
- Go to the options menu (Click in `1` area, above the bar).
- Click on `Settings` (`21`)
- Double left click on the unit next to `Angular unit:`
### 2.5 Switching between topographical and satellite view
- Go to the map menu (`9`)
- Click on the map menu button again (`9`)
### 2.6 Retrieving data from the vector
- For this you obviously need a `vector 21`.
- Go to the options menu (Click in `1` area, above the bar).
- Click on `Connect to` (`20`).
- Pull out your `vector 21`.
- Press and hold both <kbd>R</kbd> and <kbd>Tab&nbsp;</kbd> until the red pointing circle appears.
- Sight the circle on the object and release both keys.
- The data on the main menu now have changed, you can now see the azimuth the range and the elevation of the point you sighted.
- Note that the compass menu also changed and now features the azimuth, compass bearing, distance and grid position of the point you sighted.
Note that the results of the measure you took won't change until you do an other measure.
## 3. Dependencies
`ace_common`

View File

@ -1,29 +0,0 @@
---
layout: wiki
title: Missile Guidance
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
Adds the AMG framework, for more information about it refer to the [AMG framework documentation] ({{site.productionUrl}}/wiki/framework/advanced-missile-guidance.html)
## 2. Usage
### 2.1 Switching fire mode
- Press <kbd>Ctrl</kbd> + <kbd>Tab&nbsp;</kbd> the LED's on the right of the UI will change.
- `TOP` for top down mode.
- `DIR` for direct mode.
### 2.2 Locking
- Fully zoom in by using <kbd>NUMPAD +</kbd>
- Switch to thermals by pressing <kbd>N</kbd> the `FLTR` LED should light up.
- Aim at the target and hold <kbd>Tab&nbsp;</kbd> a crosshair will appear and the `SEEK` LED will light up.
- Fire!
## 3. Dependencies
`ace_laser`

View File

@ -1,20 +0,0 @@
---
layout: wiki
title: Mission Modules
description: modules that can be used by mission makers.
group: feature
category: general
parent: wiki
---
## 1. Overview
Add modules that can be used by mission makers.
### 1.1 Ambient sounds
That module can be used to add ambient sounds around players, it let you choose the sounds and some parameters (distance, volume interval).
## 2. Dependencies
`ace_common`

View File

@ -1,47 +0,0 @@
---
layout: wiki
title: Mk6 Mortar
description: Improve the existing Mk6 Mortar.
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Mk6 Mortar overhaul
ACE3 adds wind deflection for shells as well as a rangetable to accurately take out your target without the artillery computer.
## 2. Usage
### 2.1 Switching charge
- Press <kbd>F</kbd> (Arma 3 default key bind `Fire Mode Switch`) to switch between charges
### 2.2 Opening the table
- Self interact <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd>
- Select `Equipment`.
- Select `Open 82mm Rangetable`.
### 2.2 Getting your shells to land where you want.
For this you need a `82mm Rangetable`, `Map Tools` and a `Vector 21` are also recommended.
- Get the distance and elevation difference between you and the target (you can use map tools).
- Select the charge you want to use (0 = close / 1 = medium / 2 = far).
- Open the `82mm Rangetable`
- Calculate the correct ELEV (elevation):
- Open the `82mm Rangetable` and click on the charge you are using.
- Find your range under the `RANGE` column
- Under the `ELEV` column find the number that matches your range, that's the base elevation you are going to work with.
- Under the `D ELEV for 100m DR` find the number that matches your ELEV and compensate:
- _Example_, if you're 200m above your target multiply the number by 2 and add it to your ELEV.
- If you're 200m below the target multiply the number by 2 and substract it to your ELEV.
- The lower the elevation the closer to you it will land.
- Once you finished calculating the ELEV align the barrel of the mortar with your target (directly looking at it) and set your ELEV to what you calculated by using <kbd>Page Up</kbd> and <kbd>Page Down</kbd>.
- Once the ELEV is correctly set and the barrel is facing the right direction, shoot and enjoy your bananas while watching hell rain on your enemies.
## 3. Dependencies
`ace_interaction`

View File

@ -1,15 +0,0 @@
---
layout: wiki
title: Modules
group: feature
category: general
parent: wiki
---
## 1. Overview
This is taking care of module initialization **DO NOT REMOVE**.
## 2. Dependencies
`ace_main`

View File

@ -1,41 +0,0 @@
---
layout: wiki
title: Movement
description: Movement improvements
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Jumping
Adds the ability to jump when pressing the vault key while moving. (<kbd>V</kbd>)
### 1.2 Minor animation tweaks
Walking slowly with the weapon lowered now has a less silly looking animation.
### 1.3 Fatigue adjustments
Soldiers get fatigued slower, but regain their stamina slower aswell. Fatigued soldiers have a faster walking speed and no longer turn into snails.
### 1.4 Weight display
Adds a weight of the current loadout display in the inventory to estimate the fatigue gain while moving in combat. Can be adjusted to display lb. instead of kg in the ACE Options Menu.
### 1.5 Optics view in all stances
The player can now use the sights of rifles and pistols in all prone stances.
## 2. Usage
### 2.1 Jumping
- For this you need your weapon up
- While jogging or running press <kbd>V</kbd>
### 2.2 Climbing
- Approach what you want to climb.
- Press <kbd>ctrl</kbd> + <kbd>V</kbd> (ACE3 default key bind `Climb`).
- Note that when climbing your character will put his weapon on his back.
## Dependencies
`ace_common`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: MX-2A
description: Movement improvements
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds the MX-2A thermal imaging device.
## 3. Dependencies
`ace_apl`

View File

@ -1,20 +0,0 @@
---
layout: wiki
title: Nametags
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Nametag and rank display
Adds nametags and soldier ranks to friendly players in multiplayer. This can be adjusted in the ACE Options Menu to not display the rank, display all nametags of nearby soldiers instead of those who are looked directly at, to require a button press to show the nametags or to disable them altogether.
### 1.2 Arma 3 VON, ACRE and TFAR soundwaves
A soundwave effect is shown when someone is speaking using either the vanilla VON, ACRE 1 or 2 and TFAR.
## 2. Dependencies
`ace_interaction`

View File

@ -1,28 +0,0 @@
---
layout: wiki
title: Nightvision
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Multiple Generation NVGs
Adds different night vision devices with varying image quality and field of view. New Classnames for Generations 1, 2, and 4 NVG's (default Arma 3 NVG's represents Generation 3) and a wide view NVG.
### 1.2 Blending effects
Adds a blending effect depending on ammunition type when firing while using a night vision device. Especially tracer rounds are bright, but you can use the IR-dim tracers from the Ballistics module to reduce tis effect.
### 1.3 Brightness adjustment
Enables the user to manually adjust NVG brightness.
## 2. Usage
### 2.1 Adjusting brightness
- Use <kbd>ALT</kbd> + <kbd>PageUP</kbd> and <kbd>ALT</kbd> + <kbd>PageDOWN</kbd> to adjust NVG brightness (ACE3 default key bind `Increase/Decrease NVG Brightness`).
## 3. Dependencies
`ace_common`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: No Idle
description: Disables idle animations
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Idle animations removed
This removes idle animations.
## 2. Dependencies
`ace_common`

View File

@ -1,18 +0,0 @@
---
layout: wiki
title: No Radio
description: Disable callouts
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Silent avatar
Mutes the player's automatic callouts ("Enemy man, 100 meters, front!").
Does not mute AI callouts.
## 2. Dependencies
`ace_common`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: No Rearm
description: Remove rearm from
group: feature
category: interaction
parent: wiki
---
## 1. Overview
Hides the rearm action for players (on cars / boxes / corpses / ground)
## 2. Dependencies
`ace_common`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: Optics
description: 2D and PIP optics
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds animated 2D and PIP variants of some optics (RCO / MRCO / ARCO / LRPS / MOS)
## 2. Dependencies
`ace_common`

View File

@ -1,28 +0,0 @@
---
layout: wiki
title: Options Menu
description: ACE3 options menu
group: feature
category: interaction
parent: wiki
---
## 1. Overview
Adds the options menu used by other components.
## 2. Usage
### 2.1 Opening the user menu
- Press <kbd>Escape</kbd>
- In the top left corner of the screen you should see `ACE Options`.
- Click it.
### 2.2 Options menu informations
- You don't have to press a save button. When a setting is changed it's saved automatically.
## 3. Dependencies
`ace_common`
*Note: The Options Menu module is utilized by many other modules. Disabling it is not recommended.*

View File

@ -1,43 +0,0 @@
---
layout: wiki
title: Overheating
description: Weapon temperature and jamming, barrel swapping.
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Weapon Jamming
Adds a probability to jam a weapon when firing. Jams can be cleared by reloading or by using the clear jam-key.
### 1.2 Temperature simulation
Introduces weapon temperature simulation depending on weapon and bullet mass. Hot weapons are more prone to jamming. Depending on weapon type the accuracy and in extreme cases the muzzle velocity might be reduced on high temperatures. Adds smoke puff and heat refraction effects to indicate this.
### 1.3 Spare barrels
Adds the ability to changes barrels on machine guns to compensate for those effects.
## 2. Usage
### 2.1 Clearing a jammed weapon
- To clear a jammed weapon, press <kbd>SHIFT</kbd> + <kbd>R</kbd> (ACE3 default key bind `Clear jam`).
### 2.2 Swapping barrels
- For this you need a `Spare barrel` and a compatible weapon.
- Press self interaction <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- Select `Equipment`.
- Select `Swap barrel`.
### 2.3 Checking your barrel temperature
- Press self interaction <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd>.
- Select `Equipment`.
- Select `Check weapon temperature`.
**NOTE** When the bar is half full (yellow) it means the barrel is around 500°c.
Your weapon will be even more prone to jams, and it'll get worse if you don't let the barrel cool down or swap it.
## 3. Dependencies
`ace_interaction`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Overpressure
description: backblast and overpressure
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Overpressure
Adds backblast to AT launchers and overpressure zones to tank cannons, don't stay behind a firing RPG or it'll hurt.
## 2. Dependencies
`ace_common`

View File

@ -1,36 +0,0 @@
---
layout: wiki
title: Parachute
description: Add an altimeter and a non-steerable parachute
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Altimeter
Removes the altitude and descend speed UI elements when free-falling and parachuting on higher difficulties. Adds an altimeter watch type item.
### 1.2 Non-steerable parachute
Adds a non-steerable parachute variant for jet pilots.
### 1.3 Parachute cutting and reserve parachutes
You are now able to cut parachutes and deploy a reserve one.
### 1.4 Landing animation
Smoothens the parachute landing animation.
## 2. Usage
### 2.1 bringing up the altimeter
- For this you need to have an `Altimeter Watch` in the watch slot.
- Press <kbd>O</kbd> (Arma 3 default key bind `Watch`) to bring up the altimeter.
### 2.2 Cutting a parachute
- While falling with a parachute deployed open the self interaction menu <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Cut Parachute`
## 3. Dependencies
`ace_common`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Protection
description: Tweaks armor values
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Tweaked protection values
Fixes and tweaks the protection values of body armour, helmets and uniforms.
## 2. Dependencies
`ace_common`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Ragdolls
description: Changes the ragdolls to react more to the force of shots and explosions.
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Adjusted Ragdolls
Changes the ragdolls to react more to the force of shots and explosions.
## 2. Dependencies
`ace_common`

View File

@ -1,32 +0,0 @@
---
layout: wiki
title: Rangecard
description: Adds a range card for your weapons
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Add a range card that updates itself for your weapon and the type of ammo you're using.
## 2. Usage
### 2.1 Opening the range card
- Open the self interaction menu <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd>
- Select `Equipment`
- Select `Open Range Card`
### 2.2 Using the range card
- To use this to it's full potential the use of a `Vector 21` is strongly recommended, a `Kestrel 4500` will also help.
- Pull out your rangefinder (`Vector 21` preferred) and get the distance between you and your target.
- Open your rangetable and look under the `Target range` column.
- Move to the `Bullet Drop` column, the drop is in MRADs, you need to compensate for it by adjusting your sight. Example, you want to adjust for a bullet drop of -7.9 MRADs simply adjust your scope 7.9 MRADs vertically. (check [feature scopes](http://ace3mod.com/wiki/feature/scopes.html) ) for this.
## 3. Dependencies
`ACE_Advanced_Ballistics`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Realistic Names
description: More realistic weapon names
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Real names
Changes the names of vehicles, magazines, weapons, grenades, explosive charges and mines to their respective real-world counterparts whenever possible.
## 2. Dependencies
`ace_common`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Recoil
description: Recoil overhaul
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Recoil adjustment
Overhauls the recoil system reducing upwards recoil.
### 1.2 Advanced cam shake
Introducing camshake when firing on foot or as vehicle gunner depending on stance and weapon type.
### 1.3 Burst dispersion
Firing in longer burst (> 3 rounds per burst) slightly reduces the accuracy. Firing machine guns in bursts is now useful.
## 2. Dependencies
`ace_common`

View File

@ -1,22 +0,0 @@
---
layout: wiki
title: Reload
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Ammo count
Hides the actual round count of magazines and removes the icon when the current magazine is emptied. The player can instead check the magazine weight, but that gives only estimated values for magazines with more than 10 rounds.
## 2. Usage
### 2.1 Checking your ammo
- Press <kbd>Ctrl</kbd> + <kbd>R</kbd> (ACE3 default key bind `Check Ammo`).
## 3. Dependencies
`ace_interaction`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Reload Launchers
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
Add the ability to reload someone else's launcher.
### 2. Usage
### 2.1 Reloading someone else's launcher
- Press the interaction key <kbd>&nbsp;Win</kbd> and aim at your buddy's launcher.
- Select `reload launcher`.
- Select the type of ammo.
## 3. Dependencies
`ace_interaction`

View File

@ -1,33 +0,0 @@
---
layout: wiki
title: Respawn
description: Same gear on respawn, FF message, rallypoints
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Respawn with same gear
Requires the Respawn Gear module to be placed. Respawned soldiers now have their loadout when killed.
### 1.2 Friendly Fire messages
Shows friendly fire warnings in system chat if the module is placed. Works even in higher difficulties where kill messages are normally disabled.
### 1.3 Rallypoints
Adds rallypoints to all 3 sides to enable teleportation from base spawn to FOB's. Requires some setup from the mission maker.
## 2. Usage
### 2.1 Using rallypoints
- For this to work pre-emptive preparations need to be made by the mission maker.
- Approach the rallypoint flagpole
- Use the interaction key <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interaction key`).
- Select teleport to (base / rallypoint).
## 3. Dependencies
`ace_common`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Safe Mode
description: Introduce safe mode
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Safety
You can now use the safety mode of any weapon. Switching weapon modes takes the safety off.
## 2. Usage
### 2.1 Switching safety on / off
- To turn it on press <kbd>Ctrl</kbd> + <kbd>`</kbd> (QWERTY layout) (ACE3 default key bind `Safe Mode`).
- To turn it off press <kbd>Ctrl</kbd> + <kbd>`</kbd> (QWERTY layout) again or switch firing mode.
## 3. Dependencies
`ace_common`

View File

@ -1,26 +0,0 @@
---
layout: wiki
title: Sandbags
description: Adds stackable sandbags
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds stackable sandbags able to block bullets, shrapnel and small explosions.
Note that those sandbags are affected by physics, a rocket will send them flying.
## 2. Usage
### 2.1 Placing the sandbags
- You'll need at least one `sandbag (empty)`.
- You need to be over a grass area / sand area to be able to fill the sandbag.
- Self interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Deploy sandbag`.
- Follow the instruction on screen.
## 3. Dependencies
`ace_interaction`

View File

@ -1,32 +0,0 @@
---
layout: wiki
title: Scopes
description: Scope adjustment
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### Sniper Scope Adjustment
Allows snipers to adjust their scopes horizontally and vertically in mils.
## 2. Usage
### 2.1 Adjusting your scope vertically
Please not that the following key combinations are ACE3 default key binds.
- Minor adjustment up <kbd>Page Up</kbd>.
- Minor adjustment down <kbd>page Down</kbd>.
- Major adjustment up <kbd>&nbsp;Shift</kbd> + <kbd>Page Up</kbd>.
- Major adjustment down <kbd>&nbsp;Shift</kbd> + <kbd>page Down</kbd>.
### 2.2 Adjusting your scope horizontally
- Minor adjustment right <kbd>Ctrl</kbd> + <kbd>Page Up</kbd>.
- Minor adjustment left <kbd>Ctrl</kbd> + <kbd>page Down</kbd>.
- Major adjustment right <kbd>Ctrl</kbd> + <kbd>&nbsp;Shift</kbd> + <kbd>Page Up</kbd>.
- Major adjustment left <kbd>Ctrl</kbd> + <kbd>&nbsp;Shift</kbd> + <kbd>page Down</kbd>.
## 3. Dependencies
`ace_common`

View File

@ -1,22 +0,0 @@
---
layout: wiki
title: Sitting
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
Adds the ability to sit on chairs.
## 2. Usage
Please note that to be able to use this function the sitting module need to be placed down (or set to 1 in the server config)
### 2.1 How to sit / stand up
- Look at the chair and press the interaction key <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Sit Down`.
- To stand up press the self interaction key <kbd>&nbsp;Win</kbd> (ACE3 default) and select `Stand Up`.
## 3. Dependencies
`ace_interaction`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Slideshow
group: feature
category: interaction
parent: wiki
---
## 1. Overview
This adds the ability to have images shown on some objects and have other objects being used as remotes.
Please note that only objects with hiddenSelection 0 can be used to render images (whiteboard, TV, PC Screen being the most notable examples).
## 2. Usage
Note that this sections is for users, for mission makers refer to [the entry in mission-tools](../missionmaker/mission-tools.html)
Also if no remotes are defined the "screen" object itself becomes the remote.
### 2.1 Switching between images
- Look at the object used as a remote and use the interaction menu <kbd>&nbsp;Win</kbd> (ACE3 default).
- Select the action that correspond to the image you want (the name of the action depends on the mission maker).
## 3. Dependencies
`ace_common`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Small Arms
description: Various improvements to small arms
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Magazine Names
Unifies the name formatting of magazines similar to Arma 2 standards.
### 1.2 No tracers in non-tracer mags
Assault rifles no longer have tracer rounds in their non-tracer magazines. This doesn't effect the additional tracers in the last rounds of machine gun magazines.
### 1.3 Real magazine round counts
All pistol and sub machine gun magazines now have adjusted capacities to match their real life counterparts.
## 2. Dependencies
`ace_common`

View File

@ -1,422 +0,0 @@
---
layout: wiki
title: Spectator
description: A flexible spectator system
group: feature
category: interaction
parent: wiki
---
<div class="panel callout">
<h5>Please note:</h5>
<p>This is not part of ACE3 yet. It will be released in a future version.</p>
</div>
## 1. Overview
The ACE3 spectator system is designed to act as a flexible and easy to configure framework. Most scenarios can be set up as desired using only the settings provided, however public functions are available for finer control of these configurable aspects.
### 1.1 Spectator System
By default, the ACE3 spectator system does nothing - meaning existing missions will behave exactly as before. There are two tools available to enable the spectator system in your missions:
- An `"ace_spectator"` [respawn template](https://community.bistudio.com/wiki/Arma_3_Respawn)
- Public functions `ace_spectator_fnc_setSpectator` and `ace_spectator_fnc_stageSpectator`
With respawn template `"ace_spectator"` in effect players will enter spectator mode upon death and exit upon respawn. The template is compatible with all respawn types and allows you to take advantage of the vanilla framework's flexibility (combining templates, side specific templates, etc.). This makes for very simple combination of a wide variety of spectator and respawn setups.
An example description.ext file using the respawn template:
```
respawn = 3;
respawnDelay = 180;
respawnTemplates[] = {"ace_spectator"};
respawnTemplatesWest[] = {"ace_spectator","Counter","Wave"};
```
For groups using custom respawn frameworks - or for missions where you want finer control over who, how and when players enter spectator - the two following functions are provided:
`ace_spectator_fnc_setSpectator`
```
* Sets local client to the given spectator state (virtually)
* To physically handle a spectator see ace_spectator_fnc_stageSpectator
*
* Client will be able to communicate in ACRE/TFAR as appropriate
* The spectator interface will be opened/closed
*
* Arguments:
* 0: Spectator state of local client <BOOL> (default: true)
*
* Return Value:
* None <NIL>
*
* Example:
* [true] call ace_spectator_fnc_setSpectator
```
`ace_spectator_fnc_stageSpectator`
```
* Sets target unit to the given spectator state (physically)
* To virtually handle a spectator see ace_spectator_fnc_setSpectator
*
* Units will be gathered at marker ace_spectator_respawn (or [0,0,0] by default)
* Upon unstage, units will be moved to the position they were in upon staging
*
* Arguments:
* 0: Unit to put into spectator stage <OBJECT> (default: player)
* 1: Spectator stage <BOOL> (default: true)
*
* Return Value:
* None <NIL>
*
* Example:
* [player, false] call ace_spectator_fnc_stageSpectator
```
### 1.2 Spectatable Units
Spectatable units are stored in an automatically maintained list (`ace_spectator_unitList`) on each client. However, directly accessing this list is not encouraged. Instead mission makers have two tools at their disposal to tweak the list:
- Unit filter
- Unit whitelist/blacklist
The unit filter determines which units will automatically be used to populate the spectatable unit list. It's controlled by setting `ace_spectator_filterUnits` and there are four possible options:
- **No units**
- **Player units**
- **Playable units** *(default)*
- **All units**
In cases where more specific control is required function `ace_spectator_fnc_updateUnits` can be used to whitelist units from the filter or blacklist them from the list (on the local client):
```
* Arguments:
* 0: Units to add to the whitelist <ARRAY>
* 1: Use blacklist <BOOL> <OPTIONAL>
*
* Return Value:
* None <NIL>
*
* Example:
* [allUnits,true] call ace_spectator_fnc_updateUnits
*
```
### 1.3 Spectatable Sides
Spectatable sides can simply be considered an extra layer of filtering for the spectatable unit list. Again, there are two methods of controlling the spectatable sides:
- Side filter
- Side list
The side list is exactly what it sounds like, a list of sides spectatable by the local client. However, unlike spectatable units the side list remains static and can only be updated manually. This is because the side filter is applied on top of the side list whenever the unit list is automatically maintained - meaning the unit list will update if the player changes side or if the side relations change.
Note that the unit whitelist/blacklist also serves to override this side filtering mechanism.
The default side list is `[west,east,resistance,civilian]` and to update it (on the local client) function `ace_spectator_fnc_updateSpectatableSides` can be used:
```
* Arguments:
* 0: Sides to add <ARRAY>
* 1: Sides to remove <ARRAY>
*
* Return Value:
* Spectatable sides <ARRAY>
*
* Example:
* [[west], [east,civilian]] call ace_spectator_fnc_updateSpectatableSides
```
The side filter determines which sides from the side list are valid each time the unit list is updated. It's controlled by setting `ace_spectator_filterSides` and there are four possible options:
- **Player side** *(default)*
- **Friendly sides**
- **Hostile sides**
- **All sides**
### 1.4 Camera Modes
There are 3 possible camera modes:
- **Free**
- **Internal**
- **External**
Mission makers can control the camera modes available to spectators via the setting `ace_spectator_restrictModes`. Function `ace_spectator_fnc_updateCameraModes` is also provided to alter the available modes (to the local player) as desired at any point in the mission:
```
* Arguments:
* 0: Camera modes to add <ARRAY>
* 1: Camera modes to remove <ARRAY>
*
* Return Value:
* Available camera modes <ARRAY>
*
* Example:
* [[0], [1,2]] call ace_spectator_fnc_updateCameraModes
```
### 1.5 Vision Modes
Vision modes are only available in free camera mode. By default there are 4 available vision modes:
- **Normal**
- **Night vision**
- **Thermal imaging (white hot)**
- **Thermal imaging (black hot)**
Mission makers can control which of these vision modes are available to spectators via the setting `ace_spectator_restrictVisions`. However, there are actually a total of 10 possible vision modes and function `ace_spectator_fnc_updateVisionModes` can be used to alter which of them are available (to the local player) at any point in the mission:
```
* Possible vision modes are:
* - -2: Normal
* - -1: Night vision
* - 0: White hot
* - 1: Black hot
* - 2: Light Green Hot / Darker Green cold
* - 3: Black Hot / Darker Green cold
* - 4: Light Red Hot / Darker Red Cold
* - 5: Black Hot / Darker Red Cold
* - 6: White Hot / Darker Red Cold
* - 7: Thermal (Shade of Red and Green, Bodies are white)
*
* Arguments:
* 0: Vision modes to add <ARRAY>
* 1: Vision modes to remove <ARRAY>
*
* Return Value:
* Available vision modes <ARRAY>
*
* Example:
* [[0], [1,2]] call ace_spectator_fnc_updateVisionModes
```
### 1.6 Camera Attributes
The spectator camera has 8 manipulatable attributes:
- **Camera mode:** The camera view
- **Camera unit:** The unit used for internal and external view
- **Camera vision:** The vision mode used by the free camera
- **Camera position:** The position of the free camera
- **Camera pan:** The pan (direction/heading) of the free camera
- **Camera tilt:** The tilt (pitch) of the free camera
- **Camera zoom:** The zoom level of the free camera
- **Camera speed:** The movement speed of the free camera
Function `ace_spectator_fnc_setCameraAttributes` can be used to change any of these attributes at any point (including before spectator has ever opened):
```
* Arguments:
* 0: Camera mode <NUMBER> <OPTIONAL>
* - 0: Free
* - 1: Internal
* - 2: External
* 1: Camera unit (objNull for random) <OBJECT> <OPTIONAL>
* 2: Camera vision <NUMBER> <OPTIONAL>
* - -2: Normal
* - -1: Night vision
* - 0: Thermal white hot
* - 1: Thermal black hot
* 3: Camera position (ATL) <ARRAY> <OPTIONAL>
* 4: Camera pan (0 - 360) <NUMBER> <OPTIONAL>
* 5: Camera tilt (-90 - 90) <NUMBER> <OPTIONAL>
* 6: Camera zoom (0.01 - 2) <NUMBER> <OPTIONAL>
* 7: Camera speed in m/s (0.05 - 10) <NUMBER> <OPTIONAL>
*
* Return Value:
* None <NIL>
*
* Example:
* [1, objNull] call ace_spectator_fnc_setCameraAttributes
```
## 2. Usage
### 2.1 Spectator Shortcuts
Shortcuts are currently hardcoded in the ACE3 spectator system. Future versions are likely to change that.
#### 2.1.1 Interface Shortcuts
<table>
<thead>
<tr>
<th>Shortcut</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><kbd>1</kbd></td>
<td>Toggle unit list</td>
</tr>
<tr>
<td><kbd>2</kbd></td>
<td>Toggle help</td>
</tr>
<tr>
<td><kbd>3</kbd></td>
<td>Toggle toolbar</td>
</tr>
<tr>
<td><kbd>4</kbd></td>
<td>Toggle compass</td>
</tr>
<tr>
<td><kbd>5</kbd></td>
<td>Toggle unit icons</td>
</tr>
<tr>
<td><kbd>M</kbd></td>
<td>Toggle map</td>
</tr>
<tr>
<td><kbd>Backspace</kbd></td>
<td>Toggle interface</td>
</tr>
</tbody>
</table>
#### 2.1.2 Free Camera Shortcuts
<table>
<thead>
<tr>
<th>Shortcut</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><kbd>W</kbd></td>
<td>Camera forward</td>
</tr>
<tr>
<td><kbd>S</kbd></td>
<td>Camera backward</td>
</tr>
<tr>
<td><kbd>A</kbd></td>
<td>Camera left</td>
</tr>
<tr>
<td><kbd>D</kbd></td>
<td>Camera right</td>
</tr>
<tr>
<td><kbd>Q</kbd></td>
<td>Camera up</td>
</tr>
<tr>
<td><kbd>Z</kbd></td>
<td>Camera down</td>
</tr>
<tr>
<td><kbd>RMB</kbd></td>
<td>Pan camera</td>
</tr>
<tr>
<td><kbd>LMB</kbd></td>
<td>Dolly camera</td>
</tr>
<tr>
<td><kbd>&nbsp;Shift</kbd></td>
<td>Speed boost</td>
</tr>
<tr>
<td><kbd>F</kbd></td>
<td>Focus on unit</td>
</tr>
</tbody>
</table>
#### 2.1.3 Camera Attribute Shortcuts
<table>
<thead>
<tr>
<th>Shortcut</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><kbd>Up arrow</kbd></td>
<td>Next camera</td>
</tr>
<tr>
<td><kbd>Down arrow</kbd></td>
<td>Previous camera</td>
</tr>
<tr>
<td><kbd>Right arrow</kbd></td>
<td>Next unit</td>
</tr>
<tr>
<td><kbd>Left arrow</kbd></td>
<td>Previous unit</td>
</tr>
<tr>
<td><kbd>N</kbd></td>
<td>Next vision mode</td>
</tr>
<tr>
<td><kbd>Ctrl</kbd>+<kbd>N</kbd></td>
<td>Previous vision mode</td>
</tr>
<tr>
<td><kbd>Scrollwheel</kbd></td>
<td>Adjust zoom</td>
</tr>
<tr>
<td><kbd>Ctrl</kbd>+<kbd>Scrollwheel</kbd></td>
<td>Adjust speed</td>
</tr>
<tr>
<td><kbd>Num-</kbd>/<kbd>Num+</kbd></td>
<td>Increment zoom</td>
</tr>
<tr>
<td><kbd>Ctrl</kbd>+<kbd>Num-</kbd>/<kbd>Num+</kbd></td>
<td>Increment speed</td>
</tr>
<tr>
<td><kbd>Alt</kbd>+<kbd>Num-</kbd></td>
<td>Reset zoom</td>
</tr>
<tr>
<td><kbd>Alt</kbd>+<kbd>Num+</kbd></td>
<td>Reset speed</td>
</tr>
</tbody>
</table>
### 2.2 The Interface
#### 2.2.1 Unit list
The unit list on the left lists all of the units currently available to spectate.
Double click on any unit name in the list to switch to the unit.
Double click on the current unit to switch between internal and external view.
#### 2.2.2 Toolbar
The toolbar along the bottom of the screen displays various useful values. From left to right these are:
- Unit name
- Camera mode
- Vision mode/Unit side
- 24-hour Clock
- Camera zoom/Unit depth
- Camera/Unit speed
#### 2.2.3 Map
The map overlay will show the current position of the free camera and all spectatable units. In free camera you can alt-click on the map to teleport the camera to the position of the cursor.
## 3. Dependencies
`ace_common`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Spotting scope
description: Adds a deployable spotting scope
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds a deployable spotting scope.
## 2. Usage
### 2.1 Deploying the spotting scope
- Self interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Equipment`.
- Select `Place spotting scope` (note that the scope will be at your feet).
## 3. Dependencies
`ace_apl` , `ace_interaction`

View File

@ -1,30 +0,0 @@
---
layout: wiki
title: Switch Units
description:
group: feature
category: interaction
parent: wiki
---
## 1. Overview
### 1.1 Switch units
"ACE SwitchUnits" is a tool for mission makers to quickly add PvP (Player vs. Player) elements to a mission. In short it enables a player to control AI units. Allowing players to perform as enemies even during a COOP mission increases the authenticity of the enemy and thus the immersion for everyone.
The most prominent feature of ACE SwitchUnits is that you can add it to nearly every existing mission and get AI control out of the box. Dynamic mission like "Enemy Assault", "Patrol Ops", "Invade & Annex", etc. don't need to be touched to make all random spawned AI's controllable.
In its current form you're able to switch to infantry (vehicles, etc. are planned) from all four sides (West, East, Independent, Civilian).
## 2. Usage
### 2.1 Switching to a unit
- Open your map
- Find a unit you can access (they are showed with special icons and names on the map).
- Press <kbd>LMB</kbd> on the desired unit.
- You'll control that unit until it dies or until you switch to an other one. If the unit dies you'll be brought back to your original unit..
## 3. Dependencies
`ace_common`

View File

@ -1,23 +0,0 @@
---
layout: wiki
title: Tactical ladder
description: Adds a deployable ladder with adjustable height that you can transport on your back.
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds a deployable ladder with adjustable height that you can transport on your back.
## 2. Usage
### 2.1 Deploying the ladder
- Self interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Deploy ladder`.
- You can adjust it's position and height by interacting with it <kbd>&nbsp;Win</kbd> (ACE3 default) and following the instructions on screen.
## 3. Dependencies
`ace_apl` , `ace_interaction`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: Test Missions
description: Adds an ACE3 Test Missions
group: feature
category: general
parent: wiki
---
## 1. Overview
Adds an ACE3 Test Missions
## 2. Dependencies
`ace_common`

View File

@ -1,17 +0,0 @@
---
layout: wiki
title: Thermals
description:
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Body Warmth
Adjusts the thermal properties of humans making them less like torches.
## 2. Dependencies
`ace_common`

View File

@ -1,26 +0,0 @@
---
layout: wiki
title: Tripod
description: Adds a packable tripod deployable on the field
group: feature
category: equipment
parent: wiki
---
## 1. Overview
Adds a packable tripod deployable on the field. It features a flat part to deploy your weapon on and adjustable legs.
## 2. Usage
### 2.1 deploying the tripod
- Note that you need a `SSWT kit` in your inventory.
- Self interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd>.
- Select `Equipment`
- Select `Place SSWT kit`.
To adjust or pick up the tripod just interact with it <kbd>&nbsp;Win</kbd> and select the desired action.
## 3. Dependencies
`ace_interaction`

View File

@ -1,16 +0,0 @@
---
layout: wiki
title: UI
description:
group: feature
category: general
parent: wiki
---
## 1. Overview
Changes the chat contrast on the map to allow easier reading.
## 2. Dependencies
`ace_common`

View File

@ -1,85 +0,0 @@
---
layout: wiki
title: Vector
description: Adds a realistic depiction of the Vector 21 rangefinder
group: feature
category: equipment
parent: wiki
---
## 1. Overview
### 1.1 Vector 21 Rangefinder
ACE3 adds a realistic depiction of the Vector 21 rangefinder to the game. Unlike other rangefinders, it doesn't just magically show you the range to your target, but in exchange allows you to do alot of things with it that the other choices in Arma do not offer. The Vector's functions include, but are not limited to:
- Distance to a target
- Azimuth to a target
- Horizontal and vertical distance to a target
- Distance between 2 targets
- Angle between 2 targets
- Switching between feet and meters
- Switching between degrees and mils
...
## 2. Usage
The Vector is controlled with 2 keys: the azimuth key and the range key; <kbd>Tab</kbd> and <kbd>R</kbd> and is brought up like any other binoculars.
#### 2.1 Slope distance
<img src="{{ site.baseurl }}/img/wiki/user/vector1.jpg" width="500" height="160" alt="Measuring Slope distance" />
- Press and hold <kbd>R</kbd> until the red pointing circle appears. Sight the circle on the object and release the key.
#### 2.2 Azimuth
<img src="{{ site.baseurl }}/img/wiki/user/vector2.jpg" width="500" height="160" alt="Measuring Azimuth" />
- Press and hold the <kbd>Tab&nbsp;</kbd> until the azimuth is displayed.
#### 2.3 Slope distance and Azimuth
<img src="{{ site.baseurl }}/img/wiki/user/vector3.jpg" width="500" height="160" alt="Measuring Slope distance and Azimuth" />
- Press and hold both <kbd>R</kbd> and <kbd>Tab&nbsp;</kbd> until the red pointing circle appears.
- Sight the circle on the object and release both keys.
#### 2.4 Horizontal distance and height difference
<img src="{{ site.baseurl }}/img/wiki/user/vector4.jpg" width="500" height="160" alt="Measuring Horizontal distance and height difference"/>
- Tap <kb>R</kbd> once then press and hold it until the red pointing circle appears.
- Sight the circle on the object and release the key.
#### 2.5 Azimuth and Inclination
<img src="{{ site.baseurl }}/img/wiki/user/vector5.jpg" width="500" height="160" alt="Measuring Azimuth and Inclination"/>
- Tap <kbd>Tab&nbsp;</kbd> once then press and hold it until the azimuth and inclination is displayed.
#### 2.6 Distance between two points
<img src="{{ site.baseurl }}/img/wiki/user/vector6.jpg" width="500" height="160" alt="Measuring Distance between two points"/>
- Press and hold <kbd>R</kbd> until the red pointing circle appears.
- Sight the circle on the first object and tap <kbd>Tab&nbsp;</kbd> while further holding <kbd>R</kbd>. The first measurement is confirmed ("1-P" = first point).
- Sight the second object and release <kbd>R</kbd>.
#### 2.7 Horizontal and vertical distance between two points
<img src="{{ site.baseurl }}/img/wiki/user/vector7.jpg" width="500" height="160" alt="Measuring Horizontal and vertical distance between two points"/>
- Tap <kbd>R</kbd> once then press and hold it until the red pointing circle appears.
- Sight the circle on the object and tap <kbd>Tab&nbsp;</kbd> once. The first measurement is confirmed ("1-P" = first point).
- Sight the second object and release <kbd>R</kbd>.
#### 2.8 Horizontal distance and azimuth between two points
<img src="{{ site.baseurl }}/img/wiki/user/vector8.jpg" width="500" height="160" alt="Measuring Horizontal distance and azimuth between two points"/>
- Press and hold <kbd>Tab&nbsp;</kbd> until the azimuth appears.
- Sight the circle on the first object and tap <kbd>R</kbd> while further holding <kbd>Tab&nbsp;</kbd>. The first measurement is confirmed ("1-P" = first point).
- Sight the second object and release <kbd>Tab&nbsp;</kbd>.
### 2.9 Fall of shot
<img src="{{ site.baseurl }}/img/wiki/user/vector9.jpg" width="500" height="160" alt="Measuring Fall of shot"/>
- Tap <kbd>Tab&nbsp;</kbd> once then press and hold it until the azimuth appears.
- Sight the circle on the object and tap <kbd>R</kbd> while further holding <kbd>Tab&nbsp;</kbd>. The first measurement is confirmed ("1-P" = first point).
- Sight the Fall of shot and release <kbd>Tab&nbsp;</kbd>. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If <kbd>R</kbd> is tapped the height correction values will be displayed (`UP` and `dn`).
## 3. Dependencies
`ace_common`

View File

@ -1,22 +0,0 @@
---
layout: wiki
title: Vehicle Lock
description: The vehicle lock module enables locking vehicles and their inventory
group: feature
category: interaction
parent: wiki
---
## 1. Overview
This feature adds the ability to lock and unlock vehicles and their inventory using a key, as well as picking locks of locked vehicles. It's disabled by default.
## 2. Usage
Locking, unlocking and picking vehicle locks is possible via the ACE Interact menu.
<div class="panel callout">
<h5>Note:</h5>
<p>Different locking modes can be set, consult with your mission maker for more information.</p>
</div>
## 3. Dependencies
`ace_interaction`

View File

@ -1,51 +0,0 @@
---
layout: wiki
title: Vehicles
description:
group: feature
category: realism
parent: wiki
---
## 1. Overview
### 1.1 Speed limiter
Adds ability to limit the max. speed of any vehicle.
### 1.2 Engine start delay
The engine has to be started before the vehicle can move. Starting the engine takes aprox. 1 to 2 seconds.
### 1.3 Fuel capacity
The range of all vehicle gets significantly reduced to reflect ranges of their real life counterparts. Scaled down to match the relative short distances in Arma 3. A full vehicle on mission start should still most likely never need a refueling during a mission.
### 1.4 Main gun muzzles
APC's and tanks now share a muzzle for all ammunition types of their main guns. This prevents an exploit that skips the reloading time of a round or clip while changing the ammunition type. Also makes it possible to switch between ammunition types using the scroll wheel like in Arma 2.
### 1.5 Boat machine gun tracers
NATO and AAF armed boats now use their respective tracer colours like any vehicle when they fire their rear gun. (Red for Blufor, yellow for Indep)
### 1.6 Improved smoke launcher of Fennek (Strider)
Reduced smoke shell count and launch angle of the AAF Fennek to match the models smoke launcher.
### 1.7 Stabilized optic of Fennek (Strider)
Stabilizes the commander's view in the Fennek (Strider).
### 1.8 Vehicle mounted machine guns ROF
The rate of fire of vehicle mounted miniguns and machine guns is adjusted to match real life values.
### 1.9 120mm gun and mortar behaviour
MBT main guns and mortars can no longer lock on enemies. The AT rounds of both now have raised cost values to encourage the AI to not use those rounds against foot soldiers over their machine guns or HE rounds.
## 2. Usage
### 2.1 Turning the engine on / off
- To turn the engine on press <kbd>2</kbd>.
- To turn the engine off press <kbd>1</kbd>.
### 2.2 Turning the speed limiter on / off
- To turn the speed limiter on press <kbd>Del</kbd>.
- To turn it off press <kbd>Del</kbd> again.
## 3. Dependencies
`ace_common`

Some files were not shown because too many files have changed in this diff Show More