Documentation pass 8

- Finished: MicroDAGR doc, note that the images can't be viewed properly on GitHub.
- Coding guidelines are more readable now, added the STRING family of macros to it.
- How to enable dragging / carrying added to dragging / carrying framework with a BIG disclaimer that the functions are not public and may change.
- Shortcut updated to fit the convention established in the shortcut page.
This commit is contained in:
Josuan Albin 2015-06-30 16:04:00 +02:00
parent a284cc3f6b
commit d1187ad82e
35 changed files with 365 additions and 126 deletions

View File

@ -107,12 +107,12 @@ Every function should have a header of the following format:
* Arguments:
* 0: The first argument <STRING>
* 1: The second argument <OBJECT>
*
*
* Return Value:
* The return value <BOOL>
*
* Example:
* _bool = ["something", player] call ace_common_fnc_imanexample
* ["something", player] call ace_common_fnc_imanexample
*
* Public: [Yes/No]
*/
@ -124,33 +124,39 @@ Every function should have a header of the following format:
### 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':
* `GVAR(face)` is `ace_balls_face`
* `QGVAR(face)` is `"ace_balls_face"`
* `EGVAR(balls,face)` is `ace_balls_face`
* `EGVAR(leg,face)` is `ace_leg_face`
* `QEGVAR(leg,face)` is `"ace_leg_face"`
| Macros | is the same as |
| -------|---------|
| `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:
* `FUNC(face)` is `ace_balls_fnc_face` or the call trace wrapper for that function.
* `EFUNC(balls,face)` is `ace_balls_fnc_face` or the call trace wrapper for that function.
* `EFUNC(leg,face)` is `ace_leg_fnc_face` or the call trace wrapper for that function.
* `DFUNC(face)` is `ace_balls_fnc_face` and will ALWAYS be the function global variable.
* `DEFUNC(leg,face)` is `ace_leg_fnc_face` and will ALWAYS be the function global variable.
* `QFUNC(face)` is `"ace_balls_fnc_face"`
* `QEFUNC(leg,face)` is `"ace_leg_fnc_face"`
| Macros | is the same as |
| -------|---------|
|`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-ACE/Anonymous Functions
#### 4.1.1 FUNC Macros, Call Tracing, and Non-ACE3 /Anonymous Functions
ACE 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:
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:
* `CALLSTACK(functionName)` example: `[] call CALLSTACK(cba_fnc_someFunction)`
* `CALLSTACK_NAMED(function,functionName)` example: `[] call CALLSTACK_NAMED(_anonymousFunction,'My anonymous function!')`
| 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).
@ -162,44 +168,64 @@ These macros will call these functions with the appropriate wrappers and enable
#### 4.2.1 setVariable, getVariable family macros
* `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]`
| Macro | is the same as |
| -------|---------|
|`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 | is the same as |
| -------|---------|
| `LSTRING(banana)` | "STR_ACE_balls_banana"|
| `ELSTRING(balls,banana)` | "STR_ACE_balls_banana"|
Config Strings (require `$` as first character):
| Macro | is the same as |
| -------|---------|
| `CSTRING(banana)` | "$STR_ACE_balls_banana" |
| `ECSTRING(balls,banana)` | "$STR_ACE_balls_banana" |
## 5. Event Handlers
Event handlers in ACE are implemented through our event system. They should be used to trigger or allow triggering of specific functionality.
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` 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.
| 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.
* `[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.
| 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 [ACE Events System](https://github.com/KoffeinFlummi/ACE3/wiki/ACE-Events-System) page.
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 ACE. If you are unfamiliar with the idea, they are similar in function to `setVariable`/`getVariable` but do not require an object to use.
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.
@ -217,11 +243,13 @@ if(HASH_HASKEY(_hash, "key")) then {
A description of the above macros is below.
* `HASHCREATE` is 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.
| 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
@ -256,11 +284,14 @@ 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.
* `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.
| 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

