@nativewrappers/redm-codegen 0.0.5 → 0.0.6

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