-
Notifications
You must be signed in to change notification settings - Fork 84
For Mission Makers
AGM has a lot to offer for mission makers.
- Modules
- BlueForceTracking
- Check PBOs
- Explosive System
- Fatigue System (deprecated)
- Friendly Fire Messages
- Interaction
- Medical System
- Rallypoint System
- Repair System
- Respawn System
- LSD Vehicles
- Scripting functions
- Defining a unit as a medic
- Defining a unit as an EOD
- Defining a unit as a pilot
- Allowing objects to be draggable
- Adding custom options to interaction menus
- Replacing the setCaptive command
- Allowing AI units to fall unconcious
- Adding Logistic items to vehicles
- Handcuffing units
- Mission Tools
- AGM Rally Points
Part of: AGM_Map
When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker.
Settings:
- Interval (Number)
How often the markers should be refreshed (in seconds).
Default value: 5
- Hide AI Groups (Boolean)
Hide markers for "AI only" groups.
Default value: No
Part of: AGM_Core
If you are worried that players haven't updated AGM to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of AGM:
- Warn once
- Warn permanent
- Kick
Settings:
- Action (Option)
What to do with people who do not have the right PBOs.
Default value: "Warn once"
Part of: AGM_Explosive
The "Explosive System" module lets you tweak the settings for the new explosive system that AGM introduces.
Settings:
- Require explosive specialists? (Boolean)
Require explosive specialists to disable explosives.
Default value: No
- Punish non-specialists? (Boolean)
Increase the time it takes to complete actions for non-specialists.
Default value: Yes
Warning: This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.
Part of: AGM_Respawn
The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting.
Part of: AGM_Interaction
This module allows you to tweak the settings for player names tags.
Settings:
- Player Names View Distance (Number)
Sets the distance (in meters) at which player name tags become visible.
Default value: 5
Part of: AGM_Medical
When using the medical system AGM offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that.
Settings:
- Bleeding Speed Coefficient (Number)
Multiplier for the rate of bleeding.
Default value: 1
- Pain Effect Coefficient (Number)
Multiplier for the intensity of the pain effect (chromatic abberation).
Default value: 1
- Max Unconscious Time (Number)
Maximum time (in seconds) for a unit to be unconscious before dying. -1 disables this.
Default value: -1
- Allow non-medics? (Boolean)
This setting is used to allow non-medics to use epipens and bloodbags.
Default value: No
- Punish non-medics? (Boolean)
Increase the time it takes to complete actions for non-medics.
Default value: Yes
- Require diagnosis? (Boolean)
Require an unconscious patient to be diagnosed before allowing treatment.
Default value: No
- Prevent instant death? (Boolean)
Prevent instant death and always put players in unconscious state instead.
Default value: No
- Prevent death while unconscious? (Boolean)
Make unconscious units invulnerable.
Default value: No
- Single Bandage (Boolean)
Use one bandage to heal the entire body.
Default value: No
- Unconscious can chat? (Boolean)
Allow all players to use chat while unconcious? Admin can always use the chat regardless.
Default value: No
Part of: AGM_Respawn
This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint.
Note: It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at 3.1 AGM Rallypoints.
Part of: AGM_Logistics
Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions.
Settings:
- Heavy Repair Time (Number)
Time to repair engine/turret/body/fuel components (in seconds).
Default value: 10
- Wheel Replace Time (Number)
Time to replace a wheel (in seconds).
Default value: 10
- Track Replace Time (Number)
Time to replace a track (in seconds).
Default value: 10
- Maximum Repaired Damage (Number)
Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.
Default value: 0
Part of: AGM_Respawn
The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds).
Settings:
- Save Gear? (Boolean)
Respawn with the gear a player had just before his death.
Default value: No
Part of: AGM_Core
And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module. http://youtu.be/X3e0LTexEok
You can also set individual units as medics by using the following init line:
this setVariable ["AGM_IsMedic", true];
You can also use this on vehicles, to turn them into medical vehicles.
You can set individual units as EOD by using the following init line:
this setVariable ["AGM_IsEOD", true];
You can define set the g-loc resistance setting for any given unit by using the following init line:
this setVariable ["AGM_GForceCoef", 0.75];
were 0.75
is the default value used for Arma3 pilot classes.
Put [this, false] call AGM_Drag_fnc_makeDraggable;
on the init field of the object.
It is possible to add your own actions to the Interaction and Self Interaction Menu.
AGM_Interaction_fnc_addInteraction
AGM_Interaction_fnc_removeInteraction
AGM_Interaction_fnc_addInteractionSelf
AGM_Interaction_fnc_removeInteractionSelf
Note: To decrease traffic in MP the conditions and statements used with AGM_Interaction_fnc_addInteraction
should be compiled on every machine on mission start:
My_Condition = {...};
My_Script = {...};
...
if (isServer) then {
[tank_A, "My action name", 10, "My_Condition", "My_Script", 0] call AGM_Interaction_fnc_addInteraction;
};
Q: I am told setCaptive is not working because of AGM. Is this true and what pbo do I need to remove to fix this?
A: Set captive is used in arma to prevent a unit from being shot at by the opposing faction. AGM, as other medical addons, needs it to ensure unconcious units are no longer attacked. To maintain compatibility between the different uses of the command, we have a special function to replace it on custom missions, which supports multiple simultaneous reasons for unit to be not shot at.
Instead of using the vanilla setCaptive command, use the AGM variant. Syntax: (e.g. Handcuffing)
// to handcuff
[this, "MyTag_Handcuffed", true] call AGM_Interaction_fnc_setCaptivityStatus;
// to uncuff
[this, "MyTag_Handcuffed", false] call AGM_Interaction_fnc_setCaptivityStatus;
// is this unit handcuffed?
_isHandcuffed = "MyTag_Handcuffed" in ([_unit] call AGM_Interaction_fnc_getCaptivityStatus);
Check this for more information: https://github.com/KoffeinFlummi/AGM/issues/542 (requires AGM v0.93)
Normally unconciousness is only simulated on AGM for players, so AI units die instantly when knocked out. However, it is possible to enable unconciousness for certain AI units setting the following variable on init field:
this setVariable ["AGM_AllowUnconscious", true];
This is useful for AI teammates in SP and VIPs in Coop MP missions.
It is possible to add more Logistic items (like jerry cans and spare parts) to a vehicle. To do so you need to use something like the following:
// _myVehicle is a reference to the vehicle object
_myVehicle spawn {
private ["_item", "_i"];
waitUntil {!isNil "AGM_Logistics_loadedItemsDummy"};
// adds 4 spare wheels
for "_i" from 0 to 3 do {
_item = ['AGM_SpareWheel', [-1000, -1000, 100]] call AGM_Logistics_fnc_spawnObject;
[_this, _item] call AGM_Logistics_fnc_initLoadedObject;
};
// adds 6 jerry cans
for "_i" from 0 to 5 do {
_item = ['AGM_JerryCan', [-1000, -1000, 100]] call AGM_Logistics_fnc_spawnObject;
[_this, _item] call AGM_Logistics_fnc_initLoadedObject;
};
};
If you want to handcuff units use the following script in the units init field.
if (isServer) then {
[this, true, true] call AGM_Interaction_fnc_setCaptive;
};
Part of: AGM_Respawn
AGM Rallypoints is a two way teleport system between to positions. Usually this is used to transport units that have died during a mission back to the front line. The rallypoints are portrayed by flagpoles (West, East and Independant flagpoles are available) that have a "Base" and an "Exit" version.
They can be found in the editor under: "Empty" >> "AGM Respawn"
Classnames:
-
AGM_Rallypoint_West
,AGM_RallypointExit_West
-
AGM_Rallypoint_East
,AGM_RallypointExit_East
-
AGM_Rallypoint_Independent
,AGM_RallypointExit_Independent
Using the Interaction Menu on a rallypoint offers the ability to teleport from one flagpole to the other flagpole and vice versa.
If you want to change the texture of the flag use this line:
this setFlagTexture 'path\to\my\texture\my_awesome_clan_logo.paa';
Note: You can't place more than one rallypoint of the same type.
All units synced to the "Rallypoint System" module are able to move the rallypoint.
To enable other units to move them add this to the unit's initialization code:
_unit setVariable ["AGM_canMoveRallypoint", true, true];