Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| f3-acre-setup [2016/01/06 22:11] – snippers | f3-acre-setup [2016/03/24 15:55] (current) – removed snippers | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 1Tac F3 Radio ACRE2 component ====== | ||
| - | ===== General Design Notes ===== | ||
| - | The main idea behind the ACRE2 radio allocator is to offer a lot of flexibility and power to the mission maker. You should be able to create just about any radio layout with it. The fundamental design is to use a large array in which you define every radio channel you want to see used, this radio channel listing will be outputted in to a briefing page (pictured below), highlighting all the channels the player should be on. You should only need to edit the settings file, found in / | ||
| - | |||
| - | {{: | ||
| - | ===== Modifying Languages Available ===== | ||
| - | |||
| - | Firstly the languages available in the mission are specified in an array at the top. | ||
| - | |||
| - | <code cpp> | ||
| - | f_radios_settings_acre2_languages = [[" | ||
| - | </ | ||
| - | |||
| - | The languages are specified as a 2 part array. In the example [" | ||
| - | |||
| - | ===== Tweaking who can speak which language ===== | ||
| - | |||
| - | The following code controls the language a unit can speak, you can tweak this function to return different languages. As this is done by side rather than faction NATO and FIA by default both speak english. | ||
| - | |||
| - | <code cpp> | ||
| - | f_radios_settings_acre_babel_assignment = { | ||
| - | | ||
| - | |||
| - | | ||
| - | case west: { _languagesToSpeak pushBack " | ||
| - | case east: { _languagesToSpeak pushBack " | ||
| - | case resistance: { _languagesToSpeak pushBack " | ||
| - | default { _languagesToSpeak pushBack " | ||
| - | }; | ||
| - | |||
| - | | ||
| - | }; | ||
| - | </ | ||
| - | ===== Modifying channels ===== | ||
| - | |||
| - | The first step to do is to modify the radio channel specification. | ||
| - | |||
| - | <code cpp> | ||
| - | f_radios_settings_acre2_radioChannels = [ | ||
| - | // Batched by Preset (First entry of every preset is condition to use the preset) | ||
| - | // chn entry: NAME, DESCRIPTION, | ||
| - | [ // 0 | ||
| - | {toLower (faction _unit) == " | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | ], | ||
| - | [ // 1 | ||
| - | {side _unit == east}, | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | ], | ||
| - | [ // 2 | ||
| - | {side _unit == resistance}, | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | ], | ||
| - | [ // 3 | ||
| - | {toLower (faction _unit) == " | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | [" | ||
| - | ] | ||
| - | ]; | ||
| - | </ | ||
| - | |||
| - | This is the channel specification, | ||
| - | By default: 0 is for NATO, 1 is for CSAT, 2 is for AAF, and 3 is for FIA. Each line after corresponds to a channel. Below is an example of one of these lines: | ||
| - | |||
| - | <code cpp> | ||
| - | |||
| - | It is split into several components: | ||
| - | |||
| - | * " | ||
| - | * "Bravo Squad Net" - This is the **channel description** that is shown on the briefing page, you should ideally give a little bit of information on the channel' | ||
| - | * " | ||
| - | * {[_unit," | ||
| - | |||
| - | ===== Building channel conditions: ===== | ||
| - | |||
| - | The channel condition is used to determine which units and who is meant to be a radio channel, there are a few methods of distinguishing between different units typically these involve either: the unit's kit (assign gear role), the group they part of, or if they are the leader of a group or lastly if it is exact unit. | ||
| - | |||
| - | ==== Unit Kit (F3 Assign Gear Role): ==== | ||
| - | Using _typeOfUnit, | ||
| - | <code cpp> | ||
| - | |||
| - | ==== Group membership: ==== | ||
| - | f_isUnitInGroupArray can be used to check if a unit belongs to one of the groups listed. The group name you should use is the Group' | ||
| - | |||
| - | <code cpp> | ||
| - | |||
| - | ==== Group leader: ==== | ||
| - | f_isUnitLeaderInGroupArray is exactly the same as the above but instead of checking if they are part of the group only returns true if they are leader. | ||
| - | |||
| - | <code cpp> | ||
| - | |||
| - | ==== Specific Unit: ==== | ||
| - | Finally, if your interested in an exact unit instead of a role or group, e.g. a specific JTAC. The following checks if the unit is UnitNATO_ASL. | ||
| - | |||
| - | <code cpp> | ||
| - | |||
| - | ===== Special radio channels: ===== | ||
| - | Special radio channels are channels that allow communication between multiple presets. The only difference is that the first paramter e.g. [0,3] corresponds to the block numbers from the f_radios_settings_acre2_radioChanels that the channel should appear on. | ||
| - | |||
| - | <code cpp> | ||
| - | // Presets, channel should be accesible in, DETAILS, CONDITIONS OF BEING IN IT. | ||
| - | [[0, | ||
| - | ]; | ||
| - | </ | ||
| - | |||
| - | ====== Changing the radio allocation ====== | ||
| - | There are two methods to giving individual units radios. First there is a manual allocator which runs first, here you can decide what radios are unit gets and any radios in _radiosToGive will be given to the unit. This is a good place to add backpack radios for specific units that should have them. | ||
| - | |||
| - | <code cpp> | ||
| - | f_radios_settings_acre2_allocation = { | ||
| - | _radiosToGive = []; | ||
| - | _unit = _this select 0; | ||
| - | _typeOfUnit = _this select 1; | ||
| - | | ||
| - | // Give everyone a 343. | ||
| - | _radiosToGive pushBack " | ||
| - | | ||
| - | |||
| - | if (_typeOfUnit in [" | ||
| - | _radiosToGive pushBack " | ||
| - | }; | ||
| - | if (_typeOfUnit in [" | ||
| - | // | ||
| - | }; | ||
| - | // | ||
| - | // | ||
| - | _radiosToGive // return list of radios to give. | ||
| - | }; | ||
| - | </ | ||
| - | After the manual allocator is run, the unit will be checked against all the channels and it the radio channel allocator will figure out if you are missing any radios, if you are missing/ | ||
| - | <code cpp> | ||
| - | |||
| - | It is perfectly accessible to comment out all the radios in the f_radios_settings_acre2_allocation and use just the missing radio allocator based on your channel specifications to issue radios. | ||
| - | |||
| - | |||
| - | |||