Advertisement
t3quila

CfgWeapons.hpp

Mar 27th, 2014
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.65 KB | None | 0 0
  1. class Mode_SemiAuto;
  2. class Mode_Burst;
  3. class Mode_FullAuto;
  4. class SlotInfo;
  5. class CowsSlot;
  6. class MuzzleSlot;
  7. class PointerSlot;
  8. class CfgWeapons
  9. {
  10. class UGL_F;
  11. class Rifle;
  12. class Rifle_Base_F: Rifle
  13. {
  14. class WeaponSlotsInfo;
  15. class GunClouds;
  16. class GunFire;
  17. class GunParticles;
  18. };
  19. class Rifle_Long_Base_F: Rifle_Base_F
  20. {
  21. class WeaponSlotsInfo;
  22. class GunClouds;
  23. class Table;
  24. class GunFire;
  25. class GunParticles;
  26. };
  27. class lyn_mk16_f: Rifle_Base_F
  28. {
  29. jsrs_soundeffect = "JSRS2_Distance_Effects_Scar";
  30. scope = 2;
  31. displayName = "FN SCAR-L (MK16)";
  32. descriptionshort = "Assault Rifle<br />Caliber: 5.56x45mm NATO";
  33. model = "\btc_weapons\BTC_mk16.p3d";
  34. magazines[] = {"30Rnd_556x45_Stanag","30rnd_556x45_Stanag_Tracer_Red","30rnd_556x45_Stanag_Tracer_Green","30rnd_556x45_Stanag_Tracer_Yellow","RH_30Rnd_556x45_Mk262","RH_20Rnd_556x45","RH_20Rnd_556x45_R","RH_20Rnd_556x45_G","RH_20Rnd_556x45_Y","RH_20Rnd_556x45_Mk262"};
  35. reloadAction = "GestureReloadMX";
  36. handanim[] = {"OFP2_ManSkeleton", "\btc_weapons\anim\SCAR.rtm"};
  37. picture = "\btc_weapons\data\scar\scar_l_gear_x_ca.paa";
  38. UiPicture = "\A3\weapons_f\data\UI\icon_regular_CA.paa";
  39. class WeaponSlotsInfo: WeaponSlotsInfo
  40. {
  41. allowedslots[] = {901};
  42. mass = 40;
  43. class MuzzleSlot: SlotInfo
  44. {
  45. linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
  46. compatibleItems[] = {"RH_qdss_nt4","RH_saker"};
  47. };
  48. class CowsSlot: CowsSlot {};
  49. class PointerSlot: PointerSlot {};
  50. };
  51. class GunClouds: GunClouds {};
  52. class GunFire: GunFire {};
  53. class GunParticles: GunParticles
  54. {
  55. class SecondEffect
  56. {
  57. positionName = "Nabojnicestart";
  58. directionName = "Nabojniceend";
  59. effectName = "CaselessAmmoCloud";
  60. };
  61. };
  62. opticsZoomMin = 0.375;
  63. opticsZoomMax = 1.1;
  64. opticsZoomInit = 0.75;
  65. distanceZoomMin = 300;
  66. distanceZoomMax = 300;
  67. discreteDistance[] = {100,200,300,400,500,600};
  68. discreteDistanceInitIndex = 1;
  69. weaponInfoType = "RscWeaponZeroing";
  70. modes[] = {"Single","FullAuto","single_medium_optics1","single_far_optics2","fullauto_medium"};
  71. class Single: Mode_SemiAuto
  72. {
  73. begin1[] = {"lyn_weapon_sounds\rifle\mk16_fire1",1.25,1,1500};
  74. begin2[] = {"lyn_weapon_sounds\rifle\mk16_fire2",1.25,1,1500};
  75. begin3[] = {"lyn_weapon_sounds\rifle\mk16_fire3",1.25,1,1500};
  76. soundBegin[] = {"begin1",0.5,"begin2",0.25,"begin3",0.25};
  77. closure1[] = {"A3\sounds_f\weapons\closure\closure_rifle_2",1.1220185,1,10};
  78. closure2[] = {"A3\sounds_f\weapons\closure\closure_rifle_3",1.1220185,1,10};
  79. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  80. weaponSoundEffect = "DefaultRifle";
  81. reloadTime = 0.065;
  82. recoil = "RH_M4_Recoil";
  83. recoilProne = "RH_M4_RecoilProne";
  84. dispersion = 0.0005;
  85. minRange = 10;
  86. minRangeProbab = 0.3;
  87. midRange = 250;
  88. midRangeProbab = 0.7;
  89. maxRange = 500;
  90. maxRangeProbab = 0.2;
  91. };
  92. class FullAuto: Mode_FullAuto
  93. {
  94. begin1[] = {"lyn_weapon_sounds\rifle\mk16_fire1",1.25,1,1500};
  95. begin2[] = {"lyn_weapon_sounds\rifle\mk16_fire2",1.25,1,1500};
  96. begin3[] = {"lyn_weapon_sounds\rifle\mk16_fire3",1.25,1,1500};
  97. soundBegin[] = {"begin1",0.5,"begin2",0.25,"begin3",0.25};
  98. closure1[] = {"A3\sounds_f\weapons\closure\closure_rifle_2",1.1220185,1,10};
  99. closure2[] = {"A3\sounds_f\weapons\closure\closure_rifle_3",1.1220185,1,10};
  100. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  101. weaponSoundEffect = "DefaultRifle";
  102. reloadTime = 0.096;
  103. recoil = "RH_M4_Recoil_Auto";
  104. recoilProne = "RH_M4_RecoilProneAuto";
  105. dispersion = 0.0005;
  106. minRange = 0;
  107. minRangeProbab = 0.9;
  108. midRange = 15;
  109. midRangeProbab = 0.7;
  110. maxRange = 30;
  111. maxRangeProbab = 0.1;
  112. aiRateOfFire = 1e-006;
  113. };
  114. class single_medium_optics1: Single
  115. {
  116. requiredOpticType = 1;
  117. showToPlayer = 0;
  118. minRange = 2;
  119. minRangeProbab = 0.2;
  120. midRange = 550;
  121. midRangeProbab = 0.7;
  122. maxRange = 700;
  123. maxRangeProbab = 0.1;
  124. aiRateOfFire = 6;
  125. aiRateOfFireDistance = 600;
  126. };
  127. class single_far_optics2: single_medium_optics1
  128. {
  129. requiredOpticType = 2;
  130. };
  131. class fullauto_medium: FullAuto
  132. {
  133. showToPlayer = 0;
  134. burst = 3;
  135. minRange = 2;
  136. minRangeProbab = 0.5;
  137. midRange = 75;
  138. midRangeProbab = 0.7;
  139. maxRange = 150;
  140. maxRangeProbab = 0.05;
  141. aiRateOfFire = 2.0;
  142. };
  143. class LYN_EGLM: UGL_F
  144. {
  145. displayName = "EGLM Grenade Launcher";
  146. descriptionShort = "EGLM";
  147. useModelOptics = false;
  148. useExternalOptic = false;
  149. cameraDir = "OP_look";
  150. discreteDistance[] = {100, 200, 300, 400};
  151. discreteDistanceCameraPoint[] = {"OP_eye", "OP_eye2", "OP_eye3", "OP_eye4"}; /// the angle of gun changes with zeroing
  152. discreteDistanceInitIndex = 1; /// 200 is the default zero
  153. };
  154. aiDispersionCoefY = 10;
  155. aiDispersionCoefX = 8;
  156. drySound[] = {"A3\sounds_f\weapons\Other\dry_1",1,1,10};
  157. changeFiremodeSound[] = {"lyn_weapon_sounds\m4_selector.wav",0.5,1};
  158. reloadMagazineSound[] = {"lyn_weapon_sounds\rifle\m4_reload",0.5,1,30};
  159. };
  160. class lyn_mk16_gl_f: lyn_mk16_f
  161. {
  162. model = "\btc_weapons\BTC_mk16_gl.p3d";
  163. displayName = "FN SCAR-L (MK16) EGLM";
  164. handanim[] = {"OFP2_ManSkeleton", "\btc_weapons\anim\M16GL.rtm"};
  165. muzzles[] = {"this", "LYN_EGLM"};
  166. };
  167. class lyn_mk17_f: Rifle_Base_F
  168. {
  169. jsrs_soundeffect = "JSRS2_Distance_Effects_FAL";
  170. scope = 2;
  171. cursor = "srifle";
  172. bullet1[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_01",0.39810717,1,15};
  173. bullet2[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_02",0.39810717,1,15};
  174. bullet3[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_03",0.39810717,1,15};
  175. bullet4[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_04",0.39810717,1,15};
  176. bullet5[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_01",0.2818383,1,15};
  177. bullet6[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_02",0.2818383,1,15};
  178. bullet7[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_03",0.2818383,1,15};
  179. bullet8[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_04",0.2818383,1,15};
  180. bullet9[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_01",0.2818383,1,15};
  181. bullet10[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_02",0.2818383,1,15};
  182. bullet11[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_03",0.2818383,1,15};
  183. bullet12[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_04",0.2818383,1,15};
  184. soundBullet[] = {"bullet1",0.083,"bullet2",0.083,"bullet3",0.083,"bullet4",0.083,"bullet5",0.083,"bullet6",0.083,"bullet7",0.083,"bullet8",0.083,"bullet9",0.083,"bullet10",0.083,"bullet11",0.083,"bullet12",0.083};
  185. displayName = "FN SCAR-H (MK17)";
  186. descriptionshort = "Battle Rifle<br />Caliber: 7.62x51mm NATO";
  187. model = "\btc_weapons\BTC_mk17.p3d";
  188. magazines[] = {"20Rnd_762x51_Mag"};
  189. reloadAction = "GestureReloadMX";
  190. handanim[] = {"OFP2_ManSkeleton", "\btc_weapons\anim\SCAR.rtm"};
  191. picture = "\btc_weapons\data\scar\scar_h_gear_x_ca.paa";
  192. UiPicture = "\A3\weapons_f\data\UI\icon_regular_CA.paa";
  193. class WeaponSlotsInfo: WeaponSlotsInfo
  194. {
  195. allowedslots[] = {901};
  196. mass = 40;
  197. class MuzzleSlot: SlotInfo
  198. {
  199. linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
  200. compatibleItems[] = {"RH_300BLK_SS"};
  201. };
  202. class CowsSlot: CowsSlot {};
  203. class PointerSlot: PointerSlot {};
  204. };
  205. class GunClouds: GunClouds {};
  206. class GunFire: GunFire {};
  207. class GunParticles: GunParticles
  208. {
  209. class SecondEffect
  210. {
  211. positionName = "Nabojnicestart";
  212. directionName = "Nabojniceend";
  213. effectName = "CaselessAmmoCloud";
  214. };
  215. };
  216. opticsZoomMin = 0.375;
  217. opticsZoomMax = 1.1;
  218. opticsZoomInit = 0.75;
  219. distanceZoomMin = 300;
  220. distanceZoomMax = 300;
  221. discreteDistance[] = {100,200,300,400,500,600};
  222. discreteDistanceInitIndex = 1;
  223. weaponInfoType = "RscWeaponZeroing";
  224. modes[] = {"Single","FullAuto","single_medium_optics1","single_far_optics2","fullauto_medium"};
  225. class Single: Mode_SemiAuto
  226. {
  227. begin1[] = {"lyn_weapon_sounds\rifle\mk17_fire1",1.25,1,1500};
  228. begin2[] = {"lyn_weapon_sounds\rifle\mk17_fire2",1.25,1,1500};
  229. soundBegin[] = {"begin1",0.5,"begin2",0.5};
  230. closure1[] = {"A3\sounds_f\weapons\closure\closure_rifle_2",1.1220185,1,10};
  231. closure2[] = {"A3\sounds_f\weapons\closure\closure_rifle_3",1.1220185,1,10};
  232. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  233. weaponSoundEffect = "DefaultRifle";
  234. reloadTime = 0.065;
  235. recoil = "recoil_single_mx";
  236. recoilProne = "recoil_single_prone_mx";
  237. dispersion = 0.0005;
  238. minRange = 10;
  239. minRangeProbab = 0.3;
  240. midRange = 250;
  241. midRangeProbab = 0.7;
  242. maxRange = 500;
  243. maxRangeProbab = 0.2;
  244. };
  245. class FullAuto: Mode_FullAuto
  246. {
  247. begin1[] = {"lyn_weapon_sounds\rifle\mk17_fire1",1.25,1,1500};
  248. begin2[] = {"lyn_weapon_sounds\rifle\mk17_fire2",1.25,1,1500};
  249. soundBegin[] = {"begin1",0.5,"begin2",0.5};
  250. closure1[] = {"A3\sounds_f\weapons\closure\closure_rifle_2",1.1220185,1,10};
  251. closure2[] = {"A3\sounds_f\weapons\closure\closure_rifle_3",1.1220185,1,10};
  252. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  253. weaponSoundEffect = "DefaultRifle";
  254. reloadTime = 0.096;
  255. recoil = "recoil_auto_mx";
  256. recoilProne = "recoil_auto_prone_mx";
  257. dispersion = 0.0005;
  258. minRange = 0;
  259. minRangeProbab = 0.9;
  260. midRange = 15;
  261. midRangeProbab = 0.7;
  262. maxRange = 30;
  263. maxRangeProbab = 0.1;
  264. aiRateOfFire = 1e-006;
  265. };
  266. class single_medium_optics1: Single
  267. {
  268. requiredOpticType = 1;
  269. showToPlayer = 0;
  270. minRange = 2;
  271. minRangeProbab = 0.2;
  272. midRange = 550;
  273. midRangeProbab = 0.7;
  274. maxRange = 700;
  275. maxRangeProbab = 0.1;
  276. aiRateOfFire = 6;
  277. aiRateOfFireDistance = 600;
  278. };
  279. class single_far_optics2: single_medium_optics1
  280. {
  281. requiredOpticType = 2;
  282. };
  283. class fullauto_medium: FullAuto
  284. {
  285. showToPlayer = 0;
  286. burst = 3;
  287. minRange = 2;
  288. minRangeProbab = 0.5;
  289. midRange = 75;
  290. midRangeProbab = 0.7;
  291. maxRange = 150;
  292. maxRangeProbab = 0.05;
  293. aiRateOfFire = 2.0;
  294. };
  295. class LYN_EGLM: UGL_F
  296. {
  297. displayName = "EGLM Grenade Launcher";
  298. descriptionShort = "EGLM";
  299. useModelOptics = false;
  300. useExternalOptic = false;
  301. cameraDir = "OP_look";
  302. discreteDistance[] = {100, 200, 300, 400};
  303. discreteDistanceCameraPoint[] = {"OP_eye", "OP_eye2", "OP_eye3", "OP_eye4"}; /// the angle of gun changes with zeroing
  304. discreteDistanceInitIndex = 1; /// 200 is the default zero
  305. };
  306. aiDispersionCoefY = 10;
  307. aiDispersionCoefX = 8;
  308. drySound[] = {"A3\sounds_f\weapons\Other\dry_1",1,1,10};
  309. changeFiremodeSound[] = {"lyn_weapon_sounds\m4_selector.wav",0.5,1};
  310. reloadMagazineSound[] = {"lyn_weapon_sounds\rifle\m4_reload",0.5,1,30};
  311. };
  312. class lyn_mk17_gl_f: lyn_mk17_f
  313. {
  314. model = "\btc_weapons\BTC_mk17_gl.p3d";
  315. displayName = "FN SCAR-H (MK17) EGLM";
  316. handanim[] = {"OFP2_ManSkeleton", "\btc_weapons\anim\M16GL.rtm"};
  317. muzzles[] = {"this", "LYN_EGLM"};
  318. };
  319. class lyn_m14_f: Rifle_Long_Base_F
  320. {
  321. jsrs_soundeffect = "JSRS2_Distance_Effects_M14";
  322. scope = 2;
  323. cursor = "srifle";
  324. bullet1[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_01",0.39810717,1,15};
  325. bullet2[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_02",0.39810717,1,15};
  326. bullet3[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_03",0.39810717,1,15};
  327. bullet4[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_04",0.39810717,1,15};
  328. bullet5[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_01",0.2818383,1,15};
  329. bullet6[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_02",0.2818383,1,15};
  330. bullet7[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_03",0.2818383,1,15};
  331. bullet8[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_04",0.2818383,1,15};
  332. bullet9[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_01",0.2818383,1,15};
  333. bullet10[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_02",0.2818383,1,15};
  334. bullet11[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_03",0.2818383,1,15};
  335. bullet12[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_04",0.2818383,1,15};
  336. soundBullet[] = {"bullet1",0.083,"bullet2",0.083,"bullet3",0.083,"bullet4",0.083,"bullet5",0.083,"bullet6",0.083,"bullet7",0.083,"bullet8",0.083,"bullet9",0.083,"bullet10",0.083,"bullet11",0.083,"bullet12",0.083};
  337. displayName = "M14";
  338. descriptionshort = "Battle Rifle<br />Caliber: 7.62x51mm NATO";
  339. model="\btc_weapons\BTC_m14.p3d";
  340. magazines[] = {"20Rnd_762x51_Mag"};
  341. reloadAction = "GestureReloadEBR";
  342. handAnim[]={"OFP2_ManSkeleton","\btc_weapons\anim\M24.rtm"};
  343. picture="\btc_weapons\data\m14\m14_gear_x_ca.paa";
  344. UiPicture = "\A3\weapons_f\data\UI\icon_regular_CA.paa";
  345. class WeaponSlotsInfo: WeaponSlotsInfo
  346. {
  347. allowedslots[] = {901};
  348. mass = 40;
  349. class MuzzleSlot{};
  350. class CowsSlot: CowsSlot {};
  351. class PointerSlot{};
  352. };
  353. class GunClouds: GunClouds {};
  354. class GunFire: GunFire {};
  355. class GunParticles: GunParticles
  356. {
  357. class SecondEffect
  358. {
  359. positionName = "Nabojnicestart";
  360. directionName = "Nabojniceend";
  361. effectName = "CaselessAmmoCloud";
  362. };
  363. };
  364. opticsZoomMin = 0.375;
  365. opticsZoomMax = 1.1;
  366. opticsZoomInit = 0.75;
  367. distanceZoomMin = 300;
  368. distanceZoomMax = 300;
  369. discreteDistance[] = {100,200,300,400,500,600};
  370. discreteDistanceInitIndex = 1;
  371. weaponInfoType = "RscWeaponZeroing";
  372. modes[] = {"Single","FullAuto","single_medium_optics1","single_far_optics2","fullauto_medium"};
  373. class Single: Mode_SemiAuto
  374. {
  375. begin1[] = {"lyn_weapon_sounds\rifle\mk17_fire1",1.25,1,1500};
  376. begin2[] = {"lyn_weapon_sounds\rifle\mk17_fire2",1.25,1,1500};
  377. soundBegin[] = {"begin1",0.5,"begin2",0.5};
  378. closure1[] = {"A3\sounds_f\weapons\closure\closure_rifle_2",1.1220185,1,10};
  379. closure2[] = {"A3\sounds_f\weapons\closure\closure_rifle_3",1.1220185,1,10};
  380. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  381. weaponSoundEffect = "DefaultRifle";
  382. reloadTime = 0.065;
  383. recoil = "recoil_single_mx";
  384. recoilProne = "recoil_single_prone_mx";
  385. dispersion = 0.0005;
  386. minRange = 10;
  387. minRangeProbab = 0.3;
  388. midRange = 250;
  389. midRangeProbab = 0.7;
  390. maxRange = 500;
  391. maxRangeProbab = 0.2;
  392. };
  393. class FullAuto: Mode_FullAuto
  394. {
  395. begin1[] = {"lyn_weapon_sounds\rifle\mk17_fire1",1.25,1,1500};
  396. begin2[] = {"lyn_weapon_sounds\rifle\mk17_fire2",1.25,1,1500};
  397. soundBegin[] = {"begin1",0.5,"begin2",0.5};
  398. closure1[] = {"A3\sounds_f\weapons\closure\closure_rifle_2",1.1220185,1,10};
  399. closure2[] = {"A3\sounds_f\weapons\closure\closure_rifle_3",1.1220185,1,10};
  400. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  401. weaponSoundEffect = "DefaultRifle";
  402. reloadTime = 0.08;
  403. recoil = "recoil_auto_mx";
  404. recoilProne = "recoil_auto_prone_mx";
  405. dispersion = 0.0005;
  406. minRange = 0;
  407. minRangeProbab = 0.9;
  408. midRange = 15;
  409. midRangeProbab = 0.7;
  410. maxRange = 30;
  411. maxRangeProbab = 0.1;
  412. aiRateOfFire = 1e-006;
  413. };
  414. class single_medium_optics1: Single
  415. {
  416. requiredOpticType = 1;
  417. showToPlayer = 0;
  418. minRange = 2;
  419. minRangeProbab = 0.2;
  420. midRange = 550;
  421. midRangeProbab = 0.7;
  422. maxRange = 700;
  423. maxRangeProbab = 0.1;
  424. aiRateOfFire = 6;
  425. aiRateOfFireDistance = 600;
  426. };
  427. class single_far_optics2: single_medium_optics1
  428. {
  429. requiredOpticType = 2;
  430. };
  431. class fullauto_medium: FullAuto
  432. {
  433. showToPlayer = 0;
  434. burst = 3;
  435. minRange = 2;
  436. minRangeProbab = 0.5;
  437. midRange = 75;
  438. midRangeProbab = 0.7;
  439. maxRange = 150;
  440. maxRangeProbab = 0.05;
  441. aiRateOfFire = 2.0;
  442. };
  443. aiDispersionCoefY = 10;
  444. aiDispersionCoefX = 8;
  445. drySound[] = {"A3\sounds_f\weapons\Other\dry_1",1,1,10};
  446. changeFiremodeSound[] = {"lyn_weapon_sounds\m4_selector.wav",0.5,1};
  447. reloadMagazineSound[] = {"lyn_weapon_sounds\rifle\m14_reload",0.5,1,30};
  448. class Library
  449. {
  450. libtextdesc = "The M14 rifle is an American selective fire automatic rifle firing 7.62x51mm NATO ammunition. It was the standard issue US rifle until replaced by the M16 rifle in 1970.";
  451. };
  452. };
  453. class lyn_dmr_f: lyn_m14_f
  454. {
  455. model="\btc_weapons\BTC_dmr";
  456. picture="\btc_weapons\data\dmr\dmr_gear_x_ca.paa";
  457. displayName = "DMR";
  458. descriptionshort = "Marksman Rifle<br/>Caliber: 7.62x51mm NATO";
  459. modes[] = {"Single","single_medium_optics1","single_far_optics2"};
  460. class Library
  461. {
  462. libtextdesc = "The Designated Marksman Rifle is a semi-automatic, gas-operated rifle. It is a modified and accuracy-increased version of the M14 rifle and is used extensively by the US Marine Corps.<br/>This weapon uses 7.62x51 NATO cartridges and is highly prized for its power, light weight and rapid, but accurate fire.";
  463. };
  464. };
  465. class lyn_m107_f: Rifle_Long_Base_F
  466. {
  467. jsrs_soundeffect = "JSRS2_Distance_Effects_Snip1";
  468. scope = 2;
  469. cursor = "srifle";
  470. model="\btc_weapons\BTC_m107";
  471. picture="\btc_weapons\data\m107\m107_gear_x_ca.paa";
  472. displayName = "M107";
  473. descriptionshort = "Anti-material Sniper Rifle <br/>Caliber: 12.7x99mm NATO";
  474. magazines[] = {"LYN_10Rnd_127x99"};
  475. reloadAction = "ReloadGM6";
  476. handanim[] = {"OFP2_ManSkeleton", "\btc_weapons\Anim\M107b.rtm"};
  477. bullet1[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_01",0.39810717,1,15};
  478. bullet2[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_02",0.39810717,1,15};
  479. bullet3[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_03",0.39810717,1,15};
  480. bullet4[] = {"A3\sounds_f\weapons\shells\7_62\metal_762_04",0.39810717,1,15};
  481. bullet5[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_01",0.2818383,1,15};
  482. bullet6[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_02",0.2818383,1,15};
  483. bullet7[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_03",0.2818383,1,15};
  484. bullet8[] = {"A3\sounds_f\weapons\shells\7_62\dirt_762_04",0.2818383,1,15};
  485. bullet9[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_01",0.2818383,1,15};
  486. bullet10[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_02",0.2818383,1,15};
  487. bullet11[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_03",0.2818383,1,15};
  488. bullet12[] = {"A3\sounds_f\weapons\shells\7_62\grass_762_04",0.2818383,1,15};
  489. soundBullet[] = {"bullet1",0.083,"bullet2",0.083,"bullet3",0.083,"bullet4",0.083,"bullet5",0.083,"bullet6",0.083,"bullet7",0.083,"bullet8",0.083,"bullet9",0.083,"bullet10",0.083,"bullet11",0.083,"bullet12",0.083};
  490. class WeaponSlotsInfo: WeaponSlotsInfo
  491. {
  492. allowedslots[] = {901};
  493. mass = 200;
  494. class MuzzleSlot{};
  495. class CowsSlot: CowsSlot {};
  496. class PointerSlot{};
  497. };
  498. class GunClouds: GunClouds
  499. {
  500. access = 0;
  501. cloudletAccY = 0;
  502. cloudletAlpha = 0.3;
  503. cloudletAnimPeriod = 1;
  504. cloudletColor[] = {1,1,1,0};
  505. cloudletDuration = 0.05;
  506. cloudletFadeIn = 0;
  507. cloudletFadeOut = 0.1;
  508. cloudletGrowUp = 0.05;
  509. cloudletMaxYSpeed = 100;
  510. cloudletMinYSpeed = -100;
  511. cloudletShape = "cloudletClouds";
  512. cloudletSize = 1;
  513. deltaT = 0;
  514. initT = 0;
  515. interval = -0.02;
  516. size = 0.3;
  517. sourceSize = 0.02;
  518. timeToLive = 0;
  519. class Table: Table{};
  520. };
  521. class GunFire: GunFire
  522. {
  523. access = 0;
  524. cloudletAccY = 0;
  525. cloudletAlpha = 1;
  526. cloudletAnimPeriod = 1;
  527. cloudletColor[] = {1,1,1,0};
  528. cloudletDensityCoef = -1;
  529. cloudletDuration = 0.2;
  530. cloudletFadeIn = 0.01;
  531. cloudletFadeOut = 0.5;
  532. cloudletGrowUp = 0.2;
  533. cloudletMaxYSpeed = 100;
  534. cloudletMinYSpeed = -100;
  535. cloudletShape = "cloudletFire";
  536. cloudletSize = 1;
  537. deltaT = -3000;
  538. initT = 4500;
  539. interval = -0.01;
  540. size = 3;
  541. sourceSize = 0.5;
  542. timeToLive = 0;
  543. class Table: Table{};
  544. };
  545. class GunParticles: GunParticles
  546. {
  547. class FirstEffect
  548. {
  549. positionName = "Usti hlavne";
  550. directionName = "Konec hlavne";
  551. effectName = "SniperCloud";
  552. };
  553. };
  554. opticsZoomMin = 0.375;
  555. opticsZoomMax = 1.1;
  556. opticsZoomInit = 0.75;
  557. opticsDisablePeripherialVision = 1;
  558. opticsFlare = 1;
  559. opticsPPEffects[] = {};
  560. swayDecaySpeed = 1.25;
  561. maxRecoilSway = 0.03;
  562. distanceZoomMin = 350;
  563. distanceZoomMax = 100;
  564. discreteDistance[] = {100,200,300,400,500,600};
  565. discreteDistanceInitIndex = 1;
  566. weaponInfoType = "RscWeaponZeroing";
  567. modes[] = {"Single","medium_optic2","far_optic1","far_optic2"};
  568. class Single: Mode_SemiAuto
  569. {
  570. begin1[]={"lyn_weapon_sounds\sniper\m107_fire1", 1.25, 1, 1500};
  571. begin2[]={"lyn_weapon_sounds\sniper\m107_fire2", 1.25, 1, 1500};
  572. begin3[]={"lyn_weapon_sounds\sniper\m107_fire3", 1.25, 1, 1500};
  573. soundBegin[]={"begin1",0.25,"begin2",0.25,"begin3",0.5};
  574. closure1[] = {"A3\sounds_f\weapons\closure\sfx_gm6a",1,1,40};
  575. closure2[] = {"A3\sounds_f\weapons\closure\sfx_gm6b",1,1,40};
  576. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  577. soundContinuous = 0;
  578. weaponSoundEffect = "DefaultRifle";
  579. reloadTime = 0.75;
  580. recoil = "recoil_single_gm6";
  581. recoilprone = "recoil_single_prone_gm6";
  582. dispersion = 0.00038;
  583. minRange = 2;
  584. minRangeProbab = 0.5;
  585. midRange = 150;
  586. midRangeProbab = 0.7;
  587. maxRange = 450;
  588. maxRangeProbab = 0.3;
  589. };
  590. class medium_optic2: Single
  591. {
  592. requiredOpticType = 2;
  593. showToPlayer = 0;
  594. minRange = 250;
  595. minRangeProbab = 0.2;
  596. midRange = 750;
  597. midRangeProbab = 0.7;
  598. maxRange = 1000;
  599. maxRangeProbab = 0.4;
  600. aiRateOfFire = 5;
  601. aiRateOfFireDistance = 1000;
  602. };
  603. class far_optic1: medium_optic2
  604. {
  605. requiredOpticType = 1;
  606. showToPlayer = 0;
  607. minRange = 150;
  608. minRangeProbab = 0.2;
  609. midRange = 500;
  610. midRangeProbab = 0.7;
  611. maxRange = 1500;
  612. maxRangeProbab = 0.4;
  613. aiRateOfFire = 3;
  614. aiRateOfFireDistance = 500;
  615. };
  616. class far_optic2: far_optic1
  617. {
  618. minRange = 500;
  619. minRangeProbab = 0.2;
  620. midRange = 1200;
  621. midRangeProbab = 0.7;
  622. maxRange = 2100;
  623. maxRangeProbab = 0.3;
  624. aiRateOfFire = 7;
  625. aiRateOfFireDistance = 1000;
  626. };
  627. aiDispersionCoefY = 6;
  628. aiDispersionCoefX = 6;
  629. drySound[] = {"A3\sounds_f\weapons\Other\dry_1",1,1,10};
  630. reloadMagazineSound[] = {"lyn_weapon_sounds\sniper\m107_reload",0.5,1,30};
  631. class Library
  632. {
  633. libtextdesc = "The M107 is a long-range, shoulder fired, semi-automatic sniper rifle, manufactured by Beneli Armi S.P.A. It is highly prized for its manageable recoil.<br/>The M107uses 12.7x99 mm cartridges and its effective range is around 1.800 m.";
  634. };
  635. };
  636. class lyn_m240_f: Rifle_Long_Base_F
  637. {
  638. jsrs_soundeffect = "JSRS2_Distance_Effects_M240";
  639. scope = 2;
  640. cursor = "mg";
  641. displayName = "M240B";
  642. descriptionshort = "Light machine gun <br/>Caliber: 7.62x51mm NATO";
  643. model = "\btc_weapons\BTC_m240.p3d";
  644. magazines[] = {"SUD_100Rnd_762x51_M60","SUD_100Rnd_762x51_M60_T"};
  645. reloadAction = "GestureReloadM200";
  646. handanim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\MX_afg.rtm"};
  647. picture = "\btc_weapons\data\m240\m240_gear_x_ca.paa";
  648. UiPicture = "\A3\weapons_f\data\UI\icon_regular_CA.paa";
  649. class WeaponSlotsInfo: WeaponSlotsInfo
  650. {
  651. allowedslots[] = {901};
  652. mass = 140;
  653. class MuzzleSlot{};
  654. class CowsSlot: CowsSlot {};
  655. class PointerSlot{};
  656. };
  657. class GunClouds: GunClouds {};
  658. class GunFire: GunFire {};
  659. class GunParticles: GunParticles
  660. {
  661. class SecondEffect
  662. {
  663. positionName = "Nabojnicestart";
  664. directionName = "Nabojniceend";
  665. effectName = "CaselessAmmoCloud";
  666. };
  667. };
  668. opticsZoomMin = 0.375;
  669. opticsZoomMax = 1.1;
  670. opticsZoomInit = 0.75;
  671. distanceZoomMin = 300;
  672. distanceZoomMax = 300;
  673. discreteDistance[] = {100,200,300,400,500,600};
  674. discreteDistanceInitIndex = 1;
  675. weaponInfoType = "RscWeaponZeroing";
  676. modes[] = {"FullAuto","close","short","medium","far_optic1","far_optic2"};
  677. class FullAuto: Mode_FullAuto
  678. {
  679. begin1[] = {"lyn_weapon_sounds\mg\m240_fire1",1.25,1,1500};
  680. begin2[] = {"lyn_weapon_sounds\mg\m240_fire2",1.25,1,1500};
  681. begin3[] = {"lyn_weapon_sounds\mg\m240_fire3",1.25,1,1500};
  682. soundBegin[] = {"begin1",0.5,"begin2",0.25,"begin3",0.25};
  683. closure1[] = {"A3\sounds_f\weapons\zafir\zafir_sfx_3",1.12202,1,10};
  684. closure2[] = {"A3\sounds_f\weapons\zafir\zafir_sfx_4",1.12202,1,10};
  685. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  686. weaponSoundEffect = "DefaultRifle";
  687. reloadTime = 0.08;
  688. recoil = "recoil_auto_mk200";
  689. recoilProne = "recoil_auto_prone_mk200";
  690. dispersion = 0.0005;
  691. soundContinuous = 0;
  692. soundBurst = 0;
  693. minRange = 0;
  694. minRangeProbab = 0.9;
  695. midRange = 15;
  696. midRangeProbab = 0.7;
  697. maxRange = 30;
  698. maxRangeProbab = 0.1;
  699. aiRateOfFire = 1e-006;
  700. showToPlayer = 1;
  701. };
  702. class close: FullAuto
  703. {
  704. burst = 10;
  705. aiRateOfFire = 0.5;
  706. aiRateOfFireDistance = 50;
  707. minRange = 0;
  708. minRangeProbab = 0.05;
  709. midRange = 30;
  710. midRangeProbab = 0.7;
  711. maxRange = 50;
  712. maxRangeProbab = 0.04;
  713. showToPlayer = 0;
  714. };
  715. class short: close
  716. {
  717. burst = 8;
  718. aiRateOfFire = 2;
  719. aiRateOfFireDistance = 300;
  720. minRange = 50;
  721. minRangeProbab = 0.05;
  722. midRange = 150;
  723. midRangeProbab = 0.7;
  724. maxRange = 300;
  725. maxRangeProbab = 0.04;
  726. };
  727. class medium: close
  728. {
  729. burst = 5;
  730. aiRateOfFire = 4;
  731. aiRateOfFireDistance = 600;
  732. minRange = 200;
  733. minRangeProbab = 0.05;
  734. midRange = 400;
  735. midRangeProbab = 0.6;
  736. maxRange = 600;
  737. maxRangeProbab = 0.1;
  738. };
  739. class far_optic1: close
  740. {
  741. requiredOpticType = 1;
  742. showToPlayer = 0;
  743. burst = 3;
  744. aiRateOfFire = 9;
  745. aiRateOfFireDistance = 900;
  746. minRange = 350;
  747. minRangeProbab = 0.04;
  748. midRange = 550;
  749. midRangeProbab = 0.5;
  750. maxRange = 700;
  751. maxRangeProbab = 0.01;
  752. };
  753. class far_optic2: far_optic1
  754. {
  755. requiredOpticType = 2;
  756. autoFire = 0;
  757. burst = 1;
  758. minRange = 400;
  759. minRangeProbab = 0.05;
  760. midRange = 800;
  761. midRangeProbab = 0.5;
  762. maxRange = 1000;
  763. maxRangeProbab = 0.01;
  764. };
  765. aiDispersionCoefY = 23.0;
  766. aiDispersionCoefX = 19.0;
  767. drySound[] = {"A3\sounds_f\weapons\Other\dry_1",0.5,1,10};
  768. reloadMagazineSound[] = {"lyn_weapon_sounds\mg\mg_reload",0.5,1,20};
  769. class Library
  770. {
  771. libtextdesc = "The M240 is a belt-fed, gas-operated machine gun. This weapon is used extensively by US armed forces infantry, mounted on ground vehicles, boats and aircraft. It is highly prized for its reliability, good rate of fire, impact and durability. <br/>The M240 uses 7.62x51 mm ammunition.";
  772. };
  773. };
  774. class lyn_m240_f_m145: lyn_m240_f
  775. {
  776. class WeaponSlotsInfo: WeaponSlotsInfo
  777. {
  778. class PointerSlot: PointerSlot{};
  779. };
  780. class LinkedItems
  781. {
  782. class LinkedItemsOptic
  783. {
  784. slot = "CowsSlot";
  785. item = "LYN_m145";
  786. };
  787. };
  788. };
  789. class lyn_mk48_f: lyn_m240_f
  790. {
  791. displayName = "MK 48 Mod 0";
  792. picture = "\btc_weapons\data\mk48\mk48_gear_x_ca.paa";
  793. model = "\btc_weapons\BTC_mk48.p3d";
  794. handanim[] = {"OFP2_ManSkeleton","\btc_weapons\anim\Mk48.rtm"};
  795. class Library
  796. {
  797. libtextdesc = "The Mk 48 Mod 0 is in fact a modified M249 machine gun, developed for USSOCOM special operation units. In comparison to the M249 this weapon features an improved rail mounting system and integral folding bipod. The Mk 48 is significantly lighter than the M240 while offering better firepower than the M249 SAW.<br/>The Mk 48 uses 7.62x51 mm ammunition...";
  798. };
  799. };
  800. class lyn_m249_f: Rifle_Long_Base_F
  801. {
  802. jsrs_soundeffect = "JSRS2_Distance_Effects_M249";
  803. scope = 2;
  804. cursor = "mg";
  805. displayName = "M249";
  806. descriptionshort = "Light machine gun <br/>Caliber: 5.56x45mm NATO";
  807. model = "\btc_weapons\BTC_m249.p3d";
  808. magazines[] = {"LYN_100Rnd_556x45_Stanag","LYN_200Rnd_556x45_Stanag","LYN_100Rnd_556x45_Stanag_tracer","LYN_200Rnd_556x45_Stanag_tracer","30Rnd_556x45_Stanag","RH_30Rnd_556x45_Mk262"};
  809. reloadAction = "GestureReloadM200";
  810. handanim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\MX_afg.rtm"};
  811. picture = "\btc_weapons\data\m249\m249_gear_x_ca.paa";
  812. UiPicture = "\A3\weapons_f\data\UI\icon_regular_CA.paa";
  813. class WeaponSlotsInfo: WeaponSlotsInfo
  814. {
  815. allowedslots[] = {901};
  816. mass = 140;
  817. class MuzzleSlot{};
  818. class CowsSlot: CowsSlot {};
  819. class PointerSlot: PointerSlot{};
  820. };
  821. class GunClouds: GunClouds {};
  822. class GunFire: GunFire {};
  823. class GunParticles: GunParticles
  824. {
  825. class SecondEffect
  826. {
  827. positionName = "Nabojnicestart";
  828. directionName = "Nabojniceend";
  829. effectName = "CaselessAmmoCloud";
  830. };
  831. };
  832. opticsZoomMin = 0.375;
  833. opticsZoomMax = 1.1;
  834. opticsZoomInit = 0.75;
  835. distanceZoomMin = 300;
  836. distanceZoomMax = 300;
  837. discreteDistance[] = {100,200,300,400,500,600};
  838. discreteDistanceInitIndex = 1;
  839. weaponInfoType = "RscWeaponZeroing";
  840. modes[] = {"FullAuto","close","short","medium","far_optic1","far_optic2"};
  841. class FullAuto: Mode_FullAuto
  842. {
  843. begin1[] = {"lyn_weapon_sounds\mg\m249_fire1",1.25,1,1500};
  844. begin2[] = {"lyn_weapon_sounds\mg\m249_fire2",1.25,1,1500};
  845. begin3[] = {"lyn_weapon_sounds\mg\m249_fire3",1.25,1,1500};
  846. soundBegin[] = {"begin1",0.5,"begin2",0.25,"begin3",0.25};
  847. closure1[] = {"A3\sounds_f\weapons\zafir\zafir_sfx_3",1.12202,1,10};
  848. closure2[] = {"A3\sounds_f\weapons\zafir\zafir_sfx_4",1.12202,1,10};
  849. soundClosure[] = {"closure1",0.5,"closure2",0.5};
  850. weaponSoundEffect = "DefaultRifle";
  851. reloadTime = 0.075;
  852. recoil = "recoil_auto_trg";
  853. recoilProne = "recoil_auto_prone_trg";
  854. dispersion = 0.0005;
  855. soundContinuous = 0;
  856. soundBurst = 0;
  857. minRange = 0;
  858. minRangeProbab = 0.9;
  859. midRange = 15;
  860. midRangeProbab = 0.7;
  861. maxRange = 30;
  862. maxRangeProbab = 0.1;
  863. aiRateOfFire = 1e-006;
  864. showToPlayer = 1;
  865. };
  866. class close: FullAuto
  867. {
  868. burst = 10;
  869. aiRateOfFire = 0.5;
  870. aiRateOfFireDistance = 50;
  871. minRange = 0;
  872. minRangeProbab = 0.05;
  873. midRange = 30;
  874. midRangeProbab = 0.7;
  875. maxRange = 50;
  876. maxRangeProbab = 0.04;
  877. showToPlayer = 0;
  878. };
  879. class short: close
  880. {
  881. burst = 8;
  882. aiRateOfFire = 2;
  883. aiRateOfFireDistance = 300;
  884. minRange = 50;
  885. minRangeProbab = 0.05;
  886. midRange = 150;
  887. midRangeProbab = 0.7;
  888. maxRange = 300;
  889. maxRangeProbab = 0.04;
  890. };
  891. class medium: close
  892. {
  893. burst = 5;
  894. aiRateOfFire = 4;
  895. aiRateOfFireDistance = 600;
  896. minRange = 200;
  897. minRangeProbab = 0.05;
  898. midRange = 400;
  899. midRangeProbab = 0.6;
  900. maxRange = 600;
  901. maxRangeProbab = 0.1;
  902. };
  903. class far_optic1: close
  904. {
  905. requiredOpticType = 1;
  906. showToPlayer = 0;
  907. burst = 3;
  908. aiRateOfFire = 9;
  909. aiRateOfFireDistance = 900;
  910. minRange = 350;
  911. minRangeProbab = 0.04;
  912. midRange = 550;
  913. midRangeProbab = 0.5;
  914. maxRange = 700;
  915. maxRangeProbab = 0.01;
  916. };
  917. class far_optic2: far_optic1
  918. {
  919. requiredOpticType = 2;
  920. autoFire = 0;
  921. burst = 1;
  922. minRange = 400;
  923. minRangeProbab = 0.05;
  924. midRange = 800;
  925. midRangeProbab = 0.5;
  926. maxRange = 1000;
  927. maxRangeProbab = 0.01;
  928. };
  929. aiDispersionCoefY = 23.0;
  930. aiDispersionCoefX = 19.0;
  931. drySound[] = {"A3\sounds_f\weapons\Other\dry_1",0.5,1,10};
  932. reloadMagazineSound[] = {"lyn_weapon_sounds\mg\mg_reload",0.5,1,20};
  933. class Library
  934. {
  935. libtextdesc = "The M249 Squad Automatic Weapon is a fully-automatic, gas-operated, magazine or belt-fed individual weapon.<br/>It is the standard US Army light machine gun based on the Belgian FN Minimi, featuring a 200 round plastic magazine box. The bipod can be collapsed and the weapon can be fired from the hands.<br/>The M249 SAW provides the squad with the accurate and sustained fire required to suppress and destroy enemy targets.";
  936. };
  937. };
  938. class lyn_m249_f_m145: lyn_m249_f
  939. {
  940. class LinkedItems
  941. {
  942. class LinkedItemsOptic
  943. {
  944. slot = "CowsSlot";
  945. item = "LYN_m145";
  946. };
  947. };
  948. };
  949. //OPTIC
  950. class ItemCore;
  951. class InventoryOpticsItem_Base_F;
  952. class LYN_m145: ItemCore
  953. {
  954. scope = 2;
  955. displayName = "M145";
  956. picture = "\btc_weapons\data\m145\gear_m145_ca.paa";
  957. model = "\btc_weapons\BTC_m145.p3d";
  958. descriptionShort = "M145";
  959. weaponinfotype = "RscWeaponZeroing";
  960. class ItemInfo: InventoryOpticsItem_Base_F
  961. {
  962. mass = 2;
  963. modeloptics = "\btc_weapons\BTC_m145_optic.p3d";
  964. optics = 1;
  965. opticType = 2;
  966. class OpticsModes
  967. {
  968. class BTC_m145_scope
  969. {
  970. cameradir = "";
  971. distancezoommax = 300;
  972. distancezoommin = 300;
  973. memorypointcamera = "opticView";
  974. opticsdisableperipherialvision = 1;
  975. opticsflare = 1;
  976. opticsid = 1;
  977. opticsppeffects[] = {"OpticsCHAbera1", "OpticsBlur1"};
  978. opticszoominit = 0.0732;
  979. opticszoommax = 0.0732;
  980. opticszoommin = 0.0732;
  981. usemodeloptics = 1;
  982. visionmode[] = {"Normal"};
  983. };
  984. class BTC_m145_iron
  985. {
  986. distancezoommax = 100;
  987. distancezoommin = 100;
  988. discreteInitIndex = 0;
  989. discretedistance[] = {100};
  990. discretedistanceinitindex = 0;
  991. discretefov[] = {};
  992. memorypointcamera = "eye";
  993. opticsdisableperipherialvision = 0;
  994. opticsdisplayname = "";
  995. opticsflare = 0;
  996. opticsid = 2;
  997. opticszoominit = 0.75;
  998. opticszoommax = 1.1;
  999. opticszoommin = 0.375;
  1000. usemodeloptics = 0;
  1001. visionmode[] = {};
  1002. opticsppeffects[] = {};
  1003. };
  1004. };
  1005. };
  1006. };
  1007. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement