Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.28 KB | None | 0 0
  1. /*
  2. Welcome to the Multiplayer Mission Framework Configuration
  3. Tutorial: http://arma.roy86.com.au/index.php/A3_Mission_Framework
  4. */
  5.  
  6. /*
  7. CfgMission is the core part of the mission configuration and allows sides, settings and admin priviliages
  8. */
  9. class CfgMission {
  10. /*
  11. Faction Configuration
  12. - Specify sides to enable dynamic spawning and fast switching of factions
  13. - The factions are setup through CfgMissionSides
  14. */
  15. FactionTypeBLU = "SIDE_BLUFOR"; // Primary Player Faction
  16. FactionTypeOPF = "SIDE_OPFOR"; // Opposing Force Faction
  17. FactionTypeCIV = "SIDE_CIVIL"; // Civilian Faction
  18.  
  19. /*
  20. Default Cache radius configuration
  21. Can be overwritten by a server parameter
  22. Player distance in metres before a unit/object will cache/uncache
  23. */
  24. cacheRadius = 2000;
  25.  
  26. /*
  27. View distance parameters for the settings
  28. */
  29. viewDistanceLand[] = {500,10000};
  30. viewDistanceSea[] = {500,10000};
  31. viewDistanceAir[] = {500,15000};
  32.  
  33. /*
  34. Admin UIDs enable the "isAdmin" function to broaden to approved conditions such as player UID
  35. */
  36. AdminUIDs[] = {
  37. "_SP_PLAYER_" /* Editor Debug */
  38. ,"_MP_CANKICK_" /* ServerCommandAvailable #kick */
  39. ,"00000000000" /* example Player UID "getPlayerUID" */
  40. };
  41.  
  42. /*
  43. Task specific Objects to use in the mission.
  44. - Intel Types allow the detection or spawning of various intel types
  45. - Weapon cache types to spawn when creating cache hunt scenarios
  46. */
  47. intelDropTypes[] = {"Land_Suitcase_F"};
  48. intelDownloadTypes[] = {"Land_DataTerminal_01_F","Land_Device_assembled_F","Land_Device_disassembled_F","Land_Laptop_F","Land_Laptop_unfolded_F","Land_Laptop_device_F","Land_SatellitePhone_F","UAV",""};
  49. WeaponCacheTypes[] = {"Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F"};
  50. };
  51. /*
  52. CfgMissionSides - Configuration of Factions and the Units/Vehicles
  53. */
  54. class CfgMissionSides {
  55. /*
  56. Each Side is a sub-class which outlines the details such as descriptions, units and vehicles
  57. The class name can be anything, it is just a reference to use in later faction ids
  58. */
  59. class SIDE_BLUFOR {
  60. /*
  61. This side is going to be used for the Player Faction "FactionTypeBLU"
  62. so groups/vehicles are not needed unless we're spawning them in
  63.  
  64. - DisplayName & DisplayLongName are used to alter a mission task description
  65. */
  66. displayName = "NATO";
  67. displayLongName = "NATO Pacific";
  68. displayColour = "ColorBlufor";
  69. side = 1; // Side IDs are 0:EAST, 1:WEST, 2:INDEPENDENT, 3:CIVILIAN
  70. };
  71.  
  72. // Another Side Faction
  73. class SIDE_OPFOR {
  74. /*
  75. This side is going to be used for the Enemy Faction "FactionTypeOPF"
  76. */
  77. displayName = "Syndikat";
  78. displayLongName = "Syndikat Allegiance Group";
  79. displayColour = "ColorOpfor";
  80. side = 0; // 0:EAST
  81.  
  82. /*
  83. Class Groups supports the creation of predefined groups to quickly call when configuring tasks
  84. */
  85. class Groups {
  86. class ExampleGroup {
  87. classNames[] = {"O_Soldier_TL_F","O_Soldier_F"};
  88. };
  89. class ExampleDisguisedGroup {
  90. classNames[] = {
  91. {"O_Soldier_TL_F","B_Soldier_TL_F"} // {<Original>,<Redressed>}
  92. ,{"O_Soldier_F","B_Soldier_F"}
  93. };
  94. };
  95.  
  96. // 8 Man Squads
  97. class Squad8 { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_F","O_T_Soldier_AA_F","O_T_Soldier_AR_F","O_T_Soldier_AT_F","O_T_Soldier_M_F","O_T_medic_F"}; };
  98. class Squad8_AA { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_F","O_T_Soldier_A_F","O_T_Soldier_GL_F","O_T_Soldier_AA_F","O_T_Soldier_AA_F","O_T_medic_F"}; };
  99. class Squad8_AR { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_F","O_T_Soldier_A_F","O_T_Soldier_GL_F","O_T_Soldier_AR_F","O_T_Soldier_AR_F","O_T_medic_F"}; };
  100. class Squad8_AT { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_F","O_T_Soldier_A_F","O_T_Soldier_GL_F","O_T_Soldier_AT_F","O_T_Soldier_LAT_F","O_T_medic_F"}; };
  101. class Squad8_M { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_F","O_T_Soldier_A_F","O_T_Soldier_GL_F","O_T_Soldier_M_F","O_T_Soldier_M_F","O_T_medic_F"}; };
  102. class Squad8_INS { classNames[] = {{"O_T_Soldier_F","I_C_Soldier_Bandit_6_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_5_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_3_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_2_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_8_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_7_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_4_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_1_F"}}; };
  103. // 4 Man Squads
  104. class Squad4 { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_F","O_T_medic_F"}; };
  105. class Squad4_AA { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_AA_F","O_T_Soldier_AA_F"}; };
  106. class Squad4_AR { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_AR_F","O_T_Soldier_AR_F"}; };
  107. class Squad4_AT { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_AT_F","O_T_Soldier_LAT_F"}; };
  108. class Squad4_M { classNames[] = {"O_T_Soldier_TL_F","O_T_Soldier_GL_F","O_T_Soldier_M_F","O_T_Soldier_M_F"}; };
  109. class Squad4_INS { classNames[] = {{"O_T_Soldier_F","I_C_Soldier_Bandit_6_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_5_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_3_F"},{"O_T_Soldier_F","I_C_Soldier_Bandit_2_F"}}; };
  110.  
  111.  
  112. };
  113.  
  114. class Vehicles {
  115. /*
  116. As With Groups, classnames are placed in an array
  117. */
  118. class ExampleVehicle {
  119. classNames[] = {"O_T_Truck_03_device_ghex_F"};
  120. };
  121.  
  122. /*
  123. Examples from PO4 of Vehicle Categorisation
  124. */
  125. class Car { classNames[] = {"O_T_LSV_02_unarmed_F","O_T_LSV_02_unarmed_black_F","O_T_LSV_02_unarmed_ghex_F","O_T_MRAP_02_ghex_F"}; };
  126. class Car_INS { classNames[] = {"O_G_Offroad_01_F","I_C_Offroad_02_unarmed_F"}; };
  127. class CarTurret { classNames[] = {"O_T_LSV_02_armed_F","O_T_LSV_02_armed_black_F","O_T_LSV_02_armed_ghex_F","O_T_MRAP_02_gmg_ghex_F","O_T_MRAP_02_hmg_ghex_F"}; };
  128. class CarTurret_INS { classNames[] = {"O_G_Offroad_01_armed_F"}; };
  129. class Truck { classNames[] = {"O_T_Truck_03_transport_ghex_F","O_T_Truck_03_covered_ghex_F"}; };
  130. class Truck_INS { classNames[] = {"I_C_Van_01_transport_F"}; };
  131. class Truck_Support { classNames[] = {"O_T_Truck_03_repair_ghex_F","O_T_Truck_03_ammo_ghex_F","O_T_Truck_03_fuel_ghex_F"}; };
  132. class Armour_AA { classNames[] = {"O_T_APC_Tracked_02_AA_ghex_F"}; };
  133. class Armour_APC { classNames[] = {"O_T_APC_Wheeled_02_rcws_ghex_F","O_T_APC_Tracked_02_cannon_ghex_F"}; };
  134. class Armour_MBT { classNames[] = {"O_T_MBT_02_cannon_ghex_F"}; };
  135. class Armour_Art { classNames[] = {"O_T_MBT_02_arty_ghex_F"}; };
  136. class CAS_Heli { classNames[] = {"O_Heli_Attack_02_black_F"}; };
  137. class CAS_Air { classNames[] = {"O_Plane_CAS_02_F"}; };
  138. class CAS_UAV { classNames[] = {"O_UAV_02_CAS_F","O_T_UAV_04_CAS_F"}; };
  139. class Fighter_Plane { classNames[] = {"O_Plane_Fighter_02_F","O_Plane_Fighter_02_Stealth_F"}; };
  140. class Transport_Heli { classNames[] = {"O_Heli_Transport_04_bench_black_F","O_Heli_Transport_04_covered_black_F"}; };
  141. class Transport_Air { classNames[] = {"O_T_VTOL_02_infantry_ghex_F"}; };
  142. class UAV { classNames[] = {"O_UAV_02_CAS_F","O_T_UAV_04_CAS_F"}; };
  143. class UGV { classNames[] = {"O_T_UGV_01_rcws_ghex_F"}; };
  144. class Boat { classNames[] = {"O_T_Boat_Armed_01_hmg_F"}; };
  145. };
  146. };
  147.  
  148. /*
  149. The civilian side is used in the same way as other groups but also in dynamic environments
  150. */
  151. class SIDE_CIVIL {
  152. displayName = "Civilian";
  153. displayLongName = "Civilian";
  154. displayColour = "ColorCivilian";
  155. side = 3;
  156. class Groups {
  157. class Observer { classNames[] = {"C_Orestes"}; };
  158. class Informants { classNames[] = {"C_Orestes","C_Nikos","C_Nikos_aged"}; };
  159. // Predefined used in populating towns and villages
  160. class Crowd4 { classNames[] = {"C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan"}; };
  161. class Crowd6 { classNames[] = {"C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan"}; };
  162. class Crowd12 { classNames[] = {"C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan","C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan"}; };
  163. class Crowd24 { classNames[] = {"C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan","C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan","C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan","C_Man_casual_1_F_tanoan","C_Man_casual_2_F_tanoan","C_Man_casual_3_F_tanoan","C_Man_casual_4_F_tanoan","C_Man_casual_5_F_tanoan","C_Man_casual_6_F_tanoan"}; };
  164. };
  165. class Vehicles {
  166. class Helicopter { classNames[] = {"C_Heli_Light_01_civil_F"}; };
  167. class Boat { classNames[] = {"C_Boat_Civil_01_F","C_Boat_Civil_01_rescue_F","C_Boat_Civil_01_police_F"}; };
  168. class Car { classNames[] = {"C_Offroad_01_F","C_Offroad_01_repair_F","C_Truck_02_covered_F","C_Truck_02_transport_F","C_Hatchback_01_F","C_Hatchback_01_sport_F","C_SUV_01_F","C_Truck_02_fuel_F","C_Truck_02_box_F","C_Van_01_transport_F","C_Van_01_box_F","C_Van_01_fuel_F"}; };
  169. };
  170. };
  171. };
  172.  
  173. /*
  174. CfgMission Tasks is the core of the framework.
  175. Please read http://arma.roy86.com.au/index.php/Task_Framework
  176. */
  177. class CfgMissionTasks {
  178. /*
  179. setup our primary and tertiary tasks.
  180. These are our parents and the child/ sub tasks will come later
  181.  
  182. */
  183. class primaryTasks {
  184. scope = 2;
  185. typeID = 0;
  186.  
  187. class TaskDetails {
  188. title = "Primary Tasks";
  189. description[] = {
  190. "<font>Ref: %1</font> | <font>Date: %2<br/>AO: %3 %4 near %5</font>"
  191. ,"<font size='16' color='#FFC600'>Brief:</font> <font>%7 A blackhawk carrying a downed satelites data core has been lost in rough weather.</font>"
  192. };
  193. iconType = "boat";
  194. textArguments[] = {"randomCode","datetime","worldRegion","worldName","nearestTown","factionBLUshort","factionOPFshort"};
  195. };
  196.  
  197. class Markers {};
  198. class ChildTasks {
  199. class primary_phase1 {};
  200. };
  201. class Objective {
  202. class Succeeded {
  203. condition = "_childTasksComplete";
  204. };
  205. };
  206. };
  207.  
  208. class primary_phase1 {
  209. scope = 2;
  210. typeID = 0;
  211.  
  212. position = "crashsite";
  213. positionOffset = "crashsite_offset";
  214.  
  215. class TaskDetails {
  216. title = "Primary Tasks";
  217. description[] = {
  218. "<font>Ref: %1</font> | <font>Date: %2<br/>AO: %3 %4 near %5</font>"
  219. ,"<font size='16' color='#FFC600'>Brief:</font> <font>%7 Download the intel. 1</font>"
  220. };
  221. iconType = "Heli";
  222. textArguments[] = {"randomCode","datetime","worldRegion","worldName","nearestTown","factionBLUshort","factionOPFshort"};
  223. };
  224. class Groups {
  225. class EnemyPatrol_NE {
  226. probability = 1;
  227. position = "crashsite";
  228. distance[] = {100,150};
  229. direction[] = {0,90};
  230. faction = "FactionTypeOPF";
  231. groupTypes[] = {"Squad8"};
  232. isPatrolling = 1;
  233. radius[] = {60,100};
  234. };
  235. };
  236.  
  237. class Objective {
  238. class Succeeded {
  239. condition = "_intelDownloaded";
  240. };
  241. };
  242. };
  243.  
  244. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement