Hamster2k/Sandbox – User

From Bohemia Interactive Community
< Hamster2k
Category: Sandbox
m (Cleanup)
Tag: Replaced
 
Line 1: Line 1:
==Properties==
[[Category:Sandbox]]
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.
<!-- edit below -->
{| class="wikitable"
|-
!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: <sqf>params ["_sector", "_owner", "_ownerOld"];</sqf>
|"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
|}
 
== 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", syncing an area trigger to it 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>

Latest revision as of 22:25, 11 September 2025