@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
@@ -5,6 +5,89 @@ export class Weapon {
5
5
  constructor(ped) {
6
6
  this.ped = ped;
7
7
  }
8
+ /**
9
+ * Stores longarms to your horse on dismount
10
+ * Params: p2 = 0
11
+ * SET_[I - M]*
12
+ *
13
+ * @param storeLongarms
14
+ * @param p2
15
+ */
16
+ setInstantlyStoreLongarmsOnDismount(storeLongarms, p2) {
17
+ inv('0xB832F1A686B9B810', this.ped.handle, storeLongarms, p2);
18
+ }
19
+ /**
20
+ * @param removeReason Refer to [enum: eRemoveItemReason]
21
+ * @returns weaponGuid
22
+ */
23
+ removeWeaponFromPedByGuid(removeReason) {
24
+ const result = inv('0x51C3B71591811485', this.ped.handle, pvi(), removeReason);
25
+ return result;
26
+ }
27
+ /**
28
+ * attachPoint:
29
+ *
30
+ * @param weaponHash Refer to [enum: eWeaponHash]
31
+ * @param equipNow
32
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
33
+ * @param p4
34
+ * @param p5
35
+ */
36
+ setCurrentPedWeapon(weaponHash, equipNow, attachPoint, p4, p5) {
37
+ inv('0xADF692B254977C0C', this.ped.handle, weaponHash, equipNow, attachPoint, p4, p5);
38
+ }
39
+ /**
40
+ * Equips a weapon from a weaponItem, similar to GIVE_WEAPON_TO_PED
41
+ *
42
+ * @param p2
43
+ * @param p3
44
+ * @param p4
45
+ * @param p5
46
+ * @returns weaponUid
47
+ */
48
+ setCurrentPedWeaponByGuid(p2, p3, p4, p5) {
49
+ const result = inv('0x12FB95FE3D579238', this.ped.handle, pvi(), p2, p3, p4, p5);
50
+ return result;
51
+ }
52
+ /**
53
+ * @param componentHash
54
+ * @param weaponHash Refer to [enum: eWeaponHash]
55
+ * @returns
56
+ */
57
+ hasPedGotWeaponComponent(componentHash, weaponHash) {
58
+ return inv('0xBBC67A6F965C688A', this.ped.handle, _h(componentHash), weaponHash);
59
+ }
60
+ /**
61
+ * @param weaponHash Refer to [enum: eWeaponHash]
62
+ * @param amount The amount of ped to add to the ammo
63
+ * @param addReason Refer to [enum: eAddItemReason]
64
+ */
65
+ addAmmoToPed(weaponHash, amount, addReason) {
66
+ inv('0xB190BCA3F4042F95', this.ped.handle, weaponHash, amount, addReason);
67
+ }
68
+ /**
69
+ * @param ammoType
70
+ * @param amount
71
+ * @param addReason Refer to [enum: eAddItemReason]
72
+ */
73
+ addAmmoToPedByType(ammoType, amount, addReason) {
74
+ inv('0x106A811C6D3035F3', this.ped.handle, _h(ammoType), amount, addReason);
75
+ }
76
+ /**
77
+ * @param targetPed
78
+ * @returns
79
+ */
80
+ isTargetPedConstrainedByPedUsingBolas(targetPed) {
81
+ return !!inv('0x8D50F43298AB9545', this.ped.handle, targetPed.handle, rai());
82
+ }
83
+ /**
84
+ * @param p1
85
+ * @returns guidPrimary
86
+ */
87
+ getBestPedWeaponInInventory(p1) {
88
+ const result = inv('0x7B98500614C8E8B8', this.ped.handle, p1, pvi());
89
+ return [result[0], result[1]];
90
+ }
8
91
  /**
9
92
  * @param visible
10
93
  */
@@ -78,92 +161,65 @@ export class Weapon {
78
161
  inv('0x2EBF70E1D8C06683', this.ped.handle, _h(p1));
79
162
  }
80
163
  /**
81
- * @param ammoType
82
- * @returns
83
- */
84
- getPedAmmoByType(ammoType) {
85
- return inv('0x39D22031557946C1', this.ped.handle, _h(ammoType), rai());
86
- }
87
- /**
88
- * @param p1
89
- * @param p2
90
- * @returns
91
- */
92
- getBestPedWeapon(p1, p2) {
93
- return (inv('0x8483E98E8B888AE2', this.ped.handle, p1, p2, rai())) & 0xFFFFFFFF;
94
- }
95
- /**
96
- * @param toggle
97
- * @param weaponHash Refer to [enum: eWeaponHash]
98
- */
99
- setPedInfiniteAmmo(toggle, weaponHash) {
100
- inv('0x3EDCB0505123623B', this.ped.handle, toggle, weaponHash);
101
- }
102
- /**
103
- * @param weaponHash Refer to [enum: eWeaponHash]
104
164
  * @param ammoHash Refer to [enum: eAmmoType]
105
165
  */
106
- setAmmoTypeForPedWeapon(weaponHash, ammoHash) {
107
- inv('0xCC9C4393523833E2', this.ped.handle, weaponHash, ammoHash);
166
+ disableAmmoTypeForPed(ammoHash) {
167
+ inv('0xAA5A52204E077883', this.ped.handle, ammoHash);
108
168
  }
109
169
  /**
110
- * *GET_BEST** - *GET_CLOSEST**
170
+ * Returns whether the ped has a shotgun p1: 0 or 1
111
171
  *
112
- * @returns weaponGuid
113
- */
114
- get CorrectKitEmoteTwirlGun() {
115
- const result = inv('0xCD356B42C57BFE01', this.ped.handle, pvi(), rai());
116
- return [!!result[0], result[1]];
117
- }
118
- /**
119
- * @param weaponHash Refer to [enum: eWeaponHash]
172
+ * @param p1
120
173
  * @returns
121
174
  */
122
- setCurrentPedVehicleWeapon(weaponHash) {
123
- return !!inv('0x75C55983C2C39DAA', this.ped.handle, weaponHash, rai());
175
+ doesPedHaveShotgun(p1) {
176
+ return inv('0xABC18A28BAD4B46F', this.ped.handle, p1);
177
+ }
178
+ clearPedLastWeaponDamage() {
179
+ inv('0x087D8F4BC65F68E4', this.ped.handle);
124
180
  }
125
181
  /**
126
- * Returns whether the ped has a rifle p1: 0 or 1
182
+ * Returns true if ped is on a horse while inside of a town
183
+ * Params: p1 = 0
184
+ * GET_L* - GET_MA*
127
185
  *
128
186
  * @param p1
129
187
  * @returns
130
188
  */
131
- doesPedHaveRifle(p1) {
132
- return inv('0x95CA12E2C68043E5', this.ped.handle, p1);
189
+ N_0x5A695BD328586B44(p1) {
190
+ return inv('0x5A695BD328586B44', this.ped.handle, p1);
133
191
  }
134
192
  /**
135
- * Puts the gun visibly in your horse's holster without having to be close to the horse. Use `_SEND_WEAPON_TO_INVENTORY` before using this native
136
- * _A* or _B*
137
- *
138
193
  * @param weaponHash Refer to [enum: eWeaponHash]
139
- * @param ped
194
+ * @param amount
195
+ * @param removeReason Refer to [enum: eRemoveItemReason]
140
196
  */
141
- N_0x14FF0C2545527F9B(weaponHash, ped) {
142
- inv('0x14FF0C2545527F9B', this.ped.handle, weaponHash, ped.handle);
197
+ removeAmmoFromPed(weaponHash, amount, removeReason) {
198
+ inv('0xF4823C813CB8277D', this.ped.handle, weaponHash, amount, removeReason);
143
199
  }
144
200
  /**
145
- * Returns iSpinHash / iVariationSpin
146
- *
147
- * @param weaponEmoteVariation
148
- * @returns
201
+ * @param p1
202
+ * @param p2
149
203
  */
150
- getPedGunSpinningHashFromWeaponEmoteVariation(weaponEmoteVariation) {
151
- return (inv('0xF3B1620B920D1708', this.ped.handle, weaponEmoteVariation, rai())) & 0xFFFFFFFF;
204
+ setPedAmmoToDrop(p1, p2) {
205
+ inv('0xA4EFEF9440A5B0EF', this.ped.handle, p1, p2);
152
206
  }
153
207
  /**
154
- * Returns whether the ped has a repeater p1: 0 or 1
208
+ * Returns the current ammo type of the specified ped's specified weapon.
155
209
  *
156
- * @param p1
210
+ * @param weaponHash Refer to [enum: eWeaponHash]
157
211
  * @returns
158
212
  */
159
- doesPedHaveRepeater(p1) {
160
- return inv('0x495A04CAEC263AF8', this.ped.handle, p1);
213
+ getPedAmmoTypeFromWeapon(weaponHash) {
214
+ return (inv('0x7FEAD38B326B9F74', this.ped.handle, weaponHash, rai())) & 0xFFFFFFFF;
161
215
  }
162
216
  /**
163
- * @param weaponCollection
217
+ * @param weaponHash Refer to [enum: eWeaponHash]
218
+ * @returns ammo
164
219
  */
165
- giveWeaponCollectionToPed(weaponCollection) {
166
- inv('0x899A04AFCC725D04', this.ped.handle, _h(weaponCollection));
220
+ getMaxAmmo(weaponHash) {
221
+ const result = inv('0xDC16122C7A20C933', this.ped.handle, pvi(), weaponHash, rai());
222
+ return [!!result[0], result[1]];
167
223
  }
168
224
  /**
169
225
  * @returns
@@ -230,71 +286,6 @@ export class Weapon {
230
286
  getCurrentPedWeaponEntityIndex(attachPoint) {
231
287
  return createFromHandle('Entity', inv('0x3B390A939AF0B5FC', this.ped.handle, attachPoint, rai()));
232
288
  }
233
- /**
234
- * @param weaponHash Refer to [enum: eWeaponHash]
235
- * @param ammoHash Refer to [enum: eAmmoType]
236
- */
237
- enableAmmoTypeForPedWeapon(weaponHash, ammoHash) {
238
- inv('0x23FB9FACA28779C1', this.ped.handle, weaponHash, ammoHash);
239
- }
240
- /**
241
- * @param toggle
242
- */
243
- N_0x431240A58484D5D0(toggle) {
244
- inv('0x431240A58484D5D0', this.ped.handle, toggle);
245
- }
246
- /**
247
- * @param p2
248
- * @param p3
249
- * @returns outGUID
250
- */
251
- getBestPedShortarmGuid(p2, p3) {
252
- const result = inv('0xF52BD94B47CCF736', this.ped.handle, pvi(), p2, p3);
253
- return result;
254
- }
255
- /**
256
- * @returns coords
257
- */
258
- get PedLastWeaponImpactCoord() {
259
- const result = inv('0x6C4D0409BA1A2BC2', this.ped.handle, pvv(), rai());
260
- return [!!result[0], Vector3.fromArray(result[1])];
261
- }
262
- /**
263
- * Returns WeaponAttachPoint
264
- *
265
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
266
- * @returns
267
- */
268
- getWeaponAttachPoint(attachPoint) {
269
- return inv('0xCAD4FE9398820D24', this.ped.handle, attachPoint, rai());
270
- }
271
- /**
272
- * @param p2
273
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
274
- * @param p4
275
- * @returns weaponHash: Refer to [enum: eWeaponHash]
276
- */
277
- getCurrentPedWeapon(p2, attachPoint, p4) {
278
- const result = inv('0x3A87E44BB9A01D54', this.ped.handle, pvi(), p2, attachPoint, p4, rai());
279
- return [!!result[0], result[1]];
280
- }
281
- /**
282
- * Returns whether the ped has a revolver p1: 0 or 1
283
- *
284
- * @param p1
285
- * @returns
286
- */
287
- doesPedHaveRevolver(p1) {
288
- return inv('0x5B235F24472F2C3B', this.ped.handle, p1);
289
- }
290
- /**
291
- * Returns emote Hash
292
- *
293
- * @returns
294
- */
295
- get PedGunSpinningEquippedKitEmoteTwirl() {
296
- return (inv('0x2C4FEC3D0EFA9FC0', this.ped.handle, rai())) & 0xFFFFFFFF;
297
- }
298
289
  /**
299
290
  * @param weaponHash Refer to [enum: eWeaponHash]
300
291
  */
@@ -352,130 +343,239 @@ export class Weapon {
352
343
  inv('0xF25DF915FA38C5F3', this.ped.handle, p1, p2);
353
344
  }
354
345
  /**
355
- * Stores longarms to your horse on dismount
356
- * Params: p2 = 0
357
- * SET_[I - M]*
358
- *
359
- * @param storeLongarms
360
- * @param p2
346
+ * @returns
361
347
  */
362
- setInstantlyStoreLongarmsOnDismount(storeLongarms, p2) {
363
- inv('0xB832F1A686B9B810', this.ped.handle, storeLongarms, p2);
348
+ get AllowDualWield() {
349
+ return inv('0x918990BD9CE08582', this.ped.handle);
364
350
  }
365
351
  /**
366
- * @param removeReason Refer to [enum: eRemoveItemReason]
367
- * @returns weaponGuid
352
+ * Returns eCurrentHeldWeapon
353
+ * _GET_R* - _GET_T*
354
+ *
355
+ * @returns
368
356
  */
369
- removeWeaponFromPedByGuid(removeReason) {
370
- const result = inv('0x51C3B71591811485', this.ped.handle, pvi(), removeReason);
371
- return result;
357
+ get PedCurrentHeldWeapon() {
358
+ return (inv('0x8425C5F057012DAB', this.ped.handle, rai())) & 0xFFFFFFFF;
372
359
  }
373
360
  /**
374
- * attachPoint:
361
+ * @param toggle
362
+ */
363
+ set ForceAutoEquip(toggle) {
364
+ inv('0xBE711B14A159E84F', this.ped.handle, toggle);
365
+ }
366
+ /**
367
+ * @param weaponHash Refer to [enum: eWeaponHash]
368
+ * @param ammo
369
+ */
370
+ setPedAmmo(weaponHash, ammo) {
371
+ inv('0x14E56BC5B5DB6A19', this.ped.handle, weaponHash, ammo);
372
+ }
373
+ /**
374
+ * Gives the ped the weapon.
375
+ * 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
376
+ * 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
375
377
  *
376
378
  * @param weaponHash Refer to [enum: eWeaponHash]
377
- * @param equipNow
379
+ * @param ammoCount
380
+ * @param bForceInHand
381
+ * @param bForceInHolster
378
382
  * @param attachPoint Refer to [enum: eWeaponAttachPoint]
379
- * @param p4
380
- * @param p5
383
+ * @param bAllowMultipleCopies
384
+ * @param p7
385
+ * @param p8
386
+ * @param addReason Refer to [enum: eAddItemReason]
387
+ * @param bIgnoreUnlocks
388
+ * @param permanentDegradation
389
+ * @param p12
390
+ * @returns
381
391
  */
382
- setCurrentPedWeapon(weaponHash, equipNow, attachPoint, p4, p5) {
383
- inv('0xADF692B254977C0C', this.ped.handle, weaponHash, equipNow, attachPoint, p4, p5);
392
+ giveWeaponToPed(weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, p7, p8, addReason, bIgnoreUnlocks, permanentDegradation, p12) {
393
+ return (inv('0x5E3BDDBCB83F3D84', this.ped.handle, weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, f(p7), f(p8), addReason, bIgnoreUnlocks, f(permanentDegradation), p12, rai())) & 0xFFFFFFFF;
384
394
  }
385
395
  /**
386
- * Equips a weapon from a weaponItem, similar to GIVE_WEAPON_TO_PED
396
+ * @param weaponHash Refer to [enum: eWeaponHash]
397
+ * @returns
398
+ */
399
+ getAmmoInPedWeapon(weaponHash) {
400
+ return inv('0x015A522136D7F951', this.ped.handle, weaponHash, rai());
401
+ }
402
+ /**
403
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
404
+ * @returns weaponGuid
405
+ */
406
+ getPedWeaponGuidAtAttachPoint(attachPoint) {
407
+ const result = inv('0x6929E22158E52265', this.ped.handle, attachPoint, pvi());
408
+ return [result[0], result[1]];
409
+ }
410
+ /**
411
+ * @param weaponHash Refer to [enum: eWeaponHash]
412
+ * @returns ammo
413
+ */
414
+ getAmmoInClip(weaponHash) {
415
+ const result = inv('0x2E1202248937775C', this.ped.handle, pvi(), weaponHash, rai());
416
+ return [!!result[0], result[1]];
417
+ }
418
+ /**
419
+ * @param toggle
420
+ */
421
+ N_0x16D9841A85FA627E(toggle) {
422
+ inv('0x16D9841A85FA627E', this.ped.handle, toggle);
423
+ }
424
+ /**
425
+ * @param weaponHash Refer to [enum: eWeaponHash]
426
+ * @param offset
427
+ * @param ammoCount
428
+ */
429
+ setPedDropsInventoryWeapon(weaponHash, offset, ammoCount) {
430
+ inv('0x208A1888007FC0E6', this.ped.handle, weaponHash, f(offset.x), f(offset.y), f(offset.z), ammoCount);
431
+ }
432
+ /**
433
+ * spinHash can be -1, 0 to disable
387
434
  *
388
- * @param p2
389
- * @param p3
390
- * @param p4
391
- * @param p5
392
- * @returns weaponUid
435
+ * @param weaponEmoteTrickType
436
+ * @param spin
393
437
  */
394
- setCurrentPedWeaponByGuid(p2, p3, p4, p5) {
395
- const result = inv('0x12FB95FE3D579238', this.ped.handle, pvi(), p2, p3, p4, p5);
396
- return result;
438
+ setActiveGunSpinningKitEmoteTwirl(weaponEmoteTrickType, spin) {
439
+ inv('0x01F661BB9C71B465', this.ped.handle, weaponEmoteTrickType, _h(spin));
397
440
  }
398
441
  /**
399
- * @param componentHash
442
+ * Appears to just send specified weapon to your horse holster without having to be close
443
+ * However, the weapon is not visible on the horse holster, but you can reach the weapon on the weapon wheel
444
+ *
400
445
  * @param weaponHash Refer to [enum: eWeaponHash]
446
+ */
447
+ sendWeaponToInventory(weaponHash) {
448
+ inv('0xE9BD19F8121ADE3E', this.ped.handle, weaponHash);
449
+ }
450
+ /**
451
+ * If near your horse when called, weapons stored on your horse will be considered
452
+ * Returns weaponHash
453
+ *
454
+ * @param weaponGroup
455
+ * @param p2
456
+ * @param p3
401
457
  * @returns
402
458
  */
403
- hasPedGotWeaponComponent(componentHash, weaponHash) {
404
- return inv('0xBBC67A6F965C688A', this.ped.handle, _h(componentHash), weaponHash);
459
+ getBestPedWeaponInGroup(weaponGroup, p2, p3) {
460
+ return (inv('0x9F67929D98E7C6E8', this.ped.handle, _h(weaponGroup), p2, p3, rai())) & 0xFFFFFFFF;
461
+ }
462
+ /**
463
+ * Only used in R* SP Scripts native_son2, native_son3 and smuggler2
464
+ * Params: p2 = -1
465
+ *
466
+ * @param p1
467
+ * @param p2
468
+ */
469
+ N_0x8A779706DA5CA3DD(p1, p2) {
470
+ inv('0x8A779706DA5CA3DD', this.ped.handle, p1, p2);
405
471
  }
406
472
  /**
407
473
  * @param weaponHash Refer to [enum: eWeaponHash]
408
- * @param amount The amount of ped to add to the ammo
409
- * @param addReason Refer to [enum: eAddItemReason]
474
+ * @param ammoHash Refer to [enum: eAmmoType]
410
475
  */
411
- addAmmoToPed(weaponHash, amount, addReason) {
412
- inv('0xB190BCA3F4042F95', this.ped.handle, weaponHash, amount, addReason);
476
+ disableAmmoTypeForPedWeapon(weaponHash, ammoHash) {
477
+ inv('0xF0D728EEA3C99775', this.ped.handle, weaponHash, ammoHash);
413
478
  }
414
479
  /**
415
- * @param ammoType
416
- * @param amount
417
- * @param addReason Refer to [enum: eAddItemReason]
480
+ * @returns data; outData
418
481
  */
419
- addAmmoToPedByType(ammoType, amount, addReason) {
420
- inv('0x106A811C6D3035F3', this.ped.handle, _h(ammoType), amount, addReason);
482
+ giveWeaponToPedWithOptions() {
483
+ const result = inv('0xBE7E42B07FD317AC', this.ped.handle, pvi(), pvi(), rai());
484
+ return [!!result[0], result[1], result[2]];
421
485
  }
422
486
  /**
423
- * @param targetPed
424
487
  * @returns
425
488
  */
426
- isTargetPedConstrainedByPedUsingBolas(targetPed) {
427
- return !!inv('0x8D50F43298AB9545', this.ped.handle, targetPed.handle, rai());
489
+ get MaxLockonDistanceOfCurrentPedWeapon() {
490
+ return inv('0x79B1A6E780266DB0', this.ped.handle, raf());
491
+ }
492
+ /**
493
+ * @param ammoType
494
+ * @returns
495
+ */
496
+ getPedAmmoByType(ammoType) {
497
+ return inv('0x39D22031557946C1', this.ped.handle, _h(ammoType), rai());
428
498
  }
429
499
  /**
430
500
  * @param p1
431
- * @returns guidPrimary
501
+ * @param p2
502
+ * @returns
432
503
  */
433
- getBestPedWeaponInInventory(p1) {
434
- const result = inv('0x7B98500614C8E8B8', this.ped.handle, p1, pvi());
435
- return [result[0], result[1]];
504
+ getBestPedWeapon(p1, p2) {
505
+ return (inv('0x8483E98E8B888AE2', this.ped.handle, p1, p2, rai())) & 0xFFFFFFFF;
436
506
  }
437
507
  /**
438
508
  * @param toggle
509
+ * @param weaponHash Refer to [enum: eWeaponHash]
439
510
  */
440
- set AllowAnyWeaponDrop(toggle) {
441
- inv('0x78030C7867D8B9B6', this.ped.handle, toggle);
511
+ setPedInfiniteAmmo(toggle, weaponHash) {
512
+ inv('0x3EDCB0505123623B', this.ped.handle, toggle, weaponHash);
513
+ }
514
+ /**
515
+ * @param weaponHash Refer to [enum: eWeaponHash]
516
+ * @param ammoHash Refer to [enum: eAmmoType]
517
+ */
518
+ setAmmoTypeForPedWeapon(weaponHash, ammoHash) {
519
+ inv('0xCC9C4393523833E2', this.ped.handle, weaponHash, ammoHash);
520
+ }
521
+ /**
522
+ * *GET_BEST** - *GET_CLOSEST**
523
+ *
524
+ * @returns weaponGuid
525
+ */
526
+ get CorrectKitEmoteTwirlGun() {
527
+ const result = inv('0xCD356B42C57BFE01', this.ped.handle, pvi(), rai());
528
+ return [!!result[0], result[1]];
529
+ }
530
+ /**
531
+ * @param weaponHash Refer to [enum: eWeaponHash]
532
+ * @returns
533
+ */
534
+ setCurrentPedVehicleWeapon(weaponHash) {
535
+ return !!inv('0x75C55983C2C39DAA', this.ped.handle, weaponHash, rai());
442
536
  }
443
537
  /**
538
+ * Returns whether the ped has a rifle p1: 0 or 1
539
+ *
540
+ * @param p1
444
541
  * @returns
445
542
  */
446
- makePedReload() {
447
- return inv('0x79E1E511FF7EFB13', this.ped.handle);
543
+ doesPedHaveRifle(p1) {
544
+ return inv('0x95CA12E2C68043E5', this.ped.handle, p1);
448
545
  }
449
546
  /**
547
+ * Puts the gun visibly in your horse's holster without having to be close to the horse. Use `_SEND_WEAPON_TO_INVENTORY` before using this native
548
+ * _A* or _B*
549
+ *
450
550
  * @param weaponHash Refer to [enum: eWeaponHash]
451
- * @param ammoCount
452
- * @param p3
453
- * @param addReason Refer to [enum: eAddItemReason]
551
+ * @param ped
454
552
  */
455
- giveDelayedWeaponToPed(weaponHash, ammoCount, p3, addReason) {
456
- inv('0xB282DC6EBD803C75', this.ped.handle, weaponHash, ammoCount, p3, addReason);
553
+ N_0x14FF0C2545527F9B(weaponHash, ped) {
554
+ inv('0x14FF0C2545527F9B', this.ped.handle, weaponHash, ped.handle);
457
555
  }
458
556
  /**
459
- * @param toggle
557
+ * Returns iSpinHash / iVariationSpin
558
+ *
559
+ * @param weaponEmoteVariation
560
+ * @returns
460
561
  */
461
- N_0x45E57FDD531C9477(toggle) {
462
- inv('0x45E57FDD531C9477', this.ped.handle, toggle);
562
+ getPedGunSpinningHashFromWeaponEmoteVariation(weaponEmoteVariation) {
563
+ return (inv('0xF3B1620B920D1708', this.ped.handle, weaponEmoteVariation, rai())) & 0xFFFFFFFF;
463
564
  }
464
565
  /**
465
- * @param ammoHash Refer to [enum: eAmmoType]
466
- * @returns weaponInventoryUid
566
+ * Returns whether the ped has a repeater p1: 0 or 1
567
+ *
568
+ * @param p1
569
+ * @returns
467
570
  */
468
- setAmmoTypeForPedWeaponInventory(ammoHash) {
469
- const result = inv('0xEBE46B501BC3FBCF', this.ped.handle, pvi(), ammoHash);
470
- return result;
571
+ doesPedHaveRepeater(p1) {
572
+ return inv('0x495A04CAEC263AF8', this.ped.handle, p1);
471
573
  }
472
574
  /**
473
- * @param weaponHash Refer to [enum: eWeaponHash]
474
- * @param p2
475
- * @param removeReason Refer to [enum: eRemoveItemReason]
575
+ * @param weaponCollection
476
576
  */
477
- removeWeaponFromPed(weaponHash, p2, removeReason) {
478
- inv('0x4899CB088EDF59B8', this.ped.handle, weaponHash, p2, removeReason);
577
+ giveWeaponCollectionToPed(weaponCollection) {
578
+ inv('0x899A04AFCC725D04', this.ped.handle, _h(weaponCollection));
479
579
  }
480
580
  /**
481
581
  * @returns
@@ -561,245 +661,218 @@ export class Weapon {
561
661
  inv('0xFCCC886EDE3C63EC', this.ped.handle, p0, immediately);
562
662
  }
563
663
  /**
564
- * @param toggle
664
+ * Returns ammoHash from weaponObject (Returned by 0x6CA484C9A7377E4F)
665
+ *
666
+ * @param weaponObject
667
+ * @returns
565
668
  */
566
- N_0xF08D8FEB455F2C8C(toggle) {
567
- inv('0xF08D8FEB455F2C8C', this.ped.handle, toggle);
669
+ getCurrentPedWeaponAmmoType(weaponObject) {
670
+ return (inv('0x7E7B19A4355FEE13', this.ped.handle, weaponObject.handle, rai())) & 0xFFFFFFFF;
568
671
  }
569
672
  /**
570
- * @returns ammo; inventoryUid
673
+ * @param p1
674
+ * @param p2
675
+ * @param p3
676
+ * @returns
571
677
  */
572
- get AmmoInClipByInventoryUid() {
573
- const result = inv('0x678F00858980F516', this.ped.handle, pvi(), pvi());
574
- return [result[0], result[1], result[2]];
678
+ getPedWorstWeapon(p1, p2, p3) {
679
+ return (inv('0xDA37A053C1522F5D', this.ped.handle, p1, p2, p3, rai())) & 0xFFFFFFFF;
575
680
  }
576
681
  /**
577
- * removeReason must be REMOVE_REASON_USED, REMOVE_REASON_GIVEN, REMOVE_REASON_DROPPED or REMOVE_REASON_DEBUG, unless amount is -1
578
- *
579
- * @param ammoHash Refer to [enum: eAmmoType]
580
- * @param amount
581
- * @param removeReason Refer to [enum: eRemoveItemReason]
682
+ * @param toggle
582
683
  */
583
- removeAmmoFromPedByType(ammoHash, amount, removeReason) {
584
- inv('0xB6CFEC32E3742779', this.ped.handle, ammoHash, amount, removeReason);
585
- }
684
+ set PedDropsWeaponsWhenDead(toggle) {
685
+ inv('0x476AE72C1D19D1A8', this.ped.handle, toggle);
686
+ }
586
687
  /**
587
- * Holster the holded shoulder weapon. Precisions: 0 means with anim while 1 means direct holster
688
+ * Returns ammoHash
588
689
  *
589
- * @param disableAnim
690
+ * @returns Returns the [enum: eAmmoType]; weaponGuid
590
691
  */
591
- set PedWeaponOnBack(disableAnim) {
592
- inv('0x4820A6939D7CEF28', this.ped.handle, disableAnim);
692
+ get CurrentAmmoTypeFromGuid() {
693
+ const result = inv('0xAF9D167A5656D6A6', this.ped.handle, pvi(), rai());
694
+ return [result[0] & 0xFFFFFFFF, result[1]];
593
695
  }
594
696
  /**
595
- * @param ammoType
596
- * @param ammo
697
+ * @param toggle
597
698
  */
598
- setPedAmmoByType(ammoType, ammo) {
599
- inv('0x5FD1E1F011E76D7E', this.ped.handle, _h(ammoType), ammo);
699
+ set PedInfiniteAmmoClip(toggle) {
700
+ inv('0xFBAA1E06B6BCA741', this.ped.handle, toggle);
600
701
  }
601
702
  /**
602
- * @param p1
703
+ * returns the amount of peds that were restrained with the weapon thrown bolas
704
+ *
603
705
  * @returns
604
706
  */
605
- getPedBackupWeapon(p1) {
606
- return (inv('0xC71FE230A513C30F', this.ped.handle, p1, rai())) & 0xFFFFFFFF;
707
+ get NumPedsRestrainedFromWeaponBolas() {
708
+ return inv('0x46D42883E873C1D7', this.ped.handle);
607
709
  }
608
710
  /**
609
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
711
+ * emote hashes: KIT_EMOTE_TWIRL_GUN, KIT_EMOTE_TWIRL_GUN_LEFT_HOLSTER, KIT_EMOTE_TWIRL_GUN_DUAL, 0 (to unequip)
712
+ *
713
+ * @param emote
610
714
  */
611
- set ForceCurrentWeaponIntoCockedState(attachPoint) {
612
- inv('0x5230D3F6EE56CFE6', this.ped.handle, attachPoint);
715
+ set ActiveGunSpinningEquipKitEmoteTwirl(emote) {
716
+ inv('0xCBCFFF805F1B4596', this.ped.handle, _h(emote));
613
717
  }
614
718
  /**
615
- * @param weaponHash Refer to [enum: eWeaponHash]
616
- * @returns ammo
719
+ * @param toggle
617
720
  */
618
- getAmmoInClip(weaponHash) {
619
- const result = inv('0x2E1202248937775C', this.ped.handle, pvi(), weaponHash, rai());
620
- return [!!result[0], result[1]];
721
+ set AllowAnyWeaponDrop(toggle) {
722
+ inv('0x78030C7867D8B9B6', this.ped.handle, toggle);
621
723
  }
622
724
  /**
623
- * @param toggle
725
+ * @returns
624
726
  */
625
- N_0x16D9841A85FA627E(toggle) {
626
- inv('0x16D9841A85FA627E', this.ped.handle, toggle);
727
+ makePedReload() {
728
+ return inv('0x79E1E511FF7EFB13', this.ped.handle);
627
729
  }
628
730
  /**
629
731
  * @param weaponHash Refer to [enum: eWeaponHash]
630
- * @param offset
631
732
  * @param ammoCount
733
+ * @param p3
734
+ * @param addReason Refer to [enum: eAddItemReason]
632
735
  */
633
- setPedDropsInventoryWeapon(weaponHash, offset, ammoCount) {
634
- inv('0x208A1888007FC0E6', this.ped.handle, weaponHash, f(offset.x), f(offset.y), f(offset.z), ammoCount);
635
- }
636
- /**
637
- * spinHash can be -1, 0 to disable
638
- *
639
- * @param weaponEmoteTrickType
640
- * @param spin
641
- */
642
- setActiveGunSpinningKitEmoteTwirl(weaponEmoteTrickType, spin) {
643
- inv('0x01F661BB9C71B465', this.ped.handle, weaponEmoteTrickType, _h(spin));
736
+ giveDelayedWeaponToPed(weaponHash, ammoCount, p3, addReason) {
737
+ inv('0xB282DC6EBD803C75', this.ped.handle, weaponHash, ammoCount, p3, addReason);
644
738
  }
645
739
  /**
646
- * Appears to just send specified weapon to your horse holster without having to be close
647
- * However, the weapon is not visible on the horse holster, but you can reach the weapon on the weapon wheel
648
- *
649
- * @param weaponHash Refer to [enum: eWeaponHash]
740
+ * @param toggle
650
741
  */
651
- sendWeaponToInventory(weaponHash) {
652
- inv('0xE9BD19F8121ADE3E', this.ped.handle, weaponHash);
742
+ N_0x45E57FDD531C9477(toggle) {
743
+ inv('0x45E57FDD531C9477', this.ped.handle, toggle);
653
744
  }
654
745
  /**
655
- * If near your horse when called, weapons stored on your horse will be considered
656
- * Returns weaponHash
657
- *
658
- * @param weaponGroup
659
- * @param p2
660
- * @param p3
661
- * @returns
746
+ * @param ammoHash Refer to [enum: eAmmoType]
747
+ * @returns weaponInventoryUid
662
748
  */
663
- getBestPedWeaponInGroup(weaponGroup, p2, p3) {
664
- return (inv('0x9F67929D98E7C6E8', this.ped.handle, _h(weaponGroup), p2, p3, rai())) & 0xFFFFFFFF;
749
+ setAmmoTypeForPedWeaponInventory(ammoHash) {
750
+ const result = inv('0xEBE46B501BC3FBCF', this.ped.handle, pvi(), ammoHash);
751
+ return result;
665
752
  }
666
753
  /**
667
- * Only used in R* SP Scripts native_son2, native_son3 and smuggler2
668
- * Params: p2 = -1
669
- *
670
- * @param p1
754
+ * @param weaponHash Refer to [enum: eWeaponHash]
671
755
  * @param p2
756
+ * @param removeReason Refer to [enum: eRemoveItemReason]
672
757
  */
673
- N_0x8A779706DA5CA3DD(p1, p2) {
674
- inv('0x8A779706DA5CA3DD', this.ped.handle, p1, p2);
758
+ removeWeaponFromPed(weaponHash, p2, removeReason) {
759
+ inv('0x4899CB088EDF59B8', this.ped.handle, weaponHash, p2, removeReason);
675
760
  }
676
761
  /**
677
762
  * @param weaponHash Refer to [enum: eWeaponHash]
678
763
  * @param ammoHash Refer to [enum: eAmmoType]
679
764
  */
680
- disableAmmoTypeForPedWeapon(weaponHash, ammoHash) {
681
- inv('0xF0D728EEA3C99775', this.ped.handle, weaponHash, ammoHash);
682
- }
683
- /**
684
- * @returns data; outData
685
- */
686
- giveWeaponToPedWithOptions() {
687
- const result = inv('0xBE7E42B07FD317AC', this.ped.handle, pvi(), pvi(), rai());
688
- return [!!result[0], result[1], result[2]];
765
+ enableAmmoTypeForPedWeapon(weaponHash, ammoHash) {
766
+ inv('0x23FB9FACA28779C1', this.ped.handle, weaponHash, ammoHash);
689
767
  }
690
768
  /**
691
- * @returns
769
+ * @param toggle
692
770
  */
693
- get MaxLockonDistanceOfCurrentPedWeapon() {
694
- return inv('0x79B1A6E780266DB0', this.ped.handle, raf());
771
+ N_0x431240A58484D5D0(toggle) {
772
+ inv('0x431240A58484D5D0', this.ped.handle, toggle);
695
773
  }
696
774
  /**
697
- * @param ammoHash Refer to [enum: eAmmoType]
775
+ * @param p2
776
+ * @param p3
777
+ * @returns outGUID
698
778
  */
699
- disableAmmoTypeForPed(ammoHash) {
700
- inv('0xAA5A52204E077883', this.ped.handle, ammoHash);
779
+ getBestPedShortarmGuid(p2, p3) {
780
+ const result = inv('0xF52BD94B47CCF736', this.ped.handle, pvi(), p2, p3);
781
+ return result;
701
782
  }
702
783
  /**
703
- * Returns whether the ped has a shotgun p1: 0 or 1
704
- *
705
- * @param p1
706
- * @returns
784
+ * @returns coords
707
785
  */
708
- doesPedHaveShotgun(p1) {
709
- return inv('0xABC18A28BAD4B46F', this.ped.handle, p1);
710
- }
711
- clearPedLastWeaponDamage() {
712
- inv('0x087D8F4BC65F68E4', this.ped.handle);
786
+ get PedLastWeaponImpactCoord() {
787
+ const result = inv('0x6C4D0409BA1A2BC2', this.ped.handle, pvv(), rai());
788
+ return [!!result[0], Vector3.fromArray(result[1])];
713
789
  }
714
790
  /**
715
- * Returns true if ped is on a horse while inside of a town
716
- * Params: p1 = 0
717
- * GET_L* - GET_MA*
791
+ * Returns WeaponAttachPoint
718
792
  *
719
- * @param p1
793
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
720
794
  * @returns
721
795
  */
722
- N_0x5A695BD328586B44(p1) {
723
- return inv('0x5A695BD328586B44', this.ped.handle, p1);
796
+ getWeaponAttachPoint(attachPoint) {
797
+ return inv('0xCAD4FE9398820D24', this.ped.handle, attachPoint, rai());
724
798
  }
725
799
  /**
726
- * @param weaponHash Refer to [enum: eWeaponHash]
727
- * @param amount
728
- * @param removeReason Refer to [enum: eRemoveItemReason]
800
+ * @param p2
801
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
802
+ * @param p4
803
+ * @returns weaponHash: Refer to [enum: eWeaponHash]
729
804
  */
730
- removeAmmoFromPed(weaponHash, amount, removeReason) {
731
- inv('0xF4823C813CB8277D', this.ped.handle, weaponHash, amount, removeReason);
805
+ getCurrentPedWeapon(p2, attachPoint, p4) {
806
+ const result = inv('0x3A87E44BB9A01D54', this.ped.handle, pvi(), p2, attachPoint, p4, rai());
807
+ return [!!result[0], result[1]];
732
808
  }
733
809
  /**
810
+ * Returns whether the ped has a revolver p1: 0 or 1
811
+ *
734
812
  * @param p1
735
- * @param p2
813
+ * @returns
736
814
  */
737
- setPedAmmoToDrop(p1, p2) {
738
- inv('0xA4EFEF9440A5B0EF', this.ped.handle, p1, p2);
815
+ doesPedHaveRevolver(p1) {
816
+ return inv('0x5B235F24472F2C3B', this.ped.handle, p1);
739
817
  }
740
818
  /**
741
- * Returns the current ammo type of the specified ped's specified weapon.
819
+ * Returns emote Hash
742
820
  *
743
- * @param weaponHash Refer to [enum: eWeaponHash]
744
821
  * @returns
745
822
  */
746
- getPedAmmoTypeFromWeapon(weaponHash) {
747
- return (inv('0x7FEAD38B326B9F74', this.ped.handle, weaponHash, rai())) & 0xFFFFFFFF;
823
+ get PedGunSpinningEquippedKitEmoteTwirl() {
824
+ return (inv('0x2C4FEC3D0EFA9FC0', this.ped.handle, rai())) & 0xFFFFFFFF;
748
825
  }
749
826
  /**
750
- * @param weaponHash Refer to [enum: eWeaponHash]
751
- * @returns ammo
827
+ * @param toggle
752
828
  */
753
- getMaxAmmo(weaponHash) {
754
- const result = inv('0xDC16122C7A20C933', this.ped.handle, pvi(), weaponHash, rai());
755
- return [!!result[0], result[1]];
829
+ N_0xF08D8FEB455F2C8C(toggle) {
830
+ inv('0xF08D8FEB455F2C8C', this.ped.handle, toggle);
756
831
  }
757
832
  /**
758
- * Returns ammoHash from weaponObject (Returned by 0x6CA484C9A7377E4F)
759
- *
760
- * @param weaponObject
761
- * @returns
833
+ * @returns ammo; inventoryUid
762
834
  */
763
- getCurrentPedWeaponAmmoType(weaponObject) {
764
- return (inv('0x7E7B19A4355FEE13', this.ped.handle, weaponObject.handle, rai())) & 0xFFFFFFFF;
835
+ get AmmoInClipByInventoryUid() {
836
+ const result = inv('0x678F00858980F516', this.ped.handle, pvi(), pvi());
837
+ return [result[0], result[1], result[2]];
765
838
  }
766
839
  /**
767
- * @param p1
768
- * @param p2
769
- * @param p3
770
- * @returns
840
+ * removeReason must be REMOVE_REASON_USED, REMOVE_REASON_GIVEN, REMOVE_REASON_DROPPED or REMOVE_REASON_DEBUG, unless amount is -1
841
+ *
842
+ * @param ammoHash Refer to [enum: eAmmoType]
843
+ * @param amount
844
+ * @param removeReason Refer to [enum: eRemoveItemReason]
771
845
  */
772
- getPedWorstWeapon(p1, p2, p3) {
773
- return (inv('0xDA37A053C1522F5D', this.ped.handle, p1, p2, p3, rai())) & 0xFFFFFFFF;
846
+ removeAmmoFromPedByType(ammoHash, amount, removeReason) {
847
+ inv('0xB6CFEC32E3742779', this.ped.handle, ammoHash, amount, removeReason);
774
848
  }
775
849
  /**
776
- * @param toggle
850
+ * Holster the holded shoulder weapon. Precisions: 0 means with anim while 1 means direct holster
851
+ *
852
+ * @param disableAnim
777
853
  */
778
- set PedDropsWeaponsWhenDead(toggle) {
779
- inv('0x476AE72C1D19D1A8', this.ped.handle, toggle);
854
+ set PedWeaponOnBack(disableAnim) {
855
+ inv('0x4820A6939D7CEF28', this.ped.handle, disableAnim);
780
856
  }
781
857
  /**
782
- * Returns ammoHash
783
- *
784
- * @returns Returns the [enum: eAmmoType]; weaponGuid
858
+ * @param ammoType
859
+ * @param ammo
785
860
  */
786
- get CurrentAmmoTypeFromGuid() {
787
- const result = inv('0xAF9D167A5656D6A6', this.ped.handle, pvi(), rai());
788
- return [result[0] & 0xFFFFFFFF, result[1]];
861
+ setPedAmmoByType(ammoType, ammo) {
862
+ inv('0x5FD1E1F011E76D7E', this.ped.handle, _h(ammoType), ammo);
789
863
  }
790
864
  /**
791
- * @param toggle
865
+ * @param p1
866
+ * @returns
792
867
  */
793
- set PedInfiniteAmmoClip(toggle) {
794
- inv('0xFBAA1E06B6BCA741', this.ped.handle, toggle);
868
+ getPedBackupWeapon(p1) {
869
+ return (inv('0xC71FE230A513C30F', this.ped.handle, p1, rai())) & 0xFFFFFFFF;
795
870
  }
796
871
  /**
797
- * returns the amount of peds that were restrained with the weapon thrown bolas
798
- *
799
- * @returns
872
+ * @param attachPoint Refer to [enum: eWeaponAttachPoint]
800
873
  */
801
- get NumPedsRestrainedFromWeaponBolas() {
802
- return inv('0x46D42883E873C1D7', this.ped.handle);
874
+ set ForceCurrentWeaponIntoCockedState(attachPoint) {
875
+ inv('0x5230D3F6EE56CFE6', this.ped.handle, attachPoint);
803
876
  }
804
877
  /**
805
878
  * @returns
@@ -858,77 +931,4 @@ export class Weapon {
858
931
  hasPedGotWeapon(weaponHash, p2, onlyCheckPlayerInventory) {
859
932
  return !!inv('0x8DECB02F88F428BC', this.ped.handle, weaponHash, p2, onlyCheckPlayerInventory, rai());
860
933
  }
861
- /**
862
- * @returns
863
- */
864
- get AllowDualWield() {
865
- return inv('0x918990BD9CE08582', this.ped.handle);
866
- }
867
- /**
868
- * Returns eCurrentHeldWeapon
869
- * _GET_R* - _GET_T*
870
- *
871
- * @returns
872
- */
873
- get PedCurrentHeldWeapon() {
874
- return (inv('0x8425C5F057012DAB', this.ped.handle, rai())) & 0xFFFFFFFF;
875
- }
876
- /**
877
- * @param toggle
878
- */
879
- set ForceAutoEquip(toggle) {
880
- inv('0xBE711B14A159E84F', this.ped.handle, toggle);
881
- }
882
- /**
883
- * @param weaponHash Refer to [enum: eWeaponHash]
884
- * @param ammo
885
- */
886
- setPedAmmo(weaponHash, ammo) {
887
- inv('0x14E56BC5B5DB6A19', this.ped.handle, weaponHash, ammo);
888
- }
889
- /**
890
- * Gives the ped the weapon.
891
- * 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
892
- * 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
893
- *
894
- * @param weaponHash Refer to [enum: eWeaponHash]
895
- * @param ammoCount
896
- * @param bForceInHand
897
- * @param bForceInHolster
898
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
899
- * @param bAllowMultipleCopies
900
- * @param p7
901
- * @param p8
902
- * @param addReason Refer to [enum: eAddItemReason]
903
- * @param bIgnoreUnlocks
904
- * @param permanentDegradation
905
- * @param p12
906
- * @returns
907
- */
908
- giveWeaponToPed(weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, p7, p8, addReason, bIgnoreUnlocks, permanentDegradation, p12) {
909
- return (inv('0x5E3BDDBCB83F3D84', this.ped.handle, weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, f(p7), f(p8), addReason, bIgnoreUnlocks, f(permanentDegradation), p12, rai())) & 0xFFFFFFFF;
910
- }
911
- /**
912
- * @param weaponHash Refer to [enum: eWeaponHash]
913
- * @returns
914
- */
915
- getAmmoInPedWeapon(weaponHash) {
916
- return inv('0x015A522136D7F951', this.ped.handle, weaponHash, rai());
917
- }
918
- /**
919
- * @param attachPoint Refer to [enum: eWeaponAttachPoint]
920
- * @returns weaponGuid
921
- */
922
- getPedWeaponGuidAtAttachPoint(attachPoint) {
923
- const result = inv('0x6929E22158E52265', this.ped.handle, attachPoint, pvi());
924
- return [result[0], result[1]];
925
- }
926
- /**
927
- * emote hashes: KIT_EMOTE_TWIRL_GUN, KIT_EMOTE_TWIRL_GUN_LEFT_HOLSTER, KIT_EMOTE_TWIRL_GUN_DUAL, 0 (to unequip)
928
- *
929
- * @param emote
930
- */
931
- set ActiveGunSpinningEquipKitEmoteTwirl(emote) {
932
- inv('0xCBCFFF805F1B4596', this.ped.handle, _h(emote));
933
- }
934
934
  }