@nativewrappers/redm-codegen 0.0.4 → 0.0.5

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 (317) hide show
  1. package/dist/classes/AnimScene.d.ts +96 -96
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +137 -137
  4. package/dist/classes/BaseModel.d.ts +19 -19
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +33 -33
  7. package/dist/classes/BaseTask.d.ts +33 -33
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +40 -40
  10. package/dist/classes/Cam.d.ts +85 -85
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +108 -108
  13. package/dist/classes/Entity.d.ts +288 -283
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +410 -401
  16. package/dist/classes/Interior.d.ts +27 -27
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +42 -42
  19. package/dist/classes/ItemSet.d.ts +2 -2
  20. package/dist/classes/ItemSet.d.ts.map +1 -1
  21. package/dist/classes/ItemSet.js +3 -3
  22. package/dist/classes/Ped.d.ts +286 -286
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +425 -425
  25. package/dist/classes/PedModel.d.ts +1 -1
  26. package/dist/classes/PedModel.d.ts.map +1 -1
  27. package/dist/classes/PedModel.js +2 -2
  28. package/dist/classes/PedTask.d.ts +729 -729
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +935 -935
  31. package/dist/classes/PersChar.d.ts +13 -13
  32. package/dist/classes/PersChar.d.ts.map +1 -1
  33. package/dist/classes/PersChar.js +19 -19
  34. package/dist/classes/Pickup.d.ts +6 -6
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +13 -13
  37. package/dist/classes/Player.d.ts +343 -339
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +495 -489
  40. package/dist/classes/Prop.d.ts +64 -64
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +94 -94
  43. package/dist/classes/PropSet.d.ts +18 -18
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +27 -27
  46. package/dist/classes/Vehicle.d.ts +122 -122
  47. package/dist/classes/Vehicle.d.ts.map +1 -1
  48. package/dist/classes/Vehicle.js +147 -147
  49. package/dist/classes/VehicleModel.d.ts +1 -1
  50. package/dist/classes/VehicleModel.d.ts.map +1 -1
  51. package/dist/classes/VehicleModel.js +2 -2
  52. package/dist/classes/VehicleTask.d.ts +24 -24
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +30 -30
  55. package/dist/classes/Volume.d.ts +44 -44
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +58 -58
  58. package/dist/classes/Weapon.d.ts +351 -351
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +486 -486
  61. package/dist/namespaces/Aicoverpoint.d.ts +23 -23
  62. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -1
  63. package/dist/namespaces/Aicoverpoint.js +35 -35
  64. package/dist/namespaces/Aitransport.d.ts +78 -78
  65. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  66. package/dist/namespaces/Aitransport.js +95 -95
  67. package/dist/namespaces/Animscene.d.ts +48 -48
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +65 -65
  70. package/dist/namespaces/Audio.d.ts +476 -476
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +692 -692
  73. package/dist/namespaces/Bounty.d.ts +57 -57
  74. package/dist/namespaces/Bounty.d.ts.map +1 -1
  75. package/dist/namespaces/Bounty.js +90 -90
  76. package/dist/namespaces/CamStatics.d.ts +432 -432
  77. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  78. package/dist/namespaces/CamStatics.js +606 -606
  79. package/dist/namespaces/Collection.d.ts +78 -78
  80. package/dist/namespaces/Collection.d.ts.map +1 -1
  81. package/dist/namespaces/Collection.js +111 -111
  82. package/dist/namespaces/Companion.d.ts +22 -22
  83. package/dist/namespaces/Companion.d.ts.map +1 -1
  84. package/dist/namespaces/Companion.js +30 -30
  85. package/dist/namespaces/Compapp.js +1 -1
  86. package/dist/namespaces/Compendium.d.ts +58 -58
  87. package/dist/namespaces/Compendium.d.ts.map +1 -1
  88. package/dist/namespaces/Compendium.js +83 -83
  89. package/dist/namespaces/Crashlog.d.ts +10 -10
  90. package/dist/namespaces/Crashlog.d.ts.map +1 -1
  91. package/dist/namespaces/Crashlog.js +21 -21
  92. package/dist/namespaces/Crew.js +4 -4
  93. package/dist/namespaces/Databinding.d.ts +154 -154
  94. package/dist/namespaces/Databinding.d.ts.map +1 -1
  95. package/dist/namespaces/Databinding.js +222 -222
  96. package/dist/namespaces/Datafile.js +4 -4
  97. package/dist/namespaces/Decorator.d.ts +19 -19
  98. package/dist/namespaces/Decorator.d.ts.map +1 -1
  99. package/dist/namespaces/Decorator.js +34 -34
  100. package/dist/namespaces/Dlc.d.ts +5 -5
  101. package/dist/namespaces/Dlc.d.ts.map +1 -1
  102. package/dist/namespaces/Dlc.js +9 -9
  103. package/dist/namespaces/EntityStatics.d.ts +80 -80
  104. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  105. package/dist/namespaces/EntityStatics.js +113 -113
  106. package/dist/namespaces/Event.js +4 -4
  107. package/dist/namespaces/Fire.d.ts +89 -89
  108. package/dist/namespaces/Fire.d.ts.map +1 -1
  109. package/dist/namespaces/Fire.js +115 -115
  110. package/dist/namespaces/Flock.js +2 -2
  111. package/dist/namespaces/Gang.js +2 -2
  112. package/dist/namespaces/GoogleAnalytics.js +2 -2
  113. package/dist/namespaces/Graphics.d.ts +781 -781
  114. package/dist/namespaces/Graphics.d.ts.map +1 -1
  115. package/dist/namespaces/Graphics.js +1207 -1207
  116. package/dist/namespaces/Hud.d.ts +483 -483
  117. package/dist/namespaces/Hud.d.ts.map +1 -1
  118. package/dist/namespaces/Hud.js +678 -678
  119. package/dist/namespaces/Ik.js +1 -1
  120. package/dist/namespaces/Interaction.js +3 -3
  121. package/dist/namespaces/InteriorStatics.d.ts +40 -40
  122. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  123. package/dist/namespaces/InteriorStatics.js +57 -57
  124. package/dist/namespaces/Inventory.d.ts +211 -211
  125. package/dist/namespaces/Inventory.d.ts.map +1 -1
  126. package/dist/namespaces/Inventory.js +291 -291
  127. package/dist/namespaces/Itemdatabase.js +3 -3
  128. package/dist/namespaces/Itemset.js +2 -2
  129. package/dist/namespaces/Law.d.ts +1 -1
  130. package/dist/namespaces/Law.d.ts.map +1 -1
  131. package/dist/namespaces/Law.js +19 -19
  132. package/dist/namespaces/Localization.js +1 -1
  133. package/dist/namespaces/Map.js +3 -3
  134. package/dist/namespaces/Minigame.d.ts +65 -65
  135. package/dist/namespaces/Minigame.d.ts.map +1 -1
  136. package/dist/namespaces/Minigame.js +105 -105
  137. package/dist/namespaces/Misc.d.ts +3 -3
  138. package/dist/namespaces/Misc.d.ts.map +1 -1
  139. package/dist/namespaces/Misc.js +35 -35
  140. package/dist/namespaces/Missiondata.d.ts +15 -15
  141. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  142. package/dist/namespaces/Missiondata.js +24 -24
  143. package/dist/namespaces/Money.js +3 -3
  144. package/dist/namespaces/Netshopping.d.ts +58 -58
  145. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  146. package/dist/namespaces/Netshopping.js +89 -89
  147. package/dist/namespaces/Network.d.ts +1067 -1067
  148. package/dist/namespaces/Network.d.ts.map +1 -1
  149. package/dist/namespaces/Network.js +1586 -1586
  150. package/dist/namespaces/Object.d.ts +231 -231
  151. package/dist/namespaces/Object.d.ts.map +1 -1
  152. package/dist/namespaces/Object.js +337 -337
  153. package/dist/namespaces/Pad.d.ts +42 -42
  154. package/dist/namespaces/Pad.d.ts.map +1 -1
  155. package/dist/namespaces/Pad.js +68 -68
  156. package/dist/namespaces/Pathfind.js +10 -10
  157. package/dist/namespaces/PedStatics.d.ts +2 -2
  158. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  159. package/dist/namespaces/PedStatics.js +10 -10
  160. package/dist/namespaces/Perschar.d.ts +54 -54
  161. package/dist/namespaces/Perschar.d.ts.map +1 -1
  162. package/dist/namespaces/Perschar.js +84 -84
  163. package/dist/namespaces/Physics.d.ts +121 -121
  164. package/dist/namespaces/Physics.d.ts.map +1 -1
  165. package/dist/namespaces/Physics.js +155 -155
  166. package/dist/namespaces/PlayerStatics.d.ts +97 -97
  167. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  168. package/dist/namespaces/PlayerStatics.js +142 -142
  169. package/dist/namespaces/Population.d.ts +11 -11
  170. package/dist/namespaces/Population.d.ts.map +1 -1
  171. package/dist/namespaces/Population.js +15 -15
  172. package/dist/namespaces/Posse.d.ts +33 -33
  173. package/dist/namespaces/Posse.d.ts.map +1 -1
  174. package/dist/namespaces/Posse.js +51 -51
  175. package/dist/namespaces/Propset.d.ts +59 -59
  176. package/dist/namespaces/Propset.d.ts.map +1 -1
  177. package/dist/namespaces/Propset.js +81 -81
  178. package/dist/namespaces/Replay.d.ts +1 -1
  179. package/dist/namespaces/Replay.d.ts.map +1 -1
  180. package/dist/namespaces/Replay.js +2 -2
  181. package/dist/namespaces/Scripts.d.ts +1 -1
  182. package/dist/namespaces/Scripts.d.ts.map +1 -1
  183. package/dist/namespaces/Scripts.js +12 -12
  184. package/dist/namespaces/Shapetest.d.ts +11 -11
  185. package/dist/namespaces/Shapetest.d.ts.map +1 -1
  186. package/dist/namespaces/Shapetest.js +13 -13
  187. package/dist/namespaces/Socialclub.js +8 -8
  188. package/dist/namespaces/Socialclubfeed.js +1 -1
  189. package/dist/namespaces/Spactionproxy.js +4 -4
  190. package/dist/namespaces/Stats.d.ts +191 -191
  191. package/dist/namespaces/Stats.d.ts.map +1 -1
  192. package/dist/namespaces/Stats.js +281 -281
  193. package/dist/namespaces/Streaming.d.ts +84 -84
  194. package/dist/namespaces/Streaming.d.ts.map +1 -1
  195. package/dist/namespaces/Streaming.js +137 -137
  196. package/dist/namespaces/Task.d.ts +347 -347
  197. package/dist/namespaces/Task.d.ts.map +1 -1
  198. package/dist/namespaces/Task.js +488 -488
  199. package/dist/namespaces/Telemetry.d.ts +151 -151
  200. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  201. package/dist/namespaces/Telemetry.js +206 -206
  202. package/dist/namespaces/Txd.js +1 -1
  203. package/dist/namespaces/Uiapps.d.ts +25 -25
  204. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  205. package/dist/namespaces/Uiapps.js +36 -36
  206. package/dist/namespaces/Uievents.js +1 -1
  207. package/dist/namespaces/Uifeed.d.ts +15 -15
  208. package/dist/namespaces/Uifeed.d.ts.map +1 -1
  209. package/dist/namespaces/Uifeed.js +25 -25
  210. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  211. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  212. package/dist/namespaces/Uistickyfeed.js +21 -21
  213. package/dist/namespaces/Unlock.js +5 -5
  214. package/dist/namespaces/VehicleStatics.js +12 -12
  215. package/dist/namespaces/Voice.d.ts +38 -38
  216. package/dist/namespaces/Voice.d.ts.map +1 -1
  217. package/dist/namespaces/Voice.js +61 -61
  218. package/dist/namespaces/VolumeStatics.d.ts +99 -99
  219. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  220. package/dist/namespaces/VolumeStatics.js +137 -137
  221. package/dist/namespaces/WeaponStatics.d.ts +276 -276
  222. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  223. package/dist/namespaces/WeaponStatics.js +371 -371
  224. package/dist/types/NativeAliases.d.ts +3 -1
  225. package/dist/types/NativeAliases.d.ts.map +1 -1
  226. package/dist/types/NativeAliases.js +3 -1
  227. package/package.json +1 -1
  228. package/src/classes/AnimScene.ts +159 -159
  229. package/src/classes/BaseModel.ts +37 -37
  230. package/src/classes/BaseTask.ts +41 -41
  231. package/src/classes/Cam.ts +111 -111
  232. package/src/classes/Entity.ts +422 -411
  233. package/src/classes/Interior.ts +43 -43
  234. package/src/classes/ItemSet.ts +3 -3
  235. package/src/classes/Ped.ts +432 -432
  236. package/src/classes/PedModel.ts +2 -2
  237. package/src/classes/PedTask.ts +957 -957
  238. package/src/classes/PersChar.ts +22 -22
  239. package/src/classes/Pickup.ts +14 -14
  240. package/src/classes/Player.ts +994 -987
  241. package/src/classes/Prop.ts +106 -106
  242. package/src/classes/PropSet.ts +29 -29
  243. package/src/classes/Vehicle.ts +147 -147
  244. package/src/classes/VehicleModel.ts +2 -2
  245. package/src/classes/VehicleTask.ts +31 -31
  246. package/src/classes/Volume.ts +62 -62
  247. package/src/classes/Weapon.ts +511 -511
  248. package/src/namespaces/Aicoverpoint.ts +40 -40
  249. package/src/namespaces/Aitransport.ts +104 -104
  250. package/src/namespaces/Animscene.ts +71 -71
  251. package/src/namespaces/Audio.ts +725 -725
  252. package/src/namespaces/Bounty.ts +102 -102
  253. package/src/namespaces/CamStatics.ts +700 -700
  254. package/src/namespaces/Collection.ts +113 -113
  255. package/src/namespaces/Companion.ts +34 -34
  256. package/src/namespaces/Compapp.ts +1 -1
  257. package/src/namespaces/Compendium.ts +94 -94
  258. package/src/namespaces/Crashlog.ts +23 -23
  259. package/src/namespaces/Crew.ts +4 -4
  260. package/src/namespaces/Databinding.ts +237 -237
  261. package/src/namespaces/Datafile.ts +4 -4
  262. package/src/namespaces/Decorator.ts +37 -37
  263. package/src/namespaces/Dlc.ts +9 -9
  264. package/src/namespaces/EntityStatics.ts +117 -117
  265. package/src/namespaces/Event.ts +4 -4
  266. package/src/namespaces/Fire.ts +127 -127
  267. package/src/namespaces/Flock.ts +2 -2
  268. package/src/namespaces/Gang.ts +2 -2
  269. package/src/namespaces/GoogleAnalytics.ts +2 -2
  270. package/src/namespaces/Graphics.ts +1218 -1218
  271. package/src/namespaces/Hud.ts +696 -696
  272. package/src/namespaces/Ik.ts +1 -1
  273. package/src/namespaces/Interaction.ts +3 -3
  274. package/src/namespaces/InteriorStatics.ts +65 -65
  275. package/src/namespaces/Inventory.ts +294 -294
  276. package/src/namespaces/Itemdatabase.ts +3 -3
  277. package/src/namespaces/Itemset.ts +2 -2
  278. package/src/namespaces/Law.ts +20 -20
  279. package/src/namespaces/Localization.ts +1 -1
  280. package/src/namespaces/Map.ts +3 -3
  281. package/src/namespaces/Minigame.ts +109 -109
  282. package/src/namespaces/Misc.ts +38 -38
  283. package/src/namespaces/Missiondata.ts +28 -28
  284. package/src/namespaces/Money.ts +3 -3
  285. package/src/namespaces/Netshopping.ts +99 -99
  286. package/src/namespaces/Network.ts +1616 -1616
  287. package/src/namespaces/Object.ts +344 -344
  288. package/src/namespaces/Pad.ts +76 -76
  289. package/src/namespaces/Pathfind.ts +10 -10
  290. package/src/namespaces/PedStatics.ts +12 -12
  291. package/src/namespaces/Perschar.ts +86 -86
  292. package/src/namespaces/Physics.ts +171 -171
  293. package/src/namespaces/PlayerStatics.ts +162 -162
  294. package/src/namespaces/Population.ts +17 -17
  295. package/src/namespaces/Posse.ts +54 -54
  296. package/src/namespaces/Propset.ts +92 -92
  297. package/src/namespaces/Replay.ts +3 -3
  298. package/src/namespaces/Scripts.ts +13 -13
  299. package/src/namespaces/Shapetest.ts +14 -14
  300. package/src/namespaces/Socialclub.ts +8 -8
  301. package/src/namespaces/Socialclubfeed.ts +1 -1
  302. package/src/namespaces/Spactionproxy.ts +4 -4
  303. package/src/namespaces/Stats.ts +287 -287
  304. package/src/namespaces/Streaming.ts +159 -159
  305. package/src/namespaces/Task.ts +517 -517
  306. package/src/namespaces/Telemetry.ts +224 -224
  307. package/src/namespaces/Txd.ts +1 -1
  308. package/src/namespaces/Uiapps.ts +43 -43
  309. package/src/namespaces/Uievents.ts +1 -1
  310. package/src/namespaces/Uifeed.ts +28 -28
  311. package/src/namespaces/Uistickyfeed.ts +23 -23
  312. package/src/namespaces/Unlock.ts +5 -5
  313. package/src/namespaces/VehicleStatics.ts +12 -12
  314. package/src/namespaces/Voice.ts +70 -70
  315. package/src/namespaces/VolumeStatics.ts +143 -143
  316. package/src/namespaces/WeaponStatics.ts +383 -383
  317. package/src/types/NativeAliases.ts +6 -1
@@ -13,71 +13,67 @@ import { createFromHandle } from '../types/HandleRegistry';
13
13
  import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../types/NativeAliases';
14
14
 
15
15
  export class WeaponStatics {
16
- /**
17
- * @param weaponObject
18
- * @param scale
19
- */
20
- static setWeaponScale(weaponObject: Prop, scale: number): void {
21
- inv<void>('0xC3544AD0522E69B4', weaponObject.handle, f(scale));
22
- }
23
-
24
16
  /**
25
17
  * @param weaponHash Refer to [enum: eWeaponHash]
18
+ * @param ammoHash Refer to [enum: eAmmoType]
26
19
  * @returns
27
20
  */
28
- static isWeaponSniper(weaponHash: eWeaponHash): any {
29
- return inv<number>('0x6AD66548840472E5', weaponHash);
21
+ static isAmmoTypeValidForWeapon(weaponHash: eWeaponHash, ammoHash: eAmmoType): any {
22
+ return inv<number>('0xC570B881754DF609', weaponHash, ammoHash);
30
23
  }
31
24
 
32
25
  /**
33
- * @param weaponHash Refer to [enum: eWeaponHash]
34
- * @returns
26
+ * @param p0
27
+ * @param p1
35
28
  */
36
- static isWeaponTorch(weaponHash: eWeaponHash): any {
37
- return inv<number>('0x506F1DE1BFC75304', weaponHash);
29
+ static N_0x183CE355115B6E75(p0: any, p1: any): void {
30
+ inv<void>('0x183CE355115B6E75', p0, p1);
38
31
  }
39
32
 
40
33
  /**
41
- * Gets the model hash from the weapon hash.
42
- *
43
- * @param weaponHash Refer to [enum: eWeaponHash]
44
- * @returns
34
+ * @param p0
35
+ * @param p1
45
36
  */
46
- static getWeapontypeModel(weaponHash: eWeaponHash): number {
47
- return (inv<number>('0xF70825EB340E7D15', weaponHash, rai())) & 0xFFFFFFFF;
37
+ static N_0x74C9080FDD1BB48F(p0: any, p1: any): void {
38
+ inv<void>('0x74C9080FDD1BB48F', p0, p1);
48
39
  }
49
40
 
50
41
  /**
51
- * @param p0
42
+ * @param vehicle
52
43
  * @param p1
44
+ * @param minHeading
45
+ * @param maxHeading
46
+ * @returns
53
47
  */
54
- static N_0xD63B4BA3A02A99E0(p0: any, p1: any): void {
55
- inv<void>('0xD63B4BA3A02A99E0', p0, p1);
48
+ static setVehicleWeaponHeadingLimits2(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): any {
49
+ return inv<number>('0xBF5987E1CDE63501', vehicle.handle, p1, f(minHeading), f(maxHeading));
56
50
  }
57
51
 
58
52
  /**
59
53
  * @param p0
60
54
  * @param p1
55
+ * @returns
61
56
  */
62
- static N_0x74C2365FDD1BB48F(p0: any, p1: any): void {
63
- inv<void>('0x74C2365FDD1BB48F', p0, p1);
57
+ static N_0x486C96A0DCD2BC92(p0: any, p1: any): any {
58
+ return inv<number>('0x486C96A0DCD2BC92', p0, p1);
64
59
  }
65
60
 
66
61
  /**
67
- * @param weaponObject
68
- * @param component
62
+ * @param weaponHash Refer to [enum: eWeaponHash]
63
+ * @returns Returns the [enum: eWeaponAttachPoint]
69
64
  */
70
- static removeWeaponComponentFromWeaponObject(weaponObject: Prop, component: string | number): void {
71
- inv<void>('0xF7D82B0D66777611', weaponObject.handle, _h(component));
65
+ static getDefaultWeaponAttachPoint(weaponHash: eWeaponHash): number {
66
+ return inv<number>('0x65DC4AC5B96614CB', weaponHash, rai());
72
67
  }
73
68
 
74
69
  /**
75
- * @param p0
76
- * @param p1
70
+ * Related to weapon visual damage, not actual damage.
71
+ *
72
+ * @param weaponObject
77
73
  * @returns
78
74
  */
79
- static N_0xF2F585411E748B9C(p0: any, p1: any): any {
80
- return inv<number>('0xF2F585411E748B9C', p0, p1);
75
+ static getWeaponDamage(weaponObject: Prop): number {
76
+ return inv<number>('0x904103D5D2333977', weaponObject.handle, raf());
81
77
  }
82
78
 
83
79
  /**
@@ -85,150 +81,186 @@ export class WeaponStatics {
85
81
  * @param p1
86
82
  * @param p2
87
83
  */
88
- static N_0xD53846B9C931C181(p0: any, p1: any, p2: any): void {
89
- inv<void>('0xD53846B9C931C181', p0, p1, p2);
84
+ static N_0xB0FB9B196A3D13F0(p0: any, p1: any, p2: any): void {
85
+ inv<void>('0xB0FB9B196A3D13F0', p0, p1, p2);
90
86
  }
91
87
 
92
88
  /**
93
- * @param weaponHash Refer to [enum: eWeaponHash]
89
+ * @param entity
90
+ * @param weaponName
91
+ * @param weaponType
94
92
  * @returns
95
93
  */
96
- static getWeaponClipSize(weaponHash: eWeaponHash): number {
97
- return inv<number>('0xD3750CCC00635FC2', weaponHash, rai());
94
+ static hasEntityBeenDamagedByWeapon(entity: Entity, weaponName: string | number, weaponType: number): any {
95
+ return inv<number>('0xDCF06D0CDFF68424', entity.handle, _h(weaponName), weaponType);
98
96
  }
99
97
 
100
98
  /**
101
- * @param p0
99
+ * @param weaponObject
100
+ * @returns
102
101
  */
103
- static N_0x000FA7A4A8443AF7(p0: any): void {
104
- inv<void>('0x000FA7A4A8443AF7', p0);
102
+ static getWeaponScale(weaponObject: Prop): number {
103
+ return inv<number>('0x22084CA699219624', weaponObject.handle, raf());
105
104
  }
106
105
 
107
106
  /**
108
- * Only used in R* Script fme_escaped_convicts, p0 = 0
107
+ * Returns iSpinHash
109
108
  *
110
- * @param p0
109
+ * @param emote
110
+ * @param weaponEmoteTrickType
111
+ * @returns
111
112
  */
112
- static N_0x63B83A526329AFBC(p0: any): void {
113
- inv<void>('0x63B83A526329AFBC', p0);
113
+ static getWeaponGunSpinningWeaponEmoteTrickTypeHash(emote: string | number, weaponEmoteTrickType: number): number {
114
+ return (inv<number>('0xF4601C1203B1A78D', _h(emote), weaponEmoteTrickType, rai())) & 0xFFFFFFFF;
114
115
  }
115
116
 
116
117
  /**
117
- * Related to rust of weapons
118
+ * Returns true if CWeaponInfoFlags::Flags::Gun is set.
118
119
  *
119
- * @param weaponObject
120
+ * @param weaponHash Refer to [enum: eWeaponHash]
120
121
  * @returns
121
122
  */
122
- static getWeaponPermanentDegradation(weaponObject: Prop): number {
123
- return inv<number>('0xD56E5F336C675EFA', weaponObject.handle, raf());
123
+ static isWeaponAGun(weaponHash: eWeaponHash): boolean {
124
+ return !!inv<boolean>('0x705BE297EEBDB95D', weaponHash, rai());
124
125
  }
125
126
 
126
127
  /**
128
+ * Returns hash where WEAPON_ is replaced with SLOT_
129
+ *
127
130
  * @param weaponHash Refer to [enum: eWeaponHash]
131
+ * @returns
128
132
  */
129
- static removeWeaponAsset(weaponHash: eWeaponHash): void {
130
- inv<void>('0xC3896D03E2852236', weaponHash);
133
+ static getWeapontypeSlot(weaponHash: eWeaponHash): number {
134
+ return (inv<number>('0x46F032B8DDF46CDE', weaponHash, rai())) & 0xFFFFFFFF;
131
135
  }
132
136
 
133
137
  /**
134
138
  * @param p0
139
+ * @param p1
140
+ * @param p2
141
+ */
142
+ static N_0xA3716A77DCF17424(p0: any, p1: any, p2: any): void {
143
+ inv<void>('0xA3716A77DCF17424', p0, p1, p2);
144
+ }
145
+
146
+ /**
147
+ * @param weaponCollection
148
+ * @param dualwieldVariant
135
149
  * @returns
136
150
  */
137
- static N_0x23BF601A42F329A0(p0: any): any {
138
- return inv<number>('0x23BF601A42F329A0', p0);
151
+ static N_0xF252A85B8F3F8C58(weaponCollection: string | number, dualwieldVariant: string | number): boolean {
152
+ return !!inv<boolean>('0xF252A85B8F3F8C58', _h(weaponCollection), _h(dualwieldVariant), rai());
139
153
  }
140
154
 
141
155
  /**
142
156
  * @param weaponHash Refer to [enum: eWeaponHash]
143
157
  * @returns
144
158
  */
145
- static isWeaponRifle(weaponHash: eWeaponHash): any {
146
- return inv<number>('0x0A82317B7EBFC420', weaponHash);
159
+ static isWeaponBinoculars(weaponHash: eWeaponHash): any {
160
+ return inv<number>('0xC853230E76A152DF', weaponHash);
147
161
  }
148
162
 
149
163
  /**
150
164
  * @param p0
165
+ * @param p1
151
166
  * @returns
152
167
  */
153
- static N_0x3799EFCC3C8CD5E1(p0: any): any {
154
- return inv<number>('0x3799EFCC3C8CD5E1', p0);
168
+ static N_0xD2209866B0CB72EA(p0: any, p1: any): any {
169
+ return inv<number>('0xD2209866B0CB72EA', p0, p1);
155
170
  }
156
171
 
157
172
  /**
158
173
  * @param p0
159
174
  * @param p1
160
175
  * @param p2
161
- * @returns
162
176
  */
163
- static N_0x9CCA3131E6B53C68(p0: any, p1: any, p2: any): any {
164
- return inv<number>('0x9CCA3131E6B53C68', p0, p1, p2);
177
+ static N_0xA769D753922B031B(p0: any, p1: any, p2: any): void {
178
+ inv<void>('0xA769D753922B031B', p0, p1, p2);
165
179
  }
166
180
 
167
181
  /**
168
- * @param ammoType
169
- * @returns
182
+ * @param p0
170
183
  */
171
- static getWeaponTypeFromAmmoType(ammoType: string | number): number {
172
- return (inv<number>('0x7AA043F6C41D151E', _h(ammoType), rai())) & 0xFFFFFFFF;
184
+ static N_0xECBB26529A737EF6(p0: any): void {
185
+ inv<void>('0xECBB26529A737EF6', p0);
173
186
  }
174
187
 
175
188
  /**
176
- * Works exactly the same as [native: _GET_AMMO_TYPE_FOR_WEAPON]
189
+ * turretHash: WEAPON_TURRET_MAXIUM, WEAPON_TURRET_GATLING, WEAPON_TURRET_CANNON, WEAPON_TURRET_REVOLVING_CANNON
177
190
  *
178
- * @param weaponHash
191
+ * @param vehicle
192
+ * @param turretHash
193
+ * @param ammo
194
+ */
195
+ static setAmmoInTurret(vehicle: Vehicle, turretHash: string | number, ammo: number): void {
196
+ inv<void>('0xBDDA0C290C228159', vehicle.handle, _h(turretHash), ammo);
197
+ }
198
+
199
+ /**
200
+ * @param weaponObject
201
+ * @param scale
202
+ */
203
+ static setWeaponScale(weaponObject: Prop, scale: number): void {
204
+ inv<void>('0xC3544AD0522E69B4', weaponObject.handle, f(scale));
205
+ }
206
+
207
+ /**
208
+ * @param weaponHash Refer to [enum: eWeaponHash]
179
209
  * @returns
180
210
  */
181
- static getAmmoTypeForWeapon2(weaponHash: eWeaponHash): number {
182
- return inv<number>('0xEC97101A8F311282', weaponHash, rai());
211
+ static isWeaponSniper(weaponHash: eWeaponHash): any {
212
+ return inv<number>('0x6AD66548840472E5', weaponHash);
183
213
  }
184
214
 
185
215
  /**
186
- * this native gets the weapon hash from the default ped weapon collection (see GetDefaultPedWeaponCollection for more info) will randomly return one of it's weapons
187
- *
188
- * @param weaponCollection
189
- * @param weaponGroup
216
+ * @param weaponHash Refer to [enum: eWeaponHash]
190
217
  * @returns
191
218
  */
192
- static getWeaponFromDefaultPedWeaponCollection(weaponCollection: number, weaponGroup: string | number): number {
193
- return (inv<number>('0x9EEFD670F10656D7', weaponCollection, _h(weaponGroup), rai())) & 0xFFFFFFFF;
219
+ static isWeaponTorch(weaponHash: eWeaponHash): any {
220
+ return inv<number>('0x506F1DE1BFC75304', weaponHash);
194
221
  }
195
222
 
196
223
  /**
197
- * entity can be a ped or weapon object.
224
+ * Gets the model hash from the weapon hash.
198
225
  *
199
- * @param entity
200
- * @param componentHash
201
226
  * @param weaponHash Refer to [enum: eWeaponHash]
202
- * @param p3
227
+ * @returns
203
228
  */
204
- static giveWeaponComponentToEntity(entity: Entity, componentHash: string | number, weaponHash: eWeaponHash, p3: boolean): void {
205
- inv<void>('0x74C9090FDD1BB48E', entity.handle, _h(componentHash), weaponHash, p3);
229
+ static getWeapontypeModel(weaponHash: eWeaponHash): number {
230
+ return (inv<number>('0xF70825EB340E7D15', weaponHash, rai())) & 0xFFFFFFFF;
206
231
  }
207
232
 
208
233
  /**
209
234
  * @param p0
210
235
  * @param p1
211
- * @returns
212
236
  */
213
- static N_0xA2091482ED42EF85(p0: any, p1: any): any {
214
- return inv<number>('0xA2091482ED42EF85', p0, p1);
237
+ static N_0xD63B4BA3A02A99E0(p0: any, p1: any): void {
238
+ inv<void>('0xD63B4BA3A02A99E0', p0, p1);
215
239
  }
216
240
 
217
241
  /**
218
- * @param weapon
219
- * @param addonHash
220
- * @returns
242
+ * @param p0
243
+ * @param p1
221
244
  */
222
- static hasWeaponGotWeaponComponent(weapon: Prop, addonHash: string | number): boolean {
223
- return inv<boolean>('0x76A18844E743BF91', weapon.handle, _h(addonHash), rai());
245
+ static N_0x74C2365FDD1BB48F(p0: any, p1: any): void {
246
+ inv<void>('0x74C2365FDD1BB48F', p0, p1);
224
247
  }
225
248
 
226
249
  /**
227
250
  * @param weaponObject
251
+ * @param component
252
+ */
253
+ static removeWeaponComponentFromWeaponObject(weaponObject: Prop, component: string | number): void {
254
+ inv<void>('0xF7D82B0D66777611', weaponObject.handle, _h(component));
255
+ }
256
+
257
+ /**
258
+ * @param p0
259
+ * @param p1
228
260
  * @returns
229
261
  */
230
- static getWeaponSoot(weaponObject: Prop): number {
231
- return inv<number>('0x4BF66F8878F67663', weaponObject.handle, raf());
262
+ static N_0xF2F585411E748B9C(p0: any, p1: any): any {
263
+ return inv<number>('0xF2F585411E748B9C', p0, p1);
232
264
  }
233
265
 
234
266
  /**
@@ -259,8 +291,8 @@ export class WeaponStatics {
259
291
  * @param weaponHash Refer to [enum: eWeaponHash]
260
292
  * @returns
261
293
  */
262
- static isWeaponBow(weaponHash: eWeaponHash): any {
263
- return inv<number>('0xC4DEC3CA8C365A5D', weaponHash);
294
+ static isWeaponBow(weaponHash: eWeaponHash): boolean {
295
+ return !!inv<boolean>('0xC4DEC3CA8C365A5D', weaponHash, rai());
264
296
  }
265
297
 
266
298
  /**
@@ -296,212 +328,256 @@ export class WeaponStatics {
296
328
  }
297
329
 
298
330
  /**
299
- * @param p0
300
- * @param p1
331
+ * @param ammoType
332
+ * @returns
301
333
  */
302
- static N_0x404514D231DB27A0(p0: any, p1: any): void {
303
- inv<void>('0x404514D231DB27A0', p0, p1);
334
+ static getWeaponTypeFromAmmoType(ammoType: string | number): number {
335
+ return (inv<number>('0x7AA043F6C41D151E', _h(ammoType), rai())) & 0xFFFFFFFF;
304
336
  }
305
337
 
306
338
  /**
307
- * @param listen
339
+ * Works exactly the same as [native: _GET_AMMO_TYPE_FOR_WEAPON]
340
+ *
341
+ * @param weaponHash
342
+ * @returns
308
343
  */
309
- static listenProjectileHitEvents(listen: boolean): void {
310
- inv<void>('0xDA5D3F2C6DD5B5D4', listen);
344
+ static getAmmoTypeForWeapon2(weaponHash: eWeaponHash): number {
345
+ return inv<number>('0xEC97101A8F311282', weaponHash, rai());
311
346
  }
312
347
 
313
348
  /**
314
- * @param weaponHash Refer to [enum: eWeaponHash]
349
+ * this native gets the weapon hash from the default ped weapon collection (see GetDefaultPedWeaponCollection for more info) will randomly return one of it's weapons
350
+ *
351
+ * @param weaponCollection
352
+ * @param weaponGroup
315
353
  * @returns
316
354
  */
317
- static getWeapontypeGroup(weaponHash: eWeaponHash): number {
318
- return (inv<number>('0xEDCA14CA5199FF25', weaponHash, rai())) & 0xFFFFFFFF;
355
+ static getWeaponFromDefaultPedWeaponCollection(weaponCollection: number, weaponGroup: string | number): number {
356
+ return (inv<number>('0x9EEFD670F10656D7', weaponCollection, _h(weaponGroup), rai())) & 0xFFFFFFFF;
319
357
  }
320
358
 
321
359
  /**
360
+ * entity can be a ped or weapon object.
361
+ *
362
+ * @param entity
363
+ * @param componentHash
322
364
  * @param weaponHash Refer to [enum: eWeaponHash]
323
- * @returns
365
+ * @param p3
324
366
  */
325
- static isWeaponLasso(weaponHash: eWeaponHash): any {
326
- return inv<number>('0x6E4E1A82081EABED', weaponHash);
367
+ static giveWeaponComponentToEntity(entity: Entity, componentHash: string | number, weaponHash: eWeaponHash, p3: boolean): void {
368
+ inv<void>('0x74C9090FDD1BB48E', entity.handle, _h(componentHash), weaponHash, p3);
327
369
  }
328
370
 
329
371
  /**
330
372
  * @param p0
373
+ * @param p1
331
374
  * @returns
332
375
  */
333
- static N_0xAFFD0CCF31F469B8(p0: any): any {
334
- return inv<number>('0xAFFD0CCF31F469B8', p0);
376
+ static N_0xA2091482ED42EF85(p0: any, p1: any): any {
377
+ return inv<number>('0xA2091482ED42EF85', p0, p1);
335
378
  }
336
379
 
337
380
  /**
338
- * @param weaponHash Refer to [enum: eWeaponHash]
381
+ * @param weapon
382
+ * @param addonHash
339
383
  * @returns
340
384
  */
341
- static isWeaponThrowable(weaponHash: eWeaponHash): any {
342
- return inv<number>('0x30E7C16B12DA8211', weaponHash);
385
+ static hasWeaponGotWeaponComponent(weapon: Prop, addonHash: string | number): boolean {
386
+ return !!inv<boolean>('0x76A18844E743BF91', weapon.handle, _h(addonHash), rai());
343
387
  }
344
388
 
345
389
  /**
346
- * Returns "WNS_INVALID" if the weapon is invalid/doesn't exist.
347
- *
348
- * @param weaponHash Refer to [enum: eWeaponHash]
390
+ * @param weaponObject
349
391
  * @returns
350
392
  */
351
- static getWeaponName(weaponHash: eWeaponHash): string | null {
352
- return inv<string>('0x89CF5FF3D363311E', weaponHash, ras());
393
+ static getWeaponSoot(weaponObject: Prop): number {
394
+ return inv<number>('0x4BF66F8878F67663', weaponObject.handle, raf());
395
+ }
396
+
397
+ /**
398
+ * @param componentHash
399
+ * @returns
400
+ */
401
+ static getWeaponComponentTypeModel(componentHash: string | number): number {
402
+ return (inv<number>('0x59DE03442B6C9598', _h(componentHash), rai())) & 0xFFFFFFFF;
403
+ }
404
+
405
+ /**
406
+ * @param weaponObject
407
+ * @param level
408
+ */
409
+ static setWeaponDegradation(weaponObject: Prop, level: number): void {
410
+ inv<void>('0xA7A57E89E965D839', weaponObject.handle, f(level));
353
411
  }
354
412
 
355
413
  /**
356
414
  * @param weaponHash Refer to [enum: eWeaponHash]
357
415
  * @returns
358
416
  */
359
- static getWeaponStatId(weaponHash: eWeaponHash): number {
360
- return (inv<number>('0x8EC44AE8DECFF841', weaponHash, rai())) & 0xFFFFFFFF;
417
+ static isWeaponShotgun(weaponHash: eWeaponHash): boolean {
418
+ return !!inv<boolean>('0xC75386174ECE95D5', weaponHash, rai());
361
419
  }
362
420
 
363
421
  /**
364
- * @param vehicle
365
- * @param p1
366
- * @param minHeading
367
- * @param maxHeading
422
+ * @param ammoHash Refer to [enum: eAmmoType]
423
+ * @returns
368
424
  */
369
- static setVehicleWeaponHeadingLimits(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): void {
370
- inv<void>('0x56CB3B4305A4F7CE', vehicle.handle, p1, f(minHeading), f(maxHeading));
425
+ static isAmmoValid(ammoHash: eAmmoType): any {
426
+ return inv<number>('0x1F7977C9101F807F', ammoHash);
371
427
  }
372
428
 
373
429
  /**
374
- * @param p0
375
- * @param p1
430
+ * @param ammoHash Refer to [enum: eAmmoType]
376
431
  * @returns
377
432
  */
378
- static N_0x74C8000FDD1BB222(p0: any, p1: any): any {
379
- return inv<number>('0x74C8000FDD1BB222', p0, p1);
433
+ static isAmmoSilent2(ammoHash: eAmmoType): any {
434
+ return inv<number>('0x7EFACC589B98C488', ammoHash);
380
435
  }
381
436
 
382
437
  /**
383
- * Returns hash where WEAPON_ is replaced with SLOT_
384
- *
385
438
  * @param weaponHash Refer to [enum: eWeaponHash]
439
+ * @param permanentDegradationLevel
386
440
  * @returns
387
441
  */
388
- static getWeapontypeSlot(weaponHash: eWeaponHash): number {
389
- return (inv<number>('0x46F032B8DDF46CDE', weaponHash, rai())) & 0xFFFFFFFF;
442
+ static getWeaponNameWithPermanentDegradation(weaponHash: eWeaponHash, permanentDegradationLevel: number): string | null {
443
+ return inv<string>('0x7A56D66C78D8EF8E', weaponHash, f(permanentDegradationLevel), ras());
390
444
  }
391
445
 
392
446
  /**
393
- * @param p0
394
- * @param p1
447
+ * @param weaponObject
448
+ * @param level
395
449
  * @param p2
396
450
  */
397
- static N_0xA3716A77DCF17424(p0: any, p1: any, p2: any): void {
398
- inv<void>('0xA3716A77DCF17424', p0, p1, p2);
451
+ static setWeaponSoot(weaponObject: Prop, level: number, p2: boolean): void {
452
+ inv<void>('0xA9EF4AD10BDDDB57', weaponObject.handle, f(level), p2);
399
453
  }
400
454
 
401
455
  /**
402
- * @param weaponCollection
403
- * @param dualwieldVariant
456
+ * Returns weaponCollection Hash
457
+ * Example: RE_POLICECHASE_MALES_01: Carbine Repeater + Knife, LO_AGRO_PED
458
+ *
459
+ * @param pedModel
404
460
  * @returns
405
461
  */
406
- static N_0xF252A85B8F3F8C58(weaponCollection: string | number, dualwieldVariant: string | number): boolean {
407
- return inv<boolean>('0xF252A85B8F3F8C58', _h(weaponCollection), _h(dualwieldVariant), rai());
462
+ static getDefaultPedWeaponCollection(pedModel: string | number): number {
463
+ return (inv<number>('0xD42514C182121C23', _h(pedModel), rai())) & 0xFFFFFFFF;
408
464
  }
409
465
 
410
466
  /**
411
- * @param weaponHash Refer to [enum: eWeaponHash]
412
- * @returns
467
+ * @param vehicle
468
+ * @param seatIndex Refer to [enum: eVehicleSeat]
469
+ * @param heading
470
+ * @param p3
413
471
  */
414
- static isWeaponBinoculars(weaponHash: eWeaponHash): any {
415
- return inv<number>('0xC853230E76A152DF', weaponHash);
472
+ static setVehicleWeaponHeading(vehicle: Vehicle, seatIndex: eVehicleSeat, heading: number, p3: boolean): void {
473
+ inv<void>('0x194D877FC5597B7D', vehicle.handle, seatIndex, f(heading), p3);
416
474
  }
417
475
 
418
476
  /**
419
- * @param p0
420
- * @param p1
477
+ * @param weaponHash Refer to [enum: eWeaponHash]
421
478
  * @returns
422
479
  */
423
- static N_0xD2209866B0CB72EA(p0: any, p1: any): any {
424
- return inv<number>('0xD2209866B0CB72EA', p0, p1);
480
+ static isWeaponLantern(weaponHash: eWeaponHash): any {
481
+ return inv<number>('0x79407D33328286C6', weaponHash);
425
482
  }
426
483
 
427
484
  /**
428
- * @param p0
429
- * @param p1
430
- * @param p2
485
+ * @param weaponHash Refer to [enum: eWeaponHash]
486
+ * @returns
431
487
  */
432
- static N_0xA769D753922B031B(p0: any, p1: any, p2: any): void {
433
- inv<void>('0xA769D753922B031B', p0, p1, p2);
488
+ static isWeaponRevolver(weaponHash: eWeaponHash): boolean {
489
+ return !!inv<boolean>('0xC212F1D05A8232BB', weaponHash, rai());
434
490
  }
435
491
 
436
492
  /**
437
493
  * @param p0
438
494
  */
439
- static N_0xECBB26529A737EF6(p0: any): void {
440
- inv<void>('0xECBB26529A737EF6', p0);
495
+ static N_0x74C90AAACC1DD48F(p0: any): void {
496
+ inv<void>('0x74C90AAACC1DD48F', p0);
441
497
  }
442
498
 
443
499
  /**
444
- * turretHash: WEAPON_TURRET_MAXIUM, WEAPON_TURRET_GATLING, WEAPON_TURRET_CANNON, WEAPON_TURRET_REVOLVING_CANNON
500
+ * Related to weapon visual damage, not actual damage.
445
501
  *
446
- * @param vehicle
447
- * @param turretHash
448
- * @param ammo
502
+ * @param weaponObject
503
+ * @param level
504
+ * @param p2
449
505
  */
450
- static setAmmoInTurret(vehicle: Vehicle, turretHash: string | number, ammo: number): void {
451
- inv<void>('0xBDDA0C290C228159', vehicle.handle, _h(turretHash), ammo);
506
+ static setWeaponDamage(weaponObject: Prop, level: number, p2: boolean): void {
507
+ inv<void>('0xE22060121602493B', weaponObject.handle, f(level), p2);
452
508
  }
453
509
 
454
510
  /**
455
- * @param weaponObject
456
- * @param level
457
- * @param p2
511
+ * @param p0
512
+ * @param p1
513
+ * @returns
458
514
  */
459
- static setWeaponSoot(weaponObject: Prop, level: number, p2: boolean): void {
460
- inv<void>('0xA9EF4AD10BDDDB57', weaponObject.handle, f(level), p2);
515
+ static N_0x74C8000FDD1BB111(p0: any, p1: any): any {
516
+ return inv<number>('0x74C8000FDD1BB111', p0, p1);
461
517
  }
462
518
 
463
519
  /**
464
- * Returns weaponCollection Hash
465
- * Example: RE_POLICECHASE_MALES_01: Carbine Repeater + Knife, LO_AGRO_PED
520
+ * _IS_WEAPON_CLOSE_RANGE?
521
+ * returns true when it's lassos , melee, thrown weapons (matchetes and unarmed return false)
522
+ * all guns ,bows and animal weapons return false
466
523
  *
467
- * @param pedModel
524
+ * @param weaponHash Refer to [enum: eWeaponHash]
468
525
  * @returns
469
526
  */
470
- static getDefaultPedWeaponCollection(pedModel: string | number): number {
471
- return (inv<number>('0xD42514C182121C23', _h(pedModel), rai())) & 0xFFFFFFFF;
527
+ static isWeaponCloseRange(weaponHash: eWeaponHash): any {
528
+ return inv<number>('0xEA522F991E120D45', weaponHash);
472
529
  }
473
530
 
474
531
  /**
475
- * @param vehicle
476
- * @param seatIndex Refer to [enum: eVehicleSeat]
477
- * @param heading
532
+ * @param weaponHash Refer to [enum: eWeaponHash]
533
+ * @returns
534
+ */
535
+ static isWeaponMeleeWeapon(weaponHash: eWeaponHash): boolean {
536
+ return !!inv<boolean>('0x959383DCD42040DA', weaponHash, rai());
537
+ }
538
+
539
+ /**
540
+ * @param ped
541
+ * @param componentHash
478
542
  * @param p3
543
+ * @returns weaponObject
479
544
  */
480
- static setVehicleWeaponHeading(vehicle: Vehicle, seatIndex: eVehicleSeat, heading: number, p3: boolean): void {
481
- inv<void>('0x194D877FC5597B7D', vehicle.handle, seatIndex, f(heading), p3);
545
+ static giveWeaponComponentToWeaponObject(ped: Ped, componentHash: string | number, p3: boolean): Prop | null {
546
+ const result = inv<number>('0x1A47699E8D533E8F', pvi(), ped.handle, _h(componentHash), p3);
547
+ return createFromHandle<Prop>('Prop', result);
482
548
  }
483
549
 
484
550
  /**
485
- * @param weaponHash Refer to [enum: eWeaponHash]
551
+ * @param ammoHash Refer to [enum: eAmmoType]
486
552
  * @returns
487
553
  */
488
- static isWeaponLantern(weaponHash: eWeaponHash): any {
489
- return inv<number>('0x79407D33328286C6', weaponHash);
554
+ static isAmmoSilent(ammoHash: eAmmoType): boolean {
555
+ return !!inv<boolean>('0xD2866CBA797E872E', ammoHash, rai());
556
+ }
557
+
558
+ /**
559
+ * @param p0
560
+ * @param p1
561
+ */
562
+ static N_0x641351E9AD103890(p0: any, p1: any): void {
563
+ inv<void>('0x641351E9AD103890', p0, p1);
490
564
  }
491
565
 
492
566
  /**
493
567
  * @param weaponHash Refer to [enum: eWeaponHash]
494
568
  * @returns
495
569
  */
496
- static isWeaponRevolver(weaponHash: eWeaponHash): any {
497
- return inv<number>('0xC212F1D05A8232BB', weaponHash);
570
+ static getWeaponName2(weaponHash: eWeaponHash): string | null {
571
+ return inv<string>('0x6D3AC61694A791C5', weaponHash, ras());
498
572
  }
499
573
 
500
574
  /**
501
- * @param p0
575
+ * @param weaponObject
576
+ * @param level
577
+ * @param p2
502
578
  */
503
- static N_0x74C90AAACC1DD48F(p0: any): void {
504
- inv<void>('0x74C90AAACC1DD48F', p0);
579
+ static setWeaponDirt(weaponObject: Prop, level: number, p2: boolean): void {
580
+ inv<void>('0x812CE61DEBCAB948', weaponObject.handle, f(level), p2);
505
581
  }
506
582
 
507
583
  /**
@@ -565,404 +641,328 @@ export class WeaponStatics {
565
641
  return (inv<number>('0xF8204EF17410BF43', _h(weaponGroupHash), f(p1), f(p2), p3, rai())) & 0xFFFFFFFF;
566
642
  }
567
643
 
568
- /**
569
- * @param weaponHash Refer to [enum: eWeaponHash]
570
- * @param ammoHash Refer to [enum: eAmmoType]
571
- * @returns
572
- */
573
- static isAmmoTypeValidForWeapon(weaponHash: eWeaponHash, ammoHash: eAmmoType): any {
574
- return inv<number>('0xC570B881754DF609', weaponHash, ammoHash);
575
- }
576
-
577
644
  /**
578
645
  * @param p0
579
646
  * @param p1
580
647
  */
581
- static N_0x183CE355115B6E75(p0: any, p1: any): void {
582
- inv<void>('0x183CE355115B6E75', p0, p1);
583
- }
584
-
585
- /**
586
- * @param p0
587
- * @param p1
588
- */
589
- static N_0x74C9080FDD1BB48F(p0: any, p1: any): void {
590
- inv<void>('0x74C9080FDD1BB48F', p0, p1);
648
+ static N_0x404514D231DB27A0(p0: any, p1: any): void {
649
+ inv<void>('0x404514D231DB27A0', p0, p1);
591
650
  }
592
651
 
593
652
  /**
594
- * @param vehicle
595
- * @param p1
596
- * @param minHeading
597
- * @param maxHeading
598
- * @returns
653
+ * @param listen
599
654
  */
600
- static setVehicleWeaponHeadingLimits2(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): any {
601
- return inv<number>('0xBF5987E1CDE63501', vehicle.handle, p1, f(minHeading), f(maxHeading));
655
+ static listenProjectileHitEvents(listen: boolean): void {
656
+ inv<void>('0xDA5D3F2C6DD5B5D4', listen);
602
657
  }
603
658
 
604
659
  /**
605
- * @param p0
606
- * @param p1
660
+ * @param weaponHash Refer to [enum: eWeaponHash]
607
661
  * @returns
608
662
  */
609
- static N_0x486C96A0DCD2BC92(p0: any, p1: any): any {
610
- return inv<number>('0x486C96A0DCD2BC92', p0, p1);
663
+ static getWeapontypeGroup(weaponHash: eWeaponHash): number {
664
+ return (inv<number>('0xEDCA14CA5199FF25', weaponHash, rai())) & 0xFFFFFFFF;
611
665
  }
612
666
 
613
667
  /**
614
668
  * @param weaponHash Refer to [enum: eWeaponHash]
615
- * @returns Returns the [enum: eWeaponAttachPoint]
616
- */
617
- static getDefaultWeaponAttachPoint(weaponHash: eWeaponHash): number {
618
- return inv<number>('0x65DC4AC5B96614CB', weaponHash, rai());
619
- }
620
-
621
- /**
622
- * Related to weapon visual damage, not actual damage.
623
- *
624
- * @param weaponObject
625
669
  * @returns
626
670
  */
627
- static getWeaponDamage(weaponObject: Prop): number {
628
- return inv<number>('0x904103D5D2333977', weaponObject.handle, raf());
671
+ static isWeaponLasso(weaponHash: eWeaponHash): any {
672
+ return inv<number>('0x6E4E1A82081EABED', weaponHash);
629
673
  }
630
674
 
631
675
  /**
632
676
  * @param p0
633
677
  * @returns
634
678
  */
635
- static N_0xBC9444F2FF94A9C0(p0: any): any {
636
- return inv<number>('0xBC9444F2FF94A9C0', p0);
679
+ static N_0xAFFD0CCF31F469B8(p0: any): any {
680
+ return inv<number>('0xAFFD0CCF31F469B8', p0);
637
681
  }
638
682
 
639
683
  /**
640
684
  * @param weaponHash Refer to [enum: eWeaponHash]
641
685
  * @returns
642
686
  */
643
- static isWeaponValid(weaponHash: eWeaponHash): boolean {
644
- return inv<boolean>('0x937C71165CF334B3', weaponHash, rai());
645
- }
646
-
647
- /**
648
- * @param p0
649
- * @param p1
650
- * @param p2
651
- */
652
- static N_0xE9B3FEC825668291(p0: any, p1: any, p2: any): void {
653
- inv<void>('0xE9B3FEC825668291', p0, p1, p2);
687
+ static isWeaponThrowable(weaponHash: eWeaponHash): any {
688
+ return inv<number>('0x30E7C16B12DA8211', weaponHash);
654
689
  }
655
690
 
656
691
  /**
657
- * Returns true when the weapon passed is either the fishingrod, a lasso, the camera or the binoculars
658
- * _IS_WEAPON_M* - _IS_WEAPON_P*
692
+ * Returns "WNS_INVALID" if the weapon is invalid/doesn't exist.
659
693
  *
660
694
  * @param weaponHash Refer to [enum: eWeaponHash]
661
695
  * @returns
662
696
  */
663
- static isWeaponKit2(weaponHash: eWeaponHash): any {
664
- return inv<number>('0x49E40483948AF062', weaponHash);
697
+ static getWeaponName(weaponHash: eWeaponHash): string | null {
698
+ return inv<string>('0x89CF5FF3D363311E', weaponHash, ras());
665
699
  }
666
700
 
667
701
  /**
668
- * 0.0: good condition, 1.0: poor condition
669
- *
670
- * @param weaponObject
702
+ * @param weaponHash Refer to [enum: eWeaponHash]
671
703
  * @returns
672
704
  */
673
- static getWeaponDegradation(weaponObject: Prop): number {
674
- return inv<number>('0x0D78E1097F89E637', weaponObject.handle, raf());
705
+ static getWeaponStatId(weaponHash: eWeaponHash): number {
706
+ return (inv<number>('0x8EC44AE8DECFF841', weaponHash, rai())) & 0xFFFFFFFF;
675
707
  }
676
708
 
677
709
  /**
678
710
  * @param p0
679
711
  * @param p1
680
- * @returns
681
- */
682
- static N_0xFDCEDFB0577A390D(p0: any, p1: any): any {
683
- return inv<number>('0xFDCEDFB0577A390D', p0, p1);
684
- }
685
-
686
- /**
687
- * @param weaponHash Refer to [enum: eWeaponHash]
688
- * @returns
712
+ * @param p2
689
713
  */
690
- static isWeaponPistol(weaponHash: eWeaponHash): any {
691
- return inv<number>('0xDDC64F5E31EEDAB6', weaponHash);
714
+ static N_0xD53846B9C931C181(p0: any, p1: any, p2: any): void {
715
+ inv<void>('0xD53846B9C931C181', p0, p1, p2);
692
716
  }
693
717
 
694
718
  /**
695
719
  * @param weaponHash Refer to [enum: eWeaponHash]
696
720
  * @returns
697
721
  */
698
- static hasWeaponAssetLoaded(weaponHash: eWeaponHash): any {
699
- return inv<number>('0xFF07CF465F48B830', weaponHash);
722
+ static getWeaponClipSize(weaponHash: eWeaponHash): number {
723
+ return inv<number>('0xD3750CCC00635FC2', weaponHash, rai());
700
724
  }
701
725
 
702
726
  /**
703
- * @param weaponHash Refer to [enum: eWeaponHash]
704
- * @returns
727
+ * @param p0
705
728
  */
706
- static isWeaponRepeater(weaponHash: eWeaponHash): any {
707
- return inv<number>('0xDDB2578E95EF7138', weaponHash);
729
+ static N_0x000FA7A4A8443AF7(p0: any): void {
730
+ inv<void>('0x000FA7A4A8443AF7', p0);
708
731
  }
709
732
 
710
733
  /**
711
- * @param componentHash
712
- * @returns
734
+ * Only used in R* Script fme_escaped_convicts, p0 = 0
735
+ *
736
+ * @param p0
713
737
  */
714
- static getWeaponComponentTypeModel(componentHash: string | number): number {
715
- return (inv<number>('0x59DE03442B6C9598', _h(componentHash), rai())) & 0xFFFFFFFF;
738
+ static N_0x63B83A526329AFBC(p0: any): void {
739
+ inv<void>('0x63B83A526329AFBC', p0);
716
740
  }
717
741
 
718
742
  /**
743
+ * Related to rust of weapons
744
+ *
719
745
  * @param weaponObject
720
- * @param level
746
+ * @returns
721
747
  */
722
- static setWeaponDegradation(weaponObject: Prop, level: number): void {
723
- inv<void>('0xA7A57E89E965D839', weaponObject.handle, f(level));
748
+ static getWeaponPermanentDegradation(weaponObject: Prop): number {
749
+ return inv<number>('0xD56E5F336C675EFA', weaponObject.handle, raf());
724
750
  }
725
751
 
726
752
  /**
727
753
  * @param weaponHash Refer to [enum: eWeaponHash]
728
- * @returns
729
754
  */
730
- static isWeaponShotgun(weaponHash: eWeaponHash): any {
731
- return inv<number>('0xC75386174ECE95D5', weaponHash);
755
+ static removeWeaponAsset(weaponHash: eWeaponHash): void {
756
+ inv<void>('0xC3896D03E2852236', weaponHash);
732
757
  }
733
758
 
734
759
  /**
735
- * @param ammoHash Refer to [enum: eAmmoType]
760
+ * @param p0
736
761
  * @returns
737
762
  */
738
- static isAmmoValid(ammoHash: eAmmoType): any {
739
- return inv<number>('0x1F7977C9101F807F', ammoHash);
763
+ static N_0x23BF601A42F329A0(p0: any): any {
764
+ return inv<number>('0x23BF601A42F329A0', p0);
740
765
  }
741
766
 
742
767
  /**
743
- * @param ammoHash Refer to [enum: eAmmoType]
768
+ * @param weaponHash Refer to [enum: eWeaponHash]
744
769
  * @returns
745
770
  */
746
- static isAmmoSilent2(ammoHash: eAmmoType): any {
747
- return inv<number>('0x7EFACC589B98C488', ammoHash);
771
+ static isWeaponRifle(weaponHash: eWeaponHash): boolean {
772
+ return !!inv<boolean>('0x0A82317B7EBFC420', weaponHash, rai());
748
773
  }
749
774
 
750
775
  /**
751
- * @param weaponHash Refer to [enum: eWeaponHash]
752
- * @param permanentDegradationLevel
776
+ * @param p0
753
777
  * @returns
754
778
  */
755
- static getWeaponNameWithPermanentDegradation(weaponHash: eWeaponHash, permanentDegradationLevel: number): string | null {
756
- return inv<string>('0x7A56D66C78D8EF8E', weaponHash, f(permanentDegradationLevel), ras());
779
+ static N_0x3799EFCC3C8CD5E1(p0: any): any {
780
+ return inv<number>('0x3799EFCC3C8CD5E1', p0);
757
781
  }
758
782
 
759
783
  /**
760
784
  * @param p0
761
785
  * @param p1
762
786
  * @param p2
763
- */
764
- static N_0xB0FB9B196A3D13F0(p0: any, p1: any, p2: any): void {
765
- inv<void>('0xB0FB9B196A3D13F0', p0, p1, p2);
766
- }
767
-
768
- /**
769
- * @param entity
770
- * @param weaponName
771
- * @param weaponType
772
787
  * @returns
773
788
  */
774
- static hasEntityBeenDamagedByWeapon(entity: Entity, weaponName: string | number, weaponType: number): any {
775
- return inv<number>('0xDCF06D0CDFF68424', entity.handle, _h(weaponName), weaponType);
789
+ static N_0x9CCA3131E6B53C68(p0: any, p1: any, p2: any): any {
790
+ return inv<number>('0x9CCA3131E6B53C68', p0, p1, p2);
776
791
  }
777
792
 
778
793
  /**
779
- * @param weaponObject
780
- * @returns
794
+ * @param p0
781
795
  */
782
- static getWeaponScale(weaponObject: Prop): number {
783
- return inv<number>('0x22084CA699219624', weaponObject.handle, raf());
796
+ static N_0xD4C6E24D955FF061(p0: any): void {
797
+ inv<void>('0xD4C6E24D955FF061', p0);
784
798
  }
785
799
 
786
800
  /**
787
- * Returns iSpinHash
788
- *
789
- * @param emote
790
- * @param weaponEmoteTrickType
791
- * @returns
801
+ * @param weaponHash Refer to [enum: eWeaponHash]
802
+ * @param p1
803
+ * @param p2
792
804
  */
793
- static getWeaponGunSpinningWeaponEmoteTrickTypeHash(emote: string | number, weaponEmoteTrickType: number): number {
794
- return (inv<number>('0xF4601C1203B1A78D', _h(emote), weaponEmoteTrickType, rai())) & 0xFFFFFFFF;
805
+ static requestWeaponAsset(weaponHash: eWeaponHash, p1: number, p2: boolean): void {
806
+ inv<void>('0x72D4CB5DB927009C', weaponHash, p1, p2);
795
807
  }
796
808
 
797
809
  /**
798
- * Returns true if CWeaponInfoFlags::Flags::Gun is set.
810
+ * Returns whether the weapon has multiple ammo types or not.
799
811
  *
800
812
  * @param weaponHash Refer to [enum: eWeaponHash]
801
813
  * @returns
802
814
  */
803
- static isWeaponAGun(weaponHash: eWeaponHash): any {
804
- return inv<number>('0x705BE297EEBDB95D', weaponHash);
805
- }
806
-
807
- /**
808
- * Related to weapon visual damage, not actual damage.
809
- *
810
- * @param weaponObject
811
- * @param level
812
- * @param p2
813
- */
814
- static setWeaponDamage(weaponObject: Prop, level: number, p2: boolean): void {
815
- inv<void>('0xE22060121602493B', weaponObject.handle, f(level), p2);
815
+ static getWeaponHasMultipleAmmoTypes(weaponHash: eWeaponHash): any {
816
+ return inv<number>('0x58425FCA3D3A2D15', weaponHash);
816
817
  }
817
818
 
818
819
  /**
819
820
  * @param p0
820
821
  * @param p1
821
- * @returns
822
822
  */
823
- static N_0x74C8000FDD1BB111(p0: any, p1: any): any {
824
- return inv<number>('0x74C8000FDD1BB111', p0, p1);
823
+ static N_0x74C9080FDD1BB48E(p0: any, p1: any): void {
824
+ inv<void>('0x74C9080FDD1BB48E', p0, p1);
825
825
  }
826
826
 
827
827
  /**
828
- * _IS_WEAPON_CLOSE_RANGE?
829
- * returns true when it's lassos , melee, thrown weapons (matchetes and unarmed return false)
830
- * all guns ,bows and animal weapons return false
828
+ * every other level will have the max value of (brokeLevel - threshold)
831
829
  *
832
- * @param weaponHash Refer to [enum: eWeaponHash]
833
- * @returns
830
+ * @param weaponObject
831
+ * @param threshold
834
832
  */
835
- static isWeaponCloseRange(weaponHash: eWeaponHash): any {
836
- return inv<number>('0xEA522F991E120D45', weaponHash);
833
+ static setWeaponLevelThreshold(weaponObject: Prop, threshold: number): void {
834
+ inv<void>('0xD4071EFC83794B2F', weaponObject.handle, f(threshold));
837
835
  }
838
836
 
839
837
  /**
840
838
  * @param weaponHash Refer to [enum: eWeaponHash]
841
839
  * @returns
842
840
  */
843
- static isWeaponMeleeWeapon(weaponHash: eWeaponHash): any {
844
- return inv<number>('0x959383DCD42040DA', weaponHash);
841
+ static isWeaponTwoHanded(weaponHash: eWeaponHash): any {
842
+ return inv<number>('0x0556E9D2ECF39D01', weaponHash);
845
843
  }
846
844
 
847
845
  /**
848
- * @param ped
849
- * @param componentHash
850
- * @param p3
851
- * @returns weaponObject
846
+ * @param p0
847
+ * @returns
852
848
  */
853
- static giveWeaponComponentToWeaponObject(ped: Ped, componentHash: string | number, p3: boolean): Prop | null {
854
- const result = inv<number>('0x1A47699E8D533E8F', pvi(), ped.handle, _h(componentHash), p3);
855
- return createFromHandle<Prop>('Prop', result);
849
+ static N_0x9F0E1892C7F228A8(p0: boolean): any {
850
+ return inv<number>('0x9F0E1892C7F228A8', p0);
856
851
  }
857
852
 
858
853
  /**
859
- * @param ammoHash Refer to [enum: eAmmoType]
860
- * @returns
854
+ * Only used in R* SP Script guama3
855
+ *
856
+ * @param vehicle
857
+ * @param p1
861
858
  */
862
- static isAmmoSilent(ammoHash: eAmmoType): boolean {
863
- return inv<boolean>('0xD2866CBA797E872E', ammoHash, rai());
859
+ static N_0x9409C62504A8F9E9(vehicle: Vehicle, p1: boolean): void {
860
+ inv<void>('0x9409C62504A8F9E9', vehicle.handle, p1);
864
861
  }
865
862
 
866
863
  /**
867
864
  * @param p0
868
- * @param p1
869
865
  */
870
- static N_0x641351E9AD103890(p0: any, p1: any): void {
871
- inv<void>('0x641351E9AD103890', p0, p1);
866
+ static N_0x457B16951AD77C1B(p0: any): void {
867
+ inv<void>('0x457B16951AD77C1B', p0);
872
868
  }
873
869
 
874
870
  /**
875
- * @param weaponHash Refer to [enum: eWeaponHash]
871
+ * @param p0
876
872
  * @returns
877
873
  */
878
- static getWeaponName2(weaponHash: eWeaponHash): string | null {
879
- return inv<string>('0x6D3AC61694A791C5', weaponHash, ras());
874
+ static N_0xBC9444F2FF94A9C0(p0: any): any {
875
+ return inv<number>('0xBC9444F2FF94A9C0', p0);
880
876
  }
881
877
 
882
878
  /**
883
- * @param weaponObject
884
- * @param level
885
- * @param p2
879
+ * @param weaponHash Refer to [enum: eWeaponHash]
880
+ * @returns
886
881
  */
887
- static setWeaponDirt(weaponObject: Prop, level: number, p2: boolean): void {
888
- inv<void>('0x812CE61DEBCAB948', weaponObject.handle, f(level), p2);
882
+ static isWeaponValid(weaponHash: eWeaponHash): boolean {
883
+ return !!inv<boolean>('0x937C71165CF334B3', weaponHash, rai());
889
884
  }
890
885
 
891
886
  /**
892
887
  * @param p0
888
+ * @param p1
889
+ * @param p2
893
890
  */
894
- static N_0xD4C6E24D955FF061(p0: any): void {
895
- inv<void>('0xD4C6E24D955FF061', p0);
891
+ static N_0xE9B3FEC825668291(p0: any, p1: any, p2: any): void {
892
+ inv<void>('0xE9B3FEC825668291', p0, p1, p2);
896
893
  }
897
894
 
898
895
  /**
896
+ * Returns true when the weapon passed is either the fishingrod, a lasso, the camera or the binoculars
897
+ * _IS_WEAPON_M* - _IS_WEAPON_P*
898
+ *
899
899
  * @param weaponHash Refer to [enum: eWeaponHash]
900
- * @param p1
901
- * @param p2
900
+ * @returns
902
901
  */
903
- static requestWeaponAsset(weaponHash: eWeaponHash, p1: number, p2: boolean): void {
904
- inv<void>('0x72D4CB5DB927009C', weaponHash, p1, p2);
902
+ static isWeaponKit2(weaponHash: eWeaponHash): any {
903
+ return inv<number>('0x49E40483948AF062', weaponHash);
905
904
  }
906
905
 
907
906
  /**
908
- * Returns whether the weapon has multiple ammo types or not.
907
+ * 0.0: good condition, 1.0: poor condition
909
908
  *
910
- * @param weaponHash Refer to [enum: eWeaponHash]
909
+ * @param weaponObject
911
910
  * @returns
912
911
  */
913
- static getWeaponHasMultipleAmmoTypes(weaponHash: eWeaponHash): any {
914
- return inv<number>('0x58425FCA3D3A2D15', weaponHash);
912
+ static getWeaponDegradation(weaponObject: Prop): number {
913
+ return inv<number>('0x0D78E1097F89E637', weaponObject.handle, raf());
915
914
  }
916
915
 
917
916
  /**
918
917
  * @param p0
919
918
  * @param p1
919
+ * @returns
920
920
  */
921
- static N_0x74C9080FDD1BB48E(p0: any, p1: any): void {
922
- inv<void>('0x74C9080FDD1BB48E', p0, p1);
921
+ static N_0xFDCEDFB0577A390D(p0: any, p1: any): any {
922
+ return inv<number>('0xFDCEDFB0577A390D', p0, p1);
923
923
  }
924
924
 
925
925
  /**
926
- * every other level will have the max value of (brokeLevel - threshold)
927
- *
928
- * @param weaponObject
929
- * @param threshold
926
+ * @param weaponHash Refer to [enum: eWeaponHash]
927
+ * @returns
930
928
  */
931
- static setWeaponLevelThreshold(weaponObject: Prop, threshold: number): void {
932
- inv<void>('0xD4071EFC83794B2F', weaponObject.handle, f(threshold));
929
+ static isWeaponPistol(weaponHash: eWeaponHash): boolean {
930
+ return !!inv<boolean>('0xDDC64F5E31EEDAB6', weaponHash, rai());
933
931
  }
934
932
 
935
933
  /**
936
934
  * @param weaponHash Refer to [enum: eWeaponHash]
937
935
  * @returns
938
936
  */
939
- static isWeaponTwoHanded(weaponHash: eWeaponHash): any {
940
- return inv<number>('0x0556E9D2ECF39D01', weaponHash);
937
+ static hasWeaponAssetLoaded(weaponHash: eWeaponHash): any {
938
+ return inv<number>('0xFF07CF465F48B830', weaponHash);
941
939
  }
942
940
 
943
941
  /**
944
- * @param p0
942
+ * @param weaponHash Refer to [enum: eWeaponHash]
945
943
  * @returns
946
944
  */
947
- static N_0x9F0E1892C7F228A8(p0: boolean): any {
948
- return inv<number>('0x9F0E1892C7F228A8', p0);
945
+ static isWeaponRepeater(weaponHash: eWeaponHash): boolean {
946
+ return !!inv<boolean>('0xDDB2578E95EF7138', weaponHash, rai());
949
947
  }
950
948
 
951
949
  /**
952
- * Only used in R* SP Script guama3
953
- *
954
950
  * @param vehicle
955
951
  * @param p1
952
+ * @param minHeading
953
+ * @param maxHeading
956
954
  */
957
- static N_0x9409C62504A8F9E9(vehicle: Vehicle, p1: boolean): void {
958
- inv<void>('0x9409C62504A8F9E9', vehicle.handle, p1);
955
+ static setVehicleWeaponHeadingLimits(vehicle: Vehicle, p1: number, minHeading: number, maxHeading: number): void {
956
+ inv<void>('0x56CB3B4305A4F7CE', vehicle.handle, p1, f(minHeading), f(maxHeading));
959
957
  }
960
958
 
961
959
  /**
962
960
  * @param p0
961
+ * @param p1
962
+ * @returns
963
963
  */
964
- static N_0x457B16951AD77C1B(p0: any): void {
965
- inv<void>('0x457B16951AD77C1B', p0);
964
+ static N_0x74C8000FDD1BB222(p0: any, p1: any): any {
965
+ return inv<number>('0x74C8000FDD1BB222', p0, p1);
966
966
  }
967
967
 
968
968
  }