Skip to content

Plugins

Coryf88 edited this page Jul 3, 2022 · 14 revisions

Framework Plugins

Plugins are the backbone of the Framework, determining what features are added into the mission and how they are configured - and as such they behave in a fundamentally modular manner, configured to not only work out of the box with the rest of the Framework, but also simple to be disabled and removed should the mission maker call for it.

Disabling Plugins

If one or more features aren't what you need in your mission, worry not, as removing them is very simple. Open and comment whatever you desire from:

framework\plugins\plugins.cpp

Keep in mind that every single plugin has been added for a reason and is properly optimized - removing plugins to avoid "bloat" might be tempting but it solves a problem that doesn't exist in the first place.

LIST OF PLUGINS


ACE3 Compatibility

Description:

The plugin will spawn all modules required to make ACE3 work dynamically, without the necessity of placed modules. Thanks to it, several parameters may be set on an individual mission standard.

Parameters:

Revive time - determines how long players will have to live after going unconscious. Lives - How many times can a player die before no longer being able to get up. Medical System - determines between the Advanced and Basic medical system. Make everyone medic - Self-explanatory.

Settings:

All settings can be found at mission\settings\mods-settings\ace3-settings.sqf.

Enables litter and discards upon treatment.

ACE_medicalTreatment_allowLitter = true;

Delay for removing litter objects in seconds.

ACE_medicalTreatment_litterRemove = 3000;

Enable screams of pain.

ACE_Medical_screams = true;

Damage a player can sustain before being killed.

ACE_Medical_playerDamage = 1;

Damage the AI can sustain before being killed

ACE_Medical_aiDamage = 1;

Enables unconscious states for AI-controlled units.

ACE_Medical_unconAI = 0;

Prevents units from dying instantly and makes them unconscious instead.

ACE_Medical_preventInstaDeath = true;

Coefficient to modify the bleeding speed

ACE_Medical_bleeding = 1;

Coefficient to modify the pain

ACE_Medical_pain = 1;

Advanced medical settings:

Select what units the medical system will be enabled for (adv only).

ACE_Medical_enableFor = 0;

Enable wounds reopening.

ACE_Medical_advWounds = true;

Enable damage from vehicle crashes

ACE_Medical_Veh = true;

Who can use the PAK?

ACE_medicalTreatment_usePAK = 1;

Consume PAK on treatment

ACE_medicalTreatment_consumePAK = 1;

Locations enabled for PAK use

ACE_medicalTreatment_usePAKLocation = 0;

Who can use the surgical kit?

ACE_medicalTreatment_useSurgKit = 1;

Consume a Surgical Kit on treatment

ACE_medicalTreatment_consumeSurgKit = 0;

Locations enabled for Surgical Kit use

ACE_medicalTreatment_useSurgKitLocation = 0;

AGM Compatibility

Description:

This plugin is manages the creation of AGM related modules, such as respawning and the medical system, tied to the relevant parameters.

Parameters:

Revive time - determines how long players will have to live after going unconscious.

Settings:

Non-medic units can use epinephrine and blood bags.

agm_settings_AllowNonmedics = true;

Unconcious units wake up by themselves after a while.

agm_settings_AutomaticWakeup = true;

How much a unit bleeds, default 1.

agm_settings_CoefBleeding = 1;

How much damage a unit takes, default 1.

agm_settings_CoefDamage = 1;

How harder it is for non-medics to perform medical actions, default 1.

agm_settings_CoefNonMedic = 4;

How much pain a unit feels, default 1.

agm_settings_CoefPain = 1;

Player units who are unconcious will not die after being shot again.

agm_settings_PreventDeathWhileUnconscious = true;

Player units won't die before going unconcious.

agm_settings_PreventInstaDeath = true;

Require a diagnosis before treating a wounded unit.

agm_settings_RequireDiagnosis = false;

Require only a single bandage to treat a unit.

agm_settings_SingleBandage = false;

Disables screams of pain.

agm_settings_DisableScreams = false;

Functions:

NAME: BRM_AGM_fnc_AGM_RevivePlayer
AUTHOR(s): Nife
DESCRIPTION: Revives a unit's AGM parameters.
PARAMETERS:
    0 - Player (OBJECT)
USAGE:
[player] spawn BRM_AGM_fnc_AGM_RevivePlayer;
RETURNS: Nothing.

AO Limit

Description:

Runs any code the mission maker wants whenever a player leaves the designated Area of Operations, denoted by a marker named "ao".

Settings

Code that will be executed when a player leaves the area. _pos - Position within the area. _targetObject - Player, or player's vehicle, that left the area.

left_ao_do = { hintSilent "Please remain within the Area of Operations." };
left_ao_do = { _targetObject setPos _pos };
left_ao_do = { _targetObject setDamage 1 };

Block third-person

Description:

It's very common that depending on the context of your mission, the use of Third Person perspective might be undesirable: for TvTs and other scenarios where realism is intended, it can cause balance issues and make things weird. However disabling it all together isn't a good solution as some missions will require players to drive in vehicles with no modeled interiors or fly on first person only, which might prove difficult.

So in order to give the mission maker the choice, a plugin to block the use of third person depending on context has been included into the Framework.

Parameters

Who will be able to use third person mode? DISABLED / EVERYONE / DRIVERS

Settings

Add units who you wish to be exempt from the restriction:

tp_allowed_units = [];

CH View Distance

Description:

Excellent script by Champ-1, integrated to work with the framework as a Plugin you can easily disable and configure.

Press the "U" key to open the menu to change your terrain/object rendering distance.

Settings:

Allows players to turn grass off - recommended FALSE for TVTs.

CHVD_allowNoGrass = true;

Max rendering distance for the terrain.

CHVD_maxView = 12000;

Max rendering distance for objects.

CHVD_maxObj = 12000;

Chairs Plugin

Description:

This is a plugin that makes chairs sittable, based off this script made by McRae. You can also drag them around, but be careful not to trip over them and break your neck.


Civilian casualties counter

Description:

Players can get particularly trigger-happy in missions, completely disregarding the safety of the poor and innocent virtual dwellers of their virtual battles. In order to add some extra dose of challenge, this script will watch over how many civilians are killed, and upon reaching a certain threshold, punish the perpetrators with a mission failure.

Settings:

Include all sides who will be held accountable for civilian deaths:

responsible_sides = [side_a_side, side_b_side]

Parameters:

How many civilians can be killed before the mission ends.


Commander Lock

Description:

Before a mission can be properly started, some extra preparations are usually needed, whatever they may be. With that in mind, this plugin will make sure that until an authorized unit gives the mission the All Clear, players will not be able to fire their weapons, throw any grenades, enter any vehicles, or if your mission is a TVT, leave their setup zones.

Settings:

These units will be allowed to either start the mission, or ready their respective sides. Must be a string that compiles as an array.

 co_lock_units = "[blu_0_0_1, op_0_0_1, ind_0_0_1]";

TVT mode, meaning the players will have to wait until other sides are ready as well.

 co_lock_tvt_mode = false;

CSSA3 Spectator Script

Description:

A really well made Spectator Script by Cyrokrypto, adapted to work with the default Respawn System in the Framework.


DAC Plugin

Description:

Working with DAC can be confusing and painful, especially considering the vast amount of features and customizations. With that in mind, the Framework includes a way to create DAC zones using nothing but verbose sentences, all Headless Client compatible.

This is a large subject, so this plugin is detailed in further detail in its own page.


F3's Casualties Cap

Description:

Adapted version of the F3 Framework's Casualties Cap component, edited to work with the BromA Framework.

Settings:

These will determine the GROUPS accounted by the script (must be a string that evaluates to an array):

casualty_group_a = "[blu_1_0, blu_1_1, blu_1_2, blu_2_0, blu_2_1, blu_2_2, blu_3_0, blu_3_1, blu_3_2, blu_4_0, blu_4_1, blu_4_2]"

Parameters:

How many players must be dead (%) in order to fail the mission.


F3's Body Removal

Description:

Removes the bodies of any dead AI units that fulfill certain criteria.

Settings:

How long it'll take until the corpse is removed:

f_var_removeBodyDelay = 2

How far do players have to be from it:

f_var_removeBodyDistance = 5

Friendly Fire warning

Description:

Ain't nothing better than some good ol' blue on blue to spice up some engagements. But for whenever you need to know who just annihilated one of their own, this Plugin will come in handy.

Settings:

How long until the message is shown to the players:

friendly_fire_timer_minutes = 1;

Account for AI units:

friendly_fire_count_AI = false

Headless Client manager

Description:

If any of you doesn't know what the Headless Client is, I suggest you start by reading this page. Otherwise, this plugin will determine which entity will be tasked with running the relevant AI scripts.

Uses many functions from the Core Framework in order to spawn editor-placed AI into the Headless Client.

Parameters:

Enable Headless Client?


Intros

Description:

Some nice and simple pre-configured intro cutscenes that you can use in your mission.

Settings:

"ESTABLISHING" will create a establishing shot type of scene on the character, "TEXT" will simply write on the screen the name of the nearest location and time, "CINEMA" will achieve a similar aesthetic but with a border effect and "CUSTOM", well, you're supposed to customize that one.


JIP Teleport

Description:

This plugin will create a prompt to all players who Join in Progress, and upon pressing SPACE BAR, they will be teleported to his squad mates or whatever vehicle they happen to be in.


Loading screen

Description:

Draws a black screen with a loading message while the player's game loads.

Settings:

How many frames need to be achieved:

 _reqFPS = 20;

How many seconds until the loading times out:

 _timeout = 5;

Map Cover

Description:

Covers the AO with a marker in order to emphasize its borders - just make sure you have a rectangular marker in your mission named "ao" in order to define it.


Mission maker tools

Description:

Adds a few handy functions to the player when testing single player. Namely, Teleporting, opening the Virtual Arsenal, Initializing all AI units and stopping them from moving.


Prevent Reslot

Description:

After a certain period of time, the server will lock players into their current slots, and will prevent any attempt to re-join as a different unit.

Settings:

How much time players have to switch before being locked:

 mission_preventreslot_timer = 10*60

Respawn System

Description:

This simple respawn system manages player lives and whether or not a player should be able to respawn, integrated with the Spectator System.

Parameters:

Amount of lives players will have. If players will be able to respawn at all.

Functions

NAME: BRM_RespawnSystem_callRespawn
AUTHOR(s):  Nife
DESCRIPTION:
	Revives either a player who was previously dead, or any number of
	units.
PARAMETERS:
	0 - Who to revive - maybe either a STRING with a player's in-game name,
	or the amount of players who will be revived.
	1 - (OPTIONAL) How many lives they will get. If left blank
	default parameter number will be used. (NUMBER)    
USAGE:
	["Nife",2"] call BRM_RespawnSystem_callRespawn;    
	[4] call BRM_RespawnSystem_callRespawn;    
RETURNS: Nothing.

Setup Zone

Description:

Creates a perimeter around the players in TvT missions in which they cannot leave, removed only upon a certain time limit is reached or if the Commander Lock plugin is enabled, all sides are ready to start the mission.

Settings:

How large is the setup area, in square meters:

 setup_zone_area = 50;

Parameters:

How long will the setup zone stay up for.


Spawn AI

Description:

Ever needed to spawn some AI in your mission without wanting to deal with DAC's limitations, but short of time to learn something new? Don't worry, the Framework has you covered. This plugin will handle AI spawning in an extremely flexible and simple manner, and in only a few minutes you'll have your enemies up and running.

Examples and parameters:

The plugin utilizes only a single function, BRM_SpawnAI_fnc_infantry (although it does way more than just create infantry).

[WEST, "USARMY", 0, 2, 1, 0.5, "AWARE", "YELLOW", "PARADROP", ["B_Heli_Light_01_F"], true, ["point_2_1"], ["point_2_LZ"], ["point_2_2"], [200,100,50]] spawn BRM_SpawnAI_fnc_infantry;

0 - Side of the units. (SIDE)
1 - Loadout. (STRING)
2 - Type of units (NUMBER): 0: Regular infantry, 1: Recon, 2: Snipers
3 - How many groups will be spawned. (NUMBER)
4 - The size of the groups. (NUMBER): 0: Duo, 1: Fire-team, 2: Squad, 3: Platoon
5 - Unit skill. (SCALAR)
6 - Behavior. (STRING)
7 - Combat mode. (STRING)
8 - Task. (STRING) "ATTACK" / "DEFEND" / "PATROL" / "PARADROP"
9 - Possible vehicles to be used. (ARRAY of VEHICLES) - This may be left empty.
10 - Whether the vehicle will return after dropping off the infantry.
11 - Possible starting points. (ARRAY of MARKERS)
12 - Possible LZ/drop-off points. (ARRAY of MARKERS) - This may be left empty.
13 - Possible end points. (ARRAY of MARKERS)
14 - Radius of spawn (ARRAY): [Start, LZ, End]

Spawn Protection

Description:

Nobody likes getting killed because of an accidental grenade or misfire right after the mission starts. This plugin creates a protection zone around each side's respawn point, protecting friendly units from any kind of damage.

Settings:

How large is the spawn protection area, in square meters.

 spawn_protection_area = 50;

Parameters:

How long will the spawn protection stay up for.


Sync Status

Description:

Whenever a player disconnects or leaves the session for whatever reason, the server will memorize its mission relevant data, like location, AGM status, gear the player had with him and even what vehicle he was in - and then reassign them all upon him/her joining once again.


Team Roster

Description:

Creates a diary page with information about all members of your side, separated by group, colored by class and denoted by rank. Works with custom callsigns.


TFAR Compatibility

Description:

Simple plugin that manages TFAR settings and runs a script that allows the AI to hear players talking to each other in Team Speak.

Settings:

tf_same_sw_frequencies_for_side = true;

tf_same_lr_frequencies_for_side = true;

tf_no_auto_long_range_radio = true;

TF_give_personal_radio_to_regular_soldier = false;

TF_give_microdagr_to_soldier = false;

Time Acceleration

Description:

Creates a module that makes time go faster. Can also freeze time.

Parameters:

How fast will time go?


Time Limit

Description:

After a certain time limit has passed in the mission, the main side in the mission will fail it.

Settings:

At during which minutes should the script remind players of how much time is there left?

 time_alerted_minutes = [120, 60, 15, 1]
Clone this wiki locally