@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,98 +20,99 @@ export class PedTask extends BaseTask {
20
20
  }
21
21
 
22
22
  /**
23
- * @param pos
24
- * @param speedMultiplier
25
- * @param timeout
26
- * @param stoppingRange
27
- * @param flags
28
- * @param p8
29
- * @param p9
30
- * @param p10
31
- * @param entity
32
- * @param unk
23
+ * Baits: p_fishHook02x, p_baitBread01x, p_baitCorn01x, p_baitCheese01x, p_baitWorm01x, p_baitCricket01x, p_crawdad01x, p_finisheDragonfly01x, p_finisdFishlure01x, p_finishdCrawd01x, p_finisheDragonflyLegendary01x, p_finisdFishlureLegendary01x, p_finishdCrawdLegendary01x, p_lgoc_spinner_v4
24
+ *
25
+ * @param bait
26
+ * @param withoutBuoy
27
+ * @param instantly
33
28
  */
34
- followNavMeshToCoordAdvanced(pos: Vector3, speedMultiplier: number, timeout: number, stoppingRange: number, flags: number, p8: number, p9: number, p10: number, entity: Entity, unk: number): void {
35
- inv<void>('0x17F58B88D085DBAC', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(speedMultiplier), timeout, f(stoppingRange), flags, f(p8), f(p9), f(p10), entity.handle, f(unk));
29
+ setFishingBait(bait: string | null, withoutBuoy: boolean, instantly: boolean): void {
30
+ inv<void>('0x9B0C7FA063E67629', this.entity.handle, bait, withoutBuoy, instantly);
36
31
  }
37
32
 
38
33
  /**
39
- * @param radius
40
- * @param time
41
- * @param flags
34
+ * Params: p3, p4, p5, p6: 0, 0, 0, -1.0f in R* Scripts
35
+ *
36
+ * @param item
37
+ * @param p3
38
+ * @param p4
39
+ * @param p5
40
+ * @param p6
41
+ * @returns guid
42
42
  */
43
- combatHatedTargetsAroundPedTimed(radius: number, time: number, flags: number): void {
44
- inv<void>('0x2BBA30B854534A0C', this.entity.handle, f(radius), time, flags);
43
+ itemInteraction3(item: string | number, p3: any, p4: any, p5: any, p6: number): number {
44
+ const result = inv<number>('0xD61D5E1AD9876DEB', this.entity.handle, _h(item), pvi(), p3, p4, p5, f(p6));
45
+ return result;
45
46
  }
46
47
 
47
48
  /**
48
- * @returns
49
+ * @returns Returns `true` if the specified `ped` is currently in combat using a ranged weapon, and is ready to shoot (actively attempting to attack)
49
50
  */
50
- isPedRunning(): boolean {
51
- return inv<boolean>('0xC5286FFC176F28A2', this.entity.handle, rai());
51
+ getTaskCombatReadyToShoot(): boolean {
52
+ return inv<boolean>('0x5EA655F01D93667A', this.entity.handle, rai());
52
53
  }
53
54
 
54
55
  /**
55
- * @returns
56
+ * @param vehicle
57
+ * @param seat
56
58
  */
57
- isPedSprinting(): boolean {
58
- return inv<boolean>('0x57E457CD2C0FC168', this.entity.handle, rai());
59
+ warpPedIntoVehicle(vehicle: Vehicle, seat: number): void {
60
+ inv<void>('0x9A7D091411C5F684', this.entity.handle, vehicle.handle, seat);
59
61
  }
60
62
 
61
63
  /**
62
- * @param useSlidingSurfaces
64
+ * ped = Ped you want to perform this task.
65
+ * target = the Entity they should aim at.
66
+ * distanceToStopAt = distance from the target, where the ped should stop to aim.
67
+ * StartAimingDist = distance where the ped should start to aim.
68
+ *
69
+ * @param target
70
+ * @param distanceToStopAt
71
+ * @param StartAimingDist
63
72
  */
64
- setPedPathMayUseSlidingSurfaces(useSlidingSurfaces: boolean): void {
65
- inv<void>('0x06ECF3925BC2ABAE', this.entity.handle, useSlidingSurfaces);
73
+ gotoEntityAiming(target: Entity, distanceToStopAt: number, StartAimingDist: number): void {
74
+ inv<void>('0xA9DA48FAB8A76C12', this.entity.handle, target.handle, f(distanceToStopAt), f(StartAimingDist));
66
75
  }
67
76
 
68
77
  /**
69
- * Force a ped that is already attacking to aim directly at the specified world coordinates.
70
- *
71
- * @param pos
78
+ * @param p1
79
+ * @param p2
80
+ * @param p3
72
81
  * @param p4
73
82
  * @param p5
74
83
  * @param p6
84
+ * @param p7
85
+ * @param p8
86
+ * @param p9
87
+ * @param p10
88
+ * @param p11
89
+ * @param p12
90
+ * @param p13
91
+ * @param p14
75
92
  */
76
- forcePointAimAtCoord(pos: Vector3, p4?: number, p5?: boolean, p6?: boolean): void {
77
- inv<void>('0x41323F4E0C4AE94B', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), p4, p5, p6);
93
+ goToCoordWhileAimingAtEntityUsingCombatStyle(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any): void {
94
+ inv<void>('0x78426D0982D083C9', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
78
95
  }
79
96
 
80
97
  /**
81
- * @param p1
82
- * @param p2
83
- * @param p3
84
- * @param p4
98
+ * Used with 'P_BODYPARTARMFLOAT02X' model in fishing_core.c
99
+ *
100
+ * @param object
85
101
  */
86
- swapWeapon(p1: any, p2: any, p3: any, p4: any): void {
87
- inv<void>('0xA21C51255B205245', this.entity.handle, p1, p2, p3, p4);
102
+ pedFishingrodHookObject(object: Prop): void {
103
+ inv<void>('0xCE71C2F9BAA3F975', this.entity.handle, object.handle);
88
104
  }
89
105
 
90
106
  /**
91
- * @param p1
107
+ * @param exitAnimation
92
108
  * @param p2
93
- * @param p3
94
- * @param p4
95
- * @param p5
96
- * @param p6
97
- * @param p7
98
- * @param p8
99
109
  */
100
- gotoEntityOffsetXyz(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any): void {
101
- inv<void>('0xFA6DA9D151769392', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8);
110
+ reactLookAtEnd(exitAnimation: number, p2: boolean): void {
111
+ inv<void>('0x541E5B41DCA45828', this.entity.handle, exitAnimation, p2);
102
112
  }
103
113
 
104
- /**
105
- * @param pos
106
- * @param distance
107
- * @param duration
108
- * @param p6
109
- * @param p7
110
- * @param p8
111
- * @param p9
112
- */
113
- useNearestScenarioToCoordWarp(pos: Vector3, distance: number, duration: number, p6: boolean, p7: boolean, p8: boolean, p9: boolean): void {
114
- inv<void>('0x58E2E0F23F6B76C3', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), duration, p6, p7, p8, p9);
114
+ clearDrivebyTaskUnderneathDrivingTask(): void {
115
+ inv<void>('0xC35B5CDB2824CF69', this.entity.handle);
115
116
  }
116
117
 
117
118
  /**
@@ -177,308 +178,179 @@ export class PedTask extends BaseTask {
177
178
  }
178
179
 
179
180
  /**
180
- * fleeType: see TASK_FLEE_COORD
181
- *
182
- * @param fleeFromTarget
183
- * @param pos
184
- * @param distance
185
- * @param p6
186
- * @param p7
187
- * @param p8
188
- * @param targetPed
181
+ * @param p1
189
182
  */
190
- fleeFromPed(fleeFromTarget: Ped, pos: Vector3, distance: number, p6: number, p7: number, p8: number, targetPed: Ped): void {
191
- inv<void>('0x7B74D8EEDE9B5727', this.entity.handle, fleeFromTarget.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), p6, p7, f(p8), targetPed.handle);
183
+ N_0xFFB520A3E16F7B7B(p1: number): void {
184
+ inv<void>('0xFFB520A3E16F7B7B', this.entity.handle, f(p1));
192
185
  }
193
186
 
194
- /**
195
- * @returns
196
- */
197
- isPedGettingUp(): boolean {
198
- return inv<boolean>('0x2A74E1D5F2F00EEC', this.entity.handle, rai());
187
+ persistentCharacter(): void {
188
+ inv<void>('0x4391700CBD89C3D8', this.entity.handle);
199
189
  }
200
190
 
201
191
  /**
202
- * @param time
192
+ * @param speed
193
+ * @param p2
194
+ * @param p3
195
+ * @param p4
203
196
  */
204
- duck(time: number): void {
205
- inv<void>('0xA14B5FBF986BAC23', this.entity.handle, time);
197
+ waypointPlaybackOverrideSpeed(speed: number, p2: any, p3: any, p4: any): void {
198
+ inv<void>('0x7D7D2B47FA788E85', this.entity.handle, f(speed), p2, p3, p4);
206
199
  }
207
200
 
208
201
  /**
209
202
  * @param p1
210
203
  * @param p2
211
204
  * @param p3
212
- * @param p4
213
205
  */
214
- robPed(p1: any, p2: any, p3: any, p4: any): void {
215
- inv<void>('0x7BB967F85D8CCBDB', this.entity.handle, p1, p2, p3, p4);
206
+ climbLadder(p1: number, p2: boolean, p3: boolean): void {
207
+ inv<void>('0xB6C987F9285A3814', this.entity.handle, f(p1), p2, p3);
216
208
  }
217
209
 
218
210
  /**
219
- * getupSetHash: see nm_blend_out_sets.meta
211
+ * Makes a ped run away from another ped (fleeFromTarget) fleeDistance = ped will flee this distance
212
+ * fleeTime = ped will flee for this amount of time, set to "-1" to flee forever
213
+ * fleeType = can be 0, R* Scripts: fm_mission/race_controller: 66048; fme_escaped_convicts: 2260992, 2523136, 2359296; la_alligator/fox: 2097152; net_fetch: 17301536; net_stable_mount: 540928
214
+ * fleeSpeed = mostly 3f, rarely 1f in R* Scripts
220
215
  *
221
- * @param flags
222
- * @param getupSetHash
223
- * @param p3
224
- * @param p4
225
- * @param p5
216
+ * @param fleeFromTarget
217
+ * @param fleeDistance
218
+ * @param fleeTime
219
+ * @param fleeType Refer to [enum: eFleeStyle]
220
+ * @param fleeSpeed
221
+ * @param targetPed
226
222
  */
227
- unhogtiePed(flags: number, getupSetHash: string | number, p3: string | null, p4: string | null, p5: number): void {
228
- inv<void>('0x79559BAD83CCD038', this.entity.handle, flags, _h(getupSetHash), p3, p4, f(p5));
223
+ smartFleePed(fleeFromTarget: Ped, fleeDistance: number, fleeTime: number, fleeType: number, fleeSpeed: number, targetPed: Ped): void {
224
+ inv<void>('0x22B0D0E37CCB840D', this.entity.handle, fleeFromTarget.handle, f(fleeDistance), fleeTime, fleeType, f(fleeSpeed), targetPed.handle);
229
225
  }
230
226
 
231
227
  /**
232
- * hecks if the ped camera is directed at the given coord within the specified radius. https://www.youtube.com/watch?v=iLHXrWVvq_c
233
- *
234
- * @param coord The coord to check if they're looking at
235
- * @param radius The radius of the frustum
236
- * @returns Returns `true` if the ped camera is within the range of the frustum, `false` otherwise
228
+ * @param pos
229
+ * @param time
230
+ * @param p5
231
+ * @param p6
237
232
  */
238
- isPedLookingAtCoord(coord: Vector3, radius: number): boolean {
239
- return inv<boolean>('0x508F5053E3F6F0C4', this.entity.handle, f(coord.x), f(coord.y), f(coord.z), f(radius), rai());
233
+ aimGunAtCoord(pos: Vector3, time: number, p5: boolean, p6: boolean): void {
234
+ inv<void>('0x6671F3EEC681BDA1', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), time, p5, p6);
240
235
  }
241
236
 
242
237
  /**
243
- * @param entity
238
+ * @param targetPed
244
239
  */
245
- walkAway(entity: Entity): void {
246
- inv<void>('0x04ACFAC71E6858F9', this.entity.handle, entity.handle);
240
+ cutFreeHogtiedTargetPed(targetPed: Ped): void {
241
+ inv<void>('0x81D16C4FF3A77ADF', this.entity.handle, targetPed.handle);
247
242
  }
248
243
 
249
244
  /**
250
- * @returns
245
+ * @param signalName
246
+ * @param value
251
247
  */
252
- getHogtieEscapeTimer(): number {
253
- return inv<number>('0x4687E69D258BBE41', this.entity.handle, raf());
254
- }
255
-
256
- weapon(): void {
257
- inv<void>('0x7157B82D60E4BC46', this.entity.handle);
248
+ setTaskMoveNetworkSignalFloat2(signalName: string | null, value: number): void {
249
+ inv<void>('0x099D4A855D53B03B', this.entity.handle, signalName, f(value));
258
250
  }
259
251
 
260
252
  /**
261
- * @returns
253
+ * @param p1
254
+ * @param p2
262
255
  */
263
- isPedWalking(): boolean {
264
- return inv<boolean>('0xDE4C184B2B9B071A', this.entity.handle, rai());
265
- }
266
-
267
- clearLookAt(): void {
268
- inv<void>('0x0F804F1DB19B9689', this.entity.handle);
256
+ ambientAnimalHunt(p1: any, p2: any): void {
257
+ inv<void>('0x4B39D8F9D0FE7749', this.entity.handle, p1, p2);
269
258
  }
270
259
 
271
260
  /**
272
- * @param inputContext
273
- * @returns
261
+ * @param goToLocationX
262
+ * @param goToLocationY
263
+ * @param goToLocationZ
264
+ * @param focusLocationX
265
+ * @param focusLocationY
266
+ * @param focusLocationZ
267
+ * @param speed
268
+ * @param shootAtEnemies
269
+ * @param distanceToStopAt
270
+ * @param noRoadsDistance
271
+ * @param unkTrue
272
+ * @param unkFlag
273
+ * @param aimingFlag
274
+ * @param firingPattern
274
275
  */
275
- getItemInteractionPromptProgress(inputContext: string | number): number {
276
- return inv<number>('0xBC864A70AD55E0C1', this.entity.handle, _h(inputContext), raf());
276
+ goToCoordAndAimAtHatedEntitiesNearCoord(goToLocationX: number, goToLocationY: number, goToLocationZ: number, focusLocationX: number, focusLocationY: number, focusLocationZ: number, speed: number, shootAtEnemies: boolean, distanceToStopAt: number, noRoadsDistance: number, unkTrue: boolean, unkFlag: number, aimingFlag: number, firingPattern: string | number): void {
277
+ inv<void>('0xA55547801EB331FC', this.entity.handle, f(goToLocationX), f(goToLocationY), f(goToLocationZ), f(focusLocationX), f(focusLocationY), f(focusLocationZ), f(speed), shootAtEnemies, f(distanceToStopAt), f(noRoadsDistance), unkTrue, unkFlag, aimingFlag, _h(firingPattern));
277
278
  }
278
279
 
279
280
  /**
280
- * @param p1
281
+ * @param itemHash
282
+ * @param interactionAnimHash
283
+ * @param p3
281
284
  * @returns
282
285
  */
283
- N_0x2D657B10F211C572(p1: number): any {
284
- return inv<number>('0x2D657B10F211C572', this.entity.handle, f(p1));
286
+ canStartItemInteraction(itemHash: string | number, interactionAnimHash: string | number, p3: number): any {
287
+ return inv<number>('0x2D19BC4DF626CBE7', this.entity.handle, _h(itemHash), _h(interactionAnimHash), p3);
285
288
  }
286
289
 
287
290
  /**
288
- * Coords: volume coords used in R* Script smuggler2
289
- * p4/p5 = 0 in R* Scripts previous name TASK_COMBAT_PED_3
290
- *
291
- * @param pos
291
+ * @param targetPed
292
+ * @param p2
293
+ * @param p3
292
294
  * @param p4
293
295
  * @param p5
296
+ * @param p6
297
+ * @param p7
298
+ * @param p8
299
+ * @param p9
300
+ * @param p10
294
301
  */
295
- combatPedAtCoords(pos: Vector3, p4: number, p5: number): void {
296
- inv<void>('0xC624414FA748B9BA', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), p4, p5);
302
+ followAndConverseWithPed(targetPed: Ped, p2: any, p3: any, p4: number, p5: number, p6: number, p7: any, p8: any, p9: number, p10: number): void {
303
+ inv<void>('0x489FFCCCE7392B55', this.entity.handle, targetPed.handle, p2, p3, f(p4), f(p5), p6, p7, p8, f(p9), f(p10));
297
304
  }
298
305
 
299
306
  /**
300
- * Makes the specified ped stand still for (time) milliseconds.
301
- *
302
- * @param time
303
- */
304
- standStill(time: number): void {
305
- inv<void>('0x919BE13EED931959', this.entity.handle, time);
306
- }
307
-
308
- /**
309
- * @param animDictionary
310
- * @param animationName
311
- * @param p3
312
- */
313
- stopAnimTask(animDictionary: string | null, animationName: string | null, p3: number): void {
314
- inv<void>('0x97FF36A1D40EA00A', this.entity.handle, animDictionary, animationName, f(p3));
315
- }
316
-
317
- /**
318
- * @param p1
319
- * @param p2
320
- * @param p3
321
- */
322
- turnToFaceClosestPed(p1: number, p2: number, p3: number): void {
323
- inv<void>('0x84179419DBDD36F2', this.entity.handle, f(p1), f(p2), p3);
324
- }
325
-
326
- /**
327
- * Fishing Research: https://pastebin.com/NmK5ZLVs
328
- * Only used in R* Scripts fishing_core and av_fishing_river
329
- *
330
- * @returns p1
331
- */
332
- getTaskFishing(): [any, number] {
333
- const result = inv<[number, number]>('0xF3735ACD11ACD500', this.entity.handle, pvi());
334
- return [result[0], result[1]];
335
- }
336
-
337
- /**
338
- * @param p1
339
- * @param p2
340
- */
341
- shockingEventReact(p1: any, p2: any): void {
342
- inv<void>('0x452419CBD838065B', this.entity.handle, p1, p2);
343
- }
344
-
345
- /**
346
- * @returns
347
- */
348
- N_0xB520DBDA7FCF573F(): boolean {
349
- return inv<boolean>('0xB520DBDA7FCF573F', this.entity.handle, rai());
350
- }
351
-
352
- /**
353
- * Baits: p_fishHook02x, p_baitBread01x, p_baitCorn01x, p_baitCheese01x, p_baitWorm01x, p_baitCricket01x, p_crawdad01x, p_finisheDragonfly01x, p_finisdFishlure01x, p_finishdCrawd01x, p_finisheDragonflyLegendary01x, p_finisdFishlureLegendary01x, p_finishdCrawdLegendary01x, p_lgoc_spinner_v4
354
- *
355
- * @param bait
356
- * @param withoutBuoy
357
- * @param instantly
358
- */
359
- setFishingBait(bait: string | null, withoutBuoy: boolean, instantly: boolean): void {
360
- inv<void>('0x9B0C7FA063E67629', this.entity.handle, bait, withoutBuoy, instantly);
361
- }
362
-
363
- /**
364
- * Params: p3, p4, p5, p6: 0, 0, 0, -1.0f in R* Scripts
365
- *
366
- * @param item
367
- * @param p3
368
- * @param p4
369
- * @param p5
370
- * @param p6
371
- * @returns guid
372
- */
373
- itemInteraction3(item: string | number, p3: any, p4: any, p5: any, p6: number): number {
374
- const result = inv<number>('0xD61D5E1AD9876DEB', this.entity.handle, _h(item), pvi(), p3, p4, p5, f(p6));
375
- return result;
376
- }
377
-
378
- /**
379
- * @returns Returns `true` if the specified `ped` is currently in combat using a ranged weapon, and is ready to shoot (actively attempting to attack)
380
- */
381
- getTaskCombatReadyToShoot(): boolean {
382
- return inv<boolean>('0x5EA655F01D93667A', this.entity.handle, rai());
383
- }
384
-
385
- /**
386
- * @param vehicle
387
- * @param seat
388
- */
389
- warpPedIntoVehicle(vehicle: Vehicle, seat: number): void {
390
- inv<void>('0x9A7D091411C5F684', this.entity.handle, vehicle.handle, seat);
391
- }
392
-
393
- /**
394
- * ped = Ped you want to perform this task.
395
- * target = the Entity they should aim at.
396
- * distanceToStopAt = distance from the target, where the ped should stop to aim.
397
- * StartAimingDist = distance where the ped should start to aim.
398
- *
399
- * @param target
400
- * @param distanceToStopAt
401
- * @param StartAimingDist
402
- */
403
- gotoEntityAiming(target: Entity, distanceToStopAt: number, StartAimingDist: number): void {
404
- inv<void>('0xA9DA48FAB8A76C12', this.entity.handle, target.handle, f(distanceToStopAt), f(StartAimingDist));
405
- }
406
-
407
- /**
408
- * @param p1
409
- * @param p2
410
- * @param p3
411
- * @param p4
307
+ * @param pos
308
+ * @param distance
412
309
  * @param p5
413
310
  * @param p6
414
311
  * @param p7
415
312
  * @param p8
416
- * @param p9
417
- * @param p10
418
- * @param p11
419
- * @param p12
420
- * @param p13
421
- * @param p14
422
313
  */
423
- goToCoordWhileAimingAtEntityUsingCombatStyle(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any): void {
424
- inv<void>('0x78426D0982D083C9', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
314
+ useNearestScenarioChainToCoord(pos: Vector3, distance: number, p5: boolean, p6: boolean, p7: boolean, p8: boolean): void {
315
+ inv<void>('0x9FDA1B3D7E7028B3', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), p5, p6, p7, p8);
425
316
  }
426
317
 
427
318
  /**
428
- * Used with 'P_BODYPARTARMFLOAT02X' model in fishing_core.c
429
- *
430
- * @param object
319
+ * @param eventName
320
+ * @returns
431
321
  */
432
- pedFishingrodHookObject(object: Prop): void {
433
- inv<void>('0xCE71C2F9BAA3F975', this.entity.handle, object.handle);
322
+ getTaskMoveNetworkEvent(eventName: string | null): boolean {
323
+ return inv<boolean>('0xB4F47213DF45A64C', this.entity.handle, eventName, rai());
434
324
  }
435
325
 
436
326
  /**
437
- * @param exitAnimation
438
- * @param p2
327
+ * Baits: see 0x9B0C7FA063E67629
328
+ *
329
+ * @param bait
330
+ * @param withoutBuoy
439
331
  */
440
- reactLookAtEnd(exitAnimation: number, p2: boolean): void {
441
- inv<void>('0x541E5B41DCA45828', this.entity.handle, exitAnimation, p2);
442
- }
443
-
444
- clearDrivebyTaskUnderneathDrivingTask(): void {
445
- inv<void>('0xC35B5CDB2824CF69', this.entity.handle);
332
+ swapFishingBait(bait: string | null, withoutBuoy: boolean): void {
333
+ inv<void>('0x2C28AC30A72722DA', this.entity.handle, bait, withoutBuoy);
446
334
  }
447
335
 
448
336
  /**
449
337
  * @returns
450
338
  */
451
- getPedWaypointOverrideSpeed(): number {
452
- return inv<number>('0xD39A2F3E7FCAFF08', this.entity.handle, raf());
339
+ isDrivebyTaskUnderneathDrivingTask(): boolean {
340
+ return inv<boolean>('0x8785E6E40C7A8818', this.entity.handle, rai());
453
341
  }
454
342
 
455
- /**
456
- * Climbs or vaults the nearest thing.
457
- *
458
- * @param unused
459
- */
460
- climb(unused: boolean): void {
461
- inv<void>('0x89D9FCC2435112F1', this.entity.handle, unused);
343
+ cuffPed(): void {
344
+ inv<void>('0x7981037A96E7D174', this.entity.handle);
462
345
  }
463
346
 
464
347
  /**
465
- * Old name: _TASK_VEHICLE_DRIVE_TO_POINT
466
- * flag: 524419 and 0 in shop_horse_shop R* Script
348
+ * This native allows to control the cruise speed of where you want the ped to go
349
+ * 3rd param might be the entity ped is in? like boat or wagon, 12th param might be the cruiseSpeed of the entity ped is in?
350
+ * EXAMPLE: TaskGoToCoordAnyMeansExtraParamsWithCruiseSpeed(PlayerPedId(), vector3(x, y, z), 3.0, entity, 1, 0, -1082130432, 0, 101004800, 520, 3.0, 1082130432, 0)
467
351
  *
468
- * @param vehicle
469
- * @param pos
470
- * @param p5
471
- * @param p6
472
- * @param flag
473
- */
474
- vehicleDriveStraightToPoint(vehicle: Vehicle, pos: Vector3, p5: number, p6: number, flag: number): void {
475
- inv<void>('0x089FF2FB965F0A29', this.entity.handle, vehicle.handle, f(pos.x), f(pos.y), f(pos.z), f(p5), f(p6), flag);
476
- }
477
-
478
- /**
479
- * @param p1
480
- * @param p2
481
- * @param p3
352
+ * @param cruiseSpeed
353
+ * @param entity
482
354
  * @param p4
483
355
  * @param p5
484
356
  * @param p6
@@ -487,399 +359,205 @@ export class PedTask extends BaseTask {
487
359
  * @param p9
488
360
  * @param p10
489
361
  * @param p11
490
- * @param p12
362
+ * @param cruiseSpeed2
491
363
  * @param p13
492
364
  * @param p14
493
- * @param p15
494
- */
495
- goToCoordWhileAimingAtCoordUsingCombatStyle(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any, p15: any): void {
496
- inv<void>('0x639C0425A0B4E77E', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
497
- }
498
-
499
- /**
500
- * flags: 0 = HANDS_UP_NOTHING; 1 = HANDS_UP_STRAIGHT_TO_LOOP
501
- *
502
- * @param duration
503
- * @param facingPed
504
- * @param timeToFacePed
505
- * @param flags
506
- */
507
- handsUp(duration: number, facingPed: Ped, timeToFacePed: number, flags: number): void {
508
- inv<void>('0xF2EAB31979A7F910', this.entity.handle, duration, facingPed.handle, timeToFacePed, flags);
509
- }
510
-
511
- /**
512
- * timer: in ms, if it reaches 0 it will auto warp the ped on the horse
513
- * Flags will still apply to mountStyle
514
- *
515
- * @param mount
516
- * @param timer
517
- * @param seatIndex Refer to [enum: eVehicleSeat]
518
- * @param pedSpeed
519
- * @param mountStyle
520
- * @param p6
521
- * @param p7
365
+ * @returns gotoCoords
522
366
  */
523
- mountAnimal(mount: Ped, timer: number, seatIndex: eVehicleSeat, pedSpeed: number, mountStyle: number, p6: any, p7: any): void {
524
- inv<void>('0x92DB0739813C5186', this.entity.handle, mount.handle, timer, seatIndex, f(pedSpeed), mountStyle, p6, p7);
367
+ goToCoordAnyMeansExtraParamsWithCruiseSpeed(cruiseSpeed: number, entity: Entity, p4: number, p5: number, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, cruiseSpeed2: number, p13: any, p14: any): Vector3 {
368
+ const result = inv<number[]>('0xB8ECD61F531A7B02', this.entity.handle, pvv(), f(cruiseSpeed), entity.handle, p4, p5, p6, p7, p8, p9, p10, p11, f(cruiseSpeed2), p13, p14);
369
+ return Vector3.fromArray(result);
525
370
  }
526
371
 
527
372
  /**
528
373
  * @returns
529
374
  */
530
- getPedIsIgnoringDeadBodies(): any {
531
- return inv<number>('0x1948BBE561A2375A', this.entity.handle);
375
+ isTaskMoveNetworkReadyForTransition(): boolean {
376
+ return inv<boolean>('0x30ED88D5E0C56A37', this.entity.handle, rai());
532
377
  }
533
378
 
534
- /**
535
- * @param toggle
536
- */
537
- setPedPathCanUseLadders(toggle: boolean): void {
538
- inv<void>('0x77A5B103C87F476E', this.entity.handle, toggle);
379
+ clearDefensiveArea(): void {
380
+ inv<void>('0x95A6C46A31D1917D', this.entity.handle);
539
381
  }
540
382
 
541
383
  /**
542
- * @param p1
543
- * @param p2
384
+ * @param modifier
544
385
  */
545
- stopAnimPlayback(p1: number, p2: boolean): void {
546
- inv<void>('0xEE08C992D238C5D1', this.entity.handle, p1, p2);
386
+ setPedPathDeepSnowCostModifier(modifier: number): void {
387
+ inv<void>('0xE8C296B75EACC357', this.entity.handle, f(modifier));
547
388
  }
548
389
 
549
390
  /**
550
- * @param targetPed
551
- * @param p2
552
391
  * @returns
553
392
  */
554
- confront(targetPed: Ped, p2: number): any {
555
- return inv<number>('0x3A2A2071DF5CC569', this.entity.handle, targetPed.handle, p2);
556
- }
557
-
558
- N_0x1F298C7BD30D1240(): void {
559
- inv<void>('0x1F298C7BD30D1240', this.entity.handle);
560
- }
561
-
562
- /**
563
- * @param p1
564
- * @param p2
565
- * @param p3
566
- */
567
- setCrouchMovement(p1: boolean, p2: any, p3: boolean): void {
568
- inv<void>('0x17293C633C8AC019', this.entity.handle, p1, p2, p3);
393
+ getItemInteractionItemId(): number {
394
+ return (inv<number>('0x804425C4BBD00883', this.entity.handle, rai())) & 0xFFFFFFFF;
569
395
  }
570
396
 
571
397
  /**
572
- * Tells the ped to go to an offset coord from an entity, without using the navmesh. if timeBeforeTeleport is -1 the ped will never warp, p7 is 1 or 0 still unknown param
573
- *
574
398
  * @param entity
575
- * @param offset
576
- * @param moveBlendRatio
577
- * @param timeBeforeTeleport
578
- * @param p7
399
+ * @param mount
400
+ * @param p3
579
401
  */
580
- goStraightToCoordRelativeToEntity(entity: Entity, offset: Vector3, moveBlendRatio: number, timeBeforeTeleport: number, p7: number): void {
581
- inv<void>('0x61E360B7E040D12E', this.entity.handle, entity.handle, f(offset.x), f(offset.y), f(offset.z), moveBlendRatio, timeBeforeTeleport, p7);
402
+ placeCarriedEntityOnMount(entity: Entity, mount: Ped, p3: number): void {
403
+ inv<void>('0x6D3D87C57B3D52C7', this.entity.handle, entity.handle, mount.handle, f(p3));
582
404
  }
583
405
 
584
- /**
585
- * Sets the time it takes for a hogtied ped to escape
586
- * -1.0f for ped to never escape
587
- *
588
- * @param time
589
- */
590
- setHogtieEscapeTimer(time: number): void {
591
- inv<void>('0xAB591AE6B48B913E', this.entity.handle, f(time));
406
+ detachCarriablePed(): void {
407
+ inv<void>('0x36D188AECB26094B', this.entity.handle);
592
408
  }
593
409
 
594
410
  /**
595
- * Makes the ped run to take cover
411
+ * @returns
596
412
  */
597
- stayInCover(): void {
598
- inv<void>('0xE5DA8615A6180789', this.entity.handle);
413
+ getItemInteractionState(): number {
414
+ return (inv<number>('0x6AA3DCA2C6F5EB6D', this.entity.handle, rai())) & 0xFFFFFFFF;
599
415
  }
600
416
 
601
417
  /**
602
- * @param p1
418
+ * @returns
603
419
  */
604
- followWaypointRecordingAdvanced(p1: any): void {
605
- inv<void>('0x0CFC13EBC19BCA52', this.entity.handle, p1);
420
+ getIsPedAimingInTheAir(): any {
421
+ return inv<number>('0x8785E6E40C7A8819', this.entity.handle);
606
422
  }
607
423
 
608
424
  /**
609
- * Tells the ped to go to a coord, without using the navemesh. if timeBeforeTeleport is -1 the ped will never warp, p8 is always 0 or 1 still unknown
425
+ * param3: duration in ms, use -1 to look forever
426
+ * param4: using 2048 is fine
427
+ * param5: using 3 is fine
610
428
  *
611
- * @param pos
612
- * @param moveBlendRatio
613
- * @param timeBeforeTeleport
614
- * @param finalHeading
615
- * @param targetRadius
616
- * @param p8
617
- */
618
- goStraightToCoord(pos: Vector3, moveBlendRatio: number, timeBeforeTeleport: number, finalHeading: number, targetRadius: number, p8: number): void {
619
- inv<void>('0xD76B57B44F1E6F8B', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(moveBlendRatio), timeBeforeTeleport, f(finalHeading), f(targetRadius), p8);
620
- }
621
-
622
- /**
623
- * @param p1
624
- * @param p2
625
- * @param p3
626
- * @param p4
627
- */
628
- setSphereDefensiveArea(p1: number, p2: number, p3: number, p4: number): void {
629
- inv<void>('0x933C06518B52A9A4', this.entity.handle, f(p1), f(p2), f(p3), f(p4));
630
- }
631
-
632
- /**
633
- * @param p1
634
- * @param p2
429
+ * @param lookAtTarget
430
+ * @param duration
635
431
  * @param p3
636
432
  * @param p4
433
+ * @param p5
637
434
  */
638
- useRandomScenarioInGroup(p1: any, p2: any, p3: any, p4: any): void {
639
- inv<void>('0x14747F4A5971DE4E', this.entity.handle, p1, p2, p3, p4);
640
- }
641
-
642
- /**
643
- * enum eWhistleType
644
- * {
645
- * WHISTLE_MAIN,
646
- * WHISTLE_SECONDARY,
647
- * WHISTLE_DOUBLE,
648
- * WHISTLE_URGENT,
649
- * WHISTLE_LONG
650
- * };
651
- *
652
- * @param p1
653
- * @param whistleType
654
- */
655
- goToWhistle(p1: Ped, whistleType: number): void {
656
- inv<void>('0xBAD6545608CECA6E', this.entity.handle, p1.handle, whistleType);
657
- }
658
-
659
- /**
660
- * @param pos
661
- * @param duration
662
- * @param flags
663
- * @param p6
664
- * @param p7
665
- */
666
- lookAtCoord(pos: Vector3, duration: number, flags: number, p6: number, p7: boolean): void {
667
- inv<void>('0x6FA46612594F7973', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), duration, flags, p6, p7);
435
+ lookAtEntity(lookAtTarget: Entity, duration: number, p3: number, p4: number, p5: number): void {
436
+ inv<void>('0x69F4BE8C8CC4796C', this.entity.handle, lookAtTarget.handle, duration, p3, p4, p5);
668
437
  }
669
438
 
670
439
  /**
440
+ * @param taskIndex
671
441
  * @returns
672
442
  */
673
- isPedInHitReact(): any {
674
- return inv<number>('0xF330A5C062B29BED', this.entity.handle);
443
+ getIsTaskActive(taskIndex: number): boolean {
444
+ return inv<boolean>('0xB0760331C7AA4155', this.entity.handle, taskIndex, rai());
675
445
  }
676
446
 
677
447
  /**
678
- * @param p1
679
- * @param p2
448
+ * grappleStyle: AR_GRAPPLE_STRUGGLE, AR_ALLIGATOR_LEG_GRAB_CHALLENGE_FAIL, AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_BACK_DEFEND, AR_GRAPPLE_FRONT_FROM_FRONT
449
+ *
450
+ * @param grappleTarget
451
+ * @param grappleStyle
680
452
  * @param p3
681
453
  * @param p4
682
454
  * @param p5
683
455
  * @param p6
684
- * @param p7
685
- * @param p8
686
- */
687
- N_0x3FFCD7BBA074CC80(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any): void {
688
- inv<void>('0x3FFCD7BBA074CC80', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8);
689
- }
690
-
691
- /**
692
- * @returns
693
- */
694
- isMountedWeaponTaskUnderneathDrivingTask(): boolean {
695
- return inv<boolean>('0xA320EF046186FA3B', this.entity.handle, rai());
696
- }
697
-
698
- /**
699
- * flags: See TASK_ENTER_VEHICLE
700
- *
701
- * @param p1
702
- * @param flags Refer to [enum: eEnterExitVehicleFlags]
703
456
  */
704
- disembarkNearestTrainCarriage(p1: number, flags: number): void {
705
- inv<void>('0x0A11F3BDEC03ED5F', this.entity.handle, f(p1), flags);
457
+ putPedDirectlyIntoGrapple(grappleTarget: Ped, grappleStyle: string | number, p3: number, p4: number, p5: boolean, p6: number): void {
458
+ inv<void>('0xA05F3F20889D7A5B', this.entity.handle, grappleTarget.handle, _h(grappleStyle), f(p3), f(p4), p5, p6);
706
459
  }
707
460
 
708
461
  /**
709
462
  * @param p1
463
+ * @param p2
710
464
  */
711
- N_0xFFB520A3E16F7B7B(p1: number): void {
712
- inv<void>('0xFFB520A3E16F7B7B', this.entity.handle, f(p1));
713
- }
714
-
715
- persistentCharacter(): void {
716
- inv<void>('0x4391700CBD89C3D8', this.entity.handle);
465
+ combatAnimalWarn(p1: any, p2: any): void {
466
+ inv<void>('0xF960F3D57B660E96', this.entity.handle, p1, p2);
717
467
  }
718
468
 
719
469
  /**
720
- * @param speed
721
- * @param p2
722
- * @param p3
723
- * @param p4
470
+ * @param toggle
724
471
  */
725
- waypointPlaybackOverrideSpeed(speed: number, p2: any, p3: any, p4: any): void {
726
- inv<void>('0x7D7D2B47FA788E85', this.entity.handle, f(speed), p2, p3, p4);
472
+ setPedIgnoreDeadBodies(toggle: boolean): void {
473
+ inv<void>('0x013A7BA5015C1372', this.entity.handle, toggle);
727
474
  }
728
475
 
729
476
  /**
730
477
  * @param p1
731
478
  * @param p2
732
479
  * @param p3
733
- */
734
- climbLadder(p1: number, p2: boolean, p3: boolean): void {
735
- inv<void>('0xB6C987F9285A3814', this.entity.handle, f(p1), p2, p3);
736
- }
737
-
738
- /**
739
- * Makes a ped run away from another ped (fleeFromTarget) fleeDistance = ped will flee this distance
740
- * fleeTime = ped will flee for this amount of time, set to "-1" to flee forever
741
- * fleeType = can be 0, R* Scripts: fm_mission/race_controller: 66048; fme_escaped_convicts: 2260992, 2523136, 2359296; la_alligator/fox: 2097152; net_fetch: 17301536; net_stable_mount: 540928
742
- * fleeSpeed = mostly 3f, rarely 1f in R* Scripts
743
- *
744
- * @param fleeFromTarget
745
- * @param fleeDistance
746
- * @param fleeTime
747
- * @param fleeType Refer to [enum: eFleeStyle]
748
- * @param fleeSpeed
749
- * @param targetPed
750
- */
751
- smartFleePed(fleeFromTarget: Ped, fleeDistance: number, fleeTime: number, fleeType: number, fleeSpeed: number, targetPed: Ped): void {
752
- inv<void>('0x22B0D0E37CCB840D', this.entity.handle, fleeFromTarget.handle, f(fleeDistance), fleeTime, fleeType, f(fleeSpeed), targetPed.handle);
753
- }
754
-
755
- /**
756
- * @param pos
757
- * @param time
480
+ * @param p4
758
481
  * @param p5
759
482
  * @param p6
483
+ * @param p7
760
484
  */
761
- aimGunAtCoord(pos: Vector3, time: number, p5: boolean, p6: boolean): void {
762
- inv<void>('0x6671F3EEC681BDA1', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), time, p5, p6);
763
- }
764
-
765
- /**
766
- * @param targetPed
767
- */
768
- cutFreeHogtiedTargetPed(targetPed: Ped): void {
769
- inv<void>('0x81D16C4FF3A77ADF', this.entity.handle, targetPed.handle);
770
- }
771
-
772
- /**
773
- * @param signalName
774
- * @param value
775
- */
776
- setTaskMoveNetworkSignalFloat2(signalName: string | null, value: number): void {
777
- inv<void>('0x099D4A855D53B03B', this.entity.handle, signalName, f(value));
485
+ moveInTrafficToDestination(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void {
486
+ inv<void>('0xDCA3A13F7A45338B', this.entity.handle, p1, p2, p3, p4, p5, p6, p7);
778
487
  }
779
488
 
780
489
  /**
781
- * @param p1
490
+ * @param attacker
782
491
  * @param p2
492
+ * @returns Returns `true` on success, or `false` if `attacker` doesn't exist, or is dead.
783
493
  */
784
- ambientAnimalHunt(p1: any, p2: any): void {
785
- inv<void>('0x4B39D8F9D0FE7749', this.entity.handle, p1, p2);
786
- }
787
-
788
- /**
789
- * @param p1
790
- * @param taskFlag Refer to [enum: eEnterExitVehicleFlags]
791
- */
792
- leaveAnyVehicle(p1: number, taskFlag: number): void {
793
- inv<void>('0x504D54DF3F6F2247', this.entity.handle, p1, taskFlag);
494
+ intimidated(attacker: Ped, p2: boolean): boolean {
495
+ return inv<boolean>('0x648B75D44930D6BD', this.entity.handle, attacker.handle, p2, rai());
794
496
  }
795
497
 
796
498
  /**
797
- * @param targetPed
798
- * @param p2
799
- * @param p3
499
+ * @returns
800
500
  */
801
- combatPed(targetPed: Ped, p2: number, p3: number): void {
802
- inv<void>('0xF166E48407BAC484', this.entity.handle, targetPed.handle, p2, p3);
501
+ waypointPlaybackGetIsShooting(): any {
502
+ return inv<number>('0xA5B94DF8AF058F46', this.entity.handle);
803
503
  }
804
504
 
805
505
  /**
806
- * Params: p4 = -1.0f, p5 = -1, p6 = 0 in R* Scripts
807
- *
808
- * @param fleeFromTarget
809
- * @param fleeStyle Refer to [enum: eFleeStyle]
810
- * @param flag
811
- * @param p4
506
+ * @param pos
507
+ * @param distance
812
508
  * @param p5
813
509
  * @param p6
510
+ * @param p7
511
+ * @param p8
814
512
  */
815
- fleePed(fleeFromTarget: Ped, fleeStyle: number, flag: number, p4: number, p5: number, p6: number): void {
816
- inv<void>('0xFD45175A6DFD7CE9', this.entity.handle, fleeFromTarget.handle, fleeStyle, flag, f(p4), p5, p6);
513
+ useNearestScenarioChainToCoordWarp(pos: Vector3, distance: number, p5: boolean, p6: boolean, p7: boolean, p8: boolean): void {
514
+ inv<void>('0x97A28E63F0BA5631', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), p5, p6, p7, p8);
817
515
  }
818
516
 
819
517
  /**
518
+ * returned values:
519
+ * 0 to 7 = task that's currently in progress, 0 meaning the first one.
520
+ * -1 no task sequence in progress.
521
+ *
820
522
  * @returns
821
523
  */
822
- isPedLeadingHorse(): any {
823
- return inv<number>('0xEFC4303DDC6E60D3', this.entity.handle);
824
- }
825
-
826
- /**
827
- * @param entity
828
- * @param offset
829
- * @param movementSpeed
830
- * @param timeout
831
- * @param stoppingRange
832
- * @param persistFollowing
833
- * @param p9
834
- * @param walkOnly
835
- * @param p11
836
- * @param p12
837
- * @param p13
838
- */
839
- followToOffsetOfEntity(entity: Entity, offset: Vector3, movementSpeed: number, timeout: number, stoppingRange: number, persistFollowing: boolean, p9: boolean, walkOnly: boolean, p11: boolean, p12: boolean, p13: boolean): void {
840
- inv<void>('0x304AE42E357B8C7E', this.entity.handle, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(movementSpeed), timeout, f(stoppingRange), persistFollowing, p9, walkOnly, p11, p12, p13);
524
+ getSequenceProgress(): number {
525
+ return inv<number>('0x00A9010CFE1E3533', this.entity.handle, rai());
841
526
  }
842
527
 
843
528
  /**
844
- * duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped
845
- *
846
- * @param targetEntity
847
- * @param duration
848
- * @param p3
849
- * @param p4
529
+ * @returns
850
530
  */
851
- aimGunAtEntity(targetEntity: Entity, duration: number, p3: boolean, p4: number): void {
852
- inv<void>('0x9B53BB6E8943AF53', this.entity.handle, targetEntity.handle, duration, p3, p4);
531
+ waypointPlaybackGetIsAiming(): any {
532
+ return inv<number>('0xD73A5D1F0325C71C', this.entity.handle);
853
533
  }
854
534
 
855
535
  /**
856
- * `_GET_ANIM_SCENE_FROM_PED_*` But in a strange way, it also seems to work with the butcher's meat-cutting animscene. This does not return AnimScenes in general — it seems restricted to
857
- * SEARCH-related scenes (needs more research).
858
- *
859
- * @returns Returns the AnimScene handle currently associated with the given Ped, but only when the anim event "SEARCHSTART" has fired on that Ped.
536
+ * @param toggle
860
537
  */
861
- N_0x2C497BDEF897C6DF(): AnimScene | null {
862
- return createFromHandle<AnimScene>('AnimScene', inv<number>('0x2C497BDEF897C6DF', this.entity.handle, rai()));
538
+ setPedPathCanUseLadders(toggle: boolean): void {
539
+ inv<void>('0x77A5B103C87F476E', this.entity.handle, toggle);
863
540
  }
864
541
 
865
542
  /**
866
543
  * @param p1
867
- * @returns
544
+ * @param p2
868
545
  */
869
- police(p1: boolean): any {
870
- return inv<number>('0x87BE56724650408E', this.entity.handle, p1);
546
+ stopAnimPlayback(p1: number, p2: boolean): void {
547
+ inv<void>('0xEE08C992D238C5D1', this.entity.handle, p1, p2);
871
548
  }
872
549
 
873
550
  /**
874
- * @param scenarioPoint
875
- * @param flag
551
+ * @param targetPed
552
+ * @param p2
553
+ * @returns
876
554
  */
877
- hitchAnimal(scenarioPoint: number, flag: number): void {
878
- inv<void>('0x9030AD4B6207BFE8', this.entity.handle, scenarioPoint, flag);
555
+ confront(targetPed: Ped, p2: number): any {
556
+ return inv<number>('0x3A2A2071DF5CC569', this.entity.handle, targetPed.handle, p2);
879
557
  }
880
558
 
881
- uncuffPed(): void {
882
- inv<void>('0x67406F2C8F87FC4F', this.entity.handle);
559
+ N_0x1F298C7BD30D1240(): void {
560
+ inv<void>('0x1F298C7BD30D1240', this.entity.handle);
883
561
  }
884
562
 
885
563
  /**
@@ -887,101 +565,95 @@ export class PedTask extends BaseTask {
887
565
  * @param p2
888
566
  * @param p3
889
567
  */
890
- waypointPlaybackPause(p1: any, p2: any, p3: any): void {
891
- inv<void>('0x0F342546AA06FED5', this.entity.handle, p1, p2, p3);
568
+ setCrouchMovement(p1: boolean, p2: any, p3: boolean): void {
569
+ inv<void>('0x17293C633C8AC019', this.entity.handle, p1, p2, p3);
892
570
  }
893
571
 
894
572
  /**
895
- * meleeStyles: AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_MOUNT_FACEDOWN_FROM_FRONT, AR_ALLIGATOR_LEAPKILL, AR_ALLIGATOR_WAIST_AUTOKILL_FRONT
573
+ * Tells the ped to go to an offset coord from an entity, without using the navmesh. if timeBeforeTeleport is -1 the ped will never warp, p7 is 1 or 0 still unknown param
896
574
  *
897
- * @param meleeTarget
898
- * @param meleeStyle
899
- * @param p3
900
- * @param animBlendRatio
901
- * @param p5
902
- * @param p6
575
+ * @param entity
576
+ * @param offset
577
+ * @param moveBlendRatio
578
+ * @param timeBeforeTeleport
579
+ * @param p7
903
580
  */
904
- putPedDirectlyIntoMelee(meleeTarget: Ped, meleeStyle: string | number, p3: number, animBlendRatio: number, p5: boolean, p6: number): void {
905
- inv<void>('0x1C6CD14A876FFE39', this.entity.handle, meleeTarget.handle, _h(meleeStyle), f(p3), f(animBlendRatio), p5, p6);
581
+ goStraightToCoordRelativeToEntity(entity: Entity, offset: Vector3, moveBlendRatio: number, timeBeforeTeleport: number, p7: number): void {
582
+ inv<void>('0x61E360B7E040D12E', this.entity.handle, entity.handle, f(offset.x), f(offset.y), f(offset.z), moveBlendRatio, timeBeforeTeleport, p7);
906
583
  }
907
584
 
908
585
  /**
909
- * @param waypointRecording
910
- * @param p2
911
- * @param flag
912
- * @param p4
913
- * @param p5
914
- * @param p6
915
- * @param p7
586
+ * Sets the time it takes for a hogtied ped to escape
587
+ * -1.0f for ped to never escape
588
+ *
589
+ * @param time
916
590
  */
917
- followWaypointRecording(waypointRecording: string | null, p2: number, flag: number, p4: number, p5: boolean, p6: any, p7: number): void {
918
- inv<void>('0x0759591819534F7B', this.entity.handle, waypointRecording, p2, flag, p4, p5, p6, p7);
591
+ setHogtieEscapeTimer(time: number): void {
592
+ inv<void>('0xAB591AE6B48B913E', this.entity.handle, f(time));
919
593
  }
920
594
 
921
595
  /**
922
- * @param targetPed
596
+ * Makes the ped run to take cover
923
597
  */
924
- hogtieTargetPed(targetPed: Ped): void {
925
- inv<void>('0x27829AFD3E03AC1A', this.entity.handle, targetPed.handle);
598
+ stayInCover(): void {
599
+ inv<void>('0xE5DA8615A6180789', this.entity.handle);
926
600
  }
927
601
 
928
602
  /**
929
- * shootatEntity:
930
- * If true, peds will shoot at Entity till it is dead.
931
- * If false, peds will just walk till they reach the entity and will cease shooting.
932
- *
933
603
  * @param p1
934
- * @param p2
935
- * @param p3
936
- * @param p4
937
- * @param p5
938
- * @param p6
939
- * @param p7
940
- * @param p8
941
- * @param p9
942
- * @param p10
943
604
  */
944
- goToEntityWhileAimingAtEntity(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any): void {
945
- inv<void>('0x97465886D35210E9', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
605
+ followWaypointRecordingAdvanced(p1: any): void {
606
+ inv<void>('0x0CFC13EBC19BCA52', this.entity.handle, p1);
946
607
  }
947
608
 
948
609
  /**
610
+ * Tells the ped to go to a coord, without using the navemesh. if timeBeforeTeleport is -1 the ped will never warp, p8 is always 0 or 1 still unknown
611
+ *
949
612
  * @param pos
950
- * @param distance
613
+ * @param moveBlendRatio
614
+ * @param timeBeforeTeleport
615
+ * @param finalHeading
616
+ * @param targetRadius
617
+ * @param p8
951
618
  */
952
- useNearestTrainScenarioToCoordWarp(pos: Vector3, distance: number): void {
953
- inv<void>('0x3774B03456DD6106', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance));
619
+ goStraightToCoord(pos: Vector3, moveBlendRatio: number, timeBeforeTeleport: number, finalHeading: number, targetRadius: number, p8: number): void {
620
+ inv<void>('0xD76B57B44F1E6F8B', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(moveBlendRatio), timeBeforeTeleport, f(finalHeading), f(targetRadius), p8);
954
621
  }
955
622
 
956
623
  /**
957
- * @param p1
624
+ * @returns
958
625
  */
959
- wanderSwim(p1: any): void {
960
- inv<void>('0x527EA3DB8BC7F03B', this.entity.handle, p1);
626
+ getPedWaypointOverrideSpeed(): number {
627
+ return inv<number>('0xD39A2F3E7FCAFF08', this.entity.handle, raf());
961
628
  }
962
629
 
963
630
  /**
964
- * duration in milliseconds
631
+ * Climbs or vaults the nearest thing.
965
632
  *
966
- * @param pos
967
- * @param duration
633
+ * @param unused
968
634
  */
969
- turnPedToFaceCoord(pos: Vector3, duration: number): void {
970
- inv<void>('0x1DDA930A0AC38571', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), duration);
635
+ climb(unused: boolean): void {
636
+ inv<void>('0x89D9FCC2435112F1', this.entity.handle, unused);
971
637
  }
972
638
 
973
639
  /**
974
- * @param preferAvoidMud
975
- * @param p2
640
+ * Old name: _TASK_VEHICLE_DRIVE_TO_POINT
641
+ * flag: 524419 and 0 in shop_horse_shop R* Script
642
+ *
643
+ * @param vehicle
644
+ * @param pos
645
+ * @param p5
646
+ * @param p6
647
+ * @param flag
976
648
  */
977
- setPedPathPreferToAvoidMud(preferAvoidMud: boolean, p2: number): void {
978
- inv<void>('0x8BB283A7888AD1AD', this.entity.handle, preferAvoidMud, f(p2));
649
+ vehicleDriveStraightToPoint(vehicle: Vehicle, pos: Vector3, p5: number, p6: number, flag: number): void {
650
+ inv<void>('0x089FF2FB965F0A29', this.entity.handle, vehicle.handle, f(pos.x), f(pos.y), f(pos.z), f(p5), f(p6), flag);
979
651
  }
980
652
 
981
653
  /**
982
- * @param animDict
983
- * @param animName
984
- * @param entity
654
+ * @param p1
655
+ * @param p2
656
+ * @param p3
985
657
  * @param p4
986
658
  * @param p5
987
659
  * @param p6
@@ -993,172 +665,142 @@ export class PedTask extends BaseTask {
993
665
  * @param p12
994
666
  * @param p13
995
667
  * @param p14
668
+ * @param p15
996
669
  */
997
- playUpperAnimFacingEntity(animDict: string | null, animName: string | null, entity: Entity, p4: number, p5: number, p6: number, p7: number, p8: number, p9: boolean, p10: boolean, p11: number, p12: string | null, p13: number, p14: number): void {
998
- inv<void>('0xAD67214236AB1CFE', this.entity.handle, animDict, animName, entity.handle, p4, f(p5), f(p6), p7, f(p8), p9, p10, f(p11), p12, p13, f(p14));
999
- }
1000
-
1001
- /**
1002
- * @param goToLocationX
1003
- * @param goToLocationY
1004
- * @param goToLocationZ
1005
- * @param focusLocationX
1006
- * @param focusLocationY
1007
- * @param focusLocationZ
1008
- * @param speed
1009
- * @param shootAtEnemies
1010
- * @param distanceToStopAt
1011
- * @param noRoadsDistance
1012
- * @param unkTrue
1013
- * @param unkFlag
1014
- * @param aimingFlag
1015
- * @param firingPattern
1016
- */
1017
- goToCoordAndAimAtHatedEntitiesNearCoord(goToLocationX: number, goToLocationY: number, goToLocationZ: number, focusLocationX: number, focusLocationY: number, focusLocationZ: number, speed: number, shootAtEnemies: boolean, distanceToStopAt: number, noRoadsDistance: number, unkTrue: boolean, unkFlag: number, aimingFlag: number, firingPattern: string | number): void {
1018
- inv<void>('0xA55547801EB331FC', this.entity.handle, f(goToLocationX), f(goToLocationY), f(goToLocationZ), f(focusLocationX), f(focusLocationY), f(focusLocationZ), f(speed), shootAtEnemies, f(distanceToStopAt), f(noRoadsDistance), unkTrue, unkFlag, aimingFlag, _h(firingPattern));
1019
- }
1020
-
1021
- /**
1022
- * @param itemHash
1023
- * @param interactionAnimHash
1024
- * @param p3
1025
- * @returns
1026
- */
1027
- canStartItemInteraction(itemHash: string | number, interactionAnimHash: string | number, p3: number): any {
1028
- return inv<number>('0x2D19BC4DF626CBE7', this.entity.handle, _h(itemHash), _h(interactionAnimHash), p3);
670
+ goToCoordWhileAimingAtCoordUsingCombatStyle(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any, p15: any): void {
671
+ inv<void>('0x639C0425A0B4E77E', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
1029
672
  }
1030
673
 
1031
674
  /**
1032
- * @param targetPed
1033
- * @param p2
1034
- * @param p3
1035
- * @param p4
1036
- * @param p5
1037
- * @param p6
1038
- * @param p7
1039
- * @param p8
1040
- * @param p9
1041
- * @param p10
675
+ * flags: 0 = HANDS_UP_NOTHING; 1 = HANDS_UP_STRAIGHT_TO_LOOP
676
+ *
677
+ * @param duration
678
+ * @param facingPed
679
+ * @param timeToFacePed
680
+ * @param flags
1042
681
  */
1043
- followAndConverseWithPed(targetPed: Ped, p2: any, p3: any, p4: number, p5: number, p6: number, p7: any, p8: any, p9: number, p10: number): void {
1044
- inv<void>('0x489FFCCCE7392B55', this.entity.handle, targetPed.handle, p2, p3, f(p4), f(p5), p6, p7, p8, f(p9), f(p10));
682
+ handsUp(duration: number, facingPed: Ped, timeToFacePed: number, flags: number): void {
683
+ inv<void>('0xF2EAB31979A7F910', this.entity.handle, duration, facingPed.handle, timeToFacePed, flags);
1045
684
  }
1046
685
 
1047
686
  /**
1048
- * @param pos
1049
- * @param distance
1050
- * @param p5
687
+ * timer: in ms, if it reaches 0 it will auto warp the ped on the horse
688
+ * Flags will still apply to mountStyle
689
+ *
690
+ * @param mount
691
+ * @param timer
692
+ * @param seatIndex Refer to [enum: eVehicleSeat]
693
+ * @param pedSpeed
694
+ * @param mountStyle
1051
695
  * @param p6
1052
696
  * @param p7
1053
- * @param p8
1054
697
  */
1055
- useNearestScenarioChainToCoord(pos: Vector3, distance: number, p5: boolean, p6: boolean, p7: boolean, p8: boolean): void {
1056
- inv<void>('0x9FDA1B3D7E7028B3', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), p5, p6, p7, p8);
698
+ mountAnimal(mount: Ped, timer: number, seatIndex: eVehicleSeat, pedSpeed: number, mountStyle: number, p6: any, p7: any): void {
699
+ inv<void>('0x92DB0739813C5186', this.entity.handle, mount.handle, timer, seatIndex, f(pedSpeed), mountStyle, p6, p7);
1057
700
  }
1058
701
 
1059
702
  /**
1060
- * @param eventName
1061
703
  * @returns
1062
704
  */
1063
- getTaskMoveNetworkEvent(eventName: string | null): boolean {
1064
- return inv<boolean>('0xB4F47213DF45A64C', this.entity.handle, eventName, rai());
1065
- }
1066
-
1067
- /**
1068
- * Baits: see 0x9B0C7FA063E67629
1069
- *
1070
- * @param bait
1071
- * @param withoutBuoy
1072
- */
1073
- swapFishingBait(bait: string | null, withoutBuoy: boolean): void {
1074
- inv<void>('0x2C28AC30A72722DA', this.entity.handle, bait, withoutBuoy);
705
+ getPedIsIgnoringDeadBodies(): any {
706
+ return inv<number>('0x1948BBE561A2375A', this.entity.handle);
1075
707
  }
1076
708
 
1077
709
  /**
1078
- * @returns
710
+ * @param p1
711
+ * @param taskFlag Refer to [enum: eEnterExitVehicleFlags]
1079
712
  */
1080
- isDrivebyTaskUnderneathDrivingTask(): boolean {
1081
- return inv<boolean>('0x8785E6E40C7A8818', this.entity.handle, rai());
713
+ leaveAnyVehicle(p1: number, taskFlag: number): void {
714
+ inv<void>('0x504D54DF3F6F2247', this.entity.handle, p1, taskFlag);
1082
715
  }
1083
716
 
1084
- cuffPed(): void {
1085
- inv<void>('0x7981037A96E7D174', this.entity.handle);
717
+ /**
718
+ * @param targetPed
719
+ * @param p2
720
+ * @param p3
721
+ */
722
+ combatPed(targetPed: Ped, p2: number, p3: number): void {
723
+ inv<void>('0xF166E48407BAC484', this.entity.handle, targetPed.handle, p2, p3);
1086
724
  }
1087
725
 
1088
726
  /**
1089
- * This native allows to control the cruise speed of where you want the ped to go
1090
- * 3rd param might be the entity ped is in? like boat or wagon, 12th param might be the cruiseSpeed of the entity ped is in?
1091
- * EXAMPLE: TaskGoToCoordAnyMeansExtraParamsWithCruiseSpeed(PlayerPedId(), vector3(x, y, z), 3.0, entity, 1, 0, -1082130432, 0, 101004800, 520, 3.0, 1082130432, 0)
727
+ * Params: p4 = -1.0f, p5 = -1, p6 = 0 in R* Scripts
1092
728
  *
1093
- * @param cruiseSpeed
1094
- * @param entity
729
+ * @param fleeFromTarget
730
+ * @param fleeStyle Refer to [enum: eFleeStyle]
731
+ * @param flag
1095
732
  * @param p4
1096
733
  * @param p5
1097
734
  * @param p6
1098
- * @param p7
1099
- * @param p8
1100
- * @param p9
1101
- * @param p10
1102
- * @param p11
1103
- * @param cruiseSpeed2
1104
- * @param p13
1105
- * @param p14
1106
- * @returns gotoCoords
1107
735
  */
1108
- goToCoordAnyMeansExtraParamsWithCruiseSpeed(cruiseSpeed: number, entity: Entity, p4: number, p5: number, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, cruiseSpeed2: number, p13: any, p14: any): Vector3 {
1109
- const result = inv<number[]>('0xB8ECD61F531A7B02', this.entity.handle, pvv(), f(cruiseSpeed), entity.handle, p4, p5, p6, p7, p8, p9, p10, p11, f(cruiseSpeed2), p13, p14);
1110
- return Vector3.fromArray(result);
736
+ fleePed(fleeFromTarget: Ped, fleeStyle: number, flag: number, p4: number, p5: number, p6: number): void {
737
+ inv<void>('0xFD45175A6DFD7CE9', this.entity.handle, fleeFromTarget.handle, fleeStyle, flag, f(p4), p5, p6);
1111
738
  }
1112
739
 
1113
740
  /**
1114
- * @param radius
741
+ * @returns
1115
742
  */
1116
- combatHatedTargetsNoLosTest(radius: number): void {
1117
- inv<void>('0xB5BC69D9C4060BC3', this.entity.handle, f(radius));
743
+ isPedLeadingHorse(): any {
744
+ return inv<number>('0xEFC4303DDC6E60D3', this.entity.handle);
1118
745
  }
1119
746
 
1120
747
  /**
1121
- * @param p1
748
+ * @param entity
749
+ * @param offset
750
+ * @param movementSpeed
751
+ * @param timeout
752
+ * @param stoppingRange
753
+ * @param persistFollowing
754
+ * @param p9
755
+ * @param walkOnly
756
+ * @param p11
757
+ * @param p12
758
+ * @param p13
1122
759
  */
1123
- N_0x31BB338F64D5C861(p1: boolean): void {
1124
- inv<void>('0x31BB338F64D5C861', this.entity.handle, p1);
760
+ followToOffsetOfEntity(entity: Entity, offset: Vector3, movementSpeed: number, timeout: number, stoppingRange: number, persistFollowing: boolean, p9: boolean, walkOnly: boolean, p11: boolean, p12: boolean, p13: boolean): void {
761
+ inv<void>('0x304AE42E357B8C7E', this.entity.handle, entity.handle, f(offset.x), f(offset.y), f(offset.z), f(movementSpeed), timeout, f(stoppingRange), persistFollowing, p9, walkOnly, p11, p12, p13);
1125
762
  }
1126
763
 
1127
764
  /**
1128
- * @param modifier
765
+ * duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped
766
+ *
767
+ * @param targetEntity
768
+ * @param duration
769
+ * @param p3
770
+ * @param p4
1129
771
  */
1130
- setPedPathClimbCostModifier(modifier: number): void {
1131
- inv<void>('0x88E32DB8C1A4AA4B', this.entity.handle, f(modifier));
772
+ aimGunAtEntity(targetEntity: Entity, duration: number, p3: boolean, p4: number): void {
773
+ inv<void>('0x9B53BB6E8943AF53', this.entity.handle, targetEntity.handle, duration, p3, p4);
1132
774
  }
1133
775
 
1134
776
  /**
1135
- * @param entity
1136
- * @param duration
1137
- * @param targetRadius
1138
- * @param offset
1139
- * @param moveBlendRatio
1140
- * @param offsetFlags
777
+ * `_GET_ANIM_SCENE_FROM_PED_*` But in a strange way, it also seems to work with the butcher's meat-cutting animscene. This does not return AnimScenes in general — it seems restricted to
778
+ * SEARCH-related scenes (needs more research).
779
+ *
780
+ * @returns Returns the AnimScene handle currently associated with the given Ped, but only when the anim event "SEARCHSTART" has fired on that Ped.
1141
781
  */
1142
- gotoEntityOffsetXy(entity: Entity, duration: number, targetRadius: number, offset: Vector2, moveBlendRatio: number, offsetFlags: number): void {
1143
- inv<void>('0x338E7EF52B6095A9', this.entity.handle, entity.handle, duration, f(targetRadius), f(offset.x), f(offset.y), f(moveBlendRatio), offsetFlags);
782
+ N_0x2C497BDEF897C6DF(): AnimScene | null {
783
+ return createFromHandle<AnimScene>('AnimScene', inv<number>('0x2C497BDEF897C6DF', this.entity.handle, rai()));
1144
784
  }
1145
785
 
1146
786
  /**
1147
- * Makes ped walk around the area the params p1 p2 seems to not affect anything but p2 is either 0 or 1 and p1 is mostly 1.0 or ped heading
1148
- *
1149
- * @param p2
1150
- * @param p3
787
+ * @param p1
788
+ * @returns
1151
789
  */
1152
- wanderStandard(p2: number, p3: number): void {
1153
- inv<void>('0xBB9CE077274F6A1B', this.entity.handle, f(p2), p3);
790
+ police(p1: boolean): any {
791
+ return inv<number>('0x87BE56724650408E', this.entity.handle, p1);
1154
792
  }
1155
793
 
1156
794
  /**
1157
- * @param p1
1158
- * @param p2
795
+ * @param scenarioPoint
796
+ * @param flag
1159
797
  */
1160
- clearPedTasks(p1: boolean, p2: boolean): void {
1161
- inv<void>('0xE1EF3C1216AFF2CD', this.entity.handle, p1, p2);
798
+ hitchAnimal(scenarioPoint: number, flag: number): void {
799
+ inv<void>('0x9030AD4B6207BFE8', this.entity.handle, scenarioPoint, flag);
800
+ }
801
+
802
+ uncuffPed(): void {
803
+ inv<void>('0x67406F2C8F87FC4F', this.entity.handle);
1162
804
  }
1163
805
 
1164
806
  /**
@@ -1226,155 +868,10 @@ export class PedTask extends BaseTask {
1226
868
  }
1227
869
 
1228
870
  /**
1229
- * @param avoidTraffic
1230
- */
1231
- setPedPathAvoidTraffic(avoidTraffic: boolean): void {
1232
- inv<void>('0x7C015D8BCEC72CF4', this.entity.handle, avoidTraffic);
1233
- }
1234
-
1235
- /**
1236
- * @param p1
1237
- * @param p2
1238
- */
1239
- guard(p1: any, p2: any): void {
1240
- inv<void>('0xB9FB242EACCAF30F', this.entity.handle, p1, p2);
1241
- }
1242
-
1243
- /**
1244
- * @param attacker
1245
- * @param p2
1246
- * @param unusedParam3 Unused by the native.
1247
- * @param unusedParam4 Unused by the native.
1248
- * @param everyFrame Removes the `0x1000` bitmask from `flag`
1249
- * @param p6
1250
- * @param p7 Removes the `0x80000` bitmask from `flag`
1251
- * @param flag
1252
- * @returns Returns `true` on success, `false` if it failed (whether due to `attacker` being invalid, or the `attacker` ped being dead)
1253
- */
1254
- intimidated2(attacker: Ped, p2: number, unusedParam3: boolean, unusedParam4: boolean, everyFrame: boolean, p6: boolean, p7: boolean, flag: number): boolean {
1255
- return inv<boolean>('0x933ACC1A1771A288', this.entity.handle, attacker.handle, p2, unusedParam3, unusedParam4, everyFrame, p6, p7, flag, rai());
1256
- }
1257
-
1258
- /**
1259
- * @param avoidFire
1260
- */
1261
- setPedPathAvoidFire(avoidFire: boolean): void {
1262
- inv<void>('0x4455517B28441E60', this.entity.handle, avoidFire);
1263
- }
1264
-
1265
- /**
1266
- * @param reviver
1267
- * @param tool
1268
- */
1269
- reviveTarget(reviver: Ped, tool: string | number): void {
1270
- inv<void>('0x356088527D9EBAAD', this.entity.handle, reviver.handle, _h(tool));
1271
- }
1272
-
1273
- /**
1274
- * https://github.com/femga/rdr3_discoveries/blob/master/animations/kit_emotes_list.lua
1275
- * emote: https://alloc8or.re/rdr3/doc/enums/eEmote.txt enum eEmoteType
1276
- * {
1277
- * EMOTE_TYPE_INVALID = -1,
1278
- * EMOTE_TYPE_REACT,
1279
- * EMOTE_TYPE_ACTION,
1280
- * EMOTE_TYPE_TAUNT,
1281
- * EMOTE_TYPE_GREET,
1282
- * EMOTE_TYPE_TWIRL_GUN,
1283
- * EMOTE_TYPE_DANCE_FLOOR
1284
- * }; enum eEmotePlaybackMode
1285
- * {
1286
- * EMOTE_PM_INVALID = -1,
1287
- * EMOTE_PM_UPPERBODY,
1288
- * EMOTE_PM_UPPERBODY_LOOP,
1289
- * EMOTE_PM_FULLBODY,
1290
- * };
1291
- *
1292
- * @param emoteType
1293
- * @param playbackMode
1294
- * @param emote
1295
- * @param isSecondaryTask
1296
- * @param canBreakOut
1297
- * @param disableEarlyOutAnimTag
1298
- * @param ignoreInvalidMainTask
1299
- * @param destroyProps
1300
- */
1301
- playEmoteWithHash(emoteType: number, playbackMode: number, emote: string | number, isSecondaryTask: boolean, canBreakOut: boolean, disableEarlyOutAnimTag: boolean, ignoreInvalidMainTask: boolean, destroyProps: boolean): void {
1302
- inv<void>('0xB31A277C1AC7B7FF', this.entity.handle, emoteType, playbackMode, _h(emote), isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps);
1303
- }
1304
-
1305
- /**
1306
- * @returns
1307
- */
1308
- isTaskMoveNetworkReadyForTransition(): boolean {
1309
- return inv<boolean>('0x30ED88D5E0C56A37', this.entity.handle, rai());
1310
- }
1311
-
1312
- clearDefensiveArea(): void {
1313
- inv<void>('0x95A6C46A31D1917D', this.entity.handle);
1314
- }
1315
-
1316
- /**
1317
- * @param modifier
1318
- */
1319
- setPedPathDeepSnowCostModifier(modifier: number): void {
1320
- inv<void>('0xE8C296B75EACC357', this.entity.handle, f(modifier));
1321
- }
1322
-
1323
- /**
1324
- * @returns
1325
- */
1326
- getItemInteractionItemId(): string | number {
1327
- return (inv<number>('0x804425C4BBD00883', this.entity.handle, rai())) & 0xFFFFFFFF;
1328
- }
1329
-
1330
- /**
1331
- * @param entity
1332
- * @param mount
1333
- * @param p3
1334
- */
1335
- placeCarriedEntityOnMount(entity: Entity, mount: Ped, p3: number): void {
1336
- inv<void>('0x6D3D87C57B3D52C7', this.entity.handle, entity.handle, mount.handle, f(p3));
1337
- }
1338
-
1339
- detachCarriablePed(): void {
1340
- inv<void>('0x36D188AECB26094B', this.entity.handle);
1341
- }
1342
-
1343
- /**
1344
- * @returns
1345
- */
1346
- getItemInteractionState(): string | number {
1347
- return (inv<number>('0x6AA3DCA2C6F5EB6D', this.entity.handle, rai())) & 0xFFFFFFFF;
1348
- }
1349
-
1350
- /**
1351
- * @returns
1352
- */
1353
- getIsPedAimingInTheAir(): any {
1354
- return inv<number>('0x8785E6E40C7A8819', this.entity.handle);
1355
- }
1356
-
1357
- /**
1358
- * param3: duration in ms, use -1 to look forever
1359
- * param4: using 2048 is fine
1360
- * param5: using 3 is fine
1361
- *
1362
- * @param lookAtTarget
1363
- * @param duration
1364
- * @param p3
1365
- * @param p4
1366
- * @param p5
1367
- */
1368
- lookAtEntity(lookAtTarget: Entity, duration: number, p3: number, p4: number, p5: number): void {
1369
- inv<void>('0x69F4BE8C8CC4796C', this.entity.handle, lookAtTarget.handle, duration, p3, p4, p5);
1370
- }
1371
-
1372
- /**
1373
- * @param taskIndex
1374
- * @returns
871
+ * @param avoidTraffic
1375
872
  */
1376
- getIsTaskActive(taskIndex: number): boolean {
1377
- return inv<boolean>('0xB0760331C7AA4155', this.entity.handle, taskIndex, rai());
873
+ setPedPathAvoidTraffic(avoidTraffic: boolean): void {
874
+ inv<void>('0x7C015D8BCEC72CF4', this.entity.handle, avoidTraffic);
1378
875
  }
1379
876
 
1380
877
  /**
@@ -1383,7 +880,7 @@ export class PedTask extends BaseTask {
1383
880
  *
1384
881
  * @returns
1385
882
  */
1386
- getTaskMoveNetworkId(): string | number {
883
+ getTaskMoveNetworkId(): number {
1387
884
  return (inv<number>('0xCACC2F9D994504B7', this.entity.handle, rai())) & 0xFFFFFFFF;
1388
885
  }
1389
886
 
@@ -1518,18 +1015,70 @@ export class PedTask extends BaseTask {
1518
1015
 
1519
1016
  /**
1520
1017
  * @param pos
1018
+ * @param speedMultiplier
1521
1019
  * @param timeout
1522
- * @param p5
1523
- * @param p6
1524
- * @param p7
1020
+ * @param stoppingRange
1021
+ * @param flags
1525
1022
  * @param p8
1526
- * @param coverpoint
1023
+ * @param p9
1527
1024
  * @param p10
1528
- * @param p11
1529
- * @param p12
1025
+ * @param entity
1026
+ * @param unk
1530
1027
  */
1531
- putPedDirectlyIntoCover(pos: Vector3, timeout: number, p5: boolean, p6: number, p7: any, p8: any, coverpoint: number, p10: boolean, p11: boolean, p12: any): void {
1532
- inv<void>('0x4172393E6BE1FECE', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), timeout, p5, f(p6), p7, p8, coverpoint, p10, p11, p12);
1028
+ followNavMeshToCoordAdvanced(pos: Vector3, speedMultiplier: number, timeout: number, stoppingRange: number, flags: number, p8: number, p9: number, p10: number, entity: Entity, unk: number): void {
1029
+ inv<void>('0x17F58B88D085DBAC', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(speedMultiplier), timeout, f(stoppingRange), flags, f(p8), f(p9), f(p10), entity.handle, f(unk));
1030
+ }
1031
+
1032
+ /**
1033
+ * @param radius
1034
+ * @param time
1035
+ * @param flags
1036
+ */
1037
+ combatHatedTargetsAroundPedTimed(radius: number, time: number, flags: number): void {
1038
+ inv<void>('0x2BBA30B854534A0C', this.entity.handle, f(radius), time, flags);
1039
+ }
1040
+
1041
+ /**
1042
+ * @returns
1043
+ */
1044
+ isPedRunning(): boolean {
1045
+ return inv<boolean>('0xC5286FFC176F28A2', this.entity.handle, rai());
1046
+ }
1047
+
1048
+ /**
1049
+ * @returns
1050
+ */
1051
+ isPedSprinting(): boolean {
1052
+ return inv<boolean>('0x57E457CD2C0FC168', this.entity.handle, rai());
1053
+ }
1054
+
1055
+ /**
1056
+ * @param useSlidingSurfaces
1057
+ */
1058
+ setPedPathMayUseSlidingSurfaces(useSlidingSurfaces: boolean): void {
1059
+ inv<void>('0x06ECF3925BC2ABAE', this.entity.handle, useSlidingSurfaces);
1060
+ }
1061
+
1062
+ /**
1063
+ * Force a ped that is already attacking to aim directly at the specified world coordinates.
1064
+ *
1065
+ * @param pos
1066
+ * @param p4
1067
+ * @param p5
1068
+ * @param p6
1069
+ */
1070
+ forcePointAimAtCoord(pos: Vector3, p4?: number, p5?: boolean, p6?: boolean): void {
1071
+ inv<void>('0x41323F4E0C4AE94B', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), p4, p5, p6);
1072
+ }
1073
+
1074
+ /**
1075
+ * @param p1
1076
+ * @param p2
1077
+ * @param p3
1078
+ * @param p4
1079
+ */
1080
+ swapWeapon(p1: any, p2: any, p3: any, p4: any): void {
1081
+ inv<void>('0xA21C51255B205245', this.entity.handle, p1, p2, p3, p4);
1533
1082
  }
1534
1083
 
1535
1084
  /**
@@ -1541,260 +1090,475 @@ export class PedTask extends BaseTask {
1541
1090
  * @param p6
1542
1091
  * @param p7
1543
1092
  * @param p8
1093
+ */
1094
+ gotoEntityOffsetXyz(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any): void {
1095
+ inv<void>('0xFA6DA9D151769392', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8);
1096
+ }
1097
+
1098
+ /**
1099
+ * @param pos
1100
+ * @param distance
1101
+ * @param duration
1102
+ * @param p6
1103
+ * @param p7
1104
+ * @param p8
1544
1105
  * @param p9
1545
- * @param p10
1546
- * @param p11
1547
- * @param p12
1548
- * @param p13
1549
- * @param p14
1550
1106
  */
1551
- goToCoordAndAimAtHatedEntitiesNearCoordUsingCombatStyle(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any): void {
1552
- inv<void>('0x87BD711FC31EA273', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
1107
+ useNearestScenarioToCoordWarp(pos: Vector3, distance: number, duration: number, p6: boolean, p7: boolean, p8: boolean, p9: boolean): void {
1108
+ inv<void>('0x58E2E0F23F6B76C3', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), duration, p6, p7, p8, p9);
1553
1109
  }
1554
1110
 
1555
1111
  /**
1556
- * @param target
1112
+ * @param p1
1113
+ * @returns
1557
1114
  */
1558
- arrestPed(target: Ped): void {
1559
- inv<void>('0xF3B9A78A178572B1', this.entity.handle, target.handle);
1115
+ N_0x2D657B10F211C572(p1: number): any {
1116
+ return inv<number>('0x2D657B10F211C572', this.entity.handle, f(p1));
1117
+ }
1118
+
1119
+ /**
1120
+ * Coords: volume coords used in R* Script smuggler2
1121
+ * p4/p5 = 0 in R* Scripts previous name TASK_COMBAT_PED_3
1122
+ *
1123
+ * @param pos
1124
+ * @param p4
1125
+ * @param p5
1126
+ */
1127
+ combatPedAtCoords(pos: Vector3, p4: number, p5: number): void {
1128
+ inv<void>('0xC624414FA748B9BA', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), p4, p5);
1129
+ }
1130
+
1131
+ /**
1132
+ * Makes the specified ped stand still for (time) milliseconds.
1133
+ *
1134
+ * @param time
1135
+ */
1136
+ standStill(time: number): void {
1137
+ inv<void>('0x919BE13EED931959', this.entity.handle, time);
1138
+ }
1139
+
1140
+ /**
1141
+ * @param animDictionary
1142
+ * @param animationName
1143
+ * @param p3
1144
+ */
1145
+ stopAnimTask(animDictionary: string | null, animationName: string | null, p3: number): void {
1146
+ inv<void>('0x97FF36A1D40EA00A', this.entity.handle, animDictionary, animationName, f(p3));
1560
1147
  }
1561
1148
 
1562
1149
  /**
1563
1150
  * @param p1
1564
1151
  * @param p2
1565
1152
  * @param p3
1153
+ */
1154
+ turnToFaceClosestPed(p1: number, p2: number, p3: number): void {
1155
+ inv<void>('0x84179419DBDD36F2', this.entity.handle, f(p1), f(p2), p3);
1156
+ }
1157
+
1158
+ /**
1159
+ * Fishing Research: https://pastebin.com/NmK5ZLVs
1160
+ * Only used in R* Scripts fishing_core and av_fishing_river
1161
+ *
1162
+ * @returns p1
1163
+ */
1164
+ getTaskFishing(): [any, number] {
1165
+ const result = inv<[number, number]>('0xF3735ACD11ACD500', this.entity.handle, pvi());
1166
+ return [result[0], result[1]];
1167
+ }
1168
+
1169
+ /**
1170
+ * @param p1
1171
+ * @param p2
1172
+ */
1173
+ shockingEventReact(p1: any, p2: any): void {
1174
+ inv<void>('0x452419CBD838065B', this.entity.handle, p1, p2);
1175
+ }
1176
+
1177
+ /**
1566
1178
  * @returns
1567
1179
  */
1568
- setPedWaypointRouteOffset(p1: number, p2: number, p3: number): any {
1569
- return inv<number>('0xED98E10B0AFCE4B4', this.entity.handle, f(p1), f(p2), f(p3));
1180
+ N_0xB520DBDA7FCF573F(): boolean {
1181
+ return inv<boolean>('0xB520DBDA7FCF573F', this.entity.handle, rai());
1182
+ }
1183
+
1184
+ /**
1185
+ * fleeType: see TASK_FLEE_COORD
1186
+ *
1187
+ * @param fleeFromTarget
1188
+ * @param pos
1189
+ * @param distance
1190
+ * @param p6
1191
+ * @param p7
1192
+ * @param p8
1193
+ * @param targetPed
1194
+ */
1195
+ fleeFromPed(fleeFromTarget: Ped, pos: Vector3, distance: number, p6: number, p7: number, p8: number, targetPed: Ped): void {
1196
+ inv<void>('0x7B74D8EEDE9B5727', this.entity.handle, fleeFromTarget.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), p6, p7, f(p8), targetPed.handle);
1570
1197
  }
1571
1198
 
1572
1199
  /**
1573
- * @param waypointRecording
1574
1200
  * @returns
1575
1201
  */
1576
- isWaypointPlaybackGoingOnForPed(waypointRecording: string | null): boolean {
1577
- return inv<boolean>('0xE03B3F2D3DC59B64', this.entity.handle, waypointRecording, rai());
1202
+ isPedGettingUp(): boolean {
1203
+ return inv<boolean>('0x2A74E1D5F2F00EEC', this.entity.handle, rai());
1204
+ }
1205
+
1206
+ /**
1207
+ * @param time
1208
+ */
1209
+ duck(time: number): void {
1210
+ inv<void>('0xA14B5FBF986BAC23', this.entity.handle, time);
1211
+ }
1212
+
1213
+ /**
1214
+ * @param p1
1215
+ * @param p2
1216
+ * @param p3
1217
+ * @param p4
1218
+ */
1219
+ robPed(p1: any, p2: any, p3: any, p4: any): void {
1220
+ inv<void>('0x7BB967F85D8CCBDB', this.entity.handle, p1, p2, p3, p4);
1221
+ }
1222
+
1223
+ /**
1224
+ * getupSetHash: see nm_blend_out_sets.meta
1225
+ *
1226
+ * @param flags
1227
+ * @param getupSetHash
1228
+ * @param p3
1229
+ * @param p4
1230
+ * @param p5
1231
+ */
1232
+ unhogtiePed(flags: number, getupSetHash: string | number, p3: string | null, p4: string | null, p5: number): void {
1233
+ inv<void>('0x79559BAD83CCD038', this.entity.handle, flags, _h(getupSetHash), p3, p4, f(p5));
1234
+ }
1235
+
1236
+ /**
1237
+ * hecks if the ped camera is directed at the given coord within the specified radius. https://www.youtube.com/watch?v=iLHXrWVvq_c
1238
+ *
1239
+ * @param coord The coord to check if they're looking at
1240
+ * @param radius The radius of the frustum
1241
+ * @returns Returns `true` if the ped camera is within the range of the frustum, `false` otherwise
1242
+ */
1243
+ isPedLookingAtCoord(coord: Vector3, radius: number): boolean {
1244
+ return inv<boolean>('0x508F5053E3F6F0C4', this.entity.handle, f(coord.x), f(coord.y), f(coord.z), f(radius), rai());
1245
+ }
1246
+
1247
+ /**
1248
+ * @param entity
1249
+ */
1250
+ walkAway(entity: Entity): void {
1251
+ inv<void>('0x04ACFAC71E6858F9', this.entity.handle, entity.handle);
1252
+ }
1253
+
1254
+ /**
1255
+ * @returns
1256
+ */
1257
+ getHogtieEscapeTimer(): number {
1258
+ return inv<number>('0x4687E69D258BBE41', this.entity.handle, raf());
1259
+ }
1260
+
1261
+ weapon(): void {
1262
+ inv<void>('0x7157B82D60E4BC46', this.entity.handle);
1263
+ }
1264
+
1265
+ /**
1266
+ * @returns
1267
+ */
1268
+ isPedWalking(): boolean {
1269
+ return inv<boolean>('0xDE4C184B2B9B071A', this.entity.handle, rai());
1578
1270
  }
1579
1271
 
1580
1272
  /**
1581
1273
  * @param p1
1582
1274
  * @param p2
1275
+ * @param p3
1276
+ */
1277
+ waypointPlaybackPause(p1: any, p2: any, p3: any): void {
1278
+ inv<void>('0x0F342546AA06FED5', this.entity.handle, p1, p2, p3);
1279
+ }
1280
+
1281
+ /**
1282
+ * meleeStyles: AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_MOUNT_FACEDOWN_FROM_FRONT, AR_ALLIGATOR_LEAPKILL, AR_ALLIGATOR_WAIST_AUTOKILL_FRONT
1283
+ *
1284
+ * @param meleeTarget
1285
+ * @param meleeStyle
1286
+ * @param p3
1287
+ * @param animBlendRatio
1288
+ * @param p5
1289
+ * @param p6
1583
1290
  */
1584
- animalWrithe(p1: any, p2: any): void {
1585
- inv<void>('0x8C038A39C4A4B6D6', this.entity.handle, p1, p2);
1291
+ putPedDirectlyIntoMelee(meleeTarget: Ped, meleeStyle: string | number, p3: number, animBlendRatio: number, p5: boolean, p6: number): void {
1292
+ inv<void>('0x1C6CD14A876FFE39', this.entity.handle, meleeTarget.handle, _h(meleeStyle), f(p3), f(animBlendRatio), p5, p6);
1586
1293
  }
1587
1294
 
1588
1295
  /**
1589
- * @param p1
1296
+ * @param waypointRecording
1590
1297
  * @param p2
1591
- * @param p3
1298
+ * @param flag
1592
1299
  * @param p4
1300
+ * @param p5
1301
+ * @param p6
1302
+ * @param p7
1593
1303
  */
1594
- aimAtEntity(p1: any, p2: any, p3: any, p4: any): void {
1595
- inv<void>('0xCF7569BD0FB480A0', this.entity.handle, p1, p2, p3, p4);
1304
+ followWaypointRecording(waypointRecording: string | null, p2: number, flag: number, p4: number, p5: boolean, p6: any, p7: number): void {
1305
+ inv<void>('0x0759591819534F7B', this.entity.handle, waypointRecording, p2, flag, p4, p5, p6, p7);
1596
1306
  }
1597
1307
 
1598
1308
  /**
1599
1309
  * @param targetPed
1600
- * @param p2
1601
- * @param p3
1602
1310
  */
1603
- combatPedTimed(targetPed: Ped, p2: number, p3: any): void {
1604
- inv<void>('0x944F30DCB7096BDE', this.entity.handle, targetPed.handle, p2, p3);
1311
+ hogtieTargetPed(targetPed: Ped): void {
1312
+ inv<void>('0x27829AFD3E03AC1A', this.entity.handle, targetPed.handle);
1605
1313
  }
1606
1314
 
1607
1315
  /**
1316
+ * shootatEntity:
1317
+ * If true, peds will shoot at Entity till it is dead.
1318
+ * If false, peds will just walk till they reach the entity and will cease shooting.
1319
+ *
1608
1320
  * @param p1
1609
1321
  * @param p2
1610
1322
  * @param p3
1323
+ * @param p4
1324
+ * @param p5
1325
+ * @param p6
1326
+ * @param p7
1327
+ * @param p8
1328
+ * @param p9
1329
+ * @param p10
1611
1330
  */
1612
- throwProjectile(p1: any, p2: any, p3: any): void {
1613
- inv<void>('0x7285951DBF6B5A51', this.entity.handle, p1, p2, p3);
1331
+ goToEntityWhileAimingAtEntity(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any): void {
1332
+ inv<void>('0x97465886D35210E9', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
1614
1333
  }
1615
1334
 
1616
1335
  /**
1617
1336
  * @param pos
1618
- * @param heading
1619
- * @param p5
1337
+ * @param distance
1620
1338
  */
1621
- pedSlideToCoord(pos: Vector3, heading: number, p5: number): void {
1622
- inv<void>('0xD04FE6765D990A06', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), f(p5));
1339
+ useNearestTrainScenarioToCoordWarp(pos: Vector3, distance: number): void {
1340
+ inv<void>('0x3774B03456DD6106', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance));
1623
1341
  }
1624
1342
 
1625
1343
  /**
1626
- * grappleStyle: AR_GRAPPLE_STRUGGLE, AR_ALLIGATOR_LEG_GRAB_CHALLENGE_FAIL, AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_BACK_DEFEND, AR_GRAPPLE_FRONT_FROM_FRONT
1627
- *
1628
- * @param grappleTarget
1629
- * @param grappleStyle
1630
- * @param p3
1631
- * @param p4
1632
- * @param p5
1633
- * @param p6
1344
+ * @param p1
1634
1345
  */
1635
- putPedDirectlyIntoGrapple(grappleTarget: Ped, grappleStyle: string | number, p3: number, p4: number, p5: boolean, p6: number): void {
1636
- inv<void>('0xA05F3F20889D7A5B', this.entity.handle, grappleTarget.handle, _h(grappleStyle), f(p3), f(p4), p5, p6);
1346
+ wanderSwim(p1: any): void {
1347
+ inv<void>('0x527EA3DB8BC7F03B', this.entity.handle, p1);
1637
1348
  }
1638
1349
 
1639
1350
  /**
1640
- * @param p1
1641
- * @param p2
1351
+ * duration in milliseconds
1352
+ *
1353
+ * @param pos
1354
+ * @param duration
1642
1355
  */
1643
- combatAnimalWarn(p1: any, p2: any): void {
1644
- inv<void>('0xF960F3D57B660E96', this.entity.handle, p1, p2);
1356
+ turnPedToFaceCoord(pos: Vector3, duration: number): void {
1357
+ inv<void>('0x1DDA930A0AC38571', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), duration);
1645
1358
  }
1646
1359
 
1647
1360
  /**
1648
- * @param toggle
1361
+ * @param preferAvoidMud
1362
+ * @param p2
1649
1363
  */
1650
- setPedIgnoreDeadBodies(toggle: boolean): void {
1651
- inv<void>('0x013A7BA5015C1372', this.entity.handle, toggle);
1364
+ setPedPathPreferToAvoidMud(preferAvoidMud: boolean, p2: number): void {
1365
+ inv<void>('0x8BB283A7888AD1AD', this.entity.handle, preferAvoidMud, f(p2));
1652
1366
  }
1653
1367
 
1654
1368
  /**
1655
- * @param p1
1656
- * @param p2
1657
- * @param p3
1369
+ * @param animDict
1370
+ * @param animName
1371
+ * @param entity
1658
1372
  * @param p4
1659
1373
  * @param p5
1660
1374
  * @param p6
1661
1375
  * @param p7
1376
+ * @param p8
1377
+ * @param p9
1378
+ * @param p10
1379
+ * @param p11
1380
+ * @param p12
1381
+ * @param p13
1382
+ * @param p14
1662
1383
  */
1663
- moveInTrafficToDestination(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any): void {
1664
- inv<void>('0xDCA3A13F7A45338B', this.entity.handle, p1, p2, p3, p4, p5, p6, p7);
1384
+ playUpperAnimFacingEntity(animDict: string | null, animName: string | null, entity: Entity, p4: number, p5: number, p6: number, p7: number, p8: number, p9: boolean, p10: boolean, p11: number, p12: string | null, p13: number, p14: number): void {
1385
+ inv<void>('0xAD67214236AB1CFE', this.entity.handle, animDict, animName, entity.handle, p4, f(p5), f(p6), p7, f(p8), p9, p10, f(p11), p12, p13, f(p14));
1386
+ }
1387
+
1388
+ /**
1389
+ * @param p1
1390
+ * @param p2
1391
+ */
1392
+ guard(p1: any, p2: any): void {
1393
+ inv<void>('0xB9FB242EACCAF30F', this.entity.handle, p1, p2);
1665
1394
  }
1666
1395
 
1667
1396
  /**
1668
1397
  * @param attacker
1669
1398
  * @param p2
1670
- * @returns Returns `true` on success, or `false` if `attacker` doesn't exist, or is dead.
1399
+ * @param unusedParam3 Unused by the native.
1400
+ * @param unusedParam4 Unused by the native.
1401
+ * @param everyFrame Removes the `0x1000` bitmask from `flag`
1402
+ * @param p6
1403
+ * @param p7 Removes the `0x80000` bitmask from `flag`
1404
+ * @param flag
1405
+ * @returns Returns `true` on success, `false` if it failed (whether due to `attacker` being invalid, or the `attacker` ped being dead)
1671
1406
  */
1672
- intimidated(attacker: Ped, p2: boolean): boolean {
1673
- return inv<boolean>('0x648B75D44930D6BD', this.entity.handle, attacker.handle, p2, rai());
1407
+ intimidated2(attacker: Ped, p2: number, unusedParam3: boolean, unusedParam4: boolean, everyFrame: boolean, p6: boolean, p7: boolean, flag: number): boolean {
1408
+ return inv<boolean>('0x933ACC1A1771A288', this.entity.handle, attacker.handle, p2, unusedParam3, unusedParam4, everyFrame, p6, p7, flag, rai());
1674
1409
  }
1675
1410
 
1676
1411
  /**
1677
- * @returns
1412
+ * @param avoidFire
1678
1413
  */
1679
- waypointPlaybackGetIsShooting(): any {
1680
- return inv<number>('0xA5B94DF8AF058F46', this.entity.handle);
1414
+ setPedPathAvoidFire(avoidFire: boolean): void {
1415
+ inv<void>('0x4455517B28441E60', this.entity.handle, avoidFire);
1681
1416
  }
1682
1417
 
1683
1418
  /**
1684
- * @param pos
1685
- * @param distance
1686
- * @param p5
1687
- * @param p6
1688
- * @param p7
1689
- * @param p8
1419
+ * @param reviver
1420
+ * @param tool
1690
1421
  */
1691
- useNearestScenarioChainToCoordWarp(pos: Vector3, distance: number, p5: boolean, p6: boolean, p7: boolean, p8: boolean): void {
1692
- inv<void>('0x97A28E63F0BA5631', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(distance), p5, p6, p7, p8);
1422
+ reviveTarget(reviver: Ped, tool: string | number): void {
1423
+ inv<void>('0x356088527D9EBAAD', this.entity.handle, reviver.handle, _h(tool));
1693
1424
  }
1694
1425
 
1695
1426
  /**
1696
- * returned values:
1697
- * 0 to 7 = task that's currently in progress, 0 meaning the first one.
1698
- * -1 no task sequence in progress.
1427
+ * https://github.com/femga/rdr3_discoveries/blob/master/animations/kit_emotes_list.lua
1428
+ * emote: https://alloc8or.re/rdr3/doc/enums/eEmote.txt enum eEmoteType
1429
+ * {
1430
+ * EMOTE_TYPE_INVALID = -1,
1431
+ * EMOTE_TYPE_REACT,
1432
+ * EMOTE_TYPE_ACTION,
1433
+ * EMOTE_TYPE_TAUNT,
1434
+ * EMOTE_TYPE_GREET,
1435
+ * EMOTE_TYPE_TWIRL_GUN,
1436
+ * EMOTE_TYPE_DANCE_FLOOR
1437
+ * }; enum eEmotePlaybackMode
1438
+ * {
1439
+ * EMOTE_PM_INVALID = -1,
1440
+ * EMOTE_PM_UPPERBODY,
1441
+ * EMOTE_PM_UPPERBODY_LOOP,
1442
+ * EMOTE_PM_FULLBODY,
1443
+ * };
1699
1444
  *
1700
- * @returns
1445
+ * @param emoteType
1446
+ * @param playbackMode
1447
+ * @param emote
1448
+ * @param isSecondaryTask
1449
+ * @param canBreakOut
1450
+ * @param disableEarlyOutAnimTag
1451
+ * @param ignoreInvalidMainTask
1452
+ * @param destroyProps
1701
1453
  */
1702
- getSequenceProgress(): number {
1703
- return inv<number>('0x00A9010CFE1E3533', this.entity.handle, rai());
1454
+ playEmoteWithHash(emoteType: number, playbackMode: number, emote: string | number, isSecondaryTask: boolean, canBreakOut: boolean, disableEarlyOutAnimTag: boolean, ignoreInvalidMainTask: boolean, destroyProps: boolean): void {
1455
+ inv<void>('0xB31A277C1AC7B7FF', this.entity.handle, emoteType, playbackMode, _h(emote), isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps);
1704
1456
  }
1705
1457
 
1706
1458
  /**
1707
- * @returns
1459
+ * @param pos
1460
+ * @param timeout
1461
+ * @param p5
1462
+ * @param p6
1463
+ * @param p7
1464
+ * @param p8
1465
+ * @param coverpoint
1466
+ * @param p10
1467
+ * @param p11
1468
+ * @param p12
1708
1469
  */
1709
- waypointPlaybackGetIsAiming(): any {
1710
- return inv<number>('0xD73A5D1F0325C71C', this.entity.handle);
1470
+ putPedDirectlyIntoCover(pos: Vector3, timeout: number, p5: boolean, p6: number, p7: any, p8: any, coverpoint: number, p10: boolean, p11: boolean, p12: any): void {
1471
+ inv<void>('0x4172393E6BE1FECE', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), timeout, p5, f(p6), p7, p8, coverpoint, p10, p11, p12);
1711
1472
  }
1712
1473
 
1713
1474
  /**
1714
- * @param signalName
1715
- * @param value
1475
+ * @param p1
1476
+ * @param p2
1477
+ * @param p3
1478
+ * @param p4
1479
+ * @param p5
1480
+ * @param p6
1481
+ * @param p7
1482
+ * @param p8
1483
+ * @param p9
1484
+ * @param p10
1485
+ * @param p11
1486
+ * @param p12
1487
+ * @param p13
1488
+ * @param p14
1716
1489
  */
1717
- setTaskMoveNetworkSignalFloat(signalName: string | null, value: number): void {
1718
- inv<void>('0xD5BB4025AE449A4E', this.entity.handle, signalName, f(value));
1490
+ goToCoordAndAimAtHatedEntitiesNearCoordUsingCombatStyle(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any, p11: any, p12: any, p13: any, p14: any): void {
1491
+ inv<void>('0x87BD711FC31EA273', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
1719
1492
  }
1720
1493
 
1721
1494
  /**
1722
- * @param taskSequenceId
1495
+ * @param target
1723
1496
  */
1724
- performSequence(taskSequenceId: number): void {
1725
- inv<void>('0x5ABA3986D90D8A3B', this.entity.handle, taskSequenceId);
1497
+ arrestPed(target: Ped): void {
1498
+ inv<void>('0xF3B9A78A178572B1', this.entity.handle, target.handle);
1726
1499
  }
1727
1500
 
1728
1501
  /**
1729
1502
  * @param p1
1730
1503
  * @param p2
1731
1504
  * @param p3
1505
+ * @returns
1732
1506
  */
1733
- moveInTraffic(p1: any, p2: any, p3: any): void {
1734
- inv<void>('0x8AA1593AEC087A29', this.entity.handle, p1, p2, p3);
1507
+ setPedWaypointRouteOffset(p1: number, p2: number, p3: number): any {
1508
+ return inv<number>('0xED98E10B0AFCE4B4', this.entity.handle, f(p1), f(p2), f(p3));
1735
1509
  }
1736
1510
 
1737
1511
  /**
1738
- * @param p1
1739
- * @param permanently
1512
+ * @param waypointRecording
1513
+ * @returns
1740
1514
  */
1741
- knockedOut(p1: number, permanently: boolean): void {
1742
- inv<void>('0xF90427F00A495A28', this.entity.handle, f(p1), permanently);
1515
+ isWaypointPlaybackGoingOnForPed(waypointRecording: string | null): boolean {
1516
+ return inv<boolean>('0xE03B3F2D3DC59B64', this.entity.handle, waypointRecording, rai());
1743
1517
  }
1744
1518
 
1745
1519
  /**
1746
- * @param duration
1520
+ * @param p1
1521
+ * @param p2
1747
1522
  */
1748
- updateTaskHandsUpDuration(duration: number): void {
1749
- inv<void>('0xA98FCAFD7893C834', this.entity.handle, duration);
1523
+ animalWrithe(p1: any, p2: any): void {
1524
+ inv<void>('0x8C038A39C4A4B6D6', this.entity.handle, p1, p2);
1750
1525
  }
1751
1526
 
1752
1527
  /**
1753
- * Similar to 0xB31A277C1AC7B7FF but checks if the ped's inventory contains the specified emote kit.
1754
- *
1755
- * @param emoteType
1756
- * @param playbackMode
1757
- * @param emote
1758
- * @param isSecondaryTask
1759
- * @param canBreakOut
1760
- * @param disableEarlyOutAnimTag
1761
- * @param ignoreInvalidMainTask
1762
- * @param destroyProps
1528
+ * @param p1
1529
+ * @param p2
1530
+ * @param p3
1531
+ * @param p4
1763
1532
  */
1764
- playEmote(emoteType: number, playbackMode: number, emote: string | number, isSecondaryTask: boolean, canBreakOut: boolean, disableEarlyOutAnimTag: boolean, ignoreInvalidMainTask: boolean, destroyProps: boolean): void {
1765
- inv<void>('0x884E3436CC1F41DD', this.entity.handle, emoteType, playbackMode, _h(emote), isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps);
1533
+ aimAtEntity(p1: any, p2: any, p3: any, p4: any): void {
1534
+ inv<void>('0xCF7569BD0FB480A0', this.entity.handle, p1, p2, p3, p4);
1766
1535
  }
1767
1536
 
1768
1537
  /**
1769
- * @param boat
1538
+ * @param targetPed
1770
1539
  * @param p2
1771
1540
  * @param p3
1772
- * @param pos
1773
- * @param p7
1774
- * @param maxSpeed
1775
- * @param drivingStyle
1776
- * @param p10
1777
- * @param p11
1778
1541
  */
1779
- boatMission(boat: Vehicle, p2: any, p3: any, pos: Vector3, p7: any, maxSpeed: number, drivingStyle: number, p10: number, p11: any): void {
1780
- inv<void>('0x15C86013127CE63F', this.entity.handle, boat.handle, p2, p3, f(pos.x), f(pos.y), f(pos.z), p7, f(maxSpeed), drivingStyle, f(p10), p11);
1542
+ combatPedTimed(targetPed: Ped, p2: number, p3: any): void {
1543
+ inv<void>('0x944F30DCB7096BDE', this.entity.handle, targetPed.handle, p2, p3);
1781
1544
  }
1782
1545
 
1783
1546
  /**
1784
- * @param useLimits If `true` the ped's viewing angle will be limited to the angle range given for `minAngle` and `maxAngle`, when set to `false` the player always fully faces the player
1785
- * @param minAngle The minimum viewing angle, requires `useLimits` to be `true`.
1786
- * @param maxAngle The maximum viewing angle, reuqeres `useLimits` to be `true`.
1547
+ * @param p1
1548
+ * @param p2
1549
+ * @param p3
1787
1550
  */
1788
- setIntimidatedFacingAngle(useLimits: boolean, minAngle: number, maxAngle: number): void {
1789
- inv<void>('0x0FE797DD9F70DFA6', this.entity.handle, useLimits, f(minAngle), f(maxAngle));
1551
+ throwProjectile(p1: any, p2: any, p3: any): void {
1552
+ inv<void>('0x7285951DBF6B5A51', this.entity.handle, p1, p2, p3);
1790
1553
  }
1791
1554
 
1792
1555
  /**
1793
- * @param targetPed
1794
- * @param p2
1556
+ * @param pos
1557
+ * @param heading
1558
+ * @param p5
1795
1559
  */
1796
- animalFlee(targetPed: Ped, p2: any): void {
1797
- inv<void>('0xA899B61C66F09134', this.entity.handle, targetPed.handle, p2);
1560
+ pedSlideToCoord(pos: Vector3, heading: number, p5: number): void {
1561
+ inv<void>('0xD04FE6765D990A06', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), f(p5));
1798
1562
  }
1799
1563
 
1800
1564
  /**
@@ -3641,4 +3405,240 @@ export class PedTask extends BaseTask {
3641
3405
  inv<void>('0x7AA80209BDA643EB', this.entity.handle, vehicle.handle);
3642
3406
  }
3643
3407
 
3408
+ clearLookAt(): void {
3409
+ inv<void>('0x0F804F1DB19B9689', this.entity.handle);
3410
+ }
3411
+
3412
+ /**
3413
+ * @param inputContext
3414
+ * @returns
3415
+ */
3416
+ getItemInteractionPromptProgress(inputContext: string | number): number {
3417
+ return inv<number>('0xBC864A70AD55E0C1', this.entity.handle, _h(inputContext), raf());
3418
+ }
3419
+
3420
+ /**
3421
+ * @param p1
3422
+ * @param p2
3423
+ * @param p3
3424
+ * @param p4
3425
+ */
3426
+ setSphereDefensiveArea(p1: number, p2: number, p3: number, p4: number): void {
3427
+ inv<void>('0x933C06518B52A9A4', this.entity.handle, f(p1), f(p2), f(p3), f(p4));
3428
+ }
3429
+
3430
+ /**
3431
+ * @param p1
3432
+ * @param p2
3433
+ * @param p3
3434
+ * @param p4
3435
+ */
3436
+ useRandomScenarioInGroup(p1: any, p2: any, p3: any, p4: any): void {
3437
+ inv<void>('0x14747F4A5971DE4E', this.entity.handle, p1, p2, p3, p4);
3438
+ }
3439
+
3440
+ /**
3441
+ * enum eWhistleType
3442
+ * {
3443
+ * WHISTLE_MAIN,
3444
+ * WHISTLE_SECONDARY,
3445
+ * WHISTLE_DOUBLE,
3446
+ * WHISTLE_URGENT,
3447
+ * WHISTLE_LONG
3448
+ * };
3449
+ *
3450
+ * @param p1
3451
+ * @param whistleType
3452
+ */
3453
+ goToWhistle(p1: Ped, whistleType: number): void {
3454
+ inv<void>('0xBAD6545608CECA6E', this.entity.handle, p1.handle, whistleType);
3455
+ }
3456
+
3457
+ /**
3458
+ * @param pos
3459
+ * @param duration
3460
+ * @param flags
3461
+ * @param p6
3462
+ * @param p7
3463
+ */
3464
+ lookAtCoord(pos: Vector3, duration: number, flags: number, p6: number, p7: boolean): void {
3465
+ inv<void>('0x6FA46612594F7973', this.entity.handle, f(pos.x), f(pos.y), f(pos.z), duration, flags, p6, p7);
3466
+ }
3467
+
3468
+ /**
3469
+ * @returns
3470
+ */
3471
+ isPedInHitReact(): any {
3472
+ return inv<number>('0xF330A5C062B29BED', this.entity.handle);
3473
+ }
3474
+
3475
+ /**
3476
+ * @param p1
3477
+ * @param p2
3478
+ * @param p3
3479
+ * @param p4
3480
+ * @param p5
3481
+ * @param p6
3482
+ * @param p7
3483
+ * @param p8
3484
+ */
3485
+ N_0x3FFCD7BBA074CC80(p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any): void {
3486
+ inv<void>('0x3FFCD7BBA074CC80', this.entity.handle, p1, p2, p3, p4, p5, p6, p7, p8);
3487
+ }
3488
+
3489
+ /**
3490
+ * @returns
3491
+ */
3492
+ isMountedWeaponTaskUnderneathDrivingTask(): boolean {
3493
+ return inv<boolean>('0xA320EF046186FA3B', this.entity.handle, rai());
3494
+ }
3495
+
3496
+ /**
3497
+ * flags: See TASK_ENTER_VEHICLE
3498
+ *
3499
+ * @param p1
3500
+ * @param flags Refer to [enum: eEnterExitVehicleFlags]
3501
+ */
3502
+ disembarkNearestTrainCarriage(p1: number, flags: number): void {
3503
+ inv<void>('0x0A11F3BDEC03ED5F', this.entity.handle, f(p1), flags);
3504
+ }
3505
+
3506
+ /**
3507
+ * @param radius
3508
+ */
3509
+ combatHatedTargetsNoLosTest(radius: number): void {
3510
+ inv<void>('0xB5BC69D9C4060BC3', this.entity.handle, f(radius));
3511
+ }
3512
+
3513
+ /**
3514
+ * @param p1
3515
+ */
3516
+ N_0x31BB338F64D5C861(p1: boolean): void {
3517
+ inv<void>('0x31BB338F64D5C861', this.entity.handle, p1);
3518
+ }
3519
+
3520
+ /**
3521
+ * @param modifier
3522
+ */
3523
+ setPedPathClimbCostModifier(modifier: number): void {
3524
+ inv<void>('0x88E32DB8C1A4AA4B', this.entity.handle, f(modifier));
3525
+ }
3526
+
3527
+ /**
3528
+ * @param entity
3529
+ * @param duration
3530
+ * @param targetRadius
3531
+ * @param offset
3532
+ * @param moveBlendRatio
3533
+ * @param offsetFlags
3534
+ */
3535
+ gotoEntityOffsetXy(entity: Entity, duration: number, targetRadius: number, offset: Vector2, moveBlendRatio: number, offsetFlags: number): void {
3536
+ inv<void>('0x338E7EF52B6095A9', this.entity.handle, entity.handle, duration, f(targetRadius), f(offset.x), f(offset.y), f(moveBlendRatio), offsetFlags);
3537
+ }
3538
+
3539
+ /**
3540
+ * Makes ped walk around the area the params p1 p2 seems to not affect anything but p2 is either 0 or 1 and p1 is mostly 1.0 or ped heading
3541
+ *
3542
+ * @param p2
3543
+ * @param p3
3544
+ */
3545
+ wanderStandard(p2: number, p3: number): void {
3546
+ inv<void>('0xBB9CE077274F6A1B', this.entity.handle, f(p2), p3);
3547
+ }
3548
+
3549
+ /**
3550
+ * @param p1
3551
+ * @param p2
3552
+ */
3553
+ clearPedTasks(p1: boolean, p2: boolean): void {
3554
+ inv<void>('0xE1EF3C1216AFF2CD', this.entity.handle, p1, p2);
3555
+ }
3556
+
3557
+ /**
3558
+ * @param signalName
3559
+ * @param value
3560
+ */
3561
+ setTaskMoveNetworkSignalFloat(signalName: string | null, value: number): void {
3562
+ inv<void>('0xD5BB4025AE449A4E', this.entity.handle, signalName, f(value));
3563
+ }
3564
+
3565
+ /**
3566
+ * @param taskSequenceId
3567
+ */
3568
+ performSequence(taskSequenceId: number): void {
3569
+ inv<void>('0x5ABA3986D90D8A3B', this.entity.handle, taskSequenceId);
3570
+ }
3571
+
3572
+ /**
3573
+ * @param p1
3574
+ * @param p2
3575
+ * @param p3
3576
+ */
3577
+ moveInTraffic(p1: any, p2: any, p3: any): void {
3578
+ inv<void>('0x8AA1593AEC087A29', this.entity.handle, p1, p2, p3);
3579
+ }
3580
+
3581
+ /**
3582
+ * @param p1
3583
+ * @param permanently
3584
+ */
3585
+ knockedOut(p1: number, permanently: boolean): void {
3586
+ inv<void>('0xF90427F00A495A28', this.entity.handle, f(p1), permanently);
3587
+ }
3588
+
3589
+ /**
3590
+ * @param duration
3591
+ */
3592
+ updateTaskHandsUpDuration(duration: number): void {
3593
+ inv<void>('0xA98FCAFD7893C834', this.entity.handle, duration);
3594
+ }
3595
+
3596
+ /**
3597
+ * Similar to 0xB31A277C1AC7B7FF but checks if the ped's inventory contains the specified emote kit.
3598
+ *
3599
+ * @param emoteType
3600
+ * @param playbackMode
3601
+ * @param emote
3602
+ * @param isSecondaryTask
3603
+ * @param canBreakOut
3604
+ * @param disableEarlyOutAnimTag
3605
+ * @param ignoreInvalidMainTask
3606
+ * @param destroyProps
3607
+ */
3608
+ playEmote(emoteType: number, playbackMode: number, emote: string | number, isSecondaryTask: boolean, canBreakOut: boolean, disableEarlyOutAnimTag: boolean, ignoreInvalidMainTask: boolean, destroyProps: boolean): void {
3609
+ inv<void>('0x884E3436CC1F41DD', this.entity.handle, emoteType, playbackMode, _h(emote), isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps);
3610
+ }
3611
+
3612
+ /**
3613
+ * @param boat
3614
+ * @param p2
3615
+ * @param p3
3616
+ * @param pos
3617
+ * @param p7
3618
+ * @param maxSpeed
3619
+ * @param drivingStyle
3620
+ * @param p10
3621
+ * @param p11
3622
+ */
3623
+ boatMission(boat: Vehicle, p2: any, p3: any, pos: Vector3, p7: any, maxSpeed: number, drivingStyle: number, p10: number, p11: any): void {
3624
+ inv<void>('0x15C86013127CE63F', this.entity.handle, boat.handle, p2, p3, f(pos.x), f(pos.y), f(pos.z), p7, f(maxSpeed), drivingStyle, f(p10), p11);
3625
+ }
3626
+
3627
+ /**
3628
+ * @param useLimits If `true` the ped's viewing angle will be limited to the angle range given for `minAngle` and `maxAngle`, when set to `false` the player always fully faces the player
3629
+ * @param minAngle The minimum viewing angle, requires `useLimits` to be `true`.
3630
+ * @param maxAngle The maximum viewing angle, reuqeres `useLimits` to be `true`.
3631
+ */
3632
+ setIntimidatedFacingAngle(useLimits: boolean, minAngle: number, maxAngle: number): void {
3633
+ inv<void>('0x0FE797DD9F70DFA6', this.entity.handle, useLimits, f(minAngle), f(maxAngle));
3634
+ }
3635
+
3636
+ /**
3637
+ * @param targetPed
3638
+ * @param p2
3639
+ */
3640
+ animalFlee(targetPed: Ped, p2: any): void {
3641
+ inv<void>('0xA899B61C66F09134', this.entity.handle, targetPed.handle, p2);
3642
+ }
3643
+
3644
3644
  }