View File

@ -25,7 +25,7 @@ The Advanced Ballistics module improves internal and external ballistics.
## 2. Usage
### 2.1 Protractor
Press <kbd>Ctrl</kbd>+<kbd>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.
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

@ -35,7 +35,7 @@ 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`)
Press <kbd>Ctrl</kbd>+<kbd>C</kbd> to switch between flare firing modes (Arma 3 default key bind `countermeasure mode`)
## 3. Dependencies

View File

@ -17,14 +17,14 @@ Adds an attachable IR strobe, which is only visible using night vision devices a
## 2. Usage
### 2.1 Attaching to yourself
- Use Self Interact <kbd>CTRL</kbd>+<kbd>Win</kbd> (ACE3 default).
- 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> Win</kbd> (ACE3 default).
- 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.

View File

@ -31,7 +31,7 @@ Allows players to surrender. It renders the unit unable to move and with the han
### 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`.
- 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.

View File

@ -13,7 +13,7 @@ A concertina wire is a type of barbed wire formed in large coils that can be exp
## 2. Usage
### 2.1 Deploying the concertina wire
- Approach the concertina coil and select <kbd> Win</kbd> (ACE3 default)
- Approach the concertina coil and select <kbd>&nbsp;Win</kbd> (ACE3 default)
- Select `Deploy concertina wire`.
- Follow the instructions on screen.

View File

@ -14,7 +14,7 @@ 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> Win</kbd> (ACE3 default key bind `Interaction Key`).
- 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.

View File

@ -14,9 +14,9 @@ This adds the option to drag or carry units or objects.
### 2.1 Dragging / Carrying units and objects
- You can only drag or carry an unconscious unit.
- Interact with the unit or object <kbd> Win</kbd> (ACE3 default key bind `Interact Key`).
- 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>Win</kbd> and select `Release`.
- 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

View File

@ -20,18 +20,18 @@ Enables attaching explosives to vehicles.
## 2. Usage
### 2.1 Placing explosives
- Use self interaction <kbd>CTRL</kbd>+<kbd>Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- 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> Win</kbd> (ACE3 default key bind `Interact Key`).
- 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> Win</kbd>.
- Interact with the explosive <kbd>&nbsp;Win</kbd>.
- Select `Disarm`.
- You are safe to pick it up after the action has completed.

View File

@ -21,13 +21,13 @@ Anti air cannons can now use airburst ammunition. It will explode on the FCS' ze
### 2.1 Engaging moving targets
- Place the crosshair on the enemy vehicle.
- Press and hold <kbd>TAB</kbd> (ACE 3 default key bind `Lock Target [Hold]`) and follow the target for about 2 seconds.
- Release <kbd>TAB</kbd>.
- 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</kbd>
- Tap <kbd>Tab&nbsp;</kbd>
- The optic is now adjusted.
*NOTE: GBU guidance is **DISABLED** as of ACE3 3.0.1*

View File

@ -19,7 +19,7 @@ missile launchers will be equipped with those, but remember to put them in.
### 2.1 Equipping earplugs
- For this you need the `Earplugs` item.
- Press the self interaction key <kbd>CTRL</kbd> + <kbd>Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- 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`.

View File

@ -17,10 +17,10 @@ NOTE: the HuntIR round doesn't work with modded weapons without a compatibility
- To be able to connect to the IR CMOS camera you'll 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>Win</kbd> (ACE3 default)
- 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> Win</kbd>
- 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

View File

@ -20,12 +20,12 @@ The Titan / Javelin now posses the ability to be used in top down attack or dire
- 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</kbd> (ACE3 default key bind `Lock Target [Hold]`).
- 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</kbd>.
- 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

View File

@ -15,7 +15,7 @@ Adds an item `ACE_UAVBattery` that allows refuelling / recharging of the "Darter
### 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> Win</kbd> (ACE3 default key bind `Interact Key`)
- Interact with the UAV <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interact Key`)
- Select `Recharge`
## 3. Dependencies

