Advertisement
Guest User

shhhheeeee

a guest
Nov 28th, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.41 KB | None | 0 0
  1.  
  2. ASR AI settings
  3. this file must be found in <game folder>\userconfig\asr_ai\
  4. for most settings, 0 = disabled, 1 = enabled
  5.  
  6. All config entries are turned into global variables following a standard naming scheme. For example:
  7. asr_ai_sys_airearming_feature = getNumber (configFile >> "asr_ai" >> "sys_airearming" >> "feature")
  8. Mission makers can control these features by setting these global variables in init.sqf or by setting
  9. a similar class in description.ext
  10. */
  11.  
  12. class asr_ai {
  13. version = 6; // will increment this when structure changes
  14.  
  15. class sys_airearming {
  16. feature = 1; // All the other settings of this class matter only if we have 1 here
  17. run = 1; // Enable rearming at mission start
  18. radius = 50; // Rearming search radius - how far will AI go to grab stuff
  19. civ = 0; // Civilians will try to arm themselves
  20. sidearm = 1; // Units will take handguns
  21. binocs = 1; // Units will take binoculars
  22.  
  23. // List of secondary weapons that any unit may take. Other launchers not in this list will only be picked by specialists
  24. launchers[] = {
  25. "M136","RPG18","cwr2_AT4","cwr2_LAW","cwr2_RPG75",
  26. "ACE_M136_CSRS","ACE_M72A2","ACE_M72","ACE_RPG22","ACE_RPG27","ACE_RPOM","ACE_RSHG1","ACE_RMG"
  27. };
  28. // List of frag grenades that units will look for
  29. grenades[] = {
  30. "HandGrenade","HandGrenade_West","HandGrenade_East","BAF_L109A1_HE","ACE_DM51","ACE_DM51A1"
  31. };
  32. // List of smoke grenades that units will look for
  33. smokes[] = {
  34. "SmokeShell","SmokeShellRed","SmokeShellGreen","SmokeShellYellow","SmokeShellPurple","SmokeShellBlue","SmokeShellOrange",
  35. "ACE_M34","ACE_RDG2","ACE_RDGM","ACE_DM25","ACE_DM31","ACE_DM32","ACE_DM33","ACE_DM34","ACE_DM36","ACE_M15"
  36. };
  37. };
  38.  
  39. class sys_aiskill {
  40. feature = 1; // All the other settings of this class matter only if we have 1 here
  41. civ = 0; // Enable advanced skills for civilians
  42. radionet = 1; // AI groups share known enemy locations over radio
  43. radiorange = 500; // Maximum range for radios
  44. nightspotting = 0.3; // Spotting range night reduction coefficient
  45. gunshothearing = 1; // Gunshot hearing range coefficient (applied to shooter's weapon sound range; 0 will disable the feature)
  46. buildingSearching = 0.7; // Chance the AI group will search nearby buildings when in combat mode (0 to 1 values, 0 will disable the feature)
  47. buildingSearchingAlwaysUp = 1; // Prefer UP stance (value: 1) when doing the house search or let AI choose automatically (value: 0)
  48. throwsmoke = 0.7; // AI throws smoke when hit (set 0 to disable or a number up to 1 to enable, higher number means better chance to do it)
  49. join_loners = 1; // Groups left with only one unit merge with nearest group of the same side or faction (1-enabled, 0-disabled)
  50. join_loners_sameFaction = 0; // Single units will only join groups of the same faction, if join_loners = 1 above (1-faction, 0-side)
  51. serverdvd = 1; // Dynamic dedicated server viewdistance adjustment
  52. setskills = 1; // Configure AI skills based on their unit type (faction, training etc.)
  53. recoilMod = 1; // Lower recoil when using MGs; also increased recoil for wounded AI (1-enabled, 0-disabled)
  54. stayLow = 1; // Units using MG, AR or sniper should fight from prone position and the others crouch more (1-enabled, 0-disabled)
  55. split_legged = 300; // Units unable to walk for this time will separate from their group to prevent slowing it down (time in seconds, set 0 to disable)
  56. reactions[] = {1,1,0}; // Infantry groups will randomly react with basic, scripted, random actions, to detecting the enemy or being shot at; format: {enableAttack,enableDefend,enableSupport}
  57. auto_srrs = 1; // Auto-enable BIS Surrendering module (1-enabled, 0-disabled)
  58.  
  59. radionet_debug = 0; // Log info sharing to RPT (1-enabled, 0-disabled)
  60. setskills_debug = 0; // Log skill assignments to RPT (1-enabled, 0-disabled)
  61. gunshothearing_debug = 0; // Gunshot hearing debug: shows a hint with max range the AI will detect the shots fired by player (1-enabled, 0-disabled)
  62.  
  63. /*
  64. Units are classified into skill sets between 1 and 10
  65. By default, a lower level number means a better skilled unit
  66. Levels 8-10 are special:
  67. - 8-9 are for pilots, very good by default, but some of their skills are now automatically reduced when they leave the aircraft (accuracy, courage)
  68. - 10 is for trained snipers
  69. */
  70. class sets {
  71. // only classes of arrays under this
  72. class level_0 { // perfect (only used for testing)
  73. aimingAccuracy[] = {1.00, 0.00};
  74. aimingShake[] = {1.00, 0.00};
  75. aimingSpeed[] = {1.00, 0.00};
  76. spotDistance[] = {1.00, 0.00};
  77. spotTime[] = {1.00, 0.00};
  78. endurance[] = {1.00, 0.00};
  79. courage[] = {1.00, 0.00};
  80. reloadSpeed[] = {1.00, 0.00};
  81. commanding[] = {1.00, 0.00};
  82. general[] = {1.00, 0.00};
  83.  
  84. units[] = { // add class names to this to override their default (or inherited) skill set
  85.  
  86. };
  87. };
  88. class level_1 { // sf 1
  89. aimingAccuracy[] = {0.35, 0.10}; // skilltype = {<min value>, <random value added to min>};
  90. aimingShake[] = {0.35, 0.10};
  91. aimingSpeed[] = {0.80, 0.20};
  92. spotDistance[] = {0.65, 0.30};
  93. spotTime[] = {0.40, 0.20};
  94. endurance[] = {0.80, 0.20};
  95. courage[] = {0.80, 0.20};
  96. reloadSpeed[] = {0.80, 0.20};
  97. commanding[] = {0.80, 0.20};
  98. general[] = {0.80, 0.20};
  99.  
  100. units[] = {
  101. "sf_18d","sf_18c","sf_18z","sf_18b","sf_18e","sf_18a"
  102. };
  103. };
  104. class level_2 { // sf 2
  105. aimingAccuracy[] = {0.30, 0.10};
  106. aimingShake[] = {0.30, 0.10};
  107. aimingSpeed[] = {0.75, 0.20};
  108. spotDistance[] = {0.60, 0.30};
  109. spotTime[] = {0.35, 0.20};
  110. endurance[] = {0.70, 0.20};
  111. courage[] = {0.70, 0.20};
  112. reloadSpeed[] = {0.70, 0.20};
  113. commanding[] = {0.70, 0.20};
  114. general[] = {0.70, 0.20};
  115.  
  116. units[] = {
  117. "ibr_mutant","ibr_venator_assaulter","ibr_venator_assaulter2","ibr_venator_assaulter3"
  118. };
  119. };
  120. class level_3 { // regular 1
  121. aimingAccuracy[] = {0.25, 0.10};
  122. aimingShake[] = {0.25, 0.10};
  123. aimingSpeed[] = {0.70, 0.20};
  124. spotDistance[] = {0.55, 0.30};
  125. spotTime[] = {0.30, 0.20};
  126. endurance[] = {0.60, 0.20};
  127. courage[] = {0.60, 0.20};
  128. reloadSpeed[] = {0.60, 0.20};
  129. commanding[] = {0.60, 0.20};
  130. general[] = {0.60, 0.20};
  131.  
  132. units[] = {
  133. "bink_usmc_tl","bink_usmc_sl","bink_usmc_dmr","bink_usmc_scout","bink_usmc_scout_l","bink_usmc_tl_des","bink_usmc_sl_des","bink_usmc_dmr_des",
  134. "bink_usmc_scout_des","bink_usmc_scout_l_des","rb_teamleader","ibr_venator_leader"
  135. };
  136. };
  137. class level_4 { // regular 2
  138. aimingAccuracy[] = {0.20, 0.10};
  139. aimingShake[] = {0.20, 0.10};
  140. aimingSpeed[] = {0.65, 0.20};
  141. spotDistance[] = {0.50, 0.30};
  142. spotTime[] = {0.25, 0.20};
  143. endurance[] = {0.50, 0.20};
  144. courage[] = {0.50, 0.20};
  145. reloadSpeed[] = {0.50, 0.20};
  146. commanding[] = {0.50, 0.20};
  147. general[] = {0.50, 0.20};
  148.  
  149. units[] = {
  150. "ibr_bodyguard"
  151. };
  152. };
  153. class level_5 { // militia or trained insurgents, former regulars
  154. aimingAccuracy[] = {0.15, 0.10};
  155. aimingShake[] = {0.15, 0.10};
  156. aimingSpeed[] = {0.60, 0.20};
  157. spotDistance[] = {0.45, 0.30};
  158. spotTime[] = {0.20, 0.20};
  159. endurance[] = {0.40, 0.20};
  160. courage[] = {0.40, 0.20};
  161. reloadSpeed[] = {0.40, 0.20};
  162. commanding[] = {0.40, 0.20};
  163. general[] = {0.40, 0.20};
  164.  
  165. units[] = {
  166. "ibr_arl_officer","ibr_arl_sniper","ibr_arl_sab","ibr_arl_roberto","ibr_arl_marksman"
  167. };
  168. };
  169. class level_6 { // civilians with some military training
  170. aimingAccuracy[] = {0.10, 0.10};
  171. aimingShake[] = {0.10, 0.10};
  172. aimingSpeed[] = {0.55, 0.20};
  173. spotDistance[] = {0.40, 0.30};
  174. spotTime[] = {0.15, 0.20};
  175. endurance[] = {0.30, 0.20};
  176. courage[] = {0.30, 0.20};
  177. reloadSpeed[] = {0.30, 0.20};
  178. commanding[] = {0.30, 0.20};
  179. general[] = {0.30, 0.20};
  180.  
  181. units[] = {
  182. "ibr_rebel11","ibr_rebel22","ibr_rebel33","ibr_rebel44","ibr_rebel55","ibr_rebel66","ibr_rebel77","ibr_rebel83","ibr_rebel95","ibr_rebel102",
  183. "ibr_rebel111","ibr_rebel125","ibr_rebel132","ibr_rebel145","ibr_rebel151","ibr_rebel162","ibr_rebel173","ibr_rebel184","ibr_rebel195",
  184. "ibr_rebel206","ibr_rebel217",
  185. "ibr_arl_rif","ibr_arl_rif2","ibr_arl_mg","ibr_arl_ar","ibr_arl_at","ibr_arl_aa","ibr_arl_crew","ibr_arl_medic",
  186. "ibr_drg_man1","ibr_drg_man2","ibr_drg_man3","ibr_drg_man4","ibr_drg_man5","ibr_drg_man6","ibr_drg_man7"
  187. };
  188. };
  189. class level_7 { // civilians without military training
  190. aimingAccuracy[] = {0.10, 0.10};
  191. aimingShake[] = {0.10, 0.10};
  192. aimingSpeed[] = {0.50, 0.20};
  193. spotDistance[] = {0.35, 0.30};
  194. spotTime[] = {0.10, 0.20};
  195. endurance[] = {0.20, 0.20};
  196. courage[] = {0.20, 0.20};
  197. reloadSpeed[] = {0.20, 0.20};
  198. commanding[] = {0.20, 0.20};
  199. general[] = {0.20, 0.20};
  200.  
  201. units[] = {
  202. "ibr_arl_stoner1","ibr_arl_stoner2","ibr_arl_stoner3","ibr_arl_stoner4","ibr_arl_stoner5","ibr_arl_stoner6","ibr_arl_stoner7"
  203. };
  204. };
  205. class level_8 { // pilot 1
  206. aimingAccuracy[] = {0.25, 0.10};
  207. aimingShake[] = {0.25, 0.10};
  208. aimingSpeed[] = {0.65, 0.20};
  209. spotDistance[] = {0.65, 0.30};
  210. spotTime[] = {0.40, 0.20};
  211. endurance[] = {0.60, 0.20};
  212. courage[] = {0.60, 0.20};
  213. reloadSpeed[] = {0.60, 0.20};
  214. commanding[] = {0.60, 0.20};
  215. general[] = {0.60, 0.20};
  216.  
  217. units[] = {
  218. "ibr_arl_eric"
  219. };
  220. };
  221. class level_9 { // pilot 2
  222. aimingAccuracy[] = {0.20, 0.10};
  223. aimingShake[] = {0.20, 0.10};
  224. aimingSpeed[] = {0.60, 0.20};
  225. spotDistance[] = {0.60, 0.30};
  226. spotTime[] = {0.35, 0.20};
  227. endurance[] = {0.50, 0.20};
  228. courage[] = {0.50, 0.20};
  229. reloadSpeed[] = {0.50, 0.20};
  230. commanding[] = {0.50, 0.20};
  231. general[] = {0.50, 0.20};
  232.  
  233. units[] = {
  234. "ibr_arl_pilot","ibr_drg_pilot"
  235. };
  236. };
  237. class level_10 { // sniper
  238. aimingAccuracy[] = {0.80, 0.10};
  239. aimingShake[] = {0.90, 0.10};
  240. aimingSpeed[] = {0.70, 0.20};
  241. spotDistance[] = {0.70, 0.30};
  242. spotTime[] = {0.75, 0.20};
  243. endurance[] = {0.70, 0.20};
  244. courage[] = {0.70, 0.20};
  245. reloadSpeed[] = {0.70, 0.20};
  246. commanding[] = {0.70, 0.20};
  247. general[] = {0.70, 0.20};
  248.  
  249. units[] = {
  250.  
  251. };
  252. };
  253. };//sets
  254.  
  255. // apply skill coefficient by faction to the skills the units would get based on their skill levels and settings above
  256. // if a faction is missing the coefficient is assumed to be 1
  257. class factions {
  258.  
  259. class USMC { // US Marine Corps
  260. coef = 1.0;
  261. };
  262. class CDF { // Chernarussian Defence Forces
  263. coef = 0.9;
  264. };
  265. class RU { // Russia
  266. coef = 0.9;
  267. };
  268. class INS { // Chedaki Insurgents
  269. coef = 1.0;
  270. };
  271. class GUE { // NAPA Guerilla
  272. coef = 1.0;
  273. };
  274.  
  275. class BIS_TK { // Takistani Army
  276. coef = 0.9;
  277. };
  278. class BIS_TK_INS { // Takistani Insurgents
  279. coef = 0.9;
  280. };
  281. class BIS_US { // US Army
  282. coef = 1.0;
  283. };
  284. class BIS_CZ { // Czech
  285. coef = 1.0;
  286. };
  287. class BIS_GER { // Germany
  288. coef = 1.0;
  289. };
  290. class BIS_TK_GUE { // Takistani Guerilla
  291. coef = 0.9;
  292. };
  293. class BIS_UN { // UNO
  294. coef = 1.0;
  295. };
  296. class PMC_BAF { // Private military
  297. coef = 1.0;
  298. };
  299. class BIS_BAF { // UK
  300. coef = 1.0;
  301. };
  302.  
  303. class ACE_USAF { // US Air Force
  304. coef = 1.0;
  305. };
  306. class ACE_USNAVY { // US Navy
  307. coef = 1.0;
  308. };
  309. class ACE_RUNAVY { // Russian Navy
  310. coef = 1.0;
  311. };
  312. class ACE_USMC_Desert {
  313. coef = 1.0;
  314. };
  315. class ACE_USARMY {
  316. coef = 1.0;
  317. };
  318. class ACE_USARMY_DESERT {
  319. coef = 1.0;
  320. };
  321. class ACE_160SOAR {
  322. coef = 1.0;
  323. };
  324. class ACE_VDV { // Russian Airborne Troops
  325. coef = 1.0;
  326. };
  327. class ACE_GRU { // Spetsnatz GRU
  328. coef = 1.0;
  329. };
  330. class ACE_MVD { // Vityaz MVD
  331. coef = 1.0;
  332. };
  333. class ACE_RU_Desert { // Russia (Desert)
  334. coef = 1.0;
  335. };
  336.  
  337. class cwr2_us {
  338. coef = 1.0;
  339. };
  340. class cwr2_ru {
  341. coef = 1.0;
  342. };
  343. class cwr2_fia {
  344. coef = 1.0;
  345. };
  346.  
  347. class LIN_army { // Lingor Army (GAL)
  348. coef = 0.9;
  349. };
  350. class ibr_arl_faction { // Lingor Rebels (ARL)
  351. coef = 1.0;
  352. };
  353. class ibr_drg_faction { // Druglord's Army
  354. coef = 1.0;
  355. };
  356. class ibr_police_unit { // Lingor Police
  357. coef = 1.0;
  358. };
  359. class ibr_unisol_faction { // UniSol Corp.
  360. coef = 1.2;
  361. };
  362. class ibr_venator_faction { // Venator PMCs
  363. coef = 1.0;
  364. };
  365. class AFR_army { // Afrenian Army
  366. coef = 0.9;
  367. };
  368. class MOL_army { // Molatian Army
  369. coef = 0.8;
  370. };
  371. class ibr_rebel_faction { // African Rebels
  372. coef = 1.0;
  373. };
  374.  
  375. class I44_A_Army { // US Army
  376. coef = 1.0;
  377. };
  378. class I44_A_Army_Winter { // US Army (Winter)
  379. coef = 1.0;
  380. };
  381. class I44_A_USMC { // US Marine Corps
  382. coef = 1.0;
  383. };
  384. class I44_A_AAF { // US Army Air Force
  385. coef = 1.0;
  386. };
  387. class I44_A_Navy { // US Navy
  388. coef = 1.0;
  389. };
  390. class I44_B_Army { // British Army
  391. coef = 1.0;
  392. };
  393. class I44_B_Army_Winter { // British Army (Winter)
  394. coef = 1.0;
  395. };
  396. class I44_B_RAF { // British Royal Air Force
  397. coef = 1.0;
  398. };
  399. class I44_B_RN { // British Royal Navy
  400. coef = 1.0;
  401. };
  402. class I44_G_WH { // German Heer
  403. coef = 1.0;
  404. };
  405. class I44_G_WINTER { // German Heer (Winter)
  406. coef = 1.0;
  407. };
  408. class I44_G_SS { // // German Waffen-SS
  409. coef = 1.0;
  410. };
  411. class I44_G_SS_Winter { // German Waffen-SS (Winter)
  412. coef = 1.0;
  413. };
  414. class I44_G_WL { // German Luftwaffe
  415. coef = 1.0;
  416. };
  417. class I44_G_WM { // German Kriegsmarine
  418. coef = 1.0;
  419. };
  420. class I44_R_F { // French Resistance
  421. coef = 1.0;
  422. };
  423.  
  424. };//factions
  425.  
  426. };//sys_aiskill
  427.  
  428. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement