@nativewrappers/redm-codegen 0.0.2 → 0.0.4

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