View File

@ -16,7 +16,7 @@ Adds an item `ACE_wirecutter` that allows cutting of fences in Arma 3 and AllInA
### 2.1 Using the wirecutter
- For this you need a `Wirecutter`.
- Approach the fence you want to cut.
- Press the interaction key <kbd> Win</kbd> (ACE3 default key bind `Interaction Key`).
- 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

View File

@ -15,7 +15,7 @@ Adds the ability to repack magazines of the same type.
### 2.1 Repacking
- For this you need multiple half empty mags of the same type.
- Press the self interaction button <kbd>CTRL</kbd> + <kbd>Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- 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.

View File

@ -22,10 +22,10 @@ If you are equipped with a vanilla GPS it will be shown on the map. (You don't n
### 2.1 Using map tools
- For this you need to have `Map Tools`.
- Open the map <kbd>M</kbd> (Arma 3 default key bind `Map`).
- Press the self interaction key <kbd>CTRL</kbd> + <kbd>Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- 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 <kdd> LMB </kbd> and rotate it with <kbd>CTRL</kbd> + <kbd>LMB</kbd>.
- Note that you can drag the Roamer (map tool) around with <kdd> LMB </kbd> and rotate it with <kbd>Ctrl</kbd> + <kbd>LMB</kbd>.
### 2.2 Drawing lines
- To draw lines `Map Tools` are not required.

View File

@ -1,26 +1,148 @@
---
layout: wiki
title: MicroDAGR
description:
description: A GPS device and much more !
group: feature
parent: wiki
---
## Overview
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.
### Sub-feature 1
Short description of sub-feature 1.
## 1. Overview
### Sub-feature 2
Short description of sub-feature 2.
"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`.
## Usage
- 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`)
Short overview of how to use the feature, e.g. menu options, key bindings,
instructions. May not apply to all modules.
#### 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.
## Dependencies
## 3. Dependencies
`ace_common`

View File

@ -13,14 +13,14 @@ Adds the AMG framework, for more information about it refer to the [AMG framewor
## 2. Usage
### 2.1 Switching fire mode
- Press <kbd>CTRL</kbd> + <kbd>TAB</kbd> the LED's on the right of the UI will change.
- 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</kbd> a crosshair will appear and the `SEEK` LED will 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

View File

@ -18,7 +18,7 @@ ACE3 adds wind deflection for shells as well as a rangetable to accurately take
### 2.2 Working with the rangetable
- To open the table:
- Self interact <kbd>CTRL</kbd> + <kbd>Win</kbd>
- Self interact <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd>
- Select `equipment`.
- Select `Open 82mm Rangetable`.
@ -34,7 +34,7 @@ ACE3 adds wind deflection for shells as well as a rangetable to accurately take
- Once you finished your maths, it's time to aim, get the cross of the mortar on target, if you don't see it use a waypoint if possible. In our case ELEV is 1339-2 = 1337.
- On the right side of the screen, while looking through the mk6 scope you should see ELV, we need to match this number with the one we found.
- To adjust the ELV use <kbd>pageUP</kbd> and <kbd>pageDOWN</kbd>.
- To adjust the ELV use <kbd>Page Up</kbd> and <kbd>page Down</kbd>.
- Once the number you found and ELV are the same FIRE !
- On top of that you can calculate the time the shell will take to land by using the third row from the left, in our case the shell need to travel 2000m that's 20xthe number indicated. so 20x0,5 = 10s.

View File

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

View File

@ -25,12 +25,12 @@ Adds the ability to changes barrels on machine guns to compensate for those effe
### 2.2 Swapping barrels
- For this you need a `Spare barrel` and a compatible weapon.
- Press self interaction <kbd>CTRL</kbd> + <kbd>Win</kbd> (ACE3 default key bind `Self Interaction Key`).
- 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>Win</kbd>.
- Press self interaction <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd>.
- Select `Equipment`.
- Select `Check weapon temperature`.

View File

@ -13,7 +13,7 @@ Add a range card that updates itself for your weapon and the type of ammo you're
## 2. Usage
### 2.1 Opening the range card
- Open the self interaction menu <kbd>CTRL</kbd> + <kbd>Win</kbd>
- Open the self interaction menu <kbd>Ctrl</kbd> + <kbd>&nbsp;Win</kbd>
- Select `Equipment`
- Select `Open Range Card`

View File

@ -14,7 +14,7 @@ Hides the actual round count of magazines and removes the icon when the current
## 2. Usage
### 2.1 Checking your ammo
- Press <kbd>CTRL</kbd> + <kbd>R</kbd> (ACE3 default key bind `Check Ammo`).
- Press <kbd>Ctrl</kbd> + <kbd>R</kbd> (ACE3 default key bind `Check Ammo`).
## 3. Dependencies

View File

@ -13,7 +13,7 @@ Add the ability to reload someone else's launcher.
### 2. Usage
### 2.1 Reloading someone else's launcher
- Press the interaction key <kbd> Win</kbd> and aim at your buddy'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.

View File

@ -23,7 +23,7 @@ Adds rallypoints to all 3 sides to enable teleportation from base spawn to FOB's
### 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> Win</kbd> (ACE3 default key bind `Interaction key`).
- Use the interaction key <kbd>&nbsp;Win</kbd> (ACE3 default key bind `Interaction key`).
- Select teleport to (base / rallypoint).

View File

@ -14,8 +14,8 @@ You can now use the safety mode of any weapon. Switching weapon modes takes the
## 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.
- 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

View File

@ -15,7 +15,7 @@ Note that those sandbags are affected by physics, a rocket will send them flying
### 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>Win</kbd> (ACE3 default).
- Self interact <kbd>Ctrl</kbd>+<kbd>&nbsp;Win</kbd> (ACE3 default).
- Select `Deploy sandbag`.
- Follow the instruction on screen.

View File

@ -15,16 +15,16 @@ Allows snipers to adjust their scopes horizontally and vertically in mils.
### 2.1 Adjusting your scope vertically
Please not that the following key combinations are ACE3 default key binds.
- Minor adjustment up <kbd>pageUP</kbd>.
- Minor adjustment down <kbd>pageDOWN</kbd>.
- Major adjustment up <kbd>Shift</kbd> + <kbd>pageUP</kbd>.
- Major adjustment down <kbd>Shift</kbd> + <kbd>pageDOWN</kbd>.
- 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>pageUP</kbd>.
- Minor adjustment left <kbd>CTRL</kbd> + <kbd>pageDOWN</kbd>.
- Major adjustment right <kbd>CTRL</kbd> + <kbd>Shift</kbd> + <kbd>pageUP</kbd>.
- Major adjustment left <kbd>CTRL</kbd> + <kbd>Shift</kbd> + <kbd>pageDOWN</kbd>.
- 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

View File

@ -12,7 +12,7 @@ Adds a deployable spotting scope.
## 2. Usage
### 2.1 Deploying the spotting scope
- Self interact <kbd>CTRL</kbd>+<kbd>Win</kbd> (ACE3 default).
- 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).

View File

@ -12,9 +12,9 @@ Adds a deployable ladder with adjustable height that you can transport on your b
## 2. Usage
### 2.1 Deploying the ladder
- Self interact <kbd>CTRL</kbd>+<kbd>Win</kbd> (ACE3 default).
- 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> Win</kbd> (ACE3 default) and following the instructions on screen.
- 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

View File

@ -13,12 +13,12 @@ Adds a packable tripod deployable on the field. It features a flat part to deplo
### 2.1 deploying the tripod
- Note that you need a `SSWT kit` in your inventory.
- Self interact <kbd>CTRL</kbd>+<kbd>Win</kbd>.
- 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> Win</kbd> and select the desired action.
To adjust or pick up the tripod just interact with it <kbd>&nbsp;Win</kbd> and select the desired action.
## 3. Dependencies
`ace_interaction`
`ace_interaction`

View File

@ -32,12 +32,12 @@ The Vector is controlled with 2 keys: the azimuth key and the range key; <kbd>Ta
#### 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</kbd> until the azimuth is displayed.
- 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</kbd> until the red pointing circle appears.
- 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
@ -49,35 +49,35 @@ The Vector is controlled with 2 keys: the azimuth key and the range key; <kbd>Ta
#### 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</kbd> once then press and hold it until the azimuth and inclination is displayed.
- 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</kbd> while further holding <kbd>R</kbd>. The first measurement is confirmed ("1-P" = first point).
- 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</kbd> once. The first measurement is confirmed ("1-P" = first point).
- 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</kbd> until the azimuth appears.
- Sight the circle on the first object and tap <kbd>R</kbd> while further holding <kbd>TAB</kbd>. The first measurement is confirmed ("1-P" = first point).
- Sight the second object and release <kbd>TAB</kbd>.
- 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</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</kbd>. The first measurement is confirmed ("1-P" = first point).
- Sight the Fall of shot and release <kbd>TAB</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`).
- 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

