@nativewrappers/fivem 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/lib/client/Audio.d.ts +17 -0
  4. package/lib/client/Audio.js +92 -0
  5. package/lib/client/Blip.d.ts +39 -0
  6. package/lib/client/Blip.js +104 -0
  7. package/lib/client/Camera.d.ts +46 -0
  8. package/lib/client/Camera.js +161 -0
  9. package/lib/client/Checkpoint.d.ts +18 -0
  10. package/lib/client/Checkpoint.js +42 -0
  11. package/lib/client/Events.d.ts +11 -0
  12. package/lib/client/Events.js +73 -0
  13. package/lib/client/Game.d.ts +283 -0
  14. package/lib/client/Game.js +451 -0
  15. package/lib/client/GameplayCamera.d.ts +102 -0
  16. package/lib/client/GameplayCamera.js +141 -0
  17. package/lib/client/Model.d.ts +134 -0
  18. package/lib/client/Model.js +198 -0
  19. package/lib/client/NetworkedScene.d.ts +10 -0
  20. package/lib/client/NetworkedScene.js +17 -0
  21. package/lib/client/ParticleEffect.d.ts +80 -0
  22. package/lib/client/ParticleEffect.js +120 -0
  23. package/lib/client/ParticleEffectAsset.d.ts +54 -0
  24. package/lib/client/ParticleEffectAsset.js +104 -0
  25. package/lib/client/Pickup.d.ts +9 -0
  26. package/lib/client/Pickup.js +18 -0
  27. package/lib/client/Raycast.d.ts +49 -0
  28. package/lib/client/Raycast.js +70 -0
  29. package/lib/client/RelationshipGroup.d.ts +49 -0
  30. package/lib/client/RelationshipGroup.js +63 -0
  31. package/lib/client/Rope.d.ts +99 -0
  32. package/lib/client/Rope.js +125 -0
  33. package/lib/client/TaskSequence.d.ts +15 -0
  34. package/lib/client/TaskSequence.js +43 -0
  35. package/lib/client/Tasks.d.ts +66 -0
  36. package/lib/client/Tasks.js +236 -0
  37. package/lib/client/World.d.ts +402 -0
  38. package/lib/client/World.js +726 -0
  39. package/lib/client/cfx/StateBagChangeHandler.d.ts +3 -0
  40. package/lib/client/cfx/StateBagChangeHandler.js +1 -0
  41. package/lib/client/cfx/index.d.ts +7 -0
  42. package/lib/client/cfx/index.js +1 -0
  43. package/lib/client/enums/Alignment.d.ts +5 -0
  44. package/lib/client/enums/Alignment.js +6 -0
  45. package/lib/client/enums/AnimationFlags.d.ts +9 -0
  46. package/lib/client/enums/AnimationFlags.js +10 -0
  47. package/lib/client/enums/AudioFlag.d.ts +37 -0
  48. package/lib/client/enums/AudioFlag.js +38 -0
  49. package/lib/client/enums/BadgeStyle.d.ts +182 -0
  50. package/lib/client/enums/BadgeStyle.js +183 -0
  51. package/lib/client/enums/Blip.d.ts +223 -0
  52. package/lib/client/enums/Blip.js +225 -0
  53. package/lib/client/enums/Bone.d.ts +101 -0
  54. package/lib/client/enums/Bone.js +103 -0
  55. package/lib/client/enums/CameraShake.d.ts +13 -0
  56. package/lib/client/enums/CameraShake.js +14 -0
  57. package/lib/client/enums/CameraTypes.d.ts +7 -0
  58. package/lib/client/enums/CameraTypes.js +8 -0
  59. package/lib/client/enums/CheckboxStyle.d.ts +4 -0
  60. package/lib/client/enums/CheckboxStyle.js +5 -0
  61. package/lib/client/enums/Checkpoint.d.ts +62 -0
  62. package/lib/client/enums/Checkpoint.js +67 -0
  63. package/lib/client/enums/ClassTypes.d.ts +11 -0
  64. package/lib/client/enums/ClassTypes.js +12 -0
  65. package/lib/client/enums/CloudHat.d.ts +26 -0
  66. package/lib/client/enums/CloudHat.js +27 -0
  67. package/lib/client/enums/Control.d.ts +360 -0
  68. package/lib/client/enums/Control.js +361 -0
  69. package/lib/client/enums/CursorSprite.d.ts +14 -0
  70. package/lib/client/enums/CursorSprite.js +15 -0
  71. package/lib/client/enums/Driving.d.ts +32 -0
  72. package/lib/client/enums/Driving.js +34 -0
  73. package/lib/client/enums/ExplosionType.d.ts +44 -0
  74. package/lib/client/enums/ExplosionType.js +45 -0
  75. package/lib/client/enums/FiringPattern.d.ts +19 -0
  76. package/lib/client/enums/FiringPattern.js +20 -0
  77. package/lib/client/enums/Font.d.ts +7 -0
  78. package/lib/client/enums/Font.js +8 -0
  79. package/lib/client/enums/ForceType.d.ts +8 -0
  80. package/lib/client/enums/ForceType.js +9 -0
  81. package/lib/client/enums/Gender.d.ts +4 -0
  82. package/lib/client/enums/Gender.js +5 -0
  83. package/lib/client/enums/HelmetType.d.ts +5 -0
  84. package/lib/client/enums/HelmetType.js +6 -0
  85. package/lib/client/enums/HudColor.d.ts +183 -0
  86. package/lib/client/enums/HudColor.js +184 -0
  87. package/lib/client/enums/HudComponent.d.ts +53 -0
  88. package/lib/client/enums/HudComponent.js +54 -0
  89. package/lib/client/enums/InputMode.d.ts +4 -0
  90. package/lib/client/enums/InputMode.js +5 -0
  91. package/lib/client/enums/IntersectOptions.d.ts +15 -0
  92. package/lib/client/enums/IntersectOptions.js +16 -0
  93. package/lib/client/enums/InvertAxis.d.ts +9 -0
  94. package/lib/client/enums/InvertAxis.js +7 -0
  95. package/lib/client/enums/Language.d.ts +14 -0
  96. package/lib/client/enums/Language.js +15 -0
  97. package/lib/client/enums/LeaveVehicleFlags.d.ts +10 -0
  98. package/lib/client/enums/LeaveVehicleFlags.js +11 -0
  99. package/lib/client/enums/LoadingSpinnerType.d.ts +7 -0
  100. package/lib/client/enums/LoadingSpinnerType.js +8 -0
  101. package/lib/client/enums/MarkerType.d.ts +49 -0
  102. package/lib/client/enums/MarkerType.js +50 -0
  103. package/lib/client/enums/MenuAlignment.d.ts +4 -0
  104. package/lib/client/enums/MenuAlignment.js +5 -0
  105. package/lib/client/enums/NotificationType.d.ts +10 -0
  106. package/lib/client/enums/NotificationType.js +11 -0
  107. package/lib/client/enums/Parachute.d.ts +13 -0
  108. package/lib/client/enums/Parachute.js +15 -0
  109. package/lib/client/enums/PickupType.d.ts +73 -0
  110. package/lib/client/enums/PickupType.js +74 -0
  111. package/lib/client/enums/RadioStation.d.ts +24 -0
  112. package/lib/client/enums/RadioStation.js +25 -0
  113. package/lib/client/enums/RagdollType.d.ts +6 -0
  114. package/lib/client/enums/RagdollType.js +7 -0
  115. package/lib/client/enums/Relationship.d.ts +9 -0
  116. package/lib/client/enums/Relationship.js +10 -0
  117. package/lib/client/enums/RopeType.d.ts +5 -0
  118. package/lib/client/enums/RopeType.js +6 -0
  119. package/lib/client/enums/ScreenEffect.d.ts +83 -0
  120. package/lib/client/enums/ScreenEffect.js +84 -0
  121. package/lib/client/enums/SpeechModifier.d.ts +39 -0
  122. package/lib/client/enums/SpeechModifier.js +40 -0
  123. package/lib/client/enums/Vehicle.d.ts +358 -0
  124. package/lib/client/enums/Vehicle.js +376 -0
  125. package/lib/client/enums/Weather.d.ts +21 -0
  126. package/lib/client/enums/Weather.js +22 -0
  127. package/lib/client/enums/ZoneID.d.ts +94 -0
  128. package/lib/client/enums/ZoneID.js +95 -0
  129. package/lib/client/enums/index.d.ts +42 -0
  130. package/lib/client/enums/index.js +42 -0
  131. package/lib/client/hashes/MaterialHash.d.ts +216 -0
  132. package/lib/client/hashes/MaterialHash.js +217 -0
  133. package/lib/client/hashes/PedHash.d.ts +724 -0
  134. package/lib/client/hashes/PedHash.js +725 -0
  135. package/lib/client/hashes/VehicleHash.d.ts +522 -0
  136. package/lib/client/hashes/VehicleHash.js +523 -0
  137. package/lib/client/hashes/WeaponHash.d.ts +147 -0
  138. package/lib/client/hashes/WeaponHash.js +161 -0
  139. package/lib/client/hashes/WeatherTypeHash.d.ts +21 -0
  140. package/lib/client/hashes/WeatherTypeHash.js +22 -0
  141. package/lib/client/hashes/index.d.ts +5 -0
  142. package/lib/client/hashes/index.js +5 -0
  143. package/lib/client/index.d.ts +24 -0
  144. package/lib/client/index.js +25 -0
  145. package/lib/client/interfaces/Dimensions.d.ts +5 -0
  146. package/lib/client/interfaces/Dimensions.js +1 -0
  147. package/lib/client/models/BaseEntity.d.ts +169 -0
  148. package/lib/client/models/BaseEntity.js +459 -0
  149. package/lib/client/models/Entity.d.ts +9 -0
  150. package/lib/client/models/Entity.js +24 -0
  151. package/lib/client/models/EntityBone.d.ts +12 -0
  152. package/lib/client/models/EntityBone.js +24 -0
  153. package/lib/client/models/EntityBoneCollection.d.ts +11 -0
  154. package/lib/client/models/EntityBoneCollection.js +16 -0
  155. package/lib/client/models/Ped.d.ts +199 -0
  156. package/lib/client/models/Ped.js +685 -0
  157. package/lib/client/models/PedBone.d.ts +6 -0
  158. package/lib/client/models/PedBone.js +9 -0
  159. package/lib/client/models/PedBoneCollection.d.ts +8 -0
  160. package/lib/client/models/PedBoneCollection.js +19 -0
  161. package/lib/client/models/Player.d.ts +63 -0
  162. package/lib/client/models/Player.js +174 -0
  163. package/lib/client/models/Prop.d.ts +11 -0
  164. package/lib/client/models/Prop.js +26 -0
  165. package/lib/client/models/Vehicle.d.ts +171 -0
  166. package/lib/client/models/Vehicle.js +551 -0
  167. package/lib/client/models/VehicleDoor.d.ts +19 -0
  168. package/lib/client/models/VehicleDoor.js +42 -0
  169. package/lib/client/models/VehicleDoorCollection.d.ts +14 -0
  170. package/lib/client/models/VehicleDoorCollection.js +61 -0
  171. package/lib/client/models/VehicleMod.d.ts +16 -0
  172. package/lib/client/models/VehicleMod.js +33 -0
  173. package/lib/client/models/VehicleModCollection.d.ts +61 -0
  174. package/lib/client/models/VehicleModCollection.js +227 -0
  175. package/lib/client/models/VehicleToggleMod.d.ts +14 -0
  176. package/lib/client/models/VehicleToggleMod.js +27 -0
  177. package/lib/client/models/VehicleWheel.d.ts +11 -0
  178. package/lib/client/models/VehicleWheel.js +21 -0
  179. package/lib/client/models/VehicleWheelCollection.d.ts +13 -0
  180. package/lib/client/models/VehicleWheelCollection.js +56 -0
  181. package/lib/client/models/VehicleWindow.d.ts +16 -0
  182. package/lib/client/models/VehicleWindow.js +33 -0
  183. package/lib/client/models/VehicleWindowCollection.d.ts +14 -0
  184. package/lib/client/models/VehicleWindowCollection.js +55 -0
  185. package/lib/client/models/index.d.ts +18 -0
  186. package/lib/client/models/index.js +18 -0
  187. package/lib/client/types/EntityType.d.ts +2 -0
  188. package/lib/client/types/EntityType.js +1 -0
  189. package/lib/client/ui/Container.d.ts +11 -0
  190. package/lib/client/ui/Container.js +28 -0
  191. package/lib/client/ui/Effects.d.ts +8 -0
  192. package/lib/client/ui/Effects.js +106 -0
  193. package/lib/client/ui/Fading.d.ts +41 -0
  194. package/lib/client/ui/Fading.js +69 -0
  195. package/lib/client/ui/Hud.d.ts +16 -0
  196. package/lib/client/ui/Hud.js +39 -0
  197. package/lib/client/ui/InstructionalButtons.d.ts +33 -0
  198. package/lib/client/ui/InstructionalButtons.js +53 -0
  199. package/lib/client/ui/LoadingPrompt.d.ts +27 -0
  200. package/lib/client/ui/LoadingPrompt.js +45 -0
  201. package/lib/client/ui/Notification.d.ts +5 -0
  202. package/lib/client/ui/Notification.js +8 -0
  203. package/lib/client/ui/Rectangle.d.ts +10 -0
  204. package/lib/client/ui/Rectangle.js +37 -0
  205. package/lib/client/ui/Scaleform.d.ts +106 -0
  206. package/lib/client/ui/Scaleform.js +234 -0
  207. package/lib/client/ui/Screen.d.ts +16 -0
  208. package/lib/client/ui/Screen.js +72 -0
  209. package/lib/client/ui/Sprite.d.ts +17 -0
  210. package/lib/client/ui/Sprite.js +53 -0
  211. package/lib/client/ui/Text.d.ts +31 -0
  212. package/lib/client/ui/Text.js +102 -0
  213. package/lib/client/ui/Timerbar.d.ts +44 -0
  214. package/lib/client/ui/Timerbar.js +241 -0
  215. package/lib/client/ui/index.d.ts +15 -0
  216. package/lib/client/ui/index.js +15 -0
  217. package/lib/client/ui/interfaces/IButton.d.ts +5 -0
  218. package/lib/client/ui/interfaces/IButton.js +1 -0
  219. package/lib/client/ui/interfaces/IDrawable.d.ts +7 -0
  220. package/lib/client/ui/interfaces/IDrawable.js +1 -0
  221. package/lib/client/ui/interfaces/index.d.ts +2 -0
  222. package/lib/client/ui/interfaces/index.js +1 -0
  223. package/lib/client/ui/menu/Menu.d.ts +108 -0
  224. package/lib/client/ui/menu/Menu.js +802 -0
  225. package/lib/client/ui/menu/MenuControl.d.ts +6 -0
  226. package/lib/client/ui/menu/MenuControl.js +11 -0
  227. package/lib/client/ui/menu/MenuControls.d.ts +9 -0
  228. package/lib/client/ui/menu/MenuControls.js +11 -0
  229. package/lib/client/ui/menu/MenuSettings.d.ts +20 -0
  230. package/lib/client/ui/menu/MenuSettings.js +51 -0
  231. package/lib/client/ui/menu/index.d.ts +6 -0
  232. package/lib/client/ui/menu/index.js +6 -0
  233. package/lib/client/ui/menu/items/UIMenuCheckboxItem.d.ts +20 -0
  234. package/lib/client/ui/menu/items/UIMenuCheckboxItem.js +57 -0
  235. package/lib/client/ui/menu/items/UIMenuItem.d.ts +78 -0
  236. package/lib/client/ui/menu/items/UIMenuItem.js +1090 -0
  237. package/lib/client/ui/menu/items/UIMenuListItem.d.ts +31 -0
  238. package/lib/client/ui/menu/items/UIMenuListItem.js +110 -0
  239. package/lib/client/ui/menu/items/UIMenuSeparatorItem.d.ts +11 -0
  240. package/lib/client/ui/menu/items/UIMenuSeparatorItem.js +29 -0
  241. package/lib/client/ui/menu/items/UIMenuSliderItem.d.ts +47 -0
  242. package/lib/client/ui/menu/items/UIMenuSliderItem.js +173 -0
  243. package/lib/client/ui/menu/items/index.d.ts +6 -0
  244. package/lib/client/ui/menu/items/index.js +6 -0
  245. package/lib/client/ui/menu/items/panels/AbstractUIMenuPanel.d.ts +17 -0
  246. package/lib/client/ui/menu/items/panels/AbstractUIMenuPanel.js +43 -0
  247. package/lib/client/ui/menu/items/panels/UIMenuColorPanel.d.ts +36 -0
  248. package/lib/client/ui/menu/items/panels/UIMenuColorPanel.js +211 -0
  249. package/lib/client/ui/menu/items/panels/UIMenuGridPanel.d.ts +40 -0
  250. package/lib/client/ui/menu/items/panels/UIMenuGridPanel.js +215 -0
  251. package/lib/client/ui/menu/items/panels/UIMenuPercentagePanel.d.ts +26 -0
  252. package/lib/client/ui/menu/items/panels/UIMenuPercentagePanel.js +115 -0
  253. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanel.d.ts +16 -0
  254. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanel.js +77 -0
  255. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanelItem.d.ts +13 -0
  256. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanelItem.js +32 -0
  257. package/lib/client/ui/menu/items/panels/index.d.ts +6 -0
  258. package/lib/client/ui/menu/items/panels/index.js +6 -0
  259. package/lib/client/ui/menu/modules/ListItem.d.ts +6 -0
  260. package/lib/client/ui/menu/modules/ListItem.js +8 -0
  261. package/lib/client/ui/menu/modules/index.d.ts +1 -0
  262. package/lib/client/ui/menu/modules/index.js +1 -0
  263. package/lib/client/utils/Animations.d.ts +19 -0
  264. package/lib/client/utils/Animations.js +55 -0
  265. package/lib/client/utils/Color.d.ts +15 -0
  266. package/lib/client/utils/Color.js +22 -0
  267. package/lib/client/utils/Crypto.d.ts +3 -0
  268. package/lib/client/utils/Crypto.js +25 -0
  269. package/lib/client/utils/LiteEvent.d.ts +13 -0
  270. package/lib/client/utils/LiteEvent.js +21 -0
  271. package/lib/client/utils/Maths.d.ts +4 -0
  272. package/lib/client/utils/Maths.js +10 -0
  273. package/lib/client/utils/Point.d.ts +9 -0
  274. package/lib/client/utils/Point.js +28 -0
  275. package/lib/client/utils/PointF.d.ts +12 -0
  276. package/lib/client/utils/PointF.js +11 -0
  277. package/lib/client/utils/Quaternion.d.ts +10 -0
  278. package/lib/client/utils/Quaternion.js +23 -0
  279. package/lib/client/utils/Size.d.ts +5 -0
  280. package/lib/client/utils/Size.js +6 -0
  281. package/lib/client/utils/String.d.ts +6 -0
  282. package/lib/client/utils/String.js +25 -0
  283. package/lib/client/utils/Vector2.d.ts +54 -0
  284. package/lib/client/utils/Vector2.js +106 -0
  285. package/lib/client/utils/Vector3.d.ts +69 -0
  286. package/lib/client/utils/Vector3.js +140 -0
  287. package/lib/client/utils/Vector4.d.ts +62 -0
  288. package/lib/client/utils/Vector4.js +124 -0
  289. package/lib/client/utils/enumValues.d.ts +12 -0
  290. package/lib/client/utils/enumValues.js +14 -0
  291. package/lib/client/utils/getStringFromUInt8Array.d.ts +8 -0
  292. package/lib/client/utils/getStringFromUInt8Array.js +10 -0
  293. package/lib/client/utils/getUInt32FromUint8Array.d.ts +8 -0
  294. package/lib/client/utils/getUInt32FromUint8Array.js +8 -0
  295. package/lib/client/utils/index.d.ts +10 -0
  296. package/lib/client/utils/index.js +10 -0
  297. package/lib/client/weapon/DlcWeaponData.d.ts +43 -0
  298. package/lib/client/weapon/DlcWeaponData.js +44 -0
  299. package/lib/client/weapon/Mk2WeaponHash.d.ts +18 -0
  300. package/lib/client/weapon/Mk2WeaponHash.js +25 -0
  301. package/lib/client/weapon/Weapon.d.ts +169 -0
  302. package/lib/client/weapon/Weapon.js +267 -0
  303. package/lib/client/weapon/WeaponAsset.d.ts +55 -0
  304. package/lib/client/weapon/WeaponAsset.js +83 -0
  305. package/lib/client/weapon/WeaponCollection.d.ts +90 -0
  306. package/lib/client/weapon/WeaponCollection.js +186 -0
  307. package/lib/client/weapon/WeaponDisplayNameByHash.d.ts +6 -0
  308. package/lib/client/weapon/WeaponDisplayNameByHash.js +75 -0
  309. package/lib/client/weapon/WeaponGroup.d.ts +18 -0
  310. package/lib/client/weapon/WeaponGroup.js +19 -0
  311. package/lib/client/weapon/WeaponHudStats.d.ts +27 -0
  312. package/lib/client/weapon/WeaponHudStats.js +38 -0
  313. package/lib/client/weapon/WeaponLivery.d.ts +13 -0
  314. package/lib/client/weapon/WeaponLivery.js +14 -0
  315. package/lib/client/weapon/WeaponLiveryColor.d.ts +34 -0
  316. package/lib/client/weapon/WeaponLiveryColor.js +35 -0
  317. package/lib/client/weapon/WeaponTint.d.ts +42 -0
  318. package/lib/client/weapon/WeaponTint.js +43 -0
  319. package/lib/client/weapon/index.d.ts +8 -0
  320. package/lib/client/weapon/index.js +8 -0
  321. package/lib/client/weaponComponent/ComponentAttachmentPoint.d.ts +18 -0
  322. package/lib/client/weaponComponent/ComponentAttachmentPoint.js +19 -0
  323. package/lib/client/weaponComponent/ComponentAttachmentPointByHash.d.ts +7 -0
  324. package/lib/client/weaponComponent/ComponentAttachmentPointByHash.js +309 -0
  325. package/lib/client/weaponComponent/ComponentDisplayNameByHash.d.ts +6 -0
  326. package/lib/client/weaponComponent/ComponentDisplayNameByHash.js +280 -0
  327. package/lib/client/weaponComponent/DlcWeaponComponentData.d.ts +40 -0
  328. package/lib/client/weaponComponent/DlcWeaponComponentData.js +44 -0
  329. package/lib/client/weaponComponent/InvalidWeaponComponent.d.ts +12 -0
  330. package/lib/client/weaponComponent/InvalidWeaponComponent.js +28 -0
  331. package/lib/client/weaponComponent/WeaponComponent.d.ts +81 -0
  332. package/lib/client/weaponComponent/WeaponComponent.js +119 -0
  333. package/lib/client/weaponComponent/WeaponComponentCollection.d.ts +108 -0
  334. package/lib/client/weaponComponent/WeaponComponentCollection.js +172 -0
  335. package/lib/client/weaponComponent/WeaponComponentHash.d.ts +671 -0
  336. package/lib/client/weaponComponent/WeaponComponentHash.js +887 -0
  337. package/lib/client/weaponComponent/WeaponComponentHashesByWeaponHash.d.ts +8 -0
  338. package/lib/client/weaponComponent/WeaponComponentHashesByWeaponHash.js +823 -0
  339. package/lib/client/weaponComponent/WeaponComponentHudStats.d.ts +27 -0
  340. package/lib/client/weaponComponent/WeaponComponentHudStats.js +34 -0
  341. package/lib/client/weaponComponent/index.d.ts +5 -0
  342. package/lib/client/weaponComponent/index.js +5 -0
  343. package/lib/common/Convar.d.ts +8 -0
  344. package/lib/common/Convar.js +20 -0
  345. package/lib/common/Kvp.d.ts +91 -0
  346. package/lib/common/Kvp.js +161 -0
  347. package/lib/common/Resource.d.ts +14 -0
  348. package/lib/common/Resource.js +35 -0
  349. package/lib/common/index.d.ts +5 -0
  350. package/lib/common/index.js +5 -0
  351. package/lib/common/types.d.ts +6 -0
  352. package/lib/common/types.js +1 -0
  353. package/lib/common/utils/Color.d.ts +10 -0
  354. package/lib/common/utils/Color.js +17 -0
  355. package/lib/common/utils/Maths.d.ts +4 -0
  356. package/lib/common/utils/Maths.js +10 -0
  357. package/lib/common/utils/PointF.d.ts +12 -0
  358. package/lib/common/utils/PointF.js +11 -0
  359. package/lib/common/utils/Quaternion.d.ts +10 -0
  360. package/lib/common/utils/Quaternion.js +23 -0
  361. package/lib/common/utils/Vector2.d.ts +58 -0
  362. package/lib/common/utils/Vector2.js +113 -0
  363. package/lib/common/utils/Vector3.d.ts +73 -0
  364. package/lib/common/utils/Vector3.js +147 -0
  365. package/lib/common/utils/Vector4.d.ts +66 -0
  366. package/lib/common/utils/Vector4.js +131 -0
  367. package/lib/common/utils/cleanPlayerName.d.ts +6 -0
  368. package/lib/common/utils/cleanPlayerName.js +27 -0
  369. package/lib/common/utils/enumValues.d.ts +12 -0
  370. package/lib/common/utils/enumValues.js +14 -0
  371. package/lib/common/utils/getStringFromUInt8Array.d.ts +8 -0
  372. package/lib/common/utils/getStringFromUInt8Array.js +10 -0
  373. package/lib/common/utils/getUInt32FromUint8Array.d.ts +8 -0
  374. package/lib/common/utils/getUInt32FromUint8Array.js +8 -0
  375. package/lib/common/utils/index.d.ts +12 -0
  376. package/lib/common/utils/index.js +12 -0
  377. package/lib/server/Anticheat.d.ts +0 -0
  378. package/lib/server/Anticheat.js +25 -0
  379. package/lib/server/Events.d.ts +35 -0
  380. package/lib/server/Events.js +102 -0
  381. package/lib/server/Game.d.ts +56 -0
  382. package/lib/server/Game.js +86 -0
  383. package/lib/server/cfx/StateBagChangeHandler.d.ts +9 -0
  384. package/lib/server/cfx/StateBagChangeHandler.js +4 -0
  385. package/lib/server/cfx/index.d.ts +7 -0
  386. package/lib/server/cfx/index.js +1 -0
  387. package/lib/server/entities/BaseEntity.d.ts +115 -0
  388. package/lib/server/entities/BaseEntity.js +161 -0
  389. package/lib/server/entities/Entity.d.ts +18 -0
  390. package/lib/server/entities/Entity.js +22 -0
  391. package/lib/server/entities/Ped.d.ts +87 -0
  392. package/lib/server/entities/Ped.js +122 -0
  393. package/lib/server/entities/Player.d.ts +163 -0
  394. package/lib/server/entities/Player.js +235 -0
  395. package/lib/server/entities/Prop.d.ts +32 -0
  396. package/lib/server/entities/Prop.js +42 -0
  397. package/lib/server/entities/Vehicle.d.ts +230 -0
  398. package/lib/server/entities/Vehicle.js +331 -0
  399. package/lib/server/entities/index.d.ts +5 -0
  400. package/lib/server/entities/index.js +5 -0
  401. package/lib/server/enum/ClassTypes.d.ts +11 -0
  402. package/lib/server/enum/ClassTypes.js +12 -0
  403. package/lib/server/enum/PopulationType.d.ts +13 -0
  404. package/lib/server/enum/PopulationType.js +14 -0
  405. package/lib/server/enum/VehicleLockStatus.d.ts +9 -0
  406. package/lib/server/enum/VehicleLockStatus.js +10 -0
  407. package/lib/server/enum/VehicleType.d.ts +10 -0
  408. package/lib/server/enum/VehicleType.js +11 -0
  409. package/lib/server/enum/eEntityType.d.ts +5 -0
  410. package/lib/server/enum/eEntityType.js +6 -0
  411. package/lib/server/enum/index.d.ts +5 -0
  412. package/lib/server/enum/index.js +5 -0
  413. package/lib/server/index.d.ts +7 -0
  414. package/lib/server/index.js +7 -0
  415. package/lib/server/type/Anticheat.d.ts +471 -0
  416. package/lib/server/type/Anticheat.js +160 -0
  417. package/lib/server/type/Hash.d.ts +3 -0
  418. package/lib/server/type/Hash.js +2 -0
  419. package/lib/server/utils/index.d.ts +1 -0
  420. package/lib/server/utils/index.js +1 -0
  421. package/package.json +54 -0
@@ -0,0 +1,823 @@
1
+ import { WeaponHash } from '../hashes';
2
+ import { WeaponComponentHash } from './WeaponComponentHash';
3
+ import { getUInt32FromUint8Array } from '../utils';
4
+ /**
5
+ * Mapping of WeaponHash -> WeaponComponentHashes
6
+ * refer: https://wiki.rage.mp/index.php?title=Weapons_Components
7
+ *
8
+ */
9
+ export const WeaponComponentHashesByWeaponHash = new Map([
10
+ // Melees
11
+ [
12
+ WeaponHash.KnuckleDuster, // Knuckle Duster
13
+ [
14
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_BASE,
15
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_PIMP,
16
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_BALLAS,
17
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_DOLLAR,
18
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_DIAMOND,
19
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_HATE,
20
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_LOVE,
21
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_PLAYER,
22
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_KING,
23
+ WeaponComponentHash.COMPONENT_KNUCKLE_VARMOD_VAGOS,
24
+ ],
25
+ ],
26
+ [
27
+ WeaponHash.SwitchBlade, // Switchblade
28
+ [
29
+ WeaponComponentHash.COMPONENT_SWITCHBLADE_VARMOD_BASE,
30
+ WeaponComponentHash.COMPONENT_SWITCHBLADE_VARMOD_VAR1,
31
+ WeaponComponentHash.COMPONENT_SWITCHBLADE_VARMOD_VAR2,
32
+ ],
33
+ ],
34
+ // Pistols
35
+ [
36
+ WeaponHash.Pistol, // Pistol
37
+ [
38
+ WeaponComponentHash.COMPONENT_PISTOL_CLIP_01,
39
+ WeaponComponentHash.COMPONENT_PISTOL_CLIP_02,
40
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
41
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP_02,
42
+ WeaponComponentHash.COMPONENT_PISTOL_VARMOD_LUXE,
43
+ ],
44
+ ],
45
+ [
46
+ WeaponHash.CombatPistol, // Combat Pistol
47
+ [
48
+ WeaponComponentHash.COMPONENT_COMBATPISTOL_CLIP_01,
49
+ WeaponComponentHash.COMPONENT_COMBATPISTOL_CLIP_02,
50
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
51
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
52
+ WeaponComponentHash.COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER,
53
+ ],
54
+ ],
55
+ [
56
+ WeaponHash.APPistol, // AP Pistol
57
+ [
58
+ WeaponComponentHash.COMPONENT_APPISTOL_CLIP_01,
59
+ WeaponComponentHash.COMPONENT_APPISTOL_CLIP_02,
60
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
61
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
62
+ WeaponComponentHash.COMPONENT_APPISTOL_VARMOD_LUXE,
63
+ ],
64
+ ],
65
+ [
66
+ WeaponHash.Pistol50, // Pistol .50
67
+ [
68
+ WeaponComponentHash.COMPONENT_PISTOL50_CLIP_01,
69
+ WeaponComponentHash.COMPONENT_PISTOL50_CLIP_02,
70
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
71
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
72
+ WeaponComponentHash.COMPONENT_PISTOL50_VARMOD_LUXE,
73
+ ],
74
+ ],
75
+ [
76
+ WeaponHash.Revolver, // Heavy Revolver
77
+ [
78
+ WeaponComponentHash.COMPONENT_REVOLVER_VARMOD_BOSS,
79
+ WeaponComponentHash.COMPONENT_REVOLVER_VARMOD_GOON,
80
+ WeaponComponentHash.COMPONENT_REVOLVER_CLIP_01,
81
+ ],
82
+ ],
83
+ [
84
+ WeaponHash.SNSPistol, // SNS Pistol
85
+ [
86
+ WeaponComponentHash.COMPONENT_SNSPISTOL_CLIP_01,
87
+ WeaponComponentHash.COMPONENT_SNSPISTOL_CLIP_02,
88
+ WeaponComponentHash.COMPONENT_SNSPISTOL_VARMOD_LOWRIDER,
89
+ ],
90
+ ],
91
+ [
92
+ WeaponHash.HeavyPistol, // Heavy Pistol
93
+ [
94
+ WeaponComponentHash.COMPONENT_HEAVYPISTOL_CLIP_01,
95
+ WeaponComponentHash.COMPONENT_HEAVYPISTOL_CLIP_02,
96
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
97
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
98
+ WeaponComponentHash.COMPONENT_HEAVYPISTOL_VARMOD_LUXE,
99
+ ],
100
+ ],
101
+ [
102
+ WeaponHash.RevolverMk2, // Heavy Revolver Mk II
103
+ [
104
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CLIP_01,
105
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CLIP_TRACER,
106
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CLIP_INCENDIARY,
107
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CLIP_HOLLOWPOINT,
108
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CLIP_FMJ,
109
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
110
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_MK2,
111
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
112
+ WeaponComponentHash.COMPONENT_AT_PI_COMP_03,
113
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO,
114
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_02,
115
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_03,
116
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_04,
117
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_05,
118
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_06,
119
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_07,
120
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_08,
121
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_09,
122
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_10,
123
+ WeaponComponentHash.COMPONENT_REVOLVER_MK2_CAMO_IND_01,
124
+ ],
125
+ ],
126
+ [
127
+ WeaponHash.SNSPistolMk2, // SNS Pistol Mk II
128
+ [
129
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CLIP_01,
130
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CLIP_02,
131
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CLIP_TRACER,
132
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CLIP_INCENDIARY,
133
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CLIP_HOLLOWPOINT,
134
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CLIP_FMJ,
135
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH_03,
136
+ WeaponComponentHash.COMPONENT_AT_PI_RAIL_02,
137
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP_02,
138
+ WeaponComponentHash.COMPONENT_AT_PI_COMP_02,
139
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO,
140
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_02,
141
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_03,
142
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_04,
143
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_05,
144
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_06,
145
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_07,
146
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_08,
147
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_09,
148
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_10,
149
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_IND_01,
150
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_SLIDE,
151
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_02_SLIDE,
152
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_03_SLIDE,
153
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_04_SLIDE,
154
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_05_SLIDE,
155
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_06_SLIDE,
156
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_07_SLIDE,
157
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_08_SLIDE,
158
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_09_SLIDE,
159
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_10_SLIDE,
160
+ WeaponComponentHash.COMPONENT_SNSPISTOL_MK2_CAMO_IND_01_SLIDE,
161
+ ],
162
+ ],
163
+ [
164
+ WeaponHash.PistolMk2, // Pistol Mk II
165
+ [
166
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CLIP_01,
167
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CLIP_02,
168
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CLIP_TRACER,
169
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CLIP_INCENDIARY,
170
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT,
171
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CLIP_FMJ,
172
+ WeaponComponentHash.COMPONENT_AT_PI_RAIL,
173
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH_02,
174
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP_02,
175
+ WeaponComponentHash.COMPONENT_AT_PI_COMP,
176
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO,
177
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_02,
178
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_03,
179
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_04,
180
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_05,
181
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_06,
182
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_07,
183
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_08,
184
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_09,
185
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_10,
186
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_IND_01,
187
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_SLIDE,
188
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_02_SLIDE,
189
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_03_SLIDE,
190
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_04_SLIDE,
191
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_05_SLIDE,
192
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_06_SLIDE,
193
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_07_SLIDE,
194
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_08_SLIDE,
195
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_09_SLIDE,
196
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_10_SLIDE,
197
+ WeaponComponentHash.COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE,
198
+ ],
199
+ ],
200
+ [
201
+ WeaponHash.VintagePistol, // Vintage Pistol
202
+ [
203
+ WeaponComponentHash.COMPONENT_VINTAGEPISTOL_CLIP_01,
204
+ WeaponComponentHash.COMPONENT_VINTAGEPISTOL_CLIP_02,
205
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
206
+ ],
207
+ ],
208
+ [
209
+ WeaponHash.RayPistol, // Up - n - Atomizer
210
+ [WeaponComponentHash.COMPONENT_RAYPISTOL_VARMOD_XMAS18],
211
+ ],
212
+ [
213
+ WeaponHash.CeramicPistol, // Ceramic Pistol
214
+ [
215
+ WeaponComponentHash.COMPONENT_CERAMICPISTOL_CLIP_01,
216
+ WeaponComponentHash.COMPONENT_CERAMICPISTOL_CLIP_02,
217
+ WeaponComponentHash.COMPONENT_CERAMICPISTOL_SUPP,
218
+ ],
219
+ ],
220
+ // Submachine Guns
221
+ [
222
+ WeaponHash.MicroSMG, // Micro SMG
223
+ [
224
+ WeaponComponentHash.COMPONENT_MICROSMG_CLIP_01,
225
+ WeaponComponentHash.COMPONENT_MICROSMG_CLIP_02,
226
+ WeaponComponentHash.COMPONENT_AT_PI_FLSH,
227
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO,
228
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
229
+ WeaponComponentHash.COMPONENT_MICROSMG_VARMOD_LUXE,
230
+ ],
231
+ ],
232
+ [
233
+ WeaponHash.SMG, // SMG
234
+ [
235
+ WeaponComponentHash.COMPONENT_SMG_CLIP_01,
236
+ WeaponComponentHash.COMPONENT_SMG_CLIP_02,
237
+ WeaponComponentHash.COMPONENT_SMG_CLIP_03,
238
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
239
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_02,
240
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
241
+ WeaponComponentHash.COMPONENT_SMG_VARMOD_LUXE,
242
+ ],
243
+ ],
244
+ [
245
+ WeaponHash.AssaultSMG, // Assault SMG
246
+ [
247
+ WeaponComponentHash.COMPONENT_ASSAULTSMG_CLIP_01,
248
+ WeaponComponentHash.COMPONENT_ASSAULTSMG_CLIP_02,
249
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
250
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO,
251
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
252
+ WeaponComponentHash.COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER,
253
+ ],
254
+ ],
255
+ [
256
+ WeaponHash.MiniSMG, // Mini SMG
257
+ [WeaponComponentHash.COMPONENT_MINISMG_CLIP_01, WeaponComponentHash.COMPONENT_MINISMG_CLIP_02],
258
+ ],
259
+ [
260
+ WeaponHash.SMGMk2, // SMG Mk II
261
+ [
262
+ WeaponComponentHash.COMPONENT_SMG_MK2_CLIP_01,
263
+ WeaponComponentHash.COMPONENT_SMG_MK2_CLIP_02,
264
+ WeaponComponentHash.COMPONENT_SMG_MK2_CLIP_TRACER,
265
+ WeaponComponentHash.COMPONENT_SMG_MK2_CLIP_INCENDIARY,
266
+ WeaponComponentHash.COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT,
267
+ WeaponComponentHash.COMPONENT_SMG_MK2_CLIP_FMJ,
268
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
269
+ WeaponComponentHash.COMPONENT_AT_SIGHTS_SMG,
270
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2,
271
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL_SMG_MK2,
272
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
273
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
274
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
275
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
276
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
277
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
278
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
279
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
280
+ WeaponComponentHash.COMPONENT_AT_SB_BARREL_01,
281
+ WeaponComponentHash.COMPONENT_AT_SB_BARREL_02,
282
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO,
283
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_02,
284
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_03,
285
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_04,
286
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_05,
287
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_06,
288
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_07,
289
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_08,
290
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_09,
291
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_10,
292
+ WeaponComponentHash.COMPONENT_SMG_MK2_CAMO_IND_01,
293
+ ],
294
+ ],
295
+ [
296
+ WeaponHash.MachinePistol, // Machine Pistol
297
+ [
298
+ WeaponComponentHash.COMPONENT_MACHINEPISTOL_CLIP_01,
299
+ WeaponComponentHash.COMPONENT_MACHINEPISTOL_CLIP_02,
300
+ WeaponComponentHash.COMPONENT_MACHINEPISTOL_CLIP_03,
301
+ WeaponComponentHash.COMPONENT_AT_PI_SUPP,
302
+ ],
303
+ ],
304
+ [
305
+ WeaponHash.CombatPDW, // Combat PDW
306
+ [
307
+ WeaponComponentHash.COMPONENT_COMBATPDW_CLIP_01,
308
+ WeaponComponentHash.COMPONENT_COMBATPDW_CLIP_02,
309
+ WeaponComponentHash.COMPONENT_COMBATPDW_CLIP_03,
310
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
311
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
312
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL,
313
+ ],
314
+ ],
315
+ // Shotguns
316
+ [
317
+ WeaponHash.PumpShotgun, // Pump Shotgun
318
+ [
319
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
320
+ WeaponComponentHash.COMPONENT_AT_SR_SUPP,
321
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER,
322
+ ],
323
+ ],
324
+ [
325
+ WeaponHash.SawnOffShotgun, // Sawed - Off Shotgun
326
+ [WeaponComponentHash.COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE],
327
+ ],
328
+ [
329
+ WeaponHash.AssaultShotgun, // Assault Shotgun
330
+ [
331
+ WeaponComponentHash.COMPONENT_ASSAULTSHOTGUN_CLIP_01,
332
+ WeaponComponentHash.COMPONENT_ASSAULTSHOTGUN_CLIP_02,
333
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
334
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
335
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
336
+ ],
337
+ ],
338
+ [
339
+ WeaponHash.BullpupShotgun, // Bullpup Shotgun
340
+ [
341
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
342
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
343
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
344
+ ],
345
+ ],
346
+ [
347
+ WeaponHash.PumpShotgunMk2, // Pump Shotgun Mk II
348
+ [
349
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CLIP_01,
350
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CLIP_INCENDIARY,
351
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING,
352
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT,
353
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE,
354
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
355
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_MK2,
356
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL_MK2,
357
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
358
+ WeaponComponentHash.COMPONENT_AT_SR_SUPP_03,
359
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_08,
360
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO,
361
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_02,
362
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_03,
363
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_04,
364
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_05,
365
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_06,
366
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_07,
367
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_08,
368
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_09,
369
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_10,
370
+ WeaponComponentHash.COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01,
371
+ ],
372
+ ],
373
+ [
374
+ WeaponHash.HeavyShotgun, // Heavy Shotgun
375
+ [
376
+ WeaponComponentHash.COMPONENT_HEAVYSHOTGUN_CLIP_01,
377
+ WeaponComponentHash.COMPONENT_HEAVYSHOTGUN_CLIP_02,
378
+ WeaponComponentHash.COMPONENT_HEAVYSHOTGUN_CLIP_03,
379
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
380
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
381
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
382
+ ],
383
+ ],
384
+ [
385
+ WeaponHash.CombatShotgun, // Combat Shotgun
386
+ [WeaponComponentHash.COMPONENT_AT_AR_FLSH, WeaponComponentHash.COMPONENT_AT_AR_SUPP],
387
+ ],
388
+ // Rifles
389
+ [
390
+ WeaponHash.AssaultRifle, // Assault Rifle
391
+ [
392
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_CLIP_01,
393
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_CLIP_02,
394
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_CLIP_03,
395
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
396
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO,
397
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
398
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
399
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_VARMOD_LUXE,
400
+ ],
401
+ ],
402
+ [
403
+ WeaponHash.CarbineRifle, // Carbine Rifle
404
+ [
405
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_CLIP_01,
406
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_CLIP_02,
407
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_CLIP_03,
408
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
409
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM,
410
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
411
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
412
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_VARMOD_LUXE,
413
+ ],
414
+ ],
415
+ [
416
+ WeaponHash.AdvancedRifle, // Advanced Rifle
417
+ [
418
+ WeaponComponentHash.COMPONENT_ADVANCEDRIFLE_CLIP_01,
419
+ WeaponComponentHash.COMPONENT_ADVANCEDRIFLE_CLIP_02,
420
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
421
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL,
422
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
423
+ WeaponComponentHash.COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE,
424
+ ],
425
+ ],
426
+ [
427
+ WeaponHash.SpecialCarbine, // Special Carbine
428
+ [
429
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_CLIP_01,
430
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_CLIP_02,
431
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_CLIP_03,
432
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
433
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM,
434
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
435
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
436
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER,
437
+ ],
438
+ ],
439
+ [
440
+ WeaponHash.BullpupRifle, // Bullpup Rifle
441
+ [
442
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_CLIP_01,
443
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_CLIP_02,
444
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
445
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL,
446
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
447
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
448
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_VARMOD_LOW,
449
+ ],
450
+ ],
451
+ [
452
+ WeaponHash.BullpupRifleMk2, // Bullpup Rifle Mk II
453
+ [
454
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CLIP_01,
455
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CLIP_02,
456
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CLIP_TRACER,
457
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CLIP_INCENDIARY,
458
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING,
459
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CLIP_FMJ,
460
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
461
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
462
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_02_MK2,
463
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL_MK2,
464
+ WeaponComponentHash.COMPONENT_AT_BP_BARREL_01,
465
+ WeaponComponentHash.COMPONENT_AT_BP_BARREL_02,
466
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
467
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
468
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
469
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
470
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
471
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
472
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
473
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
474
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP_02,
475
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO,
476
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_02,
477
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_03,
478
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_04,
479
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_05,
480
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_06,
481
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_07,
482
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_08,
483
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_09,
484
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_10,
485
+ WeaponComponentHash.COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01,
486
+ ],
487
+ ],
488
+ [
489
+ WeaponHash.SpecialCarbineMk2, // Special Carbine Mk II
490
+ [
491
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CLIP_01,
492
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CLIP_02,
493
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CLIP_TRACER,
494
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CLIP_INCENDIARY,
495
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING,
496
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CLIP_FMJ,
497
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
498
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
499
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_MK2,
500
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM_MK2,
501
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
502
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
503
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
504
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
505
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
506
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
507
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
508
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
509
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP_02,
510
+ WeaponComponentHash.COMPONENT_AT_SC_BARREL_01,
511
+ WeaponComponentHash.COMPONENT_AT_SC_BARREL_02,
512
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO,
513
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_02,
514
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_03,
515
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_04,
516
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_05,
517
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_06,
518
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_07,
519
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_08,
520
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_09,
521
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_10,
522
+ WeaponComponentHash.COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01,
523
+ ],
524
+ ],
525
+ [
526
+ WeaponHash.AssaultRifleMk2, // Assault Rifle Mk II
527
+ [
528
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CLIP_01,
529
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CLIP_02,
530
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER,
531
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY,
532
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING,
533
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ,
534
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP_02,
535
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
536
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
537
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_MK2,
538
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM_MK2,
539
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
540
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
541
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
542
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
543
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
544
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
545
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
546
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
547
+ WeaponComponentHash.COMPONENT_AT_AR_BARREL_01,
548
+ WeaponComponentHash.COMPONENT_AT_AR_BARREL_02,
549
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO,
550
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_02,
551
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_03,
552
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_04,
553
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_05,
554
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_06,
555
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_07,
556
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_08,
557
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_09,
558
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_10,
559
+ WeaponComponentHash.COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01,
560
+ ],
561
+ ],
562
+ [
563
+ WeaponHash.CarbineRifleMk2, // Carbine Rifle Mk II
564
+ [
565
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CLIP_01,
566
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CLIP_02,
567
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER,
568
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY,
569
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING,
570
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ,
571
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP_02,
572
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
573
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
574
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MACRO_MK2,
575
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM_MK2,
576
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
577
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
578
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
579
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
580
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
581
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
582
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
583
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
584
+ WeaponComponentHash.COMPONENT_AT_CR_BARREL_01,
585
+ WeaponComponentHash.COMPONENT_AT_CR_BARREL_02,
586
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO,
587
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_02,
588
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_03,
589
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_04,
590
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_05,
591
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_06,
592
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_07,
593
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_08,
594
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_09,
595
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_10,
596
+ WeaponComponentHash.COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01,
597
+ ],
598
+ ],
599
+ [
600
+ WeaponHash.CompactRifle, // Compact Rifle
601
+ [
602
+ WeaponComponentHash.COMPONENT_COMPACTRIFLE_CLIP_01,
603
+ WeaponComponentHash.COMPONENT_COMPACTRIFLE_CLIP_02,
604
+ WeaponComponentHash.COMPONENT_COMPACTRIFLE_CLIP_03,
605
+ ],
606
+ ],
607
+ [
608
+ WeaponHash.MilitaryRifle, // Military Rifle
609
+ [
610
+ WeaponComponentHash.COMPONENT_MILITARYRIFLE_CLIP_01,
611
+ WeaponComponentHash.COMPONENT_MILITARYRIFLE_CLIP_02,
612
+ WeaponComponentHash.COMPONENT_MILITARYRIFLE_SIGHT_01,
613
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL,
614
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
615
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
616
+ ],
617
+ ],
618
+ // Machine Guns,
619
+ [
620
+ WeaponHash.MG, // MG
621
+ [
622
+ WeaponComponentHash.COMPONENT_MG_CLIP_01,
623
+ WeaponComponentHash.COMPONENT_MG_CLIP_02,
624
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL_02,
625
+ WeaponComponentHash.COMPONENT_MG_VARMOD_LOWRIDER,
626
+ ],
627
+ ],
628
+ [
629
+ WeaponHash.CombatMG, // Combat MG
630
+ [
631
+ WeaponComponentHash.COMPONENT_COMBATMG_CLIP_01,
632
+ WeaponComponentHash.COMPONENT_COMBATMG_CLIP_02,
633
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM,
634
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
635
+ WeaponComponentHash.COMPONENT_COMBATMG_VARMOD_LOWRIDER,
636
+ ],
637
+ ],
638
+ [
639
+ WeaponHash.CombatMGMk2, // Combat MG Mk II
640
+ [
641
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CLIP_01,
642
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CLIP_02,
643
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CLIP_TRACER,
644
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY,
645
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING,
646
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CLIP_FMJ,
647
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP_02,
648
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
649
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL_MK2,
650
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM_MK2,
651
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
652
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
653
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
654
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
655
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
656
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
657
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
658
+ WeaponComponentHash.COMPONENT_AT_MG_BARREL_01,
659
+ WeaponComponentHash.COMPONENT_AT_MG_BARREL_02,
660
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO,
661
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_02,
662
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_03,
663
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_04,
664
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_05,
665
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_06,
666
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_07,
667
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_08,
668
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_09,
669
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_10,
670
+ WeaponComponentHash.COMPONENT_COMBATMG_MK2_CAMO_IND_01,
671
+ ],
672
+ ],
673
+ [
674
+ WeaponHash.Gusenberg, // Gusenberg Sweeper
675
+ [
676
+ WeaponComponentHash.COMPONENT_GUSENBERG_CLIP_01,
677
+ WeaponComponentHash.COMPONENT_GUSENBERG_CLIP_02,
678
+ ],
679
+ ],
680
+ // Sniper Rifles
681
+ [
682
+ WeaponHash.SniperRifle, // Sniper Rifle
683
+ [
684
+ WeaponComponentHash.COMPONENT_SNIPERRIFLE_CLIP_01,
685
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP_02,
686
+ WeaponComponentHash.COMPONENT_AT_SCOPE_LARGE,
687
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MAX,
688
+ WeaponComponentHash.COMPONENT_SNIPERRIFLE_VARMOD_LUXE,
689
+ ],
690
+ ],
691
+ [
692
+ WeaponHash.HeavySniper, // Heavy Sniper
693
+ [
694
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_CLIP_01,
695
+ WeaponComponentHash.COMPONENT_AT_SCOPE_LARGE,
696
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MAX,
697
+ ],
698
+ ],
699
+ [
700
+ WeaponHash.MarksmanRifleMk2, // Marksman Rifle Mk II
701
+ [
702
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CLIP_01,
703
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CLIP_02,
704
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CLIP_TRACER,
705
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CLIP_INCENDIARY,
706
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING,
707
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CLIP_FMJ,
708
+ WeaponComponentHash.COMPONENT_AT_SIGHTS,
709
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MEDIUM_MK2,
710
+ WeaponComponentHash.COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM_MK2,
711
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
712
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
713
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_01,
714
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_02,
715
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_03,
716
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_04,
717
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_05,
718
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_06,
719
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_07,
720
+ WeaponComponentHash.COMPONENT_AT_MRFL_BARREL_01,
721
+ WeaponComponentHash.COMPONENT_AT_MRFL_BARREL_02,
722
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP_02,
723
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO,
724
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_02,
725
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_03,
726
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_04,
727
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_05,
728
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_06,
729
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_07,
730
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_08,
731
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_09,
732
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_10,
733
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_MK2_CAMO_IND_01,
734
+ ],
735
+ ],
736
+ [
737
+ WeaponHash.HeavySniperMk2, // Heavy Sniper Mk II
738
+ [
739
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CLIP_01,
740
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CLIP_02,
741
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY,
742
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING,
743
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ,
744
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE,
745
+ WeaponComponentHash.COMPONENT_AT_SCOPE_LARGE_MK2,
746
+ WeaponComponentHash.COMPONENT_AT_SCOPE_MAX,
747
+ WeaponComponentHash.COMPONENT_AT_SCOPE_NV,
748
+ WeaponComponentHash.COMPONENT_AT_SCOPE_THERMAL,
749
+ WeaponComponentHash.COMPONENT_AT_SR_SUPP_03,
750
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_08,
751
+ WeaponComponentHash.COMPONENT_AT_MUZZLE_09,
752
+ WeaponComponentHash.COMPONENT_AT_SR_BARREL_01,
753
+ WeaponComponentHash.COMPONENT_AT_SR_BARREL_02,
754
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO,
755
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_02,
756
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_03,
757
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_04,
758
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_05,
759
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_06,
760
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_07,
761
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_08,
762
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_09,
763
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_10,
764
+ WeaponComponentHash.COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01,
765
+ ],
766
+ ],
767
+ [
768
+ WeaponHash.MarksmanRifle, // Marksman Rifle
769
+ [
770
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_CLIP_01,
771
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_CLIP_02,
772
+ WeaponComponentHash.COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM,
773
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
774
+ WeaponComponentHash.COMPONENT_AT_AR_SUPP,
775
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
776
+ WeaponComponentHash.COMPONENT_MARKSMANRIFLE_VARMOD_LUXE,
777
+ ],
778
+ ],
779
+ // Heavy Weapons
780
+ [
781
+ WeaponHash.GrenadeLauncher, // Grenade Launcher
782
+ [
783
+ WeaponComponentHash.COMPONENT_GRENADELAUNCHER_CLIP_01,
784
+ WeaponComponentHash.COMPONENT_AT_AR_FLSH,
785
+ WeaponComponentHash.COMPONENT_AT_AR_AFGRIP,
786
+ WeaponComponentHash.COMPONENT_AT_SCOPE_SMALL,
787
+ ],
788
+ ],
789
+ ]);
790
+ /**
791
+ * Initialize dlc data, avoid calling expansive native repeatedly
792
+ *
793
+ */
794
+ function initializeOnce() {
795
+ let isInitialized = false;
796
+ return function () {
797
+ if (isInitialized || IsDuplicityVersion()) {
798
+ return;
799
+ }
800
+ // magic number based on struct DlcWeaponData
801
+ const intLength = 4;
802
+ const strLength = 64;
803
+ const weaponCount = GetNumDlcWeapons();
804
+ for (let i = 0; i < weaponCount; i++) {
805
+ const weaponBuffer = new Uint8Array(14 * intLength + 4 * strLength);
806
+ // https://docs.fivem.net/natives/?_0x79923CD21BECE14E
807
+ Citizen.invokeNative('0x79923CD21BECE14E', i, weaponBuffer, Citizen.returnResultAnyway());
808
+ const weaponHash = getUInt32FromUint8Array(weaponBuffer, 2 * intLength, 3 * intLength);
809
+ const componentCount = GetNumDlcWeaponComponents(i);
810
+ const componentHashes = [];
811
+ for (let j = 0; j < componentCount; j++) {
812
+ const componentBuffer = new Uint8Array(14 * intLength + 4 * strLength);
813
+ // https://docs.fivem.net/natives/?_0x6CF598A2957C2BF8
814
+ Citizen.invokeNative('0x6CF598A2957C2BF8', i, j, componentBuffer, Citizen.returnResultAnyway());
815
+ const componentHash = getUInt32FromUint8Array(componentBuffer, 6 * intLength, 7 * intLength);
816
+ componentHashes.push(componentHash);
817
+ }
818
+ WeaponComponentHashesByWeaponHash.set(weaponHash, componentHashes);
819
+ }
820
+ isInitialized = true;
821
+ };
822
+ }
823
+ initializeOnce()();