@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
@@ -20,279 +20,363 @@ export class Weapon {
20
20
  }
21
21
 
22
22
  /**
23
- * @param toggle
23
+ * @param weaponHash Refer to [enum: eWeaponHash]
24
+ * @param ammoHash Refer to [enum: eAmmoType]
24
25
  */
25
- setAllowAnyWeaponDrop(toggle: boolean): void {
26
- inv<void>('0x78030C7867D8B9B6', this.ped.handle, toggle);
26
+ enableAmmoTypeForPedWeapon(weaponHash: eWeaponHash, ammoHash: eAmmoType): void {
27
+ inv<void>('0x23FB9FACA28779C1', this.ped.handle, weaponHash, ammoHash);
27
28
  }
28
29
 
29
30
  /**
30
- * @returns
31
+ * @param toggle
31
32
  */
32
- makePedReload(): any {
33
- return inv<number>('0x79E1E511FF7EFB13', this.ped.handle);
33
+ N_0x431240A58484D5D0(toggle: boolean): void {
34
+ inv<void>('0x431240A58484D5D0', this.ped.handle, toggle);
34
35
  }
35
36
 
36
37
  /**
37
- * @param weaponHash Refer to [enum: eWeaponHash]
38
- * @param ammoCount
38
+ * @param p2
39
39
  * @param p3
40
- * @param addReason Refer to [enum: eAddItemReason]
40
+ * @returns outGUID
41
41
  */
42
- giveDelayedWeaponToPed(weaponHash: eWeaponHash, ammoCount: number, p3: boolean, addReason: eAddItemReason): void {
43
- inv<void>('0xB282DC6EBD803C75', this.ped.handle, weaponHash, ammoCount, p3, addReason);
42
+ getBestPedShortarmGuid(p2: boolean, p3: boolean): number {
43
+ const result = inv<number>('0xF52BD94B47CCF736', this.ped.handle, pvi(), p2, p3);
44
+ return result;
44
45
  }
45
46
 
46
47
  /**
47
- * @param toggle
48
+ * @returns coords
48
49
  */
49
- N_0x45E57FDD531C9477(toggle: boolean): void {
50
- inv<void>('0x45E57FDD531C9477', this.ped.handle, toggle);
50
+ getPedLastWeaponImpactCoord(): [boolean, Vector3] {
51
+ const result = inv<[boolean, number[]]>('0x6C4D0409BA1A2BC2', this.ped.handle, pvv(), rai());
52
+ return [!!result[0], Vector3.fromArray(result[1])];
51
53
  }
52
54
 
53
55
  /**
54
- * @param ammoHash Refer to [enum: eAmmoType]
55
- * @returns weaponInventoryUid
56
+ * Returns WeaponAttachPoint
57
+ *
58
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
59
+ * @returns
56
60
  */
57
- setAmmoTypeForPedWeaponInventory(ammoHash: eAmmoType): number {
58
- const result = inv<number>('0xEBE46B501BC3FBCF', this.ped.handle, pvi(), ammoHash);
59
- return result;
61
+ getWeaponAttachPoint(attachPoint: number): number {
62
+ return inv<number>('0xCAD4FE9398820D24', this.ped.handle, attachPoint, rai());
60
63
  }
61
64
 
62
65
  /**
63
- * @param weaponHash Refer to [enum: eWeaponHash]
64
66
  * @param p2
65
- * @param removeReason Refer to [enum: eRemoveItemReason]
67
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
68
+ * @param p4
69
+ * @returns weaponHash: Refer to [enum: eWeaponHash]
66
70
  */
67
- removeWeaponFromPed(weaponHash: eWeaponHash, p2: boolean, removeReason: eRemoveItemReason): void {
68
- inv<void>('0x4899CB088EDF59B8', this.ped.handle, weaponHash, p2, removeReason);
71
+ getCurrentPedWeapon(p2: boolean, attachPoint: number, p4: boolean): [boolean, number] {
72
+ const result = inv<[boolean, number]>('0x3A87E44BB9A01D54', this.ped.handle, pvi(), p2, attachPoint, p4, rai());
73
+ return [!!result[0], result[1]];
69
74
  }
70
75
 
71
76
  /**
72
- * Detaches the weapon from the ped and actually removes the ped's weapon
77
+ * Returns whether the ped has a revolver p1: 0 or 1
73
78
  *
74
79
  * @param p1
75
80
  * @returns
76
81
  */
77
- getWeaponObjectFromPed(p1: boolean): Prop | null {
78
- return createFromHandle<Prop>('Prop', inv<number>('0xC6A6789BB405D11C', this.ped.handle, p1, rai()));
82
+ doesPedHaveRevolver(p1: number): any {
83
+ return inv<number>('0x5B235F24472F2C3B', this.ped.handle, p1);
79
84
  }
80
85
 
81
86
  /**
87
+ * Returns emote Hash
88
+ *
82
89
  * @returns
83
90
  */
84
- isPedCurrentWeaponHolstered(): any {
85
- return inv<number>('0xBDD9C235D8D1052E', this.ped.handle);
91
+ getPedGunSpinningEquippedKitEmoteTwirl(): number {
92
+ return (inv<number>('0x2C4FEC3D0EFA9FC0', this.ped.handle, rai())) & 0xFFFFFFFF;
86
93
  }
87
94
 
88
95
  /**
89
- * @param toggle
96
+ * Returns ammoHash from weaponObject (Returned by 0x6CA484C9A7377E4F)
97
+ *
98
+ * @param weaponObject
99
+ * @returns
90
100
  */
91
- setInstantlyEquipWeaponPickups(toggle: boolean): void {
92
- inv<void>('0x739B9C6D0E7F7F93', this.ped.handle, toggle);
101
+ getCurrentPedWeaponAmmoType(weaponObject: Prop): number {
102
+ return (inv<number>('0x7E7B19A4355FEE13', this.ped.handle, weaponObject.handle, rai())) & 0xFFFFFFFF;
93
103
  }
94
104
 
95
105
  /**
96
- * Hides the ped's weapon during a cutscene.
97
- *
98
- * @param toggle
106
+ * @param p1
107
+ * @param p2
108
+ * @param p3
109
+ * @returns
99
110
  */
100
- hidePedWeaponForScriptedCutscene(toggle: boolean): void {
101
- inv<void>('0x6F6981D2253C208F', this.ped.handle, toggle);
111
+ getPedWorstWeapon(p1: boolean, p2: boolean, p3: boolean): number {
112
+ return (inv<number>('0xDA37A053C1522F5D', this.ped.handle, p1, p2, p3, rai())) & 0xFFFFFFFF;
102
113
  }
103
114
 
104
115
  /**
105
- * @returns guidPrimary; guidSecondary
116
+ * @param toggle
106
117
  */
107
- setPlayerPedQuickSwapWeaponByGuid(): [number, number] {
108
- const result = inv<[number, number]>('0xEC1F85DA51D3D6C4', this.ped.handle, pvi(), pvi());
109
- return [result[0], result[1]];
118
+ setPedDropsWeaponsWhenDead(toggle: boolean): void {
119
+ inv<void>('0x476AE72C1D19D1A8', this.ped.handle, toggle);
110
120
  }
111
121
 
112
122
  /**
113
- * @returns Returns the total ammo in the ped weapon from it's guid, or `0`.; guid
123
+ * Returns ammoHash
124
+ *
125
+ * @returns Returns the [enum: eAmmoType]; weaponGuid
114
126
  */
115
- getAmmoInPedWeaponFromGuid(): [number, number] {
116
- const result = inv<[number, number]>('0x4823F13A21F51964', this.ped.handle, pvi(), rai());
117
- return [result[0], result[1]];
127
+ getCurrentAmmoTypeFromGuid(): [number, number] {
128
+ const result = inv<[number, number]>('0xAF9D167A5656D6A6', this.ped.handle, pvi(), rai());
129
+ return [result[0] & 0xFFFFFFFF, result[1]];
118
130
  }
119
131
 
120
132
  /**
121
- * @param p1
122
- * @param p2
133
+ * @param toggle
123
134
  */
124
- removeAllPedWeapons(p1: boolean, p2: boolean): void {
125
- inv<void>('0xF25DF915FA38C5F3', this.ped.handle, p1, p2);
135
+ setPedInfiniteAmmoClip(toggle: boolean): void {
136
+ inv<void>('0xFBAA1E06B6BCA741', this.ped.handle, toggle);
126
137
  }
127
138
 
128
139
  /**
129
- * Returns eCurrentHeldWeapon
130
- * _GET_R* - _GET_T*
140
+ * returns the amount of peds that were restrained with the weapon thrown bolas
131
141
  *
132
142
  * @returns
133
143
  */
134
- getPedCurrentHeldWeapon(): string | number {
135
- return (inv<number>('0x8425C5F057012DAB', this.ped.handle, rai())) & 0xFFFFFFFF;
144
+ getNumPedsRestrainedFromWeaponBolas(): any {
145
+ return inv<number>('0x46D42883E873C1D7', this.ped.handle);
136
146
  }
137
147
 
138
148
  /**
139
- * @param toggle
149
+ * Stores longarms to your horse on dismount
150
+ * Params: p2 = 0
151
+ * SET_[I - M]*
152
+ *
153
+ * @param storeLongarms
154
+ * @param p2
140
155
  */
141
- setForceAutoEquip(toggle: boolean): void {
142
- inv<void>('0xBE711B14A159E84F', this.ped.handle, toggle);
156
+ setInstantlyStoreLongarmsOnDismount(storeLongarms: boolean, p2: number): void {
157
+ inv<void>('0xB832F1A686B9B810', this.ped.handle, storeLongarms, p2);
143
158
  }
144
159
 
145
160
  /**
146
- * @param componentHash
147
- * @param weaponHash Refer to [enum: eWeaponHash]
161
+ * @param removeReason Refer to [enum: eRemoveItemReason]
162
+ * @returns weaponGuid
148
163
  */
149
- removeWeaponComponentFromPed(componentHash: string | number, weaponHash: eWeaponHash): void {
150
- inv<void>('0x19F70C4D80494FF8', this.ped.handle, _h(componentHash), weaponHash);
164
+ removeWeaponFromPedByGuid(removeReason: eRemoveItemReason): number {
165
+ const result = inv<number>('0x51C3B71591811485', this.ped.handle, pvi(), removeReason);
166
+ return result;
151
167
  }
152
168
 
153
169
  /**
154
- * @param visible
155
- * @param deselectWeapon
156
- * @param p3
170
+ * attachPoint:
171
+ *
172
+ * @param weaponHash Refer to [enum: eWeaponHash]
173
+ * @param equipNow
174
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
157
175
  * @param p4
176
+ * @param p5
158
177
  */
159
- setPedCurrentWeaponVisible(visible: boolean, deselectWeapon: boolean, p3: boolean, p4: boolean): void {
160
- inv<void>('0x0725A4CCFDED9A70', this.ped.handle, visible, deselectWeapon, p3, p4);
178
+ setCurrentPedWeapon(weaponHash: eWeaponHash, equipNow: boolean, attachPoint: number, p4: boolean, p5: boolean): void {
179
+ inv<void>('0xADF692B254977C0C', this.ped.handle, weaponHash, equipNow, attachPoint, p4, p5);
161
180
  }
162
181
 
163
182
  /**
164
- * Old name: _DROP_CURRENT_PED_WEAPON
183
+ * Equips a weapon from a weaponItem, similar to GIVE_WEAPON_TO_PED
165
184
  *
166
- * @param p1
167
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
185
+ * @param p2
168
186
  * @param p3
169
187
  * @param p4
188
+ * @param p5
189
+ * @returns weaponUid
190
+ */
191
+ setCurrentPedWeaponByGuid(p2: boolean, p3: boolean, p4: boolean, p5: boolean): number {
192
+ const result = inv<number>('0x12FB95FE3D579238', this.ped.handle, pvi(), p2, p3, p4, p5);
193
+ return result;
194
+ }
195
+
196
+ /**
197
+ * @param componentHash
198
+ * @param weaponHash Refer to [enum: eWeaponHash]
170
199
  * @returns
171
200
  */
172
- makePedDropWeapon(p1: boolean, attachPoint: number, p3: boolean, p4: boolean): Entity | null {
173
- return createFromHandle<Entity>('Entity', inv<number>('0xCEF4C65DE502D367', this.ped.handle, p1, attachPoint, p3, p4, rai()));
201
+ hasPedGotWeaponComponent(componentHash: string | number, weaponHash: eWeaponHash): any {
202
+ return inv<number>('0xBBC67A6F965C688A', this.ped.handle, _h(componentHash), weaponHash);
174
203
  }
175
204
 
176
- removeAllPedAmmo(): void {
177
- inv<void>('0x1B83C0DEEBCBB214', this.ped.handle);
205
+ /**
206
+ * @param weaponHash Refer to [enum: eWeaponHash]
207
+ * @param amount The amount of ped to add to the ammo
208
+ * @param addReason Refer to [enum: eAddItemReason]
209
+ */
210
+ addAmmoToPed(weaponHash: eWeaponHash, amount: number, addReason: eAddItemReason): void {
211
+ inv<void>('0xB190BCA3F4042F95', this.ped.handle, weaponHash, amount, addReason);
178
212
  }
179
213
 
180
214
  /**
181
- * @param allow
215
+ * @param ammoType
216
+ * @param amount
217
+ * @param addReason Refer to [enum: eAddItemReason]
182
218
  */
183
- setAllowDualWield(allow: boolean): void {
184
- inv<void>('0x83B8D50EB9446BBA', this.ped.handle, allow);
219
+ addAmmoToPedByType(ammoType: string | number, amount: number, addReason: eAddItemReason): void {
220
+ inv<void>('0x106A811C6D3035F3', this.ped.handle, _h(ammoType), amount, addReason);
185
221
  }
186
222
 
187
223
  /**
188
- * Returns weaponEmoteVariation WEAPON_EMOTE_VARIATION_INVALID = -2,
189
- * WEAPON_EMOTE_VARIATION_BASE,
190
- * WEAPON_EMOTE_VARIATION_A,
191
- * WEAPON_EMOTE_VARIATION_B,
192
- * WEAPON_EMOTE_VARIATION_C,
193
- * WEAPON_EMOTE_VARIATION_D,
194
- * WEAPON_EMOTE_VARIATION_PREVIEW,
195
- * WEAPON_EMOTE_NUM_VARIATIONS
196
- *
197
- * @param variation
224
+ * @param targetPed
198
225
  * @returns
199
226
  */
200
- getWeaponEmoteVariation(variation: number): number {
201
- return inv<number>('0x86147D05FA831D3A', this.ped.handle, variation, rai());
227
+ isTargetPedConstrainedByPedUsingBolas(targetPed: Ped): boolean {
228
+ return inv<boolean>('0x8D50F43298AB9545', this.ped.handle, targetPed.handle, rai());
229
+ }
230
+
231
+ /**
232
+ * @param p1
233
+ * @returns guidPrimary
234
+ */
235
+ getBestPedWeaponInInventory(p1: any): [any, number] {
236
+ const result = inv<[number, number]>('0x7B98500614C8E8B8', this.ped.handle, p1, pvi());
237
+ return [result[0], result[1]];
202
238
  }
203
239
 
204
240
  /**
205
241
  * @param weaponHash Refer to [enum: eWeaponHash]
242
+ */
243
+ enableAmmoTypeForPed(weaponHash: eWeaponHash): void {
244
+ inv<void>('0x3B7B7908B7ADFB4B', this.ped.handle, weaponHash);
245
+ }
246
+
247
+ /**
248
+ * Detaches the weapon from the ped and actually removes the ped's weapon
249
+ *
250
+ * @param p1
206
251
  * @returns
207
252
  */
208
- isPedCarryingWeapon(weaponHash: eWeaponHash): any {
209
- return inv<number>('0xF29A186ED428B552', this.ped.handle, weaponHash);
253
+ getWeaponObjectFromPed(p1: boolean): Prop | null {
254
+ return createFromHandle<Prop>('Prop', inv<number>('0xC6A6789BB405D11C', this.ped.handle, p1, rai()));
210
255
  }
211
256
 
212
257
  /**
213
258
  * @returns
214
259
  */
215
- refillAmmoInCurrentPedWeapon(): any {
216
- return inv<number>('0x0A2AB7B7ABC055F4', this.ped.handle);
260
+ isPedCurrentWeaponHolstered(): any {
261
+ return inv<number>('0xBDD9C235D8D1052E', this.ped.handle);
217
262
  }
218
263
 
219
264
  /**
220
- * Unequip current weapon and set current weapon to WEAPON_UNARMED.
221
- * p0 usually 2 in R* scripts. Doesn't seem to have any effect if changed....
222
- * immediately: if true it will instantly switch to unarmed
265
+ * @param toggle
266
+ */
267
+ setInstantlyEquipWeaponPickups(toggle: boolean): void {
268
+ inv<void>('0x739B9C6D0E7F7F93', this.ped.handle, toggle);
269
+ }
270
+
271
+ /**
272
+ * Hides the ped's weapon during a cutscene.
223
273
  *
224
- * @param p0
225
- * @param immediately
274
+ * @param toggle
226
275
  */
227
- hidePedWeapons(p0: number, immediately: boolean): void {
228
- inv<void>('0xFCCC886EDE3C63EC', this.ped.handle, p0, immediately);
276
+ hidePedWeaponForScriptedCutscene(toggle: boolean): void {
277
+ inv<void>('0x6F6981D2253C208F', this.ped.handle, toggle);
229
278
  }
230
279
 
231
280
  /**
232
- * @param weaponHash Refer to [enum: eWeaponHash]
281
+ * @returns guidPrimary; guidSecondary
233
282
  */
234
- enableAmmoTypeForPed(weaponHash: eWeaponHash): void {
235
- inv<void>('0x3B7B7908B7ADFB4B', this.ped.handle, weaponHash);
283
+ setPlayerPedQuickSwapWeaponByGuid(): [number, number] {
284
+ const result = inv<[number, number]>('0xEC1F85DA51D3D6C4', this.ped.handle, pvi(), pvi());
285
+ return [result[0], result[1]];
236
286
  }
237
287
 
238
288
  /**
239
- * Returns ammoHash from weaponObject (Returned by 0x6CA484C9A7377E4F)
289
+ * @returns Returns the total ammo in the ped weapon from it's guid, or `0`.; guid
290
+ */
291
+ getAmmoInPedWeaponFromGuid(): [number, number] {
292
+ const result = inv<[number, number]>('0x4823F13A21F51964', this.ped.handle, pvi(), rai());
293
+ return [result[0], result[1]];
294
+ }
295
+
296
+ /**
297
+ * @param p1
298
+ * @param p2
299
+ */
300
+ removeAllPedWeapons(p1: boolean, p2: boolean): void {
301
+ inv<void>('0xF25DF915FA38C5F3', this.ped.handle, p1, p2);
302
+ }
303
+
304
+ /**
305
+ * @param ammoHash Refer to [enum: eAmmoType]
306
+ */
307
+ disableAmmoTypeForPed(ammoHash: eAmmoType): void {
308
+ inv<void>('0xAA5A52204E077883', this.ped.handle, ammoHash);
309
+ }
310
+
311
+ /**
312
+ * Returns whether the ped has a shotgun p1: 0 or 1
240
313
  *
241
- * @param weaponObject
314
+ * @param p1
242
315
  * @returns
243
316
  */
244
- getCurrentPedWeaponAmmoType(weaponObject: Prop): string | number {
245
- return (inv<number>('0x7E7B19A4355FEE13', this.ped.handle, weaponObject.handle, rai())) & 0xFFFFFFFF;
317
+ doesPedHaveShotgun(p1: number): any {
318
+ return inv<number>('0xABC18A28BAD4B46F', this.ped.handle, p1);
319
+ }
320
+
321
+ clearPedLastWeaponDamage(): void {
322
+ inv<void>('0x087D8F4BC65F68E4', this.ped.handle);
246
323
  }
247
324
 
248
325
  /**
326
+ * Returns true if ped is on a horse while inside of a town
327
+ * Params: p1 = 0
328
+ * GET_L* - GET_MA*
329
+ *
249
330
  * @param p1
250
- * @param p2
251
- * @param p3
252
331
  * @returns
253
332
  */
254
- getPedWorstWeapon(p1: boolean, p2: boolean, p3: boolean): string | number {
255
- return (inv<number>('0xDA37A053C1522F5D', this.ped.handle, p1, p2, p3, rai())) & 0xFFFFFFFF;
333
+ N_0x5A695BD328586B44(p1: number): any {
334
+ return inv<number>('0x5A695BD328586B44', this.ped.handle, p1);
256
335
  }
257
336
 
258
337
  /**
259
- * @param toggle
338
+ * @param weaponHash Refer to [enum: eWeaponHash]
339
+ * @param amount
340
+ * @param removeReason Refer to [enum: eRemoveItemReason]
260
341
  */
261
- setPedDropsWeaponsWhenDead(toggle: boolean): void {
262
- inv<void>('0x476AE72C1D19D1A8', this.ped.handle, toggle);
342
+ removeAmmoFromPed(weaponHash: eWeaponHash, amount: number, removeReason: eRemoveItemReason): void {
343
+ inv<void>('0xF4823C813CB8277D', this.ped.handle, weaponHash, amount, removeReason);
263
344
  }
264
345
 
265
346
  /**
266
- * Returns ammoHash
267
- *
268
- * @returns Returns the [enum: eAmmoType]; weaponGuid
347
+ * @param p1
348
+ * @param p2
269
349
  */
270
- getCurrentAmmoTypeFromGuid(): [string | number, number] {
271
- const result = inv<[number, number]>('0xAF9D167A5656D6A6', this.ped.handle, pvi(), rai());
272
- return [result[0] & 0xFFFFFFFF, result[1]];
350
+ setPedAmmoToDrop(p1: number, p2: number): void {
351
+ inv<void>('0xA4EFEF9440A5B0EF', this.ped.handle, p1, p2);
273
352
  }
274
353
 
275
354
  /**
276
- * @param toggle
355
+ * Returns the current ammo type of the specified ped's specified weapon.
356
+ *
357
+ * @param weaponHash Refer to [enum: eWeaponHash]
358
+ * @returns
277
359
  */
278
- setPedInfiniteAmmoClip(toggle: boolean): void {
279
- inv<void>('0xFBAA1E06B6BCA741', this.ped.handle, toggle);
360
+ getPedAmmoTypeFromWeapon(weaponHash: eWeaponHash): number {
361
+ return (inv<number>('0x7FEAD38B326B9F74', this.ped.handle, weaponHash, rai())) & 0xFFFFFFFF;
280
362
  }
281
363
 
282
364
  /**
283
- * returns the amount of peds that were restrained with the weapon thrown bolas
284
- *
285
- * @returns
365
+ * @param weaponHash Refer to [enum: eWeaponHash]
366
+ * @returns ammo
286
367
  */
287
- getNumPedsRestrainedFromWeaponBolas(): any {
288
- return inv<number>('0x46D42883E873C1D7', this.ped.handle);
368
+ getMaxAmmo(weaponHash: eWeaponHash): [boolean, number] {
369
+ const result = inv<[boolean, number]>('0xDC16122C7A20C933', this.ped.handle, pvi(), weaponHash, rai());
370
+ return [!!result[0], result[1]];
289
371
  }
290
372
 
291
373
  /**
292
- * @returns
374
+ * emote hashes: KIT_EMOTE_TWIRL_GUN, KIT_EMOTE_TWIRL_GUN_LEFT_HOLSTER, KIT_EMOTE_TWIRL_GUN_DUAL, 0 (to unequip)
375
+ *
376
+ * @param emote
293
377
  */
294
- getPedHogtieWeapon(): string | number {
295
- return (inv<number>('0x90EB1CB189923587', this.ped.handle, rai())) & 0xFFFFFFFF;
378
+ setActiveGunSpinningEquipKitEmoteTwirl(emote: string | number): void {
379
+ inv<void>('0xCBCFFF805F1B4596', this.ped.handle, _h(emote));
296
380
  }
297
381
 
298
382
  /**
@@ -347,7 +431,7 @@ export class Weapon {
347
431
  *
348
432
  * @returns
349
433
  */
350
- getDefaultUnarmedWeaponHash(): string | number {
434
+ getDefaultUnarmedWeaponHash(): number {
351
435
  return (inv<number>('0x08FF1099ED2E6E21', this.ped.handle, rai())) & 0xFFFFFFFF;
352
436
  }
353
437
 
@@ -369,76 +453,105 @@ export class Weapon {
369
453
  }
370
454
 
371
455
  /**
456
+ * @returns
457
+ */
458
+ isPedWeaponReadyToShoot(): boolean {
459
+ return inv<boolean>('0xB80CA294F2F26749', this.ped.handle, rai());
460
+ }
461
+
462
+ /**
463
+ * @param componentHash
372
464
  * @param weaponHash Refer to [enum: eWeaponHash]
373
- * @param ammoHash Refer to [enum: eAmmoType]
374
465
  */
375
- enableAmmoTypeForPedWeapon(weaponHash: eWeaponHash, ammoHash: eAmmoType): void {
376
- inv<void>('0x23FB9FACA28779C1', this.ped.handle, weaponHash, ammoHash);
466
+ removeWeaponComponentFromPed(componentHash: string | number, weaponHash: eWeaponHash): void {
467
+ inv<void>('0x19F70C4D80494FF8', this.ped.handle, _h(componentHash), weaponHash);
377
468
  }
378
469
 
379
470
  /**
380
- * @param toggle
471
+ * @param visible
472
+ * @param deselectWeapon
473
+ * @param p3
474
+ * @param p4
381
475
  */
382
- N_0x431240A58484D5D0(toggle: boolean): void {
383
- inv<void>('0x431240A58484D5D0', this.ped.handle, toggle);
476
+ setPedCurrentWeaponVisible(visible: boolean, deselectWeapon: boolean, p3: boolean, p4: boolean): void {
477
+ inv<void>('0x0725A4CCFDED9A70', this.ped.handle, visible, deselectWeapon, p3, p4);
384
478
  }
385
479
 
386
480
  /**
387
- * @param p2
481
+ * Old name: _DROP_CURRENT_PED_WEAPON
482
+ *
483
+ * @param p1
484
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
388
485
  * @param p3
389
- * @returns outGUID
486
+ * @param p4
487
+ * @returns
390
488
  */
391
- getBestPedShortarmGuid(p2: boolean, p3: boolean): number {
392
- const result = inv<number>('0xF52BD94B47CCF736', this.ped.handle, pvi(), p2, p3);
393
- return result;
489
+ makePedDropWeapon(p1: boolean, attachPoint: number, p3: boolean, p4: boolean): Entity | null {
490
+ return createFromHandle<Entity>('Entity', inv<number>('0xCEF4C65DE502D367', this.ped.handle, p1, attachPoint, p3, p4, rai()));
491
+ }
492
+
493
+ removeAllPedAmmo(): void {
494
+ inv<void>('0x1B83C0DEEBCBB214', this.ped.handle);
394
495
  }
395
496
 
396
497
  /**
397
- * @returns coords
498
+ * @param allow
398
499
  */
399
- getPedLastWeaponImpactCoord(): [boolean, Vector3] {
400
- const result = inv<[boolean, number[]]>('0x6C4D0409BA1A2BC2', this.ped.handle, pvv(), rai());
401
- return [!!result[0], Vector3.fromArray(result[1])];
500
+ setAllowDualWield(allow: boolean): void {
501
+ inv<void>('0x83B8D50EB9446BBA', this.ped.handle, allow);
402
502
  }
403
503
 
404
504
  /**
405
- * Returns WeaponAttachPoint
505
+ * Returns weaponEmoteVariation WEAPON_EMOTE_VARIATION_INVALID = -2,
506
+ * WEAPON_EMOTE_VARIATION_BASE,
507
+ * WEAPON_EMOTE_VARIATION_A,
508
+ * WEAPON_EMOTE_VARIATION_B,
509
+ * WEAPON_EMOTE_VARIATION_C,
510
+ * WEAPON_EMOTE_VARIATION_D,
511
+ * WEAPON_EMOTE_VARIATION_PREVIEW,
512
+ * WEAPON_EMOTE_NUM_VARIATIONS
406
513
  *
407
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
514
+ * @param variation
408
515
  * @returns
409
516
  */
410
- getWeaponAttachPoint(attachPoint: number): number {
411
- return inv<number>('0xCAD4FE9398820D24', this.ped.handle, attachPoint, rai());
517
+ getWeaponEmoteVariation(variation: number): number {
518
+ return inv<number>('0x86147D05FA831D3A', this.ped.handle, variation, rai());
412
519
  }
413
520
 
414
521
  /**
415
- * @param p2
416
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
417
- * @param p4
418
- * @returns weaponHash: Refer to [enum: eWeaponHash]
522
+ * @param weaponHash Refer to [enum: eWeaponHash]
523
+ * @returns
419
524
  */
420
- getCurrentPedWeapon(p2: boolean, attachPoint: number, p4: boolean): [boolean, number] {
421
- const result = inv<[boolean, number]>('0x3A87E44BB9A01D54', this.ped.handle, pvi(), p2, attachPoint, p4, rai());
422
- return [!!result[0], result[1]];
525
+ isPedCarryingWeapon(weaponHash: eWeaponHash): any {
526
+ return inv<number>('0xF29A186ED428B552', this.ped.handle, weaponHash);
423
527
  }
424
528
 
425
529
  /**
426
- * Returns whether the ped has a revolver p1: 0 or 1
427
- *
428
- * @param p1
429
530
  * @returns
430
531
  */
431
- doesPedHaveRevolver(p1: number): any {
432
- return inv<number>('0x5B235F24472F2C3B', this.ped.handle, p1);
532
+ refillAmmoInCurrentPedWeapon(): any {
533
+ return inv<number>('0x0A2AB7B7ABC055F4', this.ped.handle);
433
534
  }
434
535
 
435
536
  /**
436
- * Returns emote Hash
537
+ * Unequip current weapon and set current weapon to WEAPON_UNARMED.
538
+ * p0 usually 2 in R* scripts. Doesn't seem to have any effect if changed....
539
+ * immediately: if true it will instantly switch to unarmed
437
540
  *
438
- * @returns
541
+ * @param p0
542
+ * @param immediately
439
543
  */
440
- getPedGunSpinningEquippedKitEmoteTwirl(): string | number {
441
- return (inv<number>('0x2C4FEC3D0EFA9FC0', this.ped.handle, rai())) & 0xFFFFFFFF;
544
+ hidePedWeapons(p0: number, immediately: boolean): void {
545
+ inv<void>('0xFCCC886EDE3C63EC', this.ped.handle, p0, immediately);
546
+ }
547
+
548
+ /**
549
+ * @param weaponHash Refer to [enum: eWeaponHash]
550
+ * @returns ammo
551
+ */
552
+ getAmmoInClip(weaponHash: eWeaponHash): [boolean, number] {
553
+ const result = inv<[boolean, number]>('0x2E1202248937775C', this.ped.handle, pvi(), weaponHash, rai());
554
+ return [!!result[0], result[1]];
442
555
  }
443
556
 
444
557
  /**
@@ -486,7 +599,7 @@ export class Weapon {
486
599
  * @param p3
487
600
  * @returns
488
601
  */
489
- getBestPedWeaponInGroup(weaponGroup: string | number, p2: boolean, p3: boolean): string | number {
602
+ getBestPedWeaponInGroup(weaponGroup: string | number, p2: boolean, p3: boolean): number {
490
603
  return (inv<number>('0x9F67929D98E7C6E8', this.ped.handle, _h(weaponGroup), p2, p3, rai())) & 0xFFFFFFFF;
491
604
  }
492
605
 
@@ -524,13 +637,6 @@ export class Weapon {
524
637
  return inv<number>('0x79B1A6E780266DB0', this.ped.handle, raf());
525
638
  }
526
639
 
527
- /**
528
- * @param ammoHash Refer to [enum: eAmmoType]
529
- */
530
- disableAmmoTypeForPed(ammoHash: eAmmoType): void {
531
- inv<void>('0xAA5A52204E077883', this.ped.handle, ammoHash);
532
- }
533
-
534
640
  /**
535
641
  * @param visible
536
642
  */
@@ -563,7 +669,7 @@ export class Weapon {
563
669
  * @param slotHash
564
670
  * @returns
565
671
  */
566
- getPedWeaponInSlot(slotHash: string | number): string | number {
672
+ getPedWeaponInSlot(slotHash: string | number): number {
567
673
  return (inv<number>('0xDBC4B552B2AE9A83', this.ped.handle, _h(slotHash), rai())) & 0xFFFFFFFF;
568
674
  }
569
675
 
@@ -590,33 +696,147 @@ export class Weapon {
590
696
  * @param ammoHash Refer to [enum: eAmmoType]
591
697
  * @returns
592
698
  */
593
- N_0x44C8F4908F1B2622(ammoHash: eAmmoType): boolean {
594
- return inv<boolean>('0x44C8F4908F1B2622', this.ped.handle, ammoHash, rai());
699
+ N_0x44C8F4908F1B2622(ammoHash: eAmmoType): boolean {
700
+ return inv<boolean>('0x44C8F4908F1B2622', this.ped.handle, ammoHash, rai());
701
+ }
702
+
703
+ /**
704
+ * @param p2
705
+ * @returns clipInventoryUid
706
+ */
707
+ refillAmmoInClip(p2: number): [any, number] {
708
+ const result = inv<[number, number]>('0xDF4A3404D022ADDE', this.ped.handle, pvi(), p2);
709
+ return [result[0], result[1]];
710
+ }
711
+
712
+ /**
713
+ * _SET_A* - _SET_B*
714
+ *
715
+ * @param p1
716
+ */
717
+ N_0x2EBF70E1D8C06683(p1: string | number): void {
718
+ inv<void>('0x2EBF70E1D8C06683', this.ped.handle, _h(p1));
719
+ }
720
+
721
+ /**
722
+ * @returns
723
+ */
724
+ getAllowDualWield(): any {
725
+ return inv<number>('0x918990BD9CE08582', this.ped.handle);
726
+ }
727
+
728
+ /**
729
+ * Returns eCurrentHeldWeapon
730
+ * _GET_R* - _GET_T*
731
+ *
732
+ * @returns
733
+ */
734
+ getPedCurrentHeldWeapon(): number {
735
+ return (inv<number>('0x8425C5F057012DAB', this.ped.handle, rai())) & 0xFFFFFFFF;
736
+ }
737
+
738
+ /**
739
+ * @param toggle
740
+ */
741
+ setForceAutoEquip(toggle: boolean): void {
742
+ inv<void>('0xBE711B14A159E84F', this.ped.handle, toggle);
743
+ }
744
+
745
+ /**
746
+ * @param weaponHash Refer to [enum: eWeaponHash]
747
+ * @param ammo
748
+ */
749
+ setPedAmmo(weaponHash: eWeaponHash, ammo: number): void {
750
+ inv<void>('0x14E56BC5B5DB6A19', this.ped.handle, weaponHash, ammo);
751
+ }
752
+
753
+ /**
754
+ * Gives the ped the weapon.
755
+ * List: https://github.com/femga/rdr3_discoveries/blob/master/weapons/weapons.lua Params: p7 is 0.5f, and p8 is 1.0f. p11 and p12 are both 0 in R* Scripts
756
+ * permanentDegradation: default 0.5, any higher than 0 it will automatically make the weapon worn, you can also adjust the value to change the weapons maximum cleanliness
757
+ *
758
+ * @param weaponHash Refer to [enum: eWeaponHash]
759
+ * @param ammoCount
760
+ * @param bForceInHand
761
+ * @param bForceInHolster
762
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
763
+ * @param bAllowMultipleCopies
764
+ * @param p7
765
+ * @param p8
766
+ * @param addReason Refer to [enum: eAddItemReason]
767
+ * @param bIgnoreUnlocks
768
+ * @param permanentDegradation
769
+ * @param p12
770
+ * @returns
771
+ */
772
+ giveWeaponToPed(weaponHash: eWeaponHash, ammoCount: number, bForceInHand: boolean, bForceInHolster: boolean, attachPoint: number, bAllowMultipleCopies: boolean, p7: number, p8: number, addReason: eAddItemReason, bIgnoreUnlocks: boolean, permanentDegradation: number, p12: boolean): number {
773
+ return (inv<number>('0x5E3BDDBCB83F3D84', this.ped.handle, weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, f(p7), f(p8), addReason, bIgnoreUnlocks, f(permanentDegradation), p12, rai())) & 0xFFFFFFFF;
774
+ }
775
+
776
+ /**
777
+ * @param weaponHash Refer to [enum: eWeaponHash]
778
+ * @returns
779
+ */
780
+ getAmmoInPedWeapon(weaponHash: eWeaponHash): number {
781
+ return inv<number>('0x015A522136D7F951', this.ped.handle, weaponHash, rai());
782
+ }
783
+
784
+ /**
785
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
786
+ * @returns weaponGuid
787
+ */
788
+ getPedWeaponGuidAtAttachPoint(attachPoint: number): [any, number] {
789
+ const result = inv<[number, number]>('0x6929E22158E52265', this.ped.handle, attachPoint, pvi());
790
+ return [result[0], result[1]];
791
+ }
792
+
793
+ /**
794
+ * @param toggle
795
+ */
796
+ setAllowAnyWeaponDrop(toggle: boolean): void {
797
+ inv<void>('0x78030C7867D8B9B6', this.ped.handle, toggle);
798
+ }
799
+
800
+ /**
801
+ * @returns
802
+ */
803
+ makePedReload(): any {
804
+ return inv<number>('0x79E1E511FF7EFB13', this.ped.handle);
805
+ }
806
+
807
+ /**
808
+ * @param weaponHash Refer to [enum: eWeaponHash]
809
+ * @param ammoCount
810
+ * @param p3
811
+ * @param addReason Refer to [enum: eAddItemReason]
812
+ */
813
+ giveDelayedWeaponToPed(weaponHash: eWeaponHash, ammoCount: number, p3: boolean, addReason: eAddItemReason): void {
814
+ inv<void>('0xB282DC6EBD803C75', this.ped.handle, weaponHash, ammoCount, p3, addReason);
595
815
  }
596
816
 
597
817
  /**
598
- * @param p2
599
- * @returns clipInventoryUid
818
+ * @param toggle
600
819
  */
601
- refillAmmoInClip(p2: number): [any, number] {
602
- const result = inv<[number, number]>('0xDF4A3404D022ADDE', this.ped.handle, pvi(), p2);
603
- return [result[0], result[1]];
820
+ N_0x45E57FDD531C9477(toggle: boolean): void {
821
+ inv<void>('0x45E57FDD531C9477', this.ped.handle, toggle);
604
822
  }
605
823
 
606
824
  /**
607
- * _SET_A* - _SET_B*
608
- *
609
- * @param p1
825
+ * @param ammoHash Refer to [enum: eAmmoType]
826
+ * @returns weaponInventoryUid
610
827
  */
611
- N_0x2EBF70E1D8C06683(p1: string | number): void {
612
- inv<void>('0x2EBF70E1D8C06683', this.ped.handle, _h(p1));
828
+ setAmmoTypeForPedWeaponInventory(ammoHash: eAmmoType): number {
829
+ const result = inv<number>('0xEBE46B501BC3FBCF', this.ped.handle, pvi(), ammoHash);
830
+ return result;
613
831
  }
614
832
 
615
833
  /**
616
- * @returns
834
+ * @param weaponHash Refer to [enum: eWeaponHash]
835
+ * @param p2
836
+ * @param removeReason Refer to [enum: eRemoveItemReason]
617
837
  */
618
- isPedWeaponReadyToShoot(): boolean {
619
- return inv<boolean>('0xB80CA294F2F26749', this.ped.handle, rai());
838
+ removeWeaponFromPed(weaponHash: eWeaponHash, p2: boolean, removeReason: eRemoveItemReason): void {
839
+ inv<void>('0x4899CB088EDF59B8', this.ped.handle, weaponHash, p2, removeReason);
620
840
  }
621
841
 
622
842
  /**
@@ -632,7 +852,7 @@ export class Weapon {
632
852
  * @param p2
633
853
  * @returns
634
854
  */
635
- getBestPedWeapon(p1: boolean, p2: boolean): string | number {
855
+ getBestPedWeapon(p1: boolean, p2: boolean): number {
636
856
  return (inv<number>('0x8483E98E8B888AE2', this.ped.handle, p1, p2, rai())) & 0xFFFFFFFF;
637
857
  }
638
858
 
@@ -697,7 +917,7 @@ export class Weapon {
697
917
  * @param weaponEmoteVariation
698
918
  * @returns
699
919
  */
700
- getPedGunSpinningHashFromWeaponEmoteVariation(weaponEmoteVariation: number): string | number {
920
+ getPedGunSpinningHashFromWeaponEmoteVariation(weaponEmoteVariation: number): number {
701
921
  return (inv<number>('0xF3B1620B920D1708', this.ped.handle, weaponEmoteVariation, rai())) & 0xFFFFFFFF;
702
922
  }
703
923
 
@@ -765,7 +985,7 @@ export class Weapon {
765
985
  * @param p1
766
986
  * @returns
767
987
  */
768
- getPedBackupWeapon(p1: boolean): string | number {
988
+ getPedBackupWeapon(p1: boolean): number {
769
989
  return (inv<number>('0xC71FE230A513C30F', this.ped.handle, p1, rai())) & 0xFFFFFFFF;
770
990
  }
771
991
 
@@ -777,12 +997,10 @@ export class Weapon {
777
997
  }
778
998
 
779
999
  /**
780
- * @param weaponHash Refer to [enum: eWeaponHash]
781
- * @returns ammo
1000
+ * @returns
782
1001
  */
783
- getAmmoInClip(weaponHash: eWeaponHash): [boolean, number] {
784
- const result = inv<[boolean, number]>('0x2E1202248937775C', this.ped.handle, pvi(), weaponHash, rai());
785
- return [!!result[0], result[1]];
1002
+ getPedHogtieWeapon(): number {
1003
+ return (inv<number>('0x90EB1CB189923587', this.ped.handle, rai())) & 0xFFFFFFFF;
786
1004
  }
787
1005
 
788
1006
  /**
@@ -842,222 +1060,4 @@ export class Weapon {
842
1060
  return inv<boolean>('0x8DECB02F88F428BC', this.ped.handle, weaponHash, p2, onlyCheckPlayerInventory, rai());
843
1061
  }
844
1062
 
845
- /**
846
- * @returns
847
- */
848
- getAllowDualWield(): any {
849
- return inv<number>('0x918990BD9CE08582', this.ped.handle);
850
- }
851
-
852
- /**
853
- * Stores longarms to your horse on dismount
854
- * Params: p2 = 0
855
- * SET_[I - M]*
856
- *
857
- * @param storeLongarms
858
- * @param p2
859
- */
860
- setInstantlyStoreLongarmsOnDismount(storeLongarms: boolean, p2: number): void {
861
- inv<void>('0xB832F1A686B9B810', this.ped.handle, storeLongarms, p2);
862
- }
863
-
864
- /**
865
- * @param removeReason Refer to [enum: eRemoveItemReason]
866
- * @returns weaponGuid
867
- */
868
- removeWeaponFromPedByGuid(removeReason: eRemoveItemReason): number {
869
- const result = inv<number>('0x51C3B71591811485', this.ped.handle, pvi(), removeReason);
870
- return result;
871
- }
872
-
873
- /**
874
- * attachPoint:
875
- *
876
- * @param weaponHash Refer to [enum: eWeaponHash]
877
- * @param equipNow
878
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
879
- * @param p4
880
- * @param p5
881
- */
882
- setCurrentPedWeapon(weaponHash: eWeaponHash, equipNow: boolean, attachPoint: number, p4: boolean, p5: boolean): void {
883
- inv<void>('0xADF692B254977C0C', this.ped.handle, weaponHash, equipNow, attachPoint, p4, p5);
884
- }
885
-
886
- /**
887
- * Equips a weapon from a weaponItem, similar to GIVE_WEAPON_TO_PED
888
- *
889
- * @param p2
890
- * @param p3
891
- * @param p4
892
- * @param p5
893
- * @returns weaponUid
894
- */
895
- setCurrentPedWeaponByGuid(p2: boolean, p3: boolean, p4: boolean, p5: boolean): number {
896
- const result = inv<number>('0x12FB95FE3D579238', this.ped.handle, pvi(), p2, p3, p4, p5);
897
- return result;
898
- }
899
-
900
- /**
901
- * @param componentHash
902
- * @param weaponHash Refer to [enum: eWeaponHash]
903
- * @returns
904
- */
905
- hasPedGotWeaponComponent(componentHash: string | number, weaponHash: eWeaponHash): any {
906
- return inv<number>('0xBBC67A6F965C688A', this.ped.handle, _h(componentHash), weaponHash);
907
- }
908
-
909
- /**
910
- * @param weaponHash Refer to [enum: eWeaponHash]
911
- * @param amount The amount of ped to add to the ammo
912
- * @param addReason Refer to [enum: eAddItemReason]
913
- */
914
- addAmmoToPed(weaponHash: eWeaponHash, amount: number, addReason: eAddItemReason): void {
915
- inv<void>('0xB190BCA3F4042F95', this.ped.handle, weaponHash, amount, addReason);
916
- }
917
-
918
- /**
919
- * @param ammoType
920
- * @param amount
921
- * @param addReason Refer to [enum: eAddItemReason]
922
- */
923
- addAmmoToPedByType(ammoType: string | number, amount: number, addReason: eAddItemReason): void {
924
- inv<void>('0x106A811C6D3035F3', this.ped.handle, _h(ammoType), amount, addReason);
925
- }
926
-
927
- /**
928
- * @param targetPed
929
- * @returns
930
- */
931
- isTargetPedConstrainedByPedUsingBolas(targetPed: Ped): boolean {
932
- return inv<boolean>('0x8D50F43298AB9545', this.ped.handle, targetPed.handle, rai());
933
- }
934
-
935
- /**
936
- * @param p1
937
- * @returns guidPrimary
938
- */
939
- getBestPedWeaponInInventory(p1: any): [any, number] {
940
- const result = inv<[number, number]>('0x7B98500614C8E8B8', this.ped.handle, p1, pvi());
941
- return [result[0], result[1]];
942
- }
943
-
944
- /**
945
- * Returns whether the ped has a shotgun p1: 0 or 1
946
- *
947
- * @param p1
948
- * @returns
949
- */
950
- doesPedHaveShotgun(p1: number): any {
951
- return inv<number>('0xABC18A28BAD4B46F', this.ped.handle, p1);
952
- }
953
-
954
- clearPedLastWeaponDamage(): void {
955
- inv<void>('0x087D8F4BC65F68E4', this.ped.handle);
956
- }
957
-
958
- /**
959
- * Returns true if ped is on a horse while inside of a town
960
- * Params: p1 = 0
961
- * GET_L* - GET_MA*
962
- *
963
- * @param p1
964
- * @returns
965
- */
966
- N_0x5A695BD328586B44(p1: number): any {
967
- return inv<number>('0x5A695BD328586B44', this.ped.handle, p1);
968
- }
969
-
970
- /**
971
- * @param weaponHash Refer to [enum: eWeaponHash]
972
- * @param amount
973
- * @param removeReason Refer to [enum: eRemoveItemReason]
974
- */
975
- removeAmmoFromPed(weaponHash: eWeaponHash, amount: number, removeReason: eRemoveItemReason): void {
976
- inv<void>('0xF4823C813CB8277D', this.ped.handle, weaponHash, amount, removeReason);
977
- }
978
-
979
- /**
980
- * @param p1
981
- * @param p2
982
- */
983
- setPedAmmoToDrop(p1: number, p2: number): void {
984
- inv<void>('0xA4EFEF9440A5B0EF', this.ped.handle, p1, p2);
985
- }
986
-
987
- /**
988
- * Returns the current ammo type of the specified ped's specified weapon.
989
- *
990
- * @param weaponHash Refer to [enum: eWeaponHash]
991
- * @returns
992
- */
993
- getPedAmmoTypeFromWeapon(weaponHash: eWeaponHash): string | number {
994
- return (inv<number>('0x7FEAD38B326B9F74', this.ped.handle, weaponHash, rai())) & 0xFFFFFFFF;
995
- }
996
-
997
- /**
998
- * @param weaponHash Refer to [enum: eWeaponHash]
999
- * @returns ammo
1000
- */
1001
- getMaxAmmo(weaponHash: eWeaponHash): [boolean, number] {
1002
- const result = inv<[boolean, number]>('0xDC16122C7A20C933', this.ped.handle, pvi(), weaponHash, rai());
1003
- return [!!result[0], result[1]];
1004
- }
1005
-
1006
- /**
1007
- * @param weaponHash Refer to [enum: eWeaponHash]
1008
- * @param ammo
1009
- */
1010
- setPedAmmo(weaponHash: eWeaponHash, ammo: number): void {
1011
- inv<void>('0x14E56BC5B5DB6A19', this.ped.handle, weaponHash, ammo);
1012
- }
1013
-
1014
- /**
1015
- * Gives the ped the weapon.
1016
- * List: https://github.com/femga/rdr3_discoveries/blob/master/weapons/weapons.lua Params: p7 is 0.5f, and p8 is 1.0f. p11 and p12 are both 0 in R* Scripts
1017
- * permanentDegradation: default 0.5, any higher than 0 it will automatically make the weapon worn, you can also adjust the value to change the weapons maximum cleanliness
1018
- *
1019
- * @param weaponHash Refer to [enum: eWeaponHash]
1020
- * @param ammoCount
1021
- * @param bForceInHand
1022
- * @param bForceInHolster
1023
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
1024
- * @param bAllowMultipleCopies
1025
- * @param p7
1026
- * @param p8
1027
- * @param addReason Refer to [enum: eAddItemReason]
1028
- * @param bIgnoreUnlocks
1029
- * @param permanentDegradation
1030
- * @param p12
1031
- * @returns
1032
- */
1033
- giveWeaponToPed(weaponHash: eWeaponHash, ammoCount: number, bForceInHand: boolean, bForceInHolster: boolean, attachPoint: number, bAllowMultipleCopies: boolean, p7: number, p8: number, addReason: eAddItemReason, bIgnoreUnlocks: boolean, permanentDegradation: number, p12: boolean): string | number {
1034
- return (inv<number>('0x5E3BDDBCB83F3D84', this.ped.handle, weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, f(p7), f(p8), addReason, bIgnoreUnlocks, f(permanentDegradation), p12, rai())) & 0xFFFFFFFF;
1035
- }
1036
-
1037
- /**
1038
- * @param weaponHash Refer to [enum: eWeaponHash]
1039
- * @returns
1040
- */
1041
- getAmmoInPedWeapon(weaponHash: eWeaponHash): number {
1042
- return inv<number>('0x015A522136D7F951', this.ped.handle, weaponHash, rai());
1043
- }
1044
-
1045
- /**
1046
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
1047
- * @returns weaponGuid
1048
- */
1049
- getPedWeaponGuidAtAttachPoint(attachPoint: number): [any, number] {
1050
- const result = inv<[number, number]>('0x6929E22158E52265', this.ped.handle, attachPoint, pvi());
1051
- return [result[0], result[1]];
1052
- }
1053
-
1054
- /**
1055
- * emote hashes: KIT_EMOTE_TWIRL_GUN, KIT_EMOTE_TWIRL_GUN_LEFT_HOLSTER, KIT_EMOTE_TWIRL_GUN_DUAL, 0 (to unequip)
1056
- *
1057
- * @param emote
1058
- */
1059
- setActiveGunSpinningEquipKitEmoteTwirl(emote: string | number): void {
1060
- inv<void>('0xCBCFFF805F1B4596', this.ped.handle, _h(emote));
1061
- }
1062
-
1063
1063
  }