Module: Sector – Arma 3
(More details on properties regarding variable name, type and usage) |
(Add section about using SQF to create a sector module) |
||
Line 125: | Line 125: | ||
Open the editor (2D or Eden) and create the module '''ModuleSector_F'''. Add a name to the sector and set the properties as you want them to be. Create a '''location''' game logic next to the module. Create a new '''trigger''' and set the activation mode to ''everyone''. The trigger's size and position represents the area of the sector. Synchronize the trigger with the ''location object''. Synchronize the ''location object'' with the sector module. Create the game logic ''bluefor'' and ''opfor'' and synchronize 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! | Open the editor (2D or Eden) and create the module '''ModuleSector_F'''. Add a name to the sector and set the properties as you want them to be. Create a '''location''' game logic next to the module. Create a new '''trigger''' and set the activation mode to ''everyone''. The trigger's size and position represents the area of the sector. Synchronize the trigger with the ''location object''. Synchronize the ''location object'' with the sector module. Create the game logic ''bluefor'' and ''opfor'' and synchronize 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! | ||
== Creating a Sector Module from SQF == | |||
== Useful | You can also use code to create a sector by creating a logic group, creating a unit of class "ModuleSector_F" and then using [[BIS_fnc_moduleSector]] to initialize it: | ||
<sqf> | |||
//You need to use createGroup and createUnit 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] | |||
//You can change the parameters of your sector by 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; //Initializes your sector | |||
//After initialization, 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]; | |||
</sqf> | |||
== Useful Resources == | |||
* [https://www.youtube.com/watch?v{{=}}p0AGI49H9Qg Video Tutorial by pickinthatbanjo] | * [https://www.youtube.com/watch?v{{=}}p0AGI49H9Qg Video Tutorial by pickinthatbanjo] |
Revision as of 20:10, 11 September 2025
Introduction
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 'finalize' the sector. Once done, capturing will be disabled and the last owner will retain the control forever.
Properties
You can modify your sector and its behavior by changing the properties either in the module editor or by using setVariable on your sector variable. Use BIS_fnc_moduleSector to modify your 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: |
"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
Open the editor (2D or Eden) and create the module ModuleSector_F. Add a name to the sector and set the properties as you want them to be. Create a location game logic next to the module. Create a new trigger and set the activation mode to everyone. The trigger's size and position represents the area of the sector. Synchronize the trigger with the location object. Synchronize the location object with the sector module. Create the game logic bluefor and opfor and synchronize 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!
Creating a Sector Module from SQF
You can also use code to create a sector by creating a logic group, creating a unit of class "ModuleSector_F" and then using BIS_fnc_moduleSector to initialize it:
Useful Resources
See Also
- BIS_fnc_moduleSector
- BIS_fnc_bleedTickets for creating a sector mission based on a ticket system