View File

@ -41,6 +41,10 @@ MBT main guns and mortars can no longer lock on enemies. The AT rounds of both n
- 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`

View File

@ -26,3 +26,71 @@ class CfgVehicles {
};
```
## 2. Functions
**NOTE THAT THE FOLLOWING FUNCTIONS ARE NOT PUBLIC AND THUS MAY CHANGE IN THE FUTURE.**</br>
Also note that if the item is too heavy you won't be able to carry / drag it, the mass is also affected by what's inside it.</br>
To bypass this empty the object and / or use setMass.</br>
### 2.1 Enabling / disabling dragging
`ace_dragging_fnc_setDraggable.` </br>
Enable the object to be dragged. </br>
| Arguments | |
--------------| -------- |
0 | Any object (Object)
1: | true to enable dragging, false to disable (Bool)
2:| Position offset for attachTo command (Array, optional; default: [0,0,0])
3: | Direction in degree to rotate the object after attachTo (Number, optional; default: 0)
Return value: NONE </br>
#### 2.1.1 example 1:
```
[foo,true,[0,2,0],45] call ace_dragging_fnc_setDraggable
```
| Arguments | |
--------------| -------- |
0:| foo (my object)
1:| true (dragging is enabled)
2:| `[0,2,0]` (0 meters sideways, 2 meters forward, 0 meters upwards)
3:| 45 (the object is rotated by 45°)
#### 2.1.2 example 2
```
[bar,false,[3,-2,2],20] call ace_dragging_fnc_setDraggable
```
| Arguments | |
--------------| -------- |
0:| bar (object)
1:| false (dragging is disabled)
2:| 3 meters sideways, -2 meters backwards, 2 meters upwards
3:| the object is rotated by 20°
### 2.2 Enabling / disabling carrying
`ace_dragging_fnc_setCarryable.` </br>
Enable the object to be carried. </br>
| Arguments | |
--------------| -------- |
0 | Any object (Object)
1:| true to enable carrying, false to disable (Bool)
2:| Position offset for attachTo command (Array, optional; default: [0,1,1])
3:| Direction in degree to rotate the object after attachTo (Number, optional; default: 0)
Return value: NONE </br>
#### 2.1.1 example 1:
```
[foo,true,[0,3,1],10] call ace_dragging_fnc_setCarryable
```
| Arguments | |
--------------| -------- |
0:| foo (my object)
1:| true (carrying is enabled)
2:| `[0,2,0]` (0 meters sideways, 3 meters forward, 1 meters upwards)
3:| 10 (the object is rotated by 10°)