Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
arma_editing:missions:framework:gear [2017/04/20 15:37]
thendash created
arma_editing:missions:framework:gear [2017/11/22 14:57] (current)
Line 1: Line 1:
-===== Choosing Gear ===== +~~TitleGear~~
-The are several considerations when choosing a loadout for your mission. +
-=== Faction === +
-The faction of choice has an obvious impact on the loadout, including camouflage patters and weapon selection. ​  +
-The uniform is usually the primary identifier of a faction, so at this stage choose gear for the following  +
-  * Uniform +
-  * Vest +
-  * Helmet +
-  * Backpack+
  
-=== Unit Type === +==== The Basics ====
-The unit type will have an impact primarily on the choice of primary weapon. ​  +
-At this stage choose gear for the following: ​  +
-  * Primary Weapon +
-  * Primary ammunition +
-  * Secondary Weapon +
-  * Secondary ammunition +
-  * Cross loaded ammunition +
-  * Unit specific equipment+
  
-=== Mission === +All gear config data is lies inside ​of the ''​Gear''​ class inside of the ''​CBB_Framework''​ config class.
-The type, time, and location ​of a mission will have an impact on required equipment. +
-  * NVGs +
-  * Explosives +
-  * Flares +
-  * Flashlights +
-  * Diving equipment+
  
-=== Default Gear === +The gear system has 2 major components those components being: 
-The following equipment is usually considered default for all unit types. +  ​- The class mapping 
-  ​* Radio +  ​- Equipment sets
-  ​* Map +
-  * Map flashlight +
-  * Compass +
-  * Watch +
-  * Smoke grenades +
-  * Frag grenades +
-  * Basic medical supplies +
-    * Quick Clot +
-    * Basic Bandage +
-    * Packing Bandage +
-    * Elastic Bandage +
-    * Tourniquet +
-    * Combat Pills+
  
-===== Gear Script ===== +\\ 
-The Clearbackblast mission framework includes a gear script that is automatically run on all player units at mission start. ​  +\\
-Set the gear script for each faction using the file at:   +
-<​code>​cbb_framework_a3.VR\CBB\gear\CBB_gear_init.sqf</​code>​ +
-The default BLUFOR gear script is based on the US Army faction: ​  +
-<​code>​CBB_soldier_west_rhs_usarmy.sqf</​code>​+
  
-==== Making a New Gear Script ​==== +==== Class Mapping ​==== 
-  - Copy an existing gear script. +For each unit in Arma 3, vanilla or otherwise, ​the framework contains a mapping of what a certain unit's role is. For example, ''​rhsusf_army_ocp_rifleman''​ is of type ''​Rifleman''​All class mapping data exists inside of the ''​ClassMapping''​ class, inside of the ''​Gear''​ class.  ​Units are defined via their classname as a property name, with their value being the role they areAn example:
-  - Modify ​the filename as you desireConsider including ​the faction. +
-  - Modify ​the gear init script so that the desired faction points to your new gear script<​code>​ +
-cbb_framework_a3.VR\CBB\gear\CBB_gear_init.sqf  ​+
  
-9.   ​CBB_soldierprep_west ​      compile preprocessFileLineNumbers ("CBB\gear\XXXXXX.sqf")+<sxh c++> 
-10.  CBB_soldierprep_east compile preprocessFileLineNumbers ("CBB\gear\XXXXXX.sqf")+    /** 
-11.  CBB_soldierprep_resistance compile preprocessFileLineNumbers ("CBB\gear\XXXXXX.sqf")+     * 
-</code>+     ​* ​ [RHS] US Army OCP 
 +     * 
 +    **/ 
 +    rhsusf_army_ocp_aa ​= "AntiAir"; 
 +    ​rhsusf_army_ocp_autorifleman ​= "AutomaticRifleman"; 
 +    ​rhsusf_army_ocp_autoriflemana = "​AutomaticRifleman_Assistant";​ 
 +    rhsusf_army_ocp_combatcrewman = "​Vehicle_Commander";​ 
 +    rhsusf_army_ocp_crewman = "​Vehicle_Crew";​ 
 +    rhsusf_army_ocp_driver = "​Vehicle_Crew";​ 
 +    rhsusf_army_ocp_driver_armored = "​Vehicle_Commander";​ 
 +    rhsusf_army_ocp_engineer = "​Engineer";​ 
 +    rhsusf_army_ocp_explosives = "​Engineer";​ 
 +    rhsusf_army_ocp_fso ​= "JTAC"; 
 +</sxh>
  
-==== Modifying ​an Existing Gear Script ==== +Class mappings can be overridden in an equipment set, but more on that later.
-The included gear scripts are well commented and serve as perfect starting positions for making a gear script.+
  
-=== Default Gear === +\\ 
-Default gear is defined, starting at line 119.   +\\
-<​code>​_standardUniformItems = [ +
-]; +
-_standardVestItems = [ +
- ["​rhs_mag_m67",​2],​ +
- ["​rhs_mag_an_m8hc",​1],​ +
- ["​rhs_mag_m18_green",​1],​ +
- ["​ACE_Flashlight_MX991",​1] +
-]; +
-_standardBackpackItems = [ +
- ["​cbb_mp_vs17_item",​1],​ +
- ["​ACE_quikClot",​10],​ +
- ["​ACE_packingBandage",​4],​ +
- ["​ACE_tourniquet",​4],​ +
- ["​ACE_combatPills",​2],​ +
- ["​ACE_bodyBag",​1],​ +
- ["​ACE_Sandbag_empty",​1] +
-]; +
-_standardItems = [ +
- ["​Chemlight_green",​1],​ +
- ["​Chemlight_red",​1] +
-];</​code>​+
  
-=== Default Uniform ​=== +==== Equipment Sets ====
-The default uniform is defined starting at line 145.   +
-<​code>​_headgear ​["​rhsusf_ach_helmet_ocp",​ "​rhsusf_ach_helmet_ESS_ocp"​];​ +
-_facegear ​[]; // Only used if _replaceGoggles is true. +
-_binoOptic = ["​Binocular"​];​ +
-_nvOptic = ["​rhsusf_ANPVS_15"​];​ +
-_uniform = ["​rhs_uniform_cu_ocp"​];​ +
-_vest = ["​rhsusf_iotv_ocp_rifleman"​];​ +
-_backpack = ["​rhsusf_assault_eagleaiii_ocp"​];</​code>​+
  
-=== Default Weapon === +Equipment sets are a set of rules with which to regear playersThey exist inside of the ''​Sets''​ class insideof the ''​Gear''​ config class. Each set is it's own subclass ​of the set's classThat subclass then contains some basic settings about said equipment set. The classname ​for the equipment set should only contain lowercase letters, numbers, underscores. For example, ''​rhs_usarmy''​It also contains 2 (or 3subclasses, those being: 
-The default primary and secondary weapons, and launchers ​are defined starting at line 157. +  - Equipment 
-<​code>​_priWeapon = ["​rhs_weap_m4a1_carryhandle"​"​rhs_weap_m4a1_carryhandle_pmag",​ "​rhs_weap_m4a1_carryhandle_mstock"​];​ +  - Definitions 
-_priWeaponUGL = ["​rhs_weap_m4a1_carryhandle_m203"​];​ // Gear script does not send this at the end, this is just a shortcut to allow for easy assignment on a per-unit basis of a random selection of UGL-equipped rifles(See Grenadier ​for example.) +  - ClassMapping
-_priWeaponRandomAttachmentOptic = []; +
-_priWeaponRandomAttachmentMuzzle = []; +
-_priWeaponRandomAttachmentLight = []; +
-_priWeaponRandomAttachmentBipod = []; // Note: This is also where various alternate weapon grips are defined. +
-_priWeaponAttachments = []; // Not randomized; these attachments are always given to a unit.+
  
-_launcher = []; +But more on those later.
-_launcherAttachments = []; +
-_launcherAmmo = []; // Not yet implemented / may not be useful.+
  
-_sideArm = []; +An example of the basic settings: 
-_sideArmAttachments = [];</code>+<sxh c++> 
 +class rhs_usarmy 
 +
 +    displayName = "RHS US Army";
  
-=== Unit Type === +    replaceGoggles ​0;
-Each *case* starting at line 199 represents a different unit type and includes entries for all equipment slots. ​  +
-Simply modify the existing classnames or add new ones. +
-<​code>​case "​co":​ { +
- _headgear = ["​rhsusf_patrolcap_ocp"​];​ +
- _binoOptic = ["​ACE_Vector"​];​ +
- //​_nvOptic = ["​rhsusf_ANPVS_15"​];+
  
- //​_uniform = ["​rhs_uniform_cu_ocp"​]; +    medicClasses[]      = {}
- _vest = ["​rhsusf_iotv_ocp_Squadleader"​]+    ​doctorClasses[]     ​{"Medic"};
- //​_backpack ​["rhsusf_assault_eagleaiii_ocp"];+
  
- _uniformItems = [ +    engineerClasses[]   = {"Vehicle_Commander"}
- ["​ACE_microDAGR",​1]+    ​repairClasses[]     ​{"Repairman", "Engineer", "Vehicle_Crew"};
- ["ACE_MapTools",1] +
- ]+
- _vestItems = [ +
- ]+
- _backpackItems ​+
- ["ACRE_PRC117F",1], +
- ["ACRE_PRC148",1] +
- ]; +
- _gearItems = [ +
- ["rhs_mag_30Rnd_556x45_M855A1_Stanag",5], +
- ["​rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Red",​2],​ +
- ["​rhsusf_mag_7x45acp_MHP",​3],​ +
- ["​rhs_mag_m18_green",​1],​ +
- ["​rhs_mag_m18_purple",​2] +
- ];+
  
- //​_priWeapon = ["​rhs_weap_m4a1_carryhandle_pmag"​]+    eodClasses[]        {"Engineer"};
- _priWeaponRandomAttachmentOptic ​["rhsusf_acc_compm4", "​rhsusf_acc_eotech_552",​ "​rhsusf_acc_eotech_xps3"​];​ +
- //​_priWeaponRandomAttachmentMuzzle = []; +
- //​_priWeaponRandomAttachmentLight = []; +
- _priWeaponRandomAttachmentBipod = ["​_NONE_",​ "​rhsusf_acc_grip2",​ "​rhsusf_acc_grip3"​];+
  
- _sideArm = ["rhsusf_weap_m1911a1"]+    class Definitions 
- };</code>+    { 
 +        #​include ​"definitions.hpp" 
 +    }
 + 
 +    class Loadouts 
 +    { 
 +        #include "​loadouts.hpp"​  
 +    ​};   
 +}; 
 +</sxh> 
 + 
 +  * **displayName** - This is the name of equipment set that is used in menus, make it pretty! 
 +  * **replaceGoggles** - Determines if a user's custom face object (glasses, mask, etc.) should be replaced with the equipment set's values. 
 +  * **medicClasses** - An array of classes that will be flagged as medics. Medics have basic field training, and can perform some advanced medical treatment. 
 +  * **doctorClasses** - An array of classes what will be flagged as doctors. Doctors can perform all advanced medical treatment. 
 +  * **engineerClass** -  
 + 
 +\\ 
 +\\ 
 + 
 + 
 + 
 + 
 +=== Equipment === 
 +Equipment is defined in the ''​Equipment''​ class inside of your equipment set's class. 
 + 
 + 
 +==== Property List ==== 
 +=== List of properties that support randomization === 
 + 
 +Each of these properties are defined as an array, supporting randomization. Some examples and their descriptions:​ 
 + 
 +  * ''​primaryWeapon[] = {};''​ This soldier will not get a primary weapon. 
 + 
 + 
 +  * ''​primaryWeapon[] = {"​rhs_weap_m16a4_carryhandle"​};''​ This soldier will get an ''​rhs_weap_m16a4_carryhandle''​ 
 + 
 + 
 +  * ''​primaryWeapon[] = {"​rhs_weap_m16a4_carryhandle",​ "​rhs_weap_m16a4_carryhandle_grip"​};''​ This soldier will get a ''​rhs_weap_m16a4_carryhandle''​ or a ''​rhs_weap_m16a4_carryhandle_grip''​ 
 + 
 + 
 +  * ''​primaryWeapon[] = {"​rhs_weap_m16a4_carryhandle",""​};''​ This soldier has a chance to not get a primary weapon. 
 + 
 +The list of properties supporting randomization are as follows: 
 + 
 +  * ''​primaryWeapon''​ 
 +  * ''​primaryWeaponMagazine''​ 
 +  * ''​primaryWeaponMagazineSecondary''​ 
 +  * ''​primaryWeaponBipod''​ 
 +  * ''​primaryWeaponMuzzle''​ 
 +  * ''​primaryWeaponOptic''​ 
 +  * ''​primaryWeaponRailAttachment''​ 
 +  * ''​launcher''​ 
 +  * ''​launcherMagazine''​ 
 +  * ''​launcherOptic''​ 
 +  * ''​launcherRailAttachment''​ 
 +  * ''​sidearm''​ 
 +  * ''​sidearmMagazine''​ 
 +  * ''​sidearmMuzzle''​ 
 +  * ''​sidearmOptic''​ 
 +  * ''​sidearmRailAttachment''​ 
 +  * ''​binocular''​ 
 +  * ''​nightVision''​ 
 +  * ''​headgear''​ 
 +  * ''​uniform''​ 
 +  * ''​vest''​ 
 +  * ''​backpack''​ 
 +  * ''​facegear''​
  • Last modified: 6 years ago
  • (external edit)