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