Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
arma_editing:missions:framework:gear [2017/04/20 15:45]
thendash
arma_editing:missions:framework:gear [2017/11/21 00:47]
Theowningone
Line 1: Line 1:
 ~~Title: Gear~~ ~~Title: Gear~~
-===== Choosing Gear ===== 
-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. 
 + 
 +  * ''​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: 7 years ago
  • (external edit)