Module: Sector – Arma 3

From Bohemia Interactive Community
A3 moduleSector.jpg

Bohemia Interactive's sector module allows you to easily create sector control missions. The side with the strongest force within the area (calculated by number and type of the units) will be capturing it.

Delete or disable the sector module to "finalise" the sector. Once done, capturing will be disabled and the last owner will retain the control forever.


Properties

The sector and its behavior can be modified by changing the properties either in the module editor or by using setVariable on the sector. Use BIS_fnc_moduleSector to edit the sector after it has been created.

Property (Module Attributes) Variable Name Variable Type Description Default Value
Name "Name" String Sector name visibile on a map, in a task and in a notification. Next NATO Phonetic Alphabet Letter (see BIS_fnc_phoneticalWord)
Designation "Designation" String Single letter visible in the sector icon (when empty, first letter of the name will be used). First letter of "Name"
Ownership Limit "OwnerLimit" Number How much a side needs to be dominant in order to capture a sector. Value is in range <0,1>, where 1 is full dominance. "0"
Expression "OnOwnerChange" Code Code executed when the ownership changes. Passed arguments are:
params ["_sector", "_owner", "_ownerOld"];
"true"
"CaptureCoef" Number Speed at which any unit captures the zone. "0.05"
Infantry cost "CostInfantry" Number Ratio of how fast infantry units will capture the sector. "1"
Wheeled vehicle cost "CostWheeled" Number Ratio of how fast wheeled vehicles will capture the sector. "1"
Tracked vehicle cost "CostTracked" Number Ratio of how fast tracked vehicles will capture the sector. "1"
Naval cost "CostWater" Number Ratio of how fast naval vehicles will capture the sector. "1"
Aircraft cost "CostAir" Number Ratio of how fast aircraft will capture the sector. "1"
Players cost "CostPlayers" Code Ratio of how fast players will capture the sector, combined with other costs. "1"
Default Owner "DefaultOwner" Number Default sector owner, even if he has no units in the sector (see BIS_fnc_sideID). "-1"
Task Owners "TaskOwner" Number Sides which will receive the tasks. Values from 0 to 3 are accepted.
  • 0: No one
  • 1: Everyone
  • 2: Only default sector owner
  • 3: Everyone except the default sector owner
0
Task title "TaskTitle" String Title of the automatically added task. Use %1 to add the sector name. When empty, no task will be added. "%1"
Task description "TaskDescription" String Description of automatically added task. Use %1 to insert the sector name, %2 to enter sector rewards (e.g. unlocked vehicles or respawn points), %3 to insert description of capturing costs. "%1%2%3"
Seize Reward "ScoreReward" Number Score awarded to the side which captured the sector. 0


How To

  1. Open the editor and create the module ModuleSector_F.
  2. Add a name to the sector and set the properties as you want them to be.
  3. Create a location game logic next to the module.
  4. Create a new trigger and set the activation mode to everyone. The trigger's size and position represents the area of the sector.
  5. Synchronise the trigger with the location object.
  6. Synchronise the location object with the sector module.
  7. Create the bluefor and opfor game logics and synchronise them with the sector module as well.

Now you have created a sector that can be captured by Blufor and Opfor at the trigger position. Test your mission!


Scripted Sector Module Creation

SQF can be used to create a sector by creating a logic group, by creating a unit of class "ModuleSector_F" then using BIS_fnc_moduleSector to initialise it:

// createGroup and createUnit are needed to create modules // creating them with createVehicle will not work private _group = createGroup sideLogic; private _sector = _group createUnit ["ModuleSector_F", _position, [], 0, "CAN_COLLIDE"]; // _position is [x, y, z] // it is possible to change the sector's parameters using setVariable _sector setVariable ["Name", "My Sector", true]; _sector setVariable ["Designation", "S", true]; _sector setVariable ["sides", [west, east], true]; _sector setVariable ["DefaultOwner", 0, true]; [_sector] call BIS_fnc_moduleSector; // initialises the sector // after initialisation, sync an area trigger to the module, it will be the capture area private _area = createTrigger ["EmptyDetector", _position]; _area setTriggerArea [10, 10, 0, false]; // change values depending on the size you want _area setTriggerActivation ["ANY", "PRESENT", false]; _sector setVariable ["areas", [_area], true];


Useful Resources


See Also