@nativewrappers/redm-codegen 0.0.2

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 (642) hide show
  1. package/README.md +41 -0
  2. package/dist/classes/AnimScene.d.ts +361 -0
  3. package/dist/classes/AnimScene.d.ts.map +1 -0
  4. package/dist/classes/AnimScene.js +511 -0
  5. package/dist/classes/BaseModel.d.ts +108 -0
  6. package/dist/classes/BaseModel.d.ts.map +1 -0
  7. package/dist/classes/BaseModel.js +158 -0
  8. package/dist/classes/BaseTask.d.ts +102 -0
  9. package/dist/classes/BaseTask.d.ts.map +1 -0
  10. package/dist/classes/BaseTask.js +129 -0
  11. package/dist/classes/Cam.d.ts +217 -0
  12. package/dist/classes/Cam.d.ts.map +1 -0
  13. package/dist/classes/Cam.js +295 -0
  14. package/dist/classes/Entity.d.ts +1101 -0
  15. package/dist/classes/Entity.d.ts.map +1 -0
  16. package/dist/classes/Entity.js +1480 -0
  17. package/dist/classes/Interior.d.ts +65 -0
  18. package/dist/classes/Interior.d.ts.map +1 -0
  19. package/dist/classes/Interior.js +96 -0
  20. package/dist/classes/ItemSet.d.ts +18 -0
  21. package/dist/classes/ItemSet.d.ts.map +1 -0
  22. package/dist/classes/ItemSet.js +32 -0
  23. package/dist/classes/Ped.d.ts +4230 -0
  24. package/dist/classes/Ped.d.ts.map +1 -0
  25. package/dist/classes/Ped.js +5712 -0
  26. package/dist/classes/PedModel.d.ts +9 -0
  27. package/dist/classes/PedModel.d.ts.map +1 -0
  28. package/dist/classes/PedModel.js +13 -0
  29. package/dist/classes/PedTask.d.ts +2563 -0
  30. package/dist/classes/PedTask.d.ts.map +1 -0
  31. package/dist/classes/PedTask.js +3276 -0
  32. package/dist/classes/PersChar.d.ts +39 -0
  33. package/dist/classes/PersChar.d.ts.map +1 -0
  34. package/dist/classes/PersChar.js +69 -0
  35. package/dist/classes/Pickup.d.ts +30 -0
  36. package/dist/classes/Pickup.d.ts.map +1 -0
  37. package/dist/classes/Pickup.js +45 -0
  38. package/dist/classes/Player.d.ts +1309 -0
  39. package/dist/classes/Player.d.ts.map +1 -0
  40. package/dist/classes/Player.js +1808 -0
  41. package/dist/classes/Prop.d.ts +253 -0
  42. package/dist/classes/Prop.d.ts.map +1 -0
  43. package/dist/classes/Prop.js +362 -0
  44. package/dist/classes/PropSet.d.ts +46 -0
  45. package/dist/classes/PropSet.d.ts.map +1 -0
  46. package/dist/classes/PropSet.js +67 -0
  47. package/dist/classes/Vehicle.d.ts +1188 -0
  48. package/dist/classes/Vehicle.d.ts.map +1 -0
  49. package/dist/classes/Vehicle.js +1652 -0
  50. package/dist/classes/VehicleModel.d.ts +11 -0
  51. package/dist/classes/VehicleModel.d.ts.map +1 -0
  52. package/dist/classes/VehicleModel.js +15 -0
  53. package/dist/classes/VehicleTask.d.ts +87 -0
  54. package/dist/classes/VehicleTask.d.ts.map +1 -0
  55. package/dist/classes/VehicleTask.js +118 -0
  56. package/dist/classes/Volume.d.ts +142 -0
  57. package/dist/classes/Volume.d.ts.map +1 -0
  58. package/dist/classes/Volume.js +194 -0
  59. package/dist/classes/Weapon.d.ts +690 -0
  60. package/dist/classes/Weapon.d.ts.map +1 -0
  61. package/dist/classes/Weapon.js +934 -0
  62. package/dist/enums/eActionDisableFlags.d.ts +38 -0
  63. package/dist/enums/eActionDisableFlags.d.ts.map +1 -0
  64. package/dist/enums/eActionDisableFlags.js +38 -0
  65. package/dist/enums/eAddItemReason.d.ts +20 -0
  66. package/dist/enums/eAddItemReason.d.ts.map +1 -0
  67. package/dist/enums/eAddItemReason.js +20 -0
  68. package/dist/enums/eAmmoType.d.ts +88 -0
  69. package/dist/enums/eAmmoType.d.ts.map +1 -0
  70. package/dist/enums/eAmmoType.js +88 -0
  71. package/dist/enums/eAnimalRarityLevel.d.ts +7 -0
  72. package/dist/enums/eAnimalRarityLevel.d.ts.map +1 -0
  73. package/dist/enums/eAnimalRarityLevel.js +7 -0
  74. package/dist/enums/eAttributeCore.d.ts +6 -0
  75. package/dist/enums/eAttributeCore.d.ts.map +1 -0
  76. package/dist/enums/eAttributeCore.js +6 -0
  77. package/dist/enums/eCarryingFlags.d.ts +43 -0
  78. package/dist/enums/eCarryingFlags.d.ts.map +1 -0
  79. package/dist/enums/eCarryingFlags.js +43 -0
  80. package/dist/enums/eCrimeType.d.ts +61 -0
  81. package/dist/enums/eCrimeType.d.ts.map +1 -0
  82. package/dist/enums/eCrimeType.js +61 -0
  83. package/dist/enums/eDispatchType.d.ts +20 -0
  84. package/dist/enums/eDispatchType.d.ts.map +1 -0
  85. package/dist/enums/eDispatchType.js +20 -0
  86. package/dist/enums/eDoorId.d.ts +16 -0
  87. package/dist/enums/eDoorId.d.ts.map +1 -0
  88. package/dist/enums/eDoorId.js +16 -0
  89. package/dist/enums/eEnterExitVehicleFlags.d.ts +32 -0
  90. package/dist/enums/eEnterExitVehicleFlags.d.ts.map +1 -0
  91. package/dist/enums/eEnterExitVehicleFlags.js +32 -0
  92. package/dist/enums/eEulerRotationOrder.d.ts +9 -0
  93. package/dist/enums/eEulerRotationOrder.d.ts.map +1 -0
  94. package/dist/enums/eEulerRotationOrder.js +9 -0
  95. package/dist/enums/eExplosionTag.d.ts +40 -0
  96. package/dist/enums/eExplosionTag.d.ts.map +1 -0
  97. package/dist/enums/eExplosionTag.js +40 -0
  98. package/dist/enums/eFleeStyle.d.ts +16 -0
  99. package/dist/enums/eFleeStyle.d.ts.map +1 -0
  100. package/dist/enums/eFleeStyle.js +16 -0
  101. package/dist/enums/eIkControlFlags.d.ts +34 -0
  102. package/dist/enums/eIkControlFlags.d.ts.map +1 -0
  103. package/dist/enums/eIkControlFlags.js +34 -0
  104. package/dist/enums/eInventoryItemSound.d.ts +6 -0
  105. package/dist/enums/eInventoryItemSound.d.ts.map +1 -0
  106. package/dist/enums/eInventoryItemSound.js +6 -0
  107. package/dist/enums/eLookIntensity.d.ts +7 -0
  108. package/dist/enums/eLookIntensity.d.ts.map +1 -0
  109. package/dist/enums/eLookIntensity.js +7 -0
  110. package/dist/enums/eLookReturnAnimation.d.ts +6 -0
  111. package/dist/enums/eLookReturnAnimation.d.ts.map +1 -0
  112. package/dist/enums/eLookReturnAnimation.js +6 -0
  113. package/dist/enums/eLootingFlags.d.ts +32 -0
  114. package/dist/enums/eLootingFlags.d.ts.map +1 -0
  115. package/dist/enums/eLootingFlags.js +32 -0
  116. package/dist/enums/eMetaPedExpressions.d.ts +118 -0
  117. package/dist/enums/eMetaPedExpressions.d.ts.map +1 -0
  118. package/dist/enums/eMetaPedExpressions.js +118 -0
  119. package/dist/enums/eMotivationState.d.ts +14 -0
  120. package/dist/enums/eMotivationState.d.ts.map +1 -0
  121. package/dist/enums/eMotivationState.js +14 -0
  122. package/dist/enums/ePedAttribute.d.ts +26 -0
  123. package/dist/enums/ePedAttribute.d.ts.map +1 -0
  124. package/dist/enums/ePedAttribute.js +26 -0
  125. package/dist/enums/ePedCombatAbility.d.ts +7 -0
  126. package/dist/enums/ePedCombatAbility.d.ts.map +1 -0
  127. package/dist/enums/ePedCombatAbility.js +7 -0
  128. package/dist/enums/ePedCombatMovement.d.ts +8 -0
  129. package/dist/enums/ePedCombatMovement.d.ts.map +1 -0
  130. package/dist/enums/ePedCombatMovement.js +8 -0
  131. package/dist/enums/ePedCombatRange.d.ts +9 -0
  132. package/dist/enums/ePedCombatRange.d.ts.map +1 -0
  133. package/dist/enums/ePedCombatRange.js +9 -0
  134. package/dist/enums/ePedDamageCleanliness.d.ts +6 -0
  135. package/dist/enums/ePedDamageCleanliness.d.ts.map +1 -0
  136. package/dist/enums/ePedDamageCleanliness.js +6 -0
  137. package/dist/enums/ePedMood.d.ts +13 -0
  138. package/dist/enums/ePedMood.d.ts.map +1 -0
  139. package/dist/enums/ePedMood.js +13 -0
  140. package/dist/enums/ePedQuality.d.ts +8 -0
  141. package/dist/enums/ePedQuality.d.ts.map +1 -0
  142. package/dist/enums/ePedQuality.js +8 -0
  143. package/dist/enums/ePedScriptConfigFlags.d.ts +604 -0
  144. package/dist/enums/ePedScriptConfigFlags.d.ts.map +1 -0
  145. package/dist/enums/ePedScriptConfigFlags.js +604 -0
  146. package/dist/enums/ePlacementFlag.d.ts +27 -0
  147. package/dist/enums/ePlacementFlag.d.ts.map +1 -0
  148. package/dist/enums/ePlacementFlag.js +27 -0
  149. package/dist/enums/eRagdollBlockingFlags.d.ts +23 -0
  150. package/dist/enums/eRagdollBlockingFlags.d.ts.map +1 -0
  151. package/dist/enums/eRagdollBlockingFlags.js +23 -0
  152. package/dist/enums/eRemoveItemReason.d.ts +19 -0
  153. package/dist/enums/eRemoveItemReason.d.ts.map +1 -0
  154. package/dist/enums/eRemoveItemReason.js +19 -0
  155. package/dist/enums/eSavegameType.d.ts +16 -0
  156. package/dist/enums/eSavegameType.d.ts.map +1 -0
  157. package/dist/enums/eSavegameType.js +16 -0
  158. package/dist/enums/eScenarioBlockingFlags.d.ts +11 -0
  159. package/dist/enums/eScenarioBlockingFlags.d.ts.map +1 -0
  160. package/dist/enums/eScenarioBlockingFlags.js +11 -0
  161. package/dist/enums/eScriptedAnimFlags.d.ts +35 -0
  162. package/dist/enums/eScriptedAnimFlags.d.ts.map +1 -0
  163. package/dist/enums/eScriptedAnimFlags.js +35 -0
  164. package/dist/enums/eSessionFlags.d.ts +16 -0
  165. package/dist/enums/eSessionFlags.d.ts.map +1 -0
  166. package/dist/enums/eSessionFlags.js +16 -0
  167. package/dist/enums/eTargetingMode.d.ts +8 -0
  168. package/dist/enums/eTargetingMode.d.ts.map +1 -0
  169. package/dist/enums/eTargetingMode.js +8 -0
  170. package/dist/enums/eUIFeedChannel.d.ts +18 -0
  171. package/dist/enums/eUIFeedChannel.d.ts.map +1 -0
  172. package/dist/enums/eUIFeedChannel.js +18 -0
  173. package/dist/enums/eUiRpgStatusEffect.d.ts +19 -0
  174. package/dist/enums/eUiRpgStatusEffect.d.ts.map +1 -0
  175. package/dist/enums/eUiRpgStatusEffect.js +19 -0
  176. package/dist/enums/eVehicleSeat.d.ts +15 -0
  177. package/dist/enums/eVehicleSeat.d.ts.map +1 -0
  178. package/dist/enums/eVehicleSeat.js +15 -0
  179. package/dist/enums/eWeaponAttachPoint.d.ts +36 -0
  180. package/dist/enums/eWeaponAttachPoint.d.ts.map +1 -0
  181. package/dist/enums/eWeaponAttachPoint.js +36 -0
  182. package/dist/enums/eWeaponHash.d.ts +175 -0
  183. package/dist/enums/eWeaponHash.d.ts.map +1 -0
  184. package/dist/enums/eWeaponHash.js +175 -0
  185. package/dist/enums/naSpeechEventType.d.ts +57 -0
  186. package/dist/enums/naSpeechEventType.d.ts.map +1 -0
  187. package/dist/enums/naSpeechEventType.js +57 -0
  188. package/dist/index.d.ts +156 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +158 -0
  191. package/dist/namespaces/Aicoverpoint.d.ts +95 -0
  192. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -0
  193. package/dist/namespaces/Aicoverpoint.js +131 -0
  194. package/dist/namespaces/Aitransport.d.ts +197 -0
  195. package/dist/namespaces/Aitransport.d.ts.map +1 -0
  196. package/dist/namespaces/Aitransport.js +246 -0
  197. package/dist/namespaces/Animscene.d.ts +174 -0
  198. package/dist/namespaces/Animscene.d.ts.map +1 -0
  199. package/dist/namespaces/Animscene.js +222 -0
  200. package/dist/namespaces/Attribute.d.ts +171 -0
  201. package/dist/namespaces/Attribute.d.ts.map +1 -0
  202. package/dist/namespaces/Attribute.js +222 -0
  203. package/dist/namespaces/Audio.d.ts +1255 -0
  204. package/dist/namespaces/Audio.d.ts.map +1 -0
  205. package/dist/namespaces/Audio.js +1695 -0
  206. package/dist/namespaces/Badsport.d.ts +8 -0
  207. package/dist/namespaces/Badsport.d.ts.map +1 -0
  208. package/dist/namespaces/Badsport.js +11 -0
  209. package/dist/namespaces/Bounty.d.ts +154 -0
  210. package/dist/namespaces/Bounty.d.ts.map +1 -0
  211. package/dist/namespaces/Bounty.js +248 -0
  212. package/dist/namespaces/Brain.d.ts +75 -0
  213. package/dist/namespaces/Brain.d.ts.map +1 -0
  214. package/dist/namespaces/Brain.js +98 -0
  215. package/dist/namespaces/Builtin.d.ts +137 -0
  216. package/dist/namespaces/Builtin.d.ts.map +1 -0
  217. package/dist/namespaces/Builtin.js +180 -0
  218. package/dist/namespaces/CamStatics.d.ts +972 -0
  219. package/dist/namespaces/CamStatics.d.ts.map +1 -0
  220. package/dist/namespaces/CamStatics.js +1360 -0
  221. package/dist/namespaces/Clock.d.ts +108 -0
  222. package/dist/namespaces/Clock.d.ts.map +1 -0
  223. package/dist/namespaces/Clock.js +149 -0
  224. package/dist/namespaces/Collection.d.ts +201 -0
  225. package/dist/namespaces/Collection.d.ts.map +1 -0
  226. package/dist/namespaces/Collection.js +263 -0
  227. package/dist/namespaces/Companion.d.ts +143 -0
  228. package/dist/namespaces/Companion.d.ts.map +1 -0
  229. package/dist/namespaces/Companion.js +191 -0
  230. package/dist/namespaces/Compapp.d.ts +34 -0
  231. package/dist/namespaces/Compapp.d.ts.map +1 -0
  232. package/dist/namespaces/Compapp.js +44 -0
  233. package/dist/namespaces/Compendium.d.ts +195 -0
  234. package/dist/namespaces/Compendium.d.ts.map +1 -0
  235. package/dist/namespaces/Compendium.js +261 -0
  236. package/dist/namespaces/Crashlog.d.ts +63 -0
  237. package/dist/namespaces/Crashlog.d.ts.map +1 -0
  238. package/dist/namespaces/Crashlog.js +88 -0
  239. package/dist/namespaces/Crew.d.ts +85 -0
  240. package/dist/namespaces/Crew.d.ts.map +1 -0
  241. package/dist/namespaces/Crew.js +127 -0
  242. package/dist/namespaces/Databinding.d.ts +500 -0
  243. package/dist/namespaces/Databinding.d.ts.map +1 -0
  244. package/dist/namespaces/Databinding.js +667 -0
  245. package/dist/namespaces/Datafile.d.ts +344 -0
  246. package/dist/namespaces/Datafile.d.ts.map +1 -0
  247. package/dist/namespaces/Datafile.js +495 -0
  248. package/dist/namespaces/Debug.d.ts +21 -0
  249. package/dist/namespaces/Debug.d.ts.map +1 -0
  250. package/dist/namespaces/Debug.js +27 -0
  251. package/dist/namespaces/Decorator.d.ts +105 -0
  252. package/dist/namespaces/Decorator.d.ts.map +1 -0
  253. package/dist/namespaces/Decorator.js +134 -0
  254. package/dist/namespaces/Dlc.d.ts +20 -0
  255. package/dist/namespaces/Dlc.d.ts.map +1 -0
  256. package/dist/namespaces/Dlc.js +28 -0
  257. package/dist/namespaces/EntityStatics.d.ts +520 -0
  258. package/dist/namespaces/EntityStatics.d.ts.map +1 -0
  259. package/dist/namespaces/EntityStatics.js +679 -0
  260. package/dist/namespaces/Event.d.ts +267 -0
  261. package/dist/namespaces/Event.d.ts.map +1 -0
  262. package/dist/namespaces/Event.js +340 -0
  263. package/dist/namespaces/Fire.d.ts +233 -0
  264. package/dist/namespaces/Fire.d.ts.map +1 -0
  265. package/dist/namespaces/Fire.js +288 -0
  266. package/dist/namespaces/Flock.d.ts +306 -0
  267. package/dist/namespaces/Flock.d.ts.map +1 -0
  268. package/dist/namespaces/Flock.js +396 -0
  269. package/dist/namespaces/Gang.d.ts +211 -0
  270. package/dist/namespaces/Gang.d.ts.map +1 -0
  271. package/dist/namespaces/Gang.js +297 -0
  272. package/dist/namespaces/GoogleAnalytics.d.ts +23 -0
  273. package/dist/namespaces/GoogleAnalytics.d.ts.map +1 -0
  274. package/dist/namespaces/GoogleAnalytics.js +31 -0
  275. package/dist/namespaces/Graphics.d.ts +1598 -0
  276. package/dist/namespaces/Graphics.d.ts.map +1 -0
  277. package/dist/namespaces/Graphics.js +2131 -0
  278. package/dist/namespaces/Hud.d.ts +1058 -0
  279. package/dist/namespaces/Hud.d.ts.map +1 -0
  280. package/dist/namespaces/Hud.js +1443 -0
  281. package/dist/namespaces/Ik.d.ts +33 -0
  282. package/dist/namespaces/Ik.d.ts.map +1 -0
  283. package/dist/namespaces/Ik.js +44 -0
  284. package/dist/namespaces/Interaction.d.ts +40 -0
  285. package/dist/namespaces/Interaction.d.ts.map +1 -0
  286. package/dist/namespaces/Interaction.js +52 -0
  287. package/dist/namespaces/InteriorStatics.d.ts +97 -0
  288. package/dist/namespaces/InteriorStatics.d.ts.map +1 -0
  289. package/dist/namespaces/InteriorStatics.js +129 -0
  290. package/dist/namespaces/Inventory.d.ts +597 -0
  291. package/dist/namespaces/Inventory.d.ts.map +1 -0
  292. package/dist/namespaces/Inventory.js +807 -0
  293. package/dist/namespaces/Itemdatabase.d.ts +526 -0
  294. package/dist/namespaces/Itemdatabase.d.ts.map +1 -0
  295. package/dist/namespaces/Itemdatabase.js +739 -0
  296. package/dist/namespaces/Itemset.d.ts +39 -0
  297. package/dist/namespaces/Itemset.d.ts.map +1 -0
  298. package/dist/namespaces/Itemset.js +50 -0
  299. package/dist/namespaces/Law.d.ts +756 -0
  300. package/dist/namespaces/Law.d.ts.map +1 -0
  301. package/dist/namespaces/Law.js +1007 -0
  302. package/dist/namespaces/Localization.d.ts +42 -0
  303. package/dist/namespaces/Localization.d.ts.map +1 -0
  304. package/dist/namespaces/Localization.js +50 -0
  305. package/dist/namespaces/Map.d.ts +473 -0
  306. package/dist/namespaces/Map.d.ts.map +1 -0
  307. package/dist/namespaces/Map.js +641 -0
  308. package/dist/namespaces/Minigame.d.ts +245 -0
  309. package/dist/namespaces/Minigame.d.ts.map +1 -0
  310. package/dist/namespaces/Minigame.js +342 -0
  311. package/dist/namespaces/Misc.d.ts +1704 -0
  312. package/dist/namespaces/Misc.d.ts.map +1 -0
  313. package/dist/namespaces/Misc.js +2302 -0
  314. package/dist/namespaces/Missiondata.d.ts +100 -0
  315. package/dist/namespaces/Missiondata.d.ts.map +1 -0
  316. package/dist/namespaces/Missiondata.js +136 -0
  317. package/dist/namespaces/Money.d.ts +43 -0
  318. package/dist/namespaces/Money.d.ts.map +1 -0
  319. package/dist/namespaces/Money.js +58 -0
  320. package/dist/namespaces/Netshopping.d.ts +154 -0
  321. package/dist/namespaces/Netshopping.d.ts.map +1 -0
  322. package/dist/namespaces/Netshopping.js +216 -0
  323. package/dist/namespaces/Network.d.ts +3022 -0
  324. package/dist/namespaces/Network.d.ts.map +1 -0
  325. package/dist/namespaces/Network.js +4230 -0
  326. package/dist/namespaces/Object.d.ts +594 -0
  327. package/dist/namespaces/Object.d.ts.map +1 -0
  328. package/dist/namespaces/Object.js +780 -0
  329. package/dist/namespaces/Pad.d.ts +249 -0
  330. package/dist/namespaces/Pad.d.ts.map +1 -0
  331. package/dist/namespaces/Pad.js +328 -0
  332. package/dist/namespaces/Pathfind.d.ts +545 -0
  333. package/dist/namespaces/Pathfind.d.ts.map +1 -0
  334. package/dist/namespaces/Pathfind.js +704 -0
  335. package/dist/namespaces/PedStatics.d.ts +1738 -0
  336. package/dist/namespaces/PedStatics.d.ts.map +1 -0
  337. package/dist/namespaces/PedStatics.js +2296 -0
  338. package/dist/namespaces/Perschar.d.ts +179 -0
  339. package/dist/namespaces/Perschar.d.ts.map +1 -0
  340. package/dist/namespaces/Perschar.js +251 -0
  341. package/dist/namespaces/Persistence.d.ts +116 -0
  342. package/dist/namespaces/Persistence.d.ts.map +1 -0
  343. package/dist/namespaces/Persistence.js +158 -0
  344. package/dist/namespaces/Physics.d.ts +491 -0
  345. package/dist/namespaces/Physics.d.ts.map +1 -0
  346. package/dist/namespaces/Physics.js +637 -0
  347. package/dist/namespaces/PlayerStatics.d.ts +850 -0
  348. package/dist/namespaces/PlayerStatics.d.ts.map +1 -0
  349. package/dist/namespaces/PlayerStatics.js +1147 -0
  350. package/dist/namespaces/Population.d.ts +188 -0
  351. package/dist/namespaces/Population.d.ts.map +1 -0
  352. package/dist/namespaces/Population.js +247 -0
  353. package/dist/namespaces/Posse.d.ts +168 -0
  354. package/dist/namespaces/Posse.d.ts.map +1 -0
  355. package/dist/namespaces/Posse.js +230 -0
  356. package/dist/namespaces/Propset.d.ts +196 -0
  357. package/dist/namespaces/Propset.d.ts.map +1 -0
  358. package/dist/namespaces/Propset.js +249 -0
  359. package/dist/namespaces/Queue.d.ts +12 -0
  360. package/dist/namespaces/Queue.d.ts.map +1 -0
  361. package/dist/namespaces/Queue.js +16 -0
  362. package/dist/namespaces/Recording.d.ts +7 -0
  363. package/dist/namespaces/Recording.d.ts.map +1 -0
  364. package/dist/namespaces/Recording.js +9 -0
  365. package/dist/namespaces/Replay.d.ts +32 -0
  366. package/dist/namespaces/Replay.d.ts.map +1 -0
  367. package/dist/namespaces/Replay.js +42 -0
  368. package/dist/namespaces/Save.d.ts +122 -0
  369. package/dist/namespaces/Save.d.ts.map +1 -0
  370. package/dist/namespaces/Save.js +178 -0
  371. package/dist/namespaces/Scripts.d.ts +506 -0
  372. package/dist/namespaces/Scripts.d.ts.map +1 -0
  373. package/dist/namespaces/Scripts.js +716 -0
  374. package/dist/namespaces/Shapetest.d.ts +87 -0
  375. package/dist/namespaces/Shapetest.d.ts.map +1 -0
  376. package/dist/namespaces/Shapetest.js +105 -0
  377. package/dist/namespaces/Socialclub.d.ts +188 -0
  378. package/dist/namespaces/Socialclub.d.ts.map +1 -0
  379. package/dist/namespaces/Socialclub.js +262 -0
  380. package/dist/namespaces/Socialclubfeed.d.ts +13 -0
  381. package/dist/namespaces/Socialclubfeed.d.ts.map +1 -0
  382. package/dist/namespaces/Socialclubfeed.js +17 -0
  383. package/dist/namespaces/Spactionproxy.d.ts +29 -0
  384. package/dist/namespaces/Spactionproxy.d.ts.map +1 -0
  385. package/dist/namespaces/Spactionproxy.js +43 -0
  386. package/dist/namespaces/Stats.d.ts +537 -0
  387. package/dist/namespaces/Stats.d.ts.map +1 -0
  388. package/dist/namespaces/Stats.js +740 -0
  389. package/dist/namespaces/Streaming.d.ts +356 -0
  390. package/dist/namespaces/Streaming.d.ts.map +1 -0
  391. package/dist/namespaces/Streaming.js +531 -0
  392. package/dist/namespaces/Task.d.ts +1506 -0
  393. package/dist/namespaces/Task.d.ts.map +1 -0
  394. package/dist/namespaces/Task.js +2024 -0
  395. package/dist/namespaces/Telemetry.d.ts +507 -0
  396. package/dist/namespaces/Telemetry.d.ts.map +1 -0
  397. package/dist/namespaces/Telemetry.js +670 -0
  398. package/dist/namespaces/Txd.d.ts +41 -0
  399. package/dist/namespaces/Txd.d.ts.map +1 -0
  400. package/dist/namespaces/Txd.js +57 -0
  401. package/dist/namespaces/Uiapps.d.ts +88 -0
  402. package/dist/namespaces/Uiapps.d.ts.map +1 -0
  403. package/dist/namespaces/Uiapps.js +126 -0
  404. package/dist/namespaces/Uidebug.d.ts +23 -0
  405. package/dist/namespaces/Uidebug.d.ts.map +1 -0
  406. package/dist/namespaces/Uidebug.js +27 -0
  407. package/dist/namespaces/Uievents.d.ts +37 -0
  408. package/dist/namespaces/Uievents.d.ts.map +1 -0
  409. package/dist/namespaces/Uievents.js +47 -0
  410. package/dist/namespaces/Uifeed.d.ts +178 -0
  411. package/dist/namespaces/Uifeed.d.ts.map +1 -0
  412. package/dist/namespaces/Uifeed.js +252 -0
  413. package/dist/namespaces/Uilog.d.ts +161 -0
  414. package/dist/namespaces/Uilog.d.ts.map +1 -0
  415. package/dist/namespaces/Uilog.js +221 -0
  416. package/dist/namespaces/Uipinning.d.ts +8 -0
  417. package/dist/namespaces/Uipinning.d.ts.map +1 -0
  418. package/dist/namespaces/Uipinning.js +10 -0
  419. package/dist/namespaces/Uistatemachine.d.ts +63 -0
  420. package/dist/namespaces/Uistatemachine.d.ts.map +1 -0
  421. package/dist/namespaces/Uistatemachine.js +88 -0
  422. package/dist/namespaces/Uistickyfeed.d.ts +55 -0
  423. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -0
  424. package/dist/namespaces/Uistickyfeed.js +75 -0
  425. package/dist/namespaces/Uitutorial.d.ts +38 -0
  426. package/dist/namespaces/Uitutorial.d.ts.map +1 -0
  427. package/dist/namespaces/Uitutorial.js +44 -0
  428. package/dist/namespaces/Unlock.d.ts +49 -0
  429. package/dist/namespaces/Unlock.d.ts.map +1 -0
  430. package/dist/namespaces/Unlock.js +68 -0
  431. package/dist/namespaces/VehicleStatics.d.ts +925 -0
  432. package/dist/namespaces/VehicleStatics.d.ts.map +1 -0
  433. package/dist/namespaces/VehicleStatics.js +1241 -0
  434. package/dist/namespaces/Voice.d.ts +110 -0
  435. package/dist/namespaces/Voice.d.ts.map +1 -0
  436. package/dist/namespaces/Voice.js +158 -0
  437. package/dist/namespaces/VolumeStatics.d.ts +393 -0
  438. package/dist/namespaces/VolumeStatics.d.ts.map +1 -0
  439. package/dist/namespaces/VolumeStatics.js +506 -0
  440. package/dist/namespaces/Water.d.ts +115 -0
  441. package/dist/namespaces/Water.d.ts.map +1 -0
  442. package/dist/namespaces/Water.js +151 -0
  443. package/dist/namespaces/WeaponStatics.d.ts +638 -0
  444. package/dist/namespaces/WeaponStatics.d.ts.map +1 -0
  445. package/dist/namespaces/WeaponStatics.js +848 -0
  446. package/dist/namespaces/Zone.d.ts +39 -0
  447. package/dist/namespaces/Zone.d.ts.map +1 -0
  448. package/dist/namespaces/Zone.js +42 -0
  449. package/dist/structs/BufferedClass.d.ts +6 -0
  450. package/dist/structs/BufferedClass.d.ts.map +1 -0
  451. package/dist/structs/BufferedClass.js +12 -0
  452. package/dist/structs/HorsePeltIn.d.ts +17 -0
  453. package/dist/structs/HorsePeltIn.d.ts.map +1 -0
  454. package/dist/structs/HorsePeltIn.js +24 -0
  455. package/dist/structs/HorsePeltOut.d.ts +9 -0
  456. package/dist/structs/HorsePeltOut.d.ts.map +1 -0
  457. package/dist/structs/HorsePeltOut.js +16 -0
  458. package/dist/types/BufferedClass.d.ts +6 -0
  459. package/dist/types/BufferedClass.d.ts.map +1 -0
  460. package/dist/types/BufferedClass.js +12 -0
  461. package/dist/types/Color.d.ts +12 -0
  462. package/dist/types/Color.d.ts.map +1 -0
  463. package/dist/types/Color.js +24 -0
  464. package/dist/types/HandleRegistry.d.ts +7 -0
  465. package/dist/types/HandleRegistry.d.ts.map +1 -0
  466. package/dist/types/HandleRegistry.js +8 -0
  467. package/dist/types/IHandle.d.ts +4 -0
  468. package/dist/types/IHandle.d.ts.map +1 -0
  469. package/dist/types/IHandle.js +1 -0
  470. package/dist/types/NativeAliases.d.ts +21 -0
  471. package/dist/types/NativeAliases.d.ts.map +1 -0
  472. package/dist/types/NativeAliases.js +12 -0
  473. package/dist/types/Vector2.d.ts +14 -0
  474. package/dist/types/Vector2.d.ts.map +1 -0
  475. package/dist/types/Vector2.js +33 -0
  476. package/dist/types/Vector3.d.ts +15 -0
  477. package/dist/types/Vector3.d.ts.map +1 -0
  478. package/dist/types/Vector3.js +34 -0
  479. package/dist/types/Vector4.d.ts +16 -0
  480. package/dist/types/Vector4.d.ts.map +1 -0
  481. package/dist/types/Vector4.js +35 -0
  482. package/package.json +37 -0
  483. package/src/classes/AnimScene.ts +595 -0
  484. package/src/classes/BaseModel.ts +189 -0
  485. package/src/classes/BaseTask.ts +154 -0
  486. package/src/classes/Cam.ts +342 -0
  487. package/src/classes/Entity.ts +1681 -0
  488. package/src/classes/Interior.ts +115 -0
  489. package/src/classes/ItemSet.ts +44 -0
  490. package/src/classes/Ped.ts +6472 -0
  491. package/src/classes/PedModel.ts +20 -0
  492. package/src/classes/PedTask.ts +3644 -0
  493. package/src/classes/PersChar.ts +92 -0
  494. package/src/classes/Pickup.ts +58 -0
  495. package/src/classes/Player.ts +2063 -0
  496. package/src/classes/Prop.ts +423 -0
  497. package/src/classes/PropSet.ts +84 -0
  498. package/src/classes/Vehicle.ts +1894 -0
  499. package/src/classes/VehicleModel.ts +22 -0
  500. package/src/classes/VehicleTask.ts +143 -0
  501. package/src/classes/Volume.ts +225 -0
  502. package/src/classes/Weapon.ts +1063 -0
  503. package/src/enums/eActionDisableFlags.ts +37 -0
  504. package/src/enums/eAddItemReason.ts +19 -0
  505. package/src/enums/eAmmoType.ts +87 -0
  506. package/src/enums/eAnimalRarityLevel.ts +6 -0
  507. package/src/enums/eAttributeCore.ts +5 -0
  508. package/src/enums/eCarryingFlags.ts +42 -0
  509. package/src/enums/eCrimeType.ts +60 -0
  510. package/src/enums/eDispatchType.ts +19 -0
  511. package/src/enums/eDoorId.ts +15 -0
  512. package/src/enums/eEnterExitVehicleFlags.ts +31 -0
  513. package/src/enums/eEulerRotationOrder.ts +8 -0
  514. package/src/enums/eExplosionTag.ts +39 -0
  515. package/src/enums/eFleeStyle.ts +15 -0
  516. package/src/enums/eIkControlFlags.ts +33 -0
  517. package/src/enums/eInventoryItemSound.ts +5 -0
  518. package/src/enums/eLookIntensity.ts +6 -0
  519. package/src/enums/eLookReturnAnimation.ts +5 -0
  520. package/src/enums/eLootingFlags.ts +31 -0
  521. package/src/enums/eMetaPedExpressions.ts +117 -0
  522. package/src/enums/eMotivationState.ts +13 -0
  523. package/src/enums/ePedAttribute.ts +25 -0
  524. package/src/enums/ePedCombatAbility.ts +6 -0
  525. package/src/enums/ePedCombatMovement.ts +7 -0
  526. package/src/enums/ePedCombatRange.ts +8 -0
  527. package/src/enums/ePedDamageCleanliness.ts +5 -0
  528. package/src/enums/ePedMood.ts +12 -0
  529. package/src/enums/ePedQuality.ts +7 -0
  530. package/src/enums/ePedScriptConfigFlags.ts +603 -0
  531. package/src/enums/ePlacementFlag.ts +26 -0
  532. package/src/enums/eRagdollBlockingFlags.ts +22 -0
  533. package/src/enums/eRemoveItemReason.ts +18 -0
  534. package/src/enums/eSavegameType.ts +15 -0
  535. package/src/enums/eScenarioBlockingFlags.ts +10 -0
  536. package/src/enums/eScriptedAnimFlags.ts +34 -0
  537. package/src/enums/eSessionFlags.ts +15 -0
  538. package/src/enums/eTargetingMode.ts +7 -0
  539. package/src/enums/eUIFeedChannel.ts +17 -0
  540. package/src/enums/eUiRpgStatusEffect.ts +18 -0
  541. package/src/enums/eVehicleSeat.ts +14 -0
  542. package/src/enums/eWeaponAttachPoint.ts +35 -0
  543. package/src/enums/eWeaponHash.ts +174 -0
  544. package/src/enums/naSpeechEventType.ts +56 -0
  545. package/src/index.ts +164 -0
  546. package/src/namespaces/Aicoverpoint.ts +157 -0
  547. package/src/namespaces/Aitransport.ts +278 -0
  548. package/src/namespaces/Animscene.ts +255 -0
  549. package/src/namespaces/Attribute.ts +258 -0
  550. package/src/namespaces/Audio.ts +1925 -0
  551. package/src/namespaces/Badsport.ts +18 -0
  552. package/src/namespaces/Bounty.ts +289 -0
  553. package/src/namespaces/Brain.ts +115 -0
  554. package/src/namespaces/Builtin.ts +208 -0
  555. package/src/namespaces/CamStatics.ts +1563 -0
  556. package/src/namespaces/Clock.ts +174 -0
  557. package/src/namespaces/Collection.ts +299 -0
  558. package/src/namespaces/Companion.ts +224 -0
  559. package/src/namespaces/Compapp.ts +55 -0
  560. package/src/namespaces/Compendium.ts +302 -0
  561. package/src/namespaces/Crashlog.ts +107 -0
  562. package/src/namespaces/Crew.ts +151 -0
  563. package/src/namespaces/Databinding.ts +756 -0
  564. package/src/namespaces/Datafile.ts +559 -0
  565. package/src/namespaces/Debug.ts +36 -0
  566. package/src/namespaces/Decorator.ts +156 -0
  567. package/src/namespaces/Dlc.ts +38 -0
  568. package/src/namespaces/EntityStatics.ts +769 -0
  569. package/src/namespaces/Event.ts +388 -0
  570. package/src/namespaces/Fire.ts +325 -0
  571. package/src/namespaces/Flock.ts +450 -0
  572. package/src/namespaces/Gang.ts +345 -0
  573. package/src/namespaces/GoogleAnalytics.ts +41 -0
  574. package/src/namespaces/Graphics.ts +2412 -0
  575. package/src/namespaces/Hud.ts +1648 -0
  576. package/src/namespaces/Ik.ts +56 -0
  577. package/src/namespaces/Interaction.ts +64 -0
  578. package/src/namespaces/InteriorStatics.ts +153 -0
  579. package/src/namespaces/Inventory.ts +902 -0
  580. package/src/namespaces/Itemdatabase.ts +829 -0
  581. package/src/namespaces/Itemset.ts +64 -0
  582. package/src/namespaces/Law.ts +1142 -0
  583. package/src/namespaces/Localization.ts +60 -0
  584. package/src/namespaces/Map.ts +736 -0
  585. package/src/namespaces/Minigame.ts +396 -0
  586. package/src/namespaces/Misc.ts +2603 -0
  587. package/src/namespaces/Missiondata.ts +160 -0
  588. package/src/namespaces/Money.ts +73 -0
  589. package/src/namespaces/Netshopping.ts +248 -0
  590. package/src/namespaces/Network.ts +4813 -0
  591. package/src/namespaces/Object.ts +881 -0
  592. package/src/namespaces/Pad.ts +374 -0
  593. package/src/namespaces/Pathfind.ts +788 -0
  594. package/src/namespaces/PedStatics.ts +2584 -0
  595. package/src/namespaces/Perschar.ts +295 -0
  596. package/src/namespaces/Persistence.ts +187 -0
  597. package/src/namespaces/Physics.ts +717 -0
  598. package/src/namespaces/PlayerStatics.ts +1306 -0
  599. package/src/namespaces/Population.ts +287 -0
  600. package/src/namespaces/Posse.ts +267 -0
  601. package/src/namespaces/Propset.ts +285 -0
  602. package/src/namespaces/Queue.ts +24 -0
  603. package/src/namespaces/Recording.ts +16 -0
  604. package/src/namespaces/Replay.ts +53 -0
  605. package/src/namespaces/Save.ts +208 -0
  606. package/src/namespaces/Scripts.ts +816 -0
  607. package/src/namespaces/Shapetest.ts +119 -0
  608. package/src/namespaces/Socialclub.ts +301 -0
  609. package/src/namespaces/Socialclubfeed.ts +25 -0
  610. package/src/namespaces/Spactionproxy.ts +55 -0
  611. package/src/namespaces/Stats.ts +843 -0
  612. package/src/namespaces/Streaming.ts +628 -0
  613. package/src/namespaces/Task.ts +2290 -0
  614. package/src/namespaces/Telemetry.ts +755 -0
  615. package/src/namespaces/Txd.ts +71 -0
  616. package/src/namespaces/Uiapps.ts +151 -0
  617. package/src/namespaces/Uidebug.ts +36 -0
  618. package/src/namespaces/Uievents.ts +57 -0
  619. package/src/namespaces/Uifeed.ts +285 -0
  620. package/src/namespaces/Uilog.ts +257 -0
  621. package/src/namespaces/Uipinning.ts +17 -0
  622. package/src/namespaces/Uistatemachine.ts +106 -0
  623. package/src/namespaces/Uistickyfeed.ts +89 -0
  624. package/src/namespaces/Uitutorial.ts +53 -0
  625. package/src/namespaces/Unlock.ts +83 -0
  626. package/src/namespaces/VehicleStatics.ts +1410 -0
  627. package/src/namespaces/Voice.ts +189 -0
  628. package/src/namespaces/VolumeStatics.ts +569 -0
  629. package/src/namespaces/Water.ts +175 -0
  630. package/src/namespaces/WeaponStatics.ts +968 -0
  631. package/src/namespaces/Zone.ts +50 -0
  632. package/src/structs/BufferedClass.ts +14 -0
  633. package/src/structs/HorsePeltIn.ts +26 -0
  634. package/src/structs/HorsePeltOut.ts +21 -0
  635. package/src/types/BufferedClass.ts +14 -0
  636. package/src/types/Color.ts +32 -0
  637. package/src/types/HandleRegistry.ts +12 -0
  638. package/src/types/IHandle.ts +3 -0
  639. package/src/types/NativeAliases.ts +36 -0
  640. package/src/types/Vector2.ts +40 -0
  641. package/src/types/Vector3.ts +41 -0
  642. package/src/types/Vector4.ts +42 -0
@@ -0,0 +1,1894 @@
1
+ import type { eVehicleSeat } from '../enums/eVehicleSeat';
2
+ import type { Ped } from '../classes/Ped';
3
+ import type { Player } from '../classes/Player';
4
+ import type { Prop } from '../classes/Prop';
5
+ import { Vector2 } from '../types/Vector2';
6
+ import { Vector3 } from '../types/Vector3';
7
+ import { Vector4 } from '../types/Vector4';
8
+ import { Color } from '../types/Color';
9
+ import { Entity } from './Entity';
10
+ import { registerHandle, createFromHandle } from '../types/HandleRegistry';
11
+ import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f } from '../types/NativeAliases';
12
+ import { VehicleTask } from './VehicleTask';
13
+
14
+ export class Vehicle extends Entity {
15
+ static fromHandle(handle: number): Vehicle | null {
16
+ return handle === 0 ? null : new Vehicle(handle);
17
+ }
18
+
19
+ /**
20
+ * *SET_INSTANTLY** - _SET_MISSION_TRAIN*
21
+ *
22
+ * @param p1
23
+ */
24
+ N_0x6DE072AC8A95FFC1(p1: boolean): void {
25
+ inv<void>('0x6DE072AC8A95FFC1', this.handle, p1);
26
+ }
27
+
28
+ /**
29
+ * 1000 is max health
30
+ * Begins leaking gas at around 650 health
31
+ * -999.90002441406 appears to be minimum health, although nothing special occurs <- false statement Minimum: -4000
32
+ * Maximum: 1000 -4000: Engine is destroyed
33
+ * 0 and below: Engine catches fire and health rapidly declines
34
+ * 300: Engine is smoking and losing functionality
35
+ * 1000: Engine is perfect
36
+ *
37
+ * @param health
38
+ */
39
+ setEngineHealth(health: number): void {
40
+ inv<void>('0x8BDC5B998B4654EF', this.handle, f(health));
41
+ }
42
+
43
+ /**
44
+ * Apply damage to vehicle at a location. Location is relative to vehicle model (not world). Radius of effect damage applied in a sphere at impact location
45
+ *
46
+ * @param offset
47
+ * @param damage
48
+ * @param radius
49
+ * @param p6
50
+ */
51
+ setDamage(offset: Vector3, damage: number, radius: number, p6: boolean): void {
52
+ inv<void>('0x1D7678F81452BB41', this.handle, f(offset.x), f(offset.y), f(offset.z), f(damage), f(radius), p6);
53
+ }
54
+
55
+ /**
56
+ * @param p1
57
+ */
58
+ setBrokenPartsDontAffectAiHandling(p1: boolean): void {
59
+ inv<void>('0xCEC4CA2CAB8FA98C', this.handle, p1);
60
+ }
61
+
62
+ showHorseReins(): void {
63
+ inv<void>('0x41CDA90EE3450921', this.handle);
64
+ }
65
+
66
+ /**
67
+ * @param toggle
68
+ */
69
+ setDisablePetrolTankFires(toggle: boolean): void {
70
+ inv<void>('0xB70986AB19B04AFF', this.handle, toggle);
71
+ }
72
+
73
+ /**
74
+ * whistleSequence: ACKNOWLEDGE, BACKING_UP, CROSSING, DANGER, MOVING, NEXT_STATION, PASSING, STOPPED
75
+ * p2 = true seems to mute the sound
76
+ *
77
+ * @param whistleSequence
78
+ * @param p2
79
+ * @param p3
80
+ */
81
+ triggerTrainWhistle(whistleSequence: string | null, p2: boolean, p3: boolean): void {
82
+ inv<void>('0xCFE122EC635CC2B2', this.handle, whistleSequence, p2, p3);
83
+ }
84
+
85
+ /**
86
+ * @param toggle
87
+ */
88
+ setDoorsLockedForAllPlayers(toggle: boolean): void {
89
+ inv<void>('0x2381977DA948F8DC', this.handle, toggle);
90
+ }
91
+
92
+ /**
93
+ * @param p1
94
+ */
95
+ setMayBeUsedByGotoPointAnyMeans(p1: boolean): void {
96
+ inv<void>('0x7549B9E841940695', this.handle, p1);
97
+ }
98
+
99
+ /**
100
+ * Seems related to vehicle health, like the one in IV.
101
+ * Max 1000, min 0.
102
+ * Vehicle does not necessarily explode or become undrivable at 0.
103
+ *
104
+ * @returns
105
+ */
106
+ getBodyHealth(): number {
107
+ return inv<number>('0x42113B857E33C16E', this.handle, raf());
108
+ }
109
+
110
+ /**
111
+ * @returns
112
+ */
113
+ isTrainWaitingAtStation(): any {
114
+ return inv<number>('0xE887BD31D97793F6', this.handle);
115
+ }
116
+
117
+ /**
118
+ * @returns
119
+ */
120
+ getEstimatedMaxSpeed(): number {
121
+ return inv<number>('0xFE52F34491529F0B', this.handle, raf());
122
+ }
123
+
124
+ /**
125
+ * @param toggle
126
+ */
127
+ setWheelsCanBreakOffWhenBlowUp(toggle: boolean): void {
128
+ inv<void>('0xC462C79379ABBCB1', this.handle, toggle);
129
+ }
130
+
131
+ /**
132
+ * windowIndex:
133
+ * 0 = Front Right Window
134
+ * 1 = Front Left Window
135
+ * 2 = Back Right Window
136
+ * 3 = Back Left Window
137
+ *
138
+ * @param windowIndex
139
+ */
140
+ removeWindow(windowIndex: number): void {
141
+ inv<void>('0x745F15A215F2DDF1', this.handle, windowIndex);
142
+ }
143
+
144
+ /**
145
+ * Returns train car, use GET_TRAIN_CARRIAGE when trailerNumber is bigger than 0
146
+ *
147
+ * @returns
148
+ */
149
+ getTrainCar(): Entity | null {
150
+ return createFromHandle<Entity>('Entity', inv<number>('0x671A07C9A1CD50A5', this.handle, rai()));
151
+ }
152
+
153
+ /**
154
+ * @param enabled
155
+ */
156
+ setWheelsCanBreak(enabled: boolean): void {
157
+ inv<void>('0x839137C40275FB77', this.handle, enabled);
158
+ }
159
+
160
+ /**
161
+ * Requires a visibility tracker on the vehicle (TRACK_VEHICLE_VISIBILITY)
162
+ *
163
+ * @returns
164
+ */
165
+ isVisible(): boolean {
166
+ return inv<boolean>('0x424910CD5DE8C246', this.handle, rai());
167
+ }
168
+
169
+ /**
170
+ * @param toggle
171
+ */
172
+ setBoatAnchor(toggle: boolean): void {
173
+ inv<void>('0xAEAB044F05B92659', this.handle, toggle);
174
+ }
175
+
176
+ /**
177
+ * @returns
178
+ */
179
+ getTint(): number {
180
+ return inv<number>('0xA44D65E6C624526F', this.handle, rai());
181
+ }
182
+
183
+ /**
184
+ * @param toggle
185
+ */
186
+ setInactiveDuringPlayback(toggle: boolean): void {
187
+ inv<void>('0x4EA71B4C9DB3C3F1', this.handle, toggle);
188
+ }
189
+
190
+ /**
191
+ * @param doorId Refer to [enum: eDoorId]
192
+ * @param closeInstantly
193
+ */
194
+ setDoorShut(doorId: number, closeInstantly: boolean): void {
195
+ inv<void>('0x6A3C24B91FD0EA09', this.handle, doorId, closeInstantly);
196
+ }
197
+
198
+ /**
199
+ * Makes the vehicle accept no passengers.
200
+ *
201
+ * @param toggle
202
+ */
203
+ setAllowNoPassengersLockon(toggle: boolean): void {
204
+ inv<void>('0xECB9E9BC887E8060', this.handle, toggle);
205
+ }
206
+
207
+ /**
208
+ * @param index
209
+ * @returns
210
+ */
211
+ getBreakableLockObject(index: number): Prop | null {
212
+ return createFromHandle<Prop>('Prop', inv<number>('0x58F2244C1286D09A', this.handle, index, rai()));
213
+ }
214
+
215
+ /**
216
+ * @returns
217
+ */
218
+ isOnFire(): any {
219
+ return inv<number>('0x0E3BF7ED4169EC43', this.handle);
220
+ }
221
+
222
+ /**
223
+ * Used in Script Function MC_LOCAL_SETUP_VEH - enabling transitions
224
+ *
225
+ * @param p1
226
+ */
227
+ N_0xC325A6BAA62CF8A2(p1: boolean): void {
228
+ inv<void>('0xC325A6BAA62CF8A2', this.handle, p1);
229
+ }
230
+
231
+ /**
232
+ * flags = 0: DEFAULT; 1: KEEP_OLD_SPEED
233
+ *
234
+ * @param flags
235
+ */
236
+ setMissionTrainAsNoLongerNeeded(flags: number): void {
237
+ inv<void>('0xBBE7648349B49BE8', this.handle, flags);
238
+ }
239
+
240
+ /**
241
+ * @param p1
242
+ * @param p2
243
+ * @returns
244
+ */
245
+ isDriveable(p1: boolean, p2: boolean): boolean {
246
+ return inv<boolean>('0xB86D29B10F627379', this.handle, p1, p2, rai());
247
+ }
248
+
249
+ /**
250
+ * Returns handles of boat paddles entities.
251
+ *
252
+ * @returns left; right
253
+ */
254
+ getRowingOars(): [Entity | null, Entity | null] {
255
+ const result = inv<[number, number]>('0xA6E210FB4283B767', this.handle, pvi(), pvi());
256
+ return [createFromHandle<Entity>('Entity', result[0]), createFromHandle<Entity>('Entity', result[1])];
257
+ }
258
+
259
+ /**
260
+ * Starts or stops the engine on the specified vehicle. vehicle: The vehicle to start or stop the engine on.
261
+ * value: true to turn the vehicle on; false to turn it off.
262
+ * instantly: if true, the vehicle will be set to the state immediately; otherwise, the current driver will physically turn on or off the engine.
263
+ *
264
+ * @param value
265
+ * @param instantly
266
+ */
267
+ setEngineOn(value: boolean, instantly: boolean): void {
268
+ inv<void>('0xB64CFA14CB9A2E78', this.handle, value, instantly);
269
+ }
270
+
271
+ /**
272
+ * *SET_TRAIN**
273
+ *
274
+ * @param p1
275
+ */
276
+ N_0x06A09A6E0C6D2A84(p1: boolean): void {
277
+ inv<void>('0x06A09A6E0C6D2A84', this.handle, p1);
278
+ }
279
+
280
+ /**
281
+ * Forcing high LOD buoyancy for vehicle: p1 = false
282
+ * _SET_A*
283
+ *
284
+ * @param p1
285
+ */
286
+ N_0x9E8711C81AA17876(p1: boolean): void {
287
+ inv<void>('0x9E8711C81AA17876', this.handle, p1);
288
+ }
289
+
290
+ /**
291
+ * @param speed
292
+ */
293
+ setForwardSpeed(speed: number): void {
294
+ inv<void>('0xF9F92AF49F12F6E7', this.handle, f(speed));
295
+ }
296
+
297
+ /**
298
+ * @returns
299
+ */
300
+ getBreakableLocksState(): number {
301
+ return inv<number>('0xE015CF1F2C0959D8', this.handle, rai());
302
+ }
303
+
304
+ /**
305
+ * Locks the vehicle's steering to the desired angle, explained below. Requires to be called onTick. Steering is unlocked the moment the function stops being called on the vehicle. Steer bias:
306
+ * -1.0 = full right
307
+ * 0.0 = centered steering
308
+ * 1.0 = full left
309
+ *
310
+ * @param value
311
+ */
312
+ setSteerBias(value: number): void {
313
+ inv<void>('0x84DAAE11E9EE4FC3', this.handle, f(value));
314
+ }
315
+
316
+ hideHorseReins(): void {
317
+ inv<void>('0x201B8ED4FF7FE9F5', this.handle);
318
+ }
319
+
320
+ /**
321
+ * @param p1
322
+ */
323
+ N_0x87B974E54C71BA7B(p1: boolean): void {
324
+ inv<void>('0x87B974E54C71BA7B', this.handle, p1);
325
+ }
326
+
327
+ /**
328
+ * if true, axles won't bend.
329
+ *
330
+ * @param toggle
331
+ */
332
+ setHasStrongAxles(toggle: boolean): void {
333
+ inv<void>('0x252253C8A45AA1FC', this.handle, toggle);
334
+ }
335
+
336
+ /**
337
+ * @returns
338
+ */
339
+ isPlaybackGoingOnForVehicle(): boolean {
340
+ return inv<boolean>('0x02774B3A9034278F', this.handle, rai());
341
+ }
342
+
343
+ /**
344
+ * Gets the trailer of a vehicle and puts it into the trailer parameter.
345
+ *
346
+ * @returns trailer
347
+ */
348
+ getTrailerVehicle(): [boolean, Vehicle | null] {
349
+ const result = inv<[boolean, number]>('0xCF867A239EC30741', this.handle, pvi(), rai());
350
+ return [!!result[0], createFromHandle<Vehicle>('Vehicle', result[1])];
351
+ }
352
+
353
+ /**
354
+ * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_liveries.lua
355
+ *
356
+ * @param liveryIndex
357
+ */
358
+ setLivery(liveryIndex: number): void {
359
+ inv<void>('0xF89D82A0582E46ED', this.handle, liveryIndex);
360
+ }
361
+
362
+ /**
363
+ * @param toggle
364
+ */
365
+ setForceEngineDamageByBullet(toggle: boolean): void {
366
+ inv<void>('0x7F8E2B131E1DCA6C', this.handle, toggle);
367
+ }
368
+
369
+ /**
370
+ * Params: destroyingForce is usually 100f in R* Scripts
371
+ * Similar to 0xD4F5EFB55769D272, _A*
372
+ *
373
+ * @param wheelIndex
374
+ * @param destroyingForce
375
+ */
376
+ breakOffDraftWheel(wheelIndex: number, destroyingForce: number): void {
377
+ inv<void>('0xC372B6A88F6E4AD8', this.handle, wheelIndex, f(destroyingForce));
378
+ }
379
+
380
+ /**
381
+ * Restarts the train
382
+ */
383
+ setTrainLeaveStation(): void {
384
+ inv<void>('0x787E43477746876F', this.handle);
385
+ }
386
+
387
+ /**
388
+ * @param p1
389
+ */
390
+ setDisableEngineFires(p1: boolean): void {
391
+ inv<void>('0xD146EE5F2B06B95E', this.handle, p1);
392
+ }
393
+
394
+ /**
395
+ * Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle. Minimum: -4000
396
+ * Maximum: 1000 -4000: Engine is destroyed
397
+ * 0 and below: Engine catches fire and health rapidly declines
398
+ * 300: Engine is smoking and losing functionality
399
+ * 1000: Engine is perfect
400
+ *
401
+ * @returns
402
+ */
403
+ getEngineHealth(): number {
404
+ return inv<number>('0x90DBFFAC43B22081', this.handle, raf());
405
+ }
406
+
407
+ /**
408
+ * @param speed
409
+ */
410
+ setTrainSpeed(speed: number): void {
411
+ inv<void>('0xDFBA6BBFF7CCAFBB', this.handle, f(speed));
412
+ }
413
+
414
+ /**
415
+ * wheelIndex 0: left, wheelIndex 1: right, 4 & 5: unknown
416
+ *
417
+ * @param wheelIndex
418
+ * @returns
419
+ */
420
+ breakOffWheel(wheelIndex: number): Entity | null {
421
+ return createFromHandle<Entity>('Entity', inv<number>('0xD4F5EFB55769D272', this.handle, wheelIndex, rai()));
422
+ }
423
+
424
+ /**
425
+ * Can also be used on trains and its wagons
426
+ *
427
+ * @param doorId Refer to [enum: eDoorId]
428
+ * @param loose
429
+ * @param openInstantly
430
+ */
431
+ setDoorOpen(doorId: number, loose: boolean, openInstantly: boolean): void {
432
+ inv<void>('0x550CE392A4672412', this.handle, doorId, loose, openInstantly);
433
+ }
434
+
435
+ /**
436
+ * @param toggle
437
+ */
438
+ setAllowHomingMissleLockon(toggle: boolean): void {
439
+ inv<void>('0x1240E8596A8308B9', this.handle, toggle);
440
+ }
441
+
442
+ setTrainHalt(): void {
443
+ inv<void>('0x3660BCAB3A6BB734', this.handle);
444
+ }
445
+
446
+ /**
447
+ * @param player
448
+ * @returns
449
+ */
450
+ getDoorsLockedForPlayer(player: Player): boolean {
451
+ return inv<boolean>('0xFA2CDDFEB8BC898B', this.handle, player.handle, rai());
452
+ }
453
+
454
+ /**
455
+ * @param multiplier
456
+ */
457
+ setLodMultiplier(multiplier: number): void {
458
+ inv<void>('0x5F5E2B1B9EAECC0F', this.handle, f(multiplier));
459
+ }
460
+
461
+ /**
462
+ * @param value
463
+ */
464
+ setTrainWhistleEnabled(value: boolean): void {
465
+ inv<void>('0x1BFBAFCC6760FF02', this.handle, value);
466
+ }
467
+
468
+ /**
469
+ * _SET_VEHICLE_S*
470
+ *
471
+ * @param p1
472
+ */
473
+ N_0x0794199B25E499E1(p1: boolean): void {
474
+ inv<void>('0x0794199B25E499E1', this.handle, p1);
475
+ }
476
+
477
+ /**
478
+ * @param model
479
+ * @returns
480
+ */
481
+ isModel(model: string | number): boolean {
482
+ return inv<boolean>('0x0045A54EC7A22455', this.handle, _h(model), rai());
483
+ }
484
+
485
+ /**
486
+ * @returns seatIndex: Refer to [enum: eVehicleSeat]
487
+ */
488
+ getTurretSeat(): [any, number] {
489
+ const result = inv<[number, number]>('0xFF5791B7639C2A46', this.handle, pvi());
490
+ return [result[0], result[1]];
491
+ }
492
+
493
+ /**
494
+ * Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.
495
+ *
496
+ * @param p1
497
+ */
498
+ forcePlaybackRecordedUpdate(p1: boolean): void {
499
+ inv<void>('0x59ECA796021B0539', this.handle, p1);
500
+ }
501
+
502
+ /**
503
+ * @param p1
504
+ */
505
+ N_0x850CE59DEC2028F3(p1: any): void {
506
+ inv<void>('0x850CE59DEC2028F3', this.handle, p1);
507
+ }
508
+
509
+ /**
510
+ * @param extraId
511
+ * @returns
512
+ */
513
+ isExtraTurnedOn(extraId: number): boolean {
514
+ return inv<boolean>('0xFA9A55D9C4351625', this.handle, extraId, rai());
515
+ }
516
+
517
+ /**
518
+ * @param amount
519
+ * @param p2
520
+ * @param p3
521
+ */
522
+ setDeterioration(amount: number, p2: number, p3: boolean): void {
523
+ inv<void>('0x8E5DA070BAD3279E', this.handle, f(amount), p2, p3);
524
+ }
525
+
526
+ /**
527
+ * returns true if any wheel is destroyed/detached
528
+ *
529
+ * @returns
530
+ */
531
+ areAnyWheelsDestroyed(): boolean {
532
+ return inv<boolean>('0x18714953CCED17D3', this.handle, rai());
533
+ }
534
+
535
+ stopPlaybackRecordedVehicle(): void {
536
+ inv<void>('0xBF9B4D6267E8C26D', this.handle);
537
+ }
538
+
539
+ /**
540
+ * @returns
541
+ */
542
+ isDraftVehicle(): any {
543
+ return inv<number>('0xEA44E97849E9F3DD', this.handle);
544
+ }
545
+
546
+ /**
547
+ * Hashes: COACH2_BOOT_LOOT_ITEMS_COACHROB_RSC, COACH2_BOOT_LOOT_ITEMS_COACHROB, COACH2_MARY3
548
+ *
549
+ * @param coachrobberyLoot
550
+ */
551
+ setForceCoachRobberyLoot(coachrobberyLoot: string | number): void {
552
+ inv<void>('0xF489F94BFEE12BB0', this.handle, _h(coachrobberyLoot));
553
+ }
554
+
555
+ /**
556
+ * @param doorId Refer to [enum: eDoorId]
557
+ * @param doorLockStatus
558
+ */
559
+ setIndividualDoorsLocked(doorId: number, doorLockStatus: number): void {
560
+ inv<void>('0xA9F1D75195CC40F6', this.handle, doorId, doorLockStatus);
561
+ }
562
+
563
+ /**
564
+ * @param toggle
565
+ */
566
+ setTrainStopsForStations(toggle: boolean): void {
567
+ inv<void>('0x4182C037AA1F0091', this.handle, toggle);
568
+ }
569
+
570
+ /**
571
+ * @param p1
572
+ */
573
+ N_0x160C1B5AB48AB87C(p1: number): void {
574
+ inv<void>('0x160C1B5AB48AB87C', this.handle, f(p1));
575
+ }
576
+
577
+ /**
578
+ * @returns
579
+ */
580
+ getTimePositionInRecording(): number {
581
+ return inv<number>('0x233B51C7913FA031', this.handle, raf());
582
+ }
583
+
584
+ /**
585
+ * This native makes the vehicle stop immediately distance defines how far it will travel until stopping.
586
+ *
587
+ * @param distance
588
+ * @param duration
589
+ * @param unknown
590
+ */
591
+ bringToHalt(distance: number, duration: number, unknown: boolean): void {
592
+ inv<void>('0x260BE8F09E326A20', this.handle, f(distance), duration, unknown);
593
+ }
594
+
595
+ /**
596
+ * @returns
597
+ */
598
+ getOwner(): Entity | null {
599
+ return createFromHandle<Entity>('Entity', inv<number>('0xB729679356A889AE', this.handle, rai()));
600
+ }
601
+
602
+ /**
603
+ * @param trackIndex
604
+ * @param pos
605
+ */
606
+ addTrainTemporaryStop(trackIndex: number, pos: Vector3): void {
607
+ inv<void>('0x41503629D1139ABC', this.handle, trackIndex, f(pos.x), f(pos.y), f(pos.z));
608
+ }
609
+
610
+ /**
611
+ * @param toggle
612
+ */
613
+ setInfluencesWantedLevel(toggle: boolean): void {
614
+ inv<void>('0xC1842F40FD501DA2', this.handle, toggle);
615
+ }
616
+
617
+ /**
618
+ * @param state
619
+ */
620
+ setCanBeTargetted(state: boolean): void {
621
+ inv<void>('0x05254BA0B44ADC16', this.handle, state);
622
+ }
623
+
624
+ /**
625
+ * @returns
626
+ */
627
+ getTrackIndexOfTrain(): number {
628
+ return inv<number>('0x865FEC2FA899F29C', this.handle, rai());
629
+ }
630
+
631
+ /**
632
+ * @param p1
633
+ */
634
+ N_0xC399CC89FBA05DA0(p1: boolean): void {
635
+ inv<void>('0xC399CC89FBA05DA0', this.handle, p1);
636
+ }
637
+
638
+ /**
639
+ * 1000 is max health
640
+ *
641
+ * @returns
642
+ */
643
+ getPetrolTankHealth(): number {
644
+ return inv<number>('0x1E5A9B356D5098BE', this.handle, raf());
645
+ }
646
+
647
+ /**
648
+ * @param doorId Refer to [enum: eDoorId]
649
+ * @param p2
650
+ * @param p3
651
+ * @param p4
652
+ */
653
+ setDoorLatched(doorId: number, p2: boolean, p3: boolean, p4: boolean): void {
654
+ inv<void>('0x06F8A202EB312A3C', this.handle, doorId, p2, p3, p4);
655
+ }
656
+
657
+ /**
658
+ * @returns
659
+ */
660
+ getDriverOfVehicle(): Ped | null {
661
+ return createFromHandle<Ped>('Ped', inv<number>('0x2963B5C1637E8A27', this.handle, rai()));
662
+ }
663
+
664
+ /**
665
+ * @param seatIndex Refer to [enum: eVehicleSeat]
666
+ * @returns Returns the ped in the specified vehicle seat, or `0` if there wasn't a ped.
667
+ */
668
+ getPedInSeat(seatIndex: eVehicleSeat): Ped | null {
669
+ return createFromHandle<Ped>('Ped', inv<number>('0xBB40DD2270B65366', this.handle, seatIndex, rai()));
670
+ }
671
+
672
+ deleteMissionTrain(): void {
673
+ inv<void>('0x0D3630FB07E8B570', this.handle);
674
+ }
675
+
676
+ /**
677
+ * @param p1
678
+ */
679
+ setNotStealableAmbiently(p1: boolean): void {
680
+ inv<void>('0x09C970AE59ABF6B2', this.handle, p1);
681
+ }
682
+
683
+ /**
684
+ * Returns iNumCars - to be used with GET_TRAIN_CARRIAGE (trailerNumber)
685
+ * _C* (O, P, Q, R)
686
+ *
687
+ * @returns
688
+ */
689
+ getTrainCarriageTrailerNumber(): number {
690
+ return inv<number>('0x60B7D1DCC312697D', this.handle, rai());
691
+ }
692
+
693
+ /**
694
+ * Old name: _SET_BOAT_FROZEN_WHEN_ANCHORED
695
+ *
696
+ * @param p1
697
+ * @param p2
698
+ */
699
+ setBoatRemainsAnchoredWhilePlayerIsDriver(p1: boolean, p2: boolean): void {
700
+ inv<void>('0x286771F3059A37A7', this.handle, p1, p2);
701
+ }
702
+
703
+ /**
704
+ * Allows you to toggle bulletproof tires.
705
+ *
706
+ * @param toggle
707
+ */
708
+ setTyresCanBurst(toggle: boolean): void {
709
+ inv<void>('0xEBD0A4E935106FE5', this.handle, toggle);
710
+ }
711
+
712
+ /**
713
+ * @param seatIndex Refer to [enum: eVehicleSeat]
714
+ * @returns
715
+ */
716
+ canShuffleSeat(seatIndex: eVehicleSeat): boolean {
717
+ return inv<boolean>('0xF8B2D32A2231FD24', this.handle, seatIndex, rai());
718
+ }
719
+
720
+ /**
721
+ * @param toggle
722
+ */
723
+ setEngineCanDegrade(toggle: boolean): void {
724
+ inv<void>('0x48E4C137A71C2688', this.handle, toggle);
725
+ }
726
+
727
+ /**
728
+ * @param p1
729
+ */
730
+ N_0x104D9A7B1C0D0783(p1: number): void {
731
+ inv<void>('0x104D9A7B1C0D0783', this.handle, f(p1));
732
+ }
733
+
734
+ /**
735
+ * @param p1
736
+ * @returns
737
+ */
738
+ setOnGroundProperly(p1: boolean): boolean {
739
+ return inv<boolean>('0x7263332501E07F52', this.handle, p1, rai());
740
+ }
741
+
742
+ /**
743
+ * @param state
744
+ */
745
+ setCanBeVisiblyDamaged(state: boolean): void {
746
+ inv<void>('0x4BF8131AE811541C', this.handle, state);
747
+ }
748
+
749
+ /**
750
+ * Returns p0 for 0xBA958F68031DDBFC (trackIndex)
751
+ *
752
+ * @returns
753
+ */
754
+ getCurrentTrackForTrain(): number {
755
+ return inv<number>('0xAF787E081AC4A8EE', this.handle, rai());
756
+ }
757
+
758
+ /**
759
+ * @returns expected; actual
760
+ */
761
+ getDraftAnimalCount(): [any, number, number] {
762
+ const result = inv<[number, number, number]>('0xA19447D83294E29F', this.handle, pvi(), pvi());
763
+ return [result[0], result[1], result[2]];
764
+ }
765
+
766
+ /**
767
+ * @param ped
768
+ * @returns
769
+ */
770
+ detachDraftHarnessPed(ped: Ped): any {
771
+ return inv<number>('0xB36D3EC70963BE60', this.handle, ped.handle);
772
+ }
773
+
774
+ /**
775
+ * Spawn without lanterns set
776
+ *
777
+ * @returns
778
+ */
779
+ deleteLanterns(): any {
780
+ return inv<number>('0xE1A83D4A3B5D7938', this.handle);
781
+ }
782
+
783
+ /**
784
+ * Used in Script Function MC_LOCAL_SETUP_VEH - enabling transitions
785
+ *
786
+ * @param p1
787
+ */
788
+ N_0xCBF88256E44D5D39(p1: boolean): void {
789
+ inv<void>('0xCBF88256E44D5D39', this.handle, p1);
790
+ }
791
+
792
+ /**
793
+ * @returns
794
+ */
795
+ isBoatGrounded(): any {
796
+ return inv<number>('0x30D86B2B7622D0EB', this.handle);
797
+ }
798
+
799
+ /**
800
+ * @param pos
801
+ */
802
+ N_0xB42C87521D1BDD2F(pos: Vector3): void {
803
+ inv<void>('0xB42C87521D1BDD2F', this.handle, f(pos.x), f(pos.y), f(pos.z));
804
+ }
805
+
806
+ /**
807
+ * @returns
808
+ */
809
+ getLivery(): number {
810
+ return inv<number>('0xBB765B8FD49A796C', this.handle, rai());
811
+ }
812
+
813
+ /**
814
+ * Setting this to false, makes the specified vehicle to where if you press Y your character doesn't even attempt the animation to enter the vehicle. Hence it's not considered aka ignored.
815
+ *
816
+ * @param toggle
817
+ */
818
+ setIsConsideredByPlayer(toggle: boolean): void {
819
+ inv<void>('0x54800D386C5825E5', this.handle, toggle);
820
+ }
821
+
822
+ /**
823
+ * Only returns true if BRING_VEHICLE_TO_HALT is called on vehicle beforehand
824
+ *
825
+ * @returns
826
+ */
827
+ isBroughtToHalt(): any {
828
+ return inv<number>('0x404527BC03DA0E6C', this.handle);
829
+ }
830
+
831
+ /**
832
+ * Outputs track hash and junction index on given train vehicle handle.
833
+ * *RESET_VEHICLE** (?)
834
+ *
835
+ * @returns trainTrack; junctionIndex
836
+ */
837
+ returnTrainInfoFromHandle(): [any, number, number] {
838
+ const result = inv<[number, number, number]>('0x09034479E6E3E269', this.handle, pvi(), pvi());
839
+ return [result[0], result[1], result[2]];
840
+ }
841
+
842
+ /**
843
+ * If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives
844
+ *
845
+ * @param toggle
846
+ */
847
+ setStrong(toggle: boolean): void {
848
+ inv<void>('0xAB315515C9F8803D', this.handle, toggle);
849
+ }
850
+
851
+ /**
852
+ * enum eDraftHarness
853
+ * {
854
+ * DRAFT_HARNESS_LR,
855
+ * DRAFT_HARNESS_RR,
856
+ * DRAFT_HARNESS_LM,
857
+ * DRAFT_HARNESS_RM,
858
+ * DRAFT_HARNESS_LF,
859
+ * DRAFT_HARNESS_RF,
860
+ * DRAFT_HARNESS_COUNT
861
+ * };
862
+ *
863
+ * @param harnessId
864
+ * @returns
865
+ */
866
+ getPedInDraftHarness(harnessId: number): Ped | null {
867
+ return createFromHandle<Ped>('Ped', inv<number>('0xA8BA0BAE0173457B', this.handle, harnessId, rai()));
868
+ }
869
+
870
+ /**
871
+ * wetLevel: 0.0 - 1.0
872
+ *
873
+ * @param wetLevel
874
+ */
875
+ setWetLevel(wetLevel: number): void {
876
+ inv<void>('0x5AABB09F6FBD1F87', this.handle, f(wetLevel));
877
+ }
878
+
879
+ /**
880
+ * @param pos
881
+ * @param p4
882
+ * @param p5
883
+ */
884
+ N_0x2200AB13CBD10F4E(pos: Vector3, p4: boolean, p5: number): void {
885
+ inv<void>('0x2200AB13CBD10F4E', this.handle, f(pos.x), f(pos.y), f(pos.z), p4, f(p5));
886
+ }
887
+
888
+ /**
889
+ * @param canBreak
890
+ */
891
+ setDraftYokeCanBreak(canBreak: boolean): void {
892
+ inv<void>('0x226C6A4E3346D288', this.handle, canBreak);
893
+ }
894
+
895
+ /**
896
+ * @param toggle
897
+ */
898
+ setForceHdVehicle(toggle: boolean): void {
899
+ inv<void>('0x373CB1283308BD7B', this.handle, toggle);
900
+ }
901
+
902
+ /**
903
+ * Used to be incorrectly named SET_VEHICLE_EXCLUSIVE_DRIVER
904
+ *
905
+ * @param toggle
906
+ */
907
+ setAiCanUseExclusiveSeats(toggle: boolean): void {
908
+ inv<void>('0x0893DAFBFA67110E', this.handle, toggle);
909
+ }
910
+
911
+ /**
912
+ * @param p1
913
+ */
914
+ N_0xA72B1BF3857B94D7(p1: boolean): void {
915
+ inv<void>('0xA72B1BF3857B94D7', this.handle, p1);
916
+ }
917
+
918
+ /**
919
+ * *SET_DRAFT_VEHICLE*(STOP?)*
920
+ *
921
+ * @param p1
922
+ */
923
+ N_0xC4A2C11FC0D41916(p1: boolean): void {
924
+ inv<void>('0xC4A2C11FC0D41916', this.handle, p1);
925
+ }
926
+
927
+ /**
928
+ * Explodes a selected vehicle. Vehicle vehicle = Vehicle you want to explode.
929
+ * BOOL isAudible = If explosion makes a sound.
930
+ * BOOL isInvisible = If the explosion is invisible or not. First BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn.
931
+ *
932
+ * @param isAudible
933
+ * @param isInvisible
934
+ * @param p3
935
+ * @param p4
936
+ */
937
+ explodeVehicle(isAudible: boolean, isInvisible: boolean, p3: any, p4: any): void {
938
+ inv<void>('0x75DCED9EEC5769D7', this.handle, isAudible, isInvisible, p3, p4);
939
+ }
940
+
941
+ /**
942
+ * Params: 1.0f will make balloon hover
943
+ *
944
+ * @param p1
945
+ */
946
+ setBalloonHoverState(p1: number): void {
947
+ inv<void>('0x7C9E45A4CED2E8DA', this.handle, f(p1));
948
+ }
949
+
950
+ /**
951
+ * @returns
952
+ */
953
+ getDoorLockStatus(): number {
954
+ return inv<number>('0xC867FD144F2469D3', this.handle, rai());
955
+ }
956
+
957
+ requestHighDetailModel(): void {
958
+ inv<void>('0x84B81EF78BD22357', this.handle);
959
+ }
960
+
961
+ /**
962
+ * @returns
963
+ */
964
+ isInBurnout(): boolean {
965
+ return inv<boolean>('0x3F5029A8FC060C48', this.handle, rai());
966
+ }
967
+
968
+ /**
969
+ * @param toggle
970
+ */
971
+ setCanBeUsedByFleeingPeds(toggle: boolean): void {
972
+ inv<void>('0xE42952510F84AFDB', this.handle, toggle);
973
+ }
974
+
975
+ /**
976
+ * @param p1
977
+ */
978
+ setAllowExplodesOnContact(p1: boolean): void {
979
+ inv<void>('0x8D3230A0ED7DE39F', this.handle, p1);
980
+ }
981
+
982
+ /**
983
+ * @param speed
984
+ */
985
+ setTrainCruiseSpeed(speed: number): void {
986
+ inv<void>('0x01021EB2E96B793C', this.handle, f(speed));
987
+ }
988
+
989
+ /**
990
+ * @returns
991
+ */
992
+ isWrecked(): any {
993
+ return inv<number>('0xDDBEA5506C848227', this.handle);
994
+ }
995
+
996
+ /**
997
+ * @param team
998
+ * @returns
999
+ */
1000
+ getDoorsLockedForTeam(team: number): any {
1001
+ return inv<number>('0xDD1E1393D966D39A', this.handle, team);
1002
+ }
1003
+
1004
+ /**
1005
+ * *SET_TRAIN**
1006
+ *
1007
+ * @param p1
1008
+ */
1009
+ N_0xEF28A614B4B264B8(p1: boolean): void {
1010
+ inv<void>('0xEF28A614B4B264B8', this.handle, p1);
1011
+ }
1012
+
1013
+ /**
1014
+ * snowLevel: 0.0 - 1.0
1015
+ *
1016
+ * @param snowLevel
1017
+ */
1018
+ setSnowLevel(snowLevel: number): void {
1019
+ inv<void>('0x6F73EFAB11651D7F', this.handle, f(snowLevel));
1020
+ }
1021
+
1022
+ lockDoorsWhenNoLongerNeeded(): void {
1023
+ inv<void>('0x1EF36558FBDE2DAA', this.handle);
1024
+ }
1025
+
1026
+ /**
1027
+ * @param toggle
1028
+ */
1029
+ setDoorsToOpenAtAnyDistance(toggle: boolean): void {
1030
+ inv<void>('0x362CEDD2A41E0747', this.handle, toggle);
1031
+ }
1032
+
1033
+ /**
1034
+ * @returns
1035
+ */
1036
+ isOnAllWheels(): boolean {
1037
+ return inv<boolean>('0x0D5D119529654EE0', this.handle, rai());
1038
+ }
1039
+
1040
+ /**
1041
+ * Deletes a vehicle.
1042
+ * The vehicle must be a mission entity to delete, so call this before deleting: SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true); eg how to use:
1043
+ * SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);
1044
+ * DELETE_VEHICLE(&vehicle); Deletes the specified vehicle, then sets the handle pointed to by the pointer to NULL.
1045
+ */
1046
+ deleteVehicle(): void {
1047
+ inv<void>('0xE20A909D8C4A70F8', this.handle);
1048
+ }
1049
+
1050
+ /**
1051
+ * @returns
1052
+ */
1053
+ getMaxNumberOfPassengers(): number {
1054
+ return inv<number>('0xA9C55F1C15E62E06', this.handle, rai());
1055
+ }
1056
+
1057
+ /**
1058
+ * Closes all doors of a vehicle:
1059
+ *
1060
+ * @param closeInstantly
1061
+ */
1062
+ setDoorsShut(closeInstantly: boolean): void {
1063
+ inv<void>('0xA4FFCD645B11F25A', this.handle, closeInstantly);
1064
+ }
1065
+
1066
+ /**
1067
+ * @param p1
1068
+ */
1069
+ setStopInstantlyWhenPlayerInactive(p1: boolean): void {
1070
+ inv<void>('0xC84E138448507567', this.handle, p1);
1071
+ }
1072
+
1073
+ /**
1074
+ * @param nullAttributes
1075
+ */
1076
+ resetStuckTimer(nullAttributes: number): void {
1077
+ inv<void>('0x23298B468F7D88B6', this.handle, nullAttributes);
1078
+ }
1079
+
1080
+ /**
1081
+ * Returns p1 for 0xBA958F68031DDBFC (stationIndex)
1082
+ * _GET_N* (NEAREST_STATION_FOR_TRAIN?)
1083
+ *
1084
+ * @returns
1085
+ */
1086
+ N_0x1180A2974D251B7B(): number {
1087
+ return inv<number>('0x1180A2974D251B7B', this.handle, rai());
1088
+ }
1089
+
1090
+ /**
1091
+ * @param p1
1092
+ */
1093
+ setDontAllowPlayerToEnterIfLockedForPlayer(p1: boolean): void {
1094
+ inv<void>('0x63DC1F22C903B709', this.handle, p1);
1095
+ }
1096
+
1097
+ /**
1098
+ * @param p1
1099
+ */
1100
+ setCanEjectPassengersIfLocked(p1: boolean): void {
1101
+ inv<void>('0x065D03A9D6B2C6B5', this.handle, p1);
1102
+ }
1103
+
1104
+ /**
1105
+ * Gets the number of passengers, NOT including the driver. Use IS_VEHICLE_SEAT_FREE(Vehicle, -1) to also check for the driver
1106
+ *
1107
+ * @returns
1108
+ */
1109
+ getNumberOfPassengers(): number {
1110
+ return inv<number>('0x59F3F16577CD79B2', this.handle, rai());
1111
+ }
1112
+
1113
+ /**
1114
+ * @param speed
1115
+ */
1116
+ setPlaybackSpeed(speed: number): void {
1117
+ inv<void>('0xD78084EED4CD94C6', this.handle, f(speed));
1118
+ }
1119
+
1120
+ /**
1121
+ * @returns
1122
+ */
1123
+ hasTrainLoaded(): any {
1124
+ return inv<number>('0xBD3C4A2ED509205E', this.handle);
1125
+ }
1126
+
1127
+ /**
1128
+ * @returns
1129
+ */
1130
+ N_0xDE8C5B9F65017FA1(): any {
1131
+ return inv<number>('0xDE8C5B9F65017FA1', this.handle);
1132
+ }
1133
+
1134
+ /**
1135
+ * @param p1
1136
+ */
1137
+ setHasUnbreakableLights(p1: boolean): void {
1138
+ inv<void>('0xC903855E028A05F2', this.handle, p1);
1139
+ }
1140
+
1141
+ /**
1142
+ * @param p1
1143
+ */
1144
+ N_0xD826690B5CF3BEFF(p1: any): void {
1145
+ inv<void>('0xD826690B5CF3BEFF', this.handle, p1);
1146
+ }
1147
+
1148
+ /**
1149
+ * _H*
1150
+ */
1151
+ N_0x41F0B254DDF71473(): void {
1152
+ inv<void>('0x41F0B254DDF71473', this.handle);
1153
+ }
1154
+
1155
+ /**
1156
+ * Notice: BOOL p4 was wrongly named takePassengers (?)
1157
+ * Can be used to rotate the train by setting the BOOL direction
1158
+ *
1159
+ * @param pos
1160
+ * @param direction
1161
+ */
1162
+ setMissionTrainWarpToCoords(pos: Vector3, direction: boolean): void {
1163
+ inv<void>('0xC9EA26893C9E4024', this.handle, f(pos.x), f(pos.y), f(pos.z), direction);
1164
+ }
1165
+
1166
+ /**
1167
+ * @param toggle
1168
+ */
1169
+ setStaysFrozenWhenCleanedUp(toggle: boolean): void {
1170
+ inv<void>('0x23A3AB86E0807721', this.handle, toggle);
1171
+ }
1172
+
1173
+ /**
1174
+ * *SET_VEHICLE**
1175
+ */
1176
+ N_0x04F0579DBDD32F34(): void {
1177
+ inv<void>('0x04F0579DBDD32F34', this.handle);
1178
+ }
1179
+
1180
+ /**
1181
+ * SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle)
1182
+ *
1183
+ * @param time
1184
+ */
1185
+ skipTimeInPlaybackRecordedVehicle(time: number): void {
1186
+ inv<void>('0x5F5E6379C59EFC56', this.handle, f(time));
1187
+ }
1188
+
1189
+ /**
1190
+ * @param player
1191
+ * @param toggle
1192
+ */
1193
+ setDoorsLockedForPlayer(player: Player, toggle: boolean): void {
1194
+ inv<void>('0x359A8EA1FB8D6F0F', this.handle, player.handle, toggle);
1195
+ }
1196
+
1197
+ /**
1198
+ * Returns false if every seat is occupied.
1199
+ *
1200
+ * @returns
1201
+ */
1202
+ areAnySeatsFree(): boolean {
1203
+ return inv<boolean>('0xA0A424505A1B6429', this.handle, rai());
1204
+ }
1205
+
1206
+ /**
1207
+ * @param speed
1208
+ */
1209
+ setDraftDesiredSpeed(speed: number): void {
1210
+ inv<void>('0x0C3F0F7F92CA847C', this.handle, f(speed));
1211
+ }
1212
+
1213
+ /**
1214
+ * @param toggle
1215
+ */
1216
+ setBoatSinksWhenWrecked(toggle: boolean): void {
1217
+ inv<void>('0x62A6D317A011EA1D', this.handle, toggle);
1218
+ }
1219
+
1220
+ /**
1221
+ * @param seatIndex Refer to [enum: eVehicleSeat]
1222
+ * @returns
1223
+ */
1224
+ isSeatWarpOnly(seatIndex: eVehicleSeat): boolean {
1225
+ return inv<boolean>('0x7892685BF6D9775E', this.handle, seatIndex, rai());
1226
+ }
1227
+
1228
+ /**
1229
+ * Sounds the horn for the specified vehicle. vehicle: The vehicle to activate the horn for.
1230
+ * mode: The hash of "NORMAL" or "HELDDOWN". Can be 0.
1231
+ * duration: The duration to sound the horn, in milliseconds. Note: If a player is in the vehicle, it will only sound briefly.
1232
+ *
1233
+ * @param duration
1234
+ * @param mode
1235
+ * @param forever
1236
+ */
1237
+ startHorn(duration: number, mode: string | number, forever: boolean): void {
1238
+ inv<void>('0xB4E3BFC39CA16057', this.handle, duration, _h(mode), forever);
1239
+ }
1240
+
1241
+ /**
1242
+ * @returns
1243
+ */
1244
+ getNumBreakableLockObjects(): number {
1245
+ return inv<number>('0x2FA86833E3617E2D', this.handle, rai());
1246
+ }
1247
+
1248
+ /**
1249
+ * @param p1
1250
+ */
1251
+ N_0xE6BD7DD3FD474415(p1: boolean): void {
1252
+ inv<void>('0xE6BD7DD3FD474415', this.handle, p1);
1253
+ }
1254
+
1255
+ /**
1256
+ * Ranges from -1 to 2? (internal type is int8)
1257
+ * https://imgur.com/a/bPzHcft
1258
+ *
1259
+ * @param lodLevel
1260
+ */
1261
+ setLodLevel(lodLevel: number): void {
1262
+ inv<void>('0x3FA7D7D1E0EA809E', this.handle, lodLevel);
1263
+ }
1264
+
1265
+ /**
1266
+ * Returns p1 for 0xBA958F68031DDBFC (stationIndex)
1267
+ *
1268
+ * @returns
1269
+ */
1270
+ getCurrentStationForTrain(): number {
1271
+ return inv<number>('0x86FA6D8B48667D75', this.handle, rai());
1272
+ }
1273
+
1274
+ /**
1275
+ * Params: coords = GET_ENTITY_VELOCITY
1276
+ * _SET_VELOCITY*
1277
+ *
1278
+ * @param pos
1279
+ */
1280
+ N_0x12F6C6ED3EFF42DE(pos: Vector3): void {
1281
+ inv<void>('0x12F6C6ED3EFF42DE', this.handle, f(pos.x), f(pos.y), f(pos.z));
1282
+ }
1283
+
1284
+ /**
1285
+ * Only used in R* SP Script rcm_abigail31: p1 = 5
1286
+ * _GET_VEHICLE_T* - _GET_VO*
1287
+ *
1288
+ * @param p1
1289
+ * @returns
1290
+ */
1291
+ N_0xE1C0F8781BF130C2(p1: number): boolean {
1292
+ return inv<boolean>('0xE1C0F8781BF130C2', this.handle, p1, rai());
1293
+ }
1294
+
1295
+ /**
1296
+ * @param offset
1297
+ */
1298
+ setTrainOffsetFromStation(offset: number): void {
1299
+ inv<void>('0x8EC47DD4300BF063', this.handle, f(offset));
1300
+ }
1301
+
1302
+ trackVisibility(): void {
1303
+ inv<void>('0x1F3969B140DEE157', this.handle);
1304
+ }
1305
+
1306
+ /**
1307
+ * @param p1
1308
+ * @param p2
1309
+ * @returns
1310
+ */
1311
+ setAutomaticallyAttaches(p1: boolean, p2: any): any {
1312
+ return inv<number>('0x501354951CD942DE', this.handle, p1, p2);
1313
+ }
1314
+
1315
+ /**
1316
+ * @param toggle
1317
+ */
1318
+ setUndriveable(toggle: boolean): void {
1319
+ inv<void>('0x6E884BAB713A2A94', this.handle, toggle);
1320
+ }
1321
+
1322
+ /**
1323
+ * Old name: _STOP_BRING_VEHICLE_TO_HALT
1324
+ */
1325
+ stopBringingToHalt(): void {
1326
+ inv<void>('0x7C06330BFDDA182E', this.handle);
1327
+ }
1328
+
1329
+ /**
1330
+ * @param p1
1331
+ */
1332
+ N_0xCF342503CA4C8DF1(p1: number): void {
1333
+ inv<void>('0xCF342503CA4C8DF1', this.handle, f(p1));
1334
+ }
1335
+
1336
+ /**
1337
+ * @param canDetach
1338
+ */
1339
+ setDraftAnimalsCanDetach(canDetach: boolean): void {
1340
+ inv<void>('0x6090A031C69F384E', this.handle, canDetach);
1341
+ }
1342
+
1343
+ /**
1344
+ * @returns
1345
+ */
1346
+ isPlaybackUsingAiGoingOnForVehicle(): boolean {
1347
+ return inv<boolean>('0x5A7472606EC5B7C1', this.handle, rai());
1348
+ }
1349
+
1350
+ /**
1351
+ * Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off.
1352
+ *
1353
+ * @param toggle
1354
+ */
1355
+ setExplodesOnHighExplosionDamage(toggle: boolean): void {
1356
+ inv<void>('0xA402939C6761E1A3', this.handle, toggle);
1357
+ }
1358
+
1359
+ /**
1360
+ * Sets boat to be anchored on spawn, called together with SET_BOAT_ANCHOR and _SET_BOAT_ANCHOR_BUOYANCY_COEFFICIENT
1361
+ *
1362
+ * @param p1
1363
+ */
1364
+ setForceLowLodAnchorMode(p1: boolean): void {
1365
+ inv<void>('0x75B49ACD73617437', this.handle, p1);
1366
+ }
1367
+
1368
+ /**
1369
+ * @param p1
1370
+ */
1371
+ N_0x1A861F899EBBE17C(p1: boolean): void {
1372
+ inv<void>('0x1A861F899EBBE17C', this.handle, p1);
1373
+ }
1374
+
1375
+ /**
1376
+ * Value: mostly 99999.9f Old name: _SET_BOAT_MOVEMENT_RESISTANCE
1377
+ *
1378
+ * @param value
1379
+ */
1380
+ setBoatLowLodAnchorDistance(value: number): void {
1381
+ inv<void>('0xE3261532550D6A9F', this.handle, f(value));
1382
+ }
1383
+
1384
+ /**
1385
+ * @param pos
1386
+ */
1387
+ setMissionTrainCoords(pos: Vector3): void {
1388
+ inv<void>('0x7632755962AB9922', this.handle, f(pos.x), f(pos.y), f(pos.z));
1389
+ }
1390
+
1391
+ /**
1392
+ * Params: p1 usually true in R* Scripts
1393
+ * *SET_DRAFT_VEHICLE**
1394
+ *
1395
+ * @param p1
1396
+ */
1397
+ N_0x4C60C333F9CCA2B6(p1: boolean): void {
1398
+ inv<void>('0x4C60C333F9CCA2B6', this.handle, p1);
1399
+ }
1400
+
1401
+ /**
1402
+ * @param windowIndex
1403
+ * @returns
1404
+ */
1405
+ isWindowIntact(windowIndex: number): boolean {
1406
+ return inv<boolean>('0x0E7910A63E05B12C', this.handle, windowIndex, rai());
1407
+ }
1408
+
1409
+ /**
1410
+ * Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.
1411
+ *
1412
+ * @param targetVehicle
1413
+ */
1414
+ copyDamages(targetVehicle: Vehicle): void {
1415
+ inv<void>('0xDBC28A8C683CD80B', this.handle, targetVehicle.handle);
1416
+ }
1417
+
1418
+ /**
1419
+ * _SET_VEHICLE_LI*
1420
+ *
1421
+ * @param p1
1422
+ */
1423
+ setLimitSpeedWhenPlayerInactive(p1: boolean): void {
1424
+ inv<void>('0x8F75941C86EEBFCA', this.handle, p1);
1425
+ }
1426
+
1427
+ /**
1428
+ * @param allow
1429
+ */
1430
+ setDraftAllowDraftAnimalAutoCreation(allow: boolean): void {
1431
+ inv<void>('0x87344305778E5415', this.handle, allow);
1432
+ }
1433
+
1434
+ /**
1435
+ * @param team
1436
+ * @param toggle
1437
+ */
1438
+ setDoorsLockedForTeam(team: number, toggle: boolean): void {
1439
+ inv<void>('0xE712BC978770F105', this.handle, team, toggle);
1440
+ }
1441
+
1442
+ /**
1443
+ * @param p1
1444
+ */
1445
+ N_0x7840576C50A13DBA(p1: boolean): void {
1446
+ inv<void>('0x7840576C50A13DBA', this.handle, p1);
1447
+ }
1448
+
1449
+ /**
1450
+ * @param toggle
1451
+ */
1452
+ setCanBreak(toggle: boolean): void {
1453
+ inv<void>('0xC5ED9D59B4646611', this.handle, toggle);
1454
+ }
1455
+
1456
+ /**
1457
+ * @param toggle
1458
+ */
1459
+ setHandbrake(toggle: boolean): void {
1460
+ inv<void>('0x91BE51AEC4E99710', this.handle, toggle);
1461
+ }
1462
+
1463
+ /**
1464
+ * Total height is calculated using: cargo ratio + pelt ratio (by pelt count)
1465
+ * Screenshot: https://imgur.com/a/nsomtiv
1466
+ *
1467
+ * @param height
1468
+ * @param immediately
1469
+ */
1470
+ setBatchTarpHeight(height: number, immediately: boolean): void {
1471
+ inv<void>('0x31F343383F19C987', this.handle, f(height), immediately);
1472
+ }
1473
+
1474
+ /**
1475
+ * @param dirtLevel
1476
+ */
1477
+ setDirtLevel(dirtLevel: number): void {
1478
+ inv<void>('0x758C3460EE915D0A', this.handle, f(dirtLevel));
1479
+ }
1480
+
1481
+ /**
1482
+ * VEH_STUCK_ON_ROOF = 0,
1483
+ * VEH_STUCK_ON_SIDE,
1484
+ * VEH_STUCK_HUNG_UP,
1485
+ * VEH_STUCK_JAMMED
1486
+ *
1487
+ * @param stuckType
1488
+ * @param ms
1489
+ * @returns
1490
+ */
1491
+ isStuckTimerUp(stuckType: number, ms: number): boolean {
1492
+ return inv<boolean>('0x1ABA9753939503C5', this.handle, stuckType, ms, rai());
1493
+ }
1494
+
1495
+ /**
1496
+ * Returns true if the vehicle's current speed is less than, or equal to 0.0025f. For some vehicles it returns true if the current speed is <= 0.00039999999.
1497
+ *
1498
+ * @returns
1499
+ */
1500
+ isStopped(): boolean {
1501
+ return inv<boolean>('0x78C3311A73135241', this.handle, rai());
1502
+ }
1503
+
1504
+ /**
1505
+ * @param p1
1506
+ */
1507
+ N_0x15CC8C33D7FFCC4A(p1: number): void {
1508
+ inv<void>('0x15CC8C33D7FFCC4A', this.handle, p1);
1509
+ }
1510
+
1511
+ /**
1512
+ * @param enabled
1513
+ */
1514
+ setIsInHurry(enabled: boolean): void {
1515
+ inv<void>('0xCE1531927AD6C9F8', this.handle, enabled);
1516
+ }
1517
+
1518
+ /**
1519
+ * @param extraId
1520
+ * @returns
1521
+ */
1522
+ doesExtraExist(extraId: number): boolean {
1523
+ return inv<boolean>('0xAF5E7E9A7620FFB5', this.handle, extraId, rai());
1524
+ }
1525
+
1526
+ /**
1527
+ * @param seed
1528
+ */
1529
+ setDraftAnimalRandomSeed(seed: number): void {
1530
+ inv<void>('0x8C6D9A399126C194', this.handle, seed);
1531
+ }
1532
+
1533
+ /**
1534
+ * @param wheel
1535
+ * @returns
1536
+ */
1537
+ isWheelDestroyed(wheel: number): any {
1538
+ return inv<number>('0xCB2CA620C48BC875', this.handle, wheel);
1539
+ }
1540
+
1541
+ /**
1542
+ * p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer). See REQUEST_VEHICLE_RECORDING
1543
+ *
1544
+ * @param recording
1545
+ * @param script
1546
+ * @param p3
1547
+ */
1548
+ startPlaybackRecordedVehicle(recording: number, script: string | null, p3: boolean): void {
1549
+ inv<void>('0x4932B84E3276508E', this.handle, recording, script, p3);
1550
+ }
1551
+
1552
+ /**
1553
+ * dirtLevel: 0.0 - 1.0
1554
+ *
1555
+ * @param dirtLevel
1556
+ */
1557
+ setDirtLevel2(dirtLevel: number): void {
1558
+ inv<void>('0xBAE0EEDF93F05EAA', this.handle, f(dirtLevel));
1559
+ }
1560
+
1561
+ /**
1562
+ * @param trailerNumber
1563
+ * @returns
1564
+ */
1565
+ getTrainCarriage(trailerNumber: number): Entity | null {
1566
+ return createFromHandle<Entity>('Entity', inv<number>('0xD0FB093A4CDB932C', this.handle, trailerNumber, rai()));
1567
+ }
1568
+
1569
+ /**
1570
+ * @returns
1571
+ */
1572
+ isFadingOut(): any {
1573
+ return inv<number>('0x5136B284B67B35C7', this.handle);
1574
+ }
1575
+
1576
+ fadeAndDestroyVehicle(): void {
1577
+ inv<void>('0x35DC1877312FBA0F', this.handle);
1578
+ }
1579
+
1580
+ /**
1581
+ * @returns
1582
+ */
1583
+ getIsPropSetApplied(): any {
1584
+ return inv<number>('0xD798DF5DB67B1659', this.handle);
1585
+ }
1586
+
1587
+ /**
1588
+ * Maximum possible speed is 30.0 (108 km/h)
1589
+ *
1590
+ * @param speed
1591
+ */
1592
+ setTrainMaxSpeed(speed: number): void {
1593
+ inv<void>('0x9F29999DFDF2AEB8', this.handle, f(speed));
1594
+ }
1595
+
1596
+ /**
1597
+ * Old name: _SET_DISABLE_SUPERDUMMY_MODE
1598
+ *
1599
+ * @param disable
1600
+ */
1601
+ setDisableSuperdummy(disable: boolean): void {
1602
+ inv<void>('0x1716D787D9B94202', this.handle, disable);
1603
+ }
1604
+
1605
+ /**
1606
+ * Old name: _SET_VEHICLE_DOOR_CAN_BREAK
1607
+ *
1608
+ * @param doorId Refer to [enum: eDoorId]
1609
+ * @param isBreakable
1610
+ */
1611
+ setDoorAllowedToBeBrokenOff(doorId: number, isBreakable: boolean): void {
1612
+ inv<void>('0x081FB9D6422F804C', this.handle, doorId, isBreakable);
1613
+ }
1614
+
1615
+ /**
1616
+ * @param value
1617
+ */
1618
+ setBodyHealth(value: number): void {
1619
+ inv<void>('0x55CCAAE4F28C67A0', this.handle, f(value));
1620
+ }
1621
+
1622
+ /**
1623
+ * @param toggle
1624
+ */
1625
+ setProvidesCover(toggle: boolean): void {
1626
+ inv<void>('0x652712478F1721F4', this.handle, toggle);
1627
+ }
1628
+
1629
+ /**
1630
+ * @param value
1631
+ */
1632
+ modifyTopSpeed(value: number): void {
1633
+ inv<void>('0x35AD938C74CACD6A', this.handle, f(value));
1634
+ }
1635
+
1636
+ /**
1637
+ * index: 0 - 1 Used to be incorrectly named _SET_VEHICLE_EXCLUSIVE_DRIVER_2
1638
+ *
1639
+ * @param ped
1640
+ * @param index
1641
+ */
1642
+ setExclusiveDriver(ped: Ped, index: number): void {
1643
+ inv<void>('0xC6B9BF123B9463B6', this.handle, ped.handle, index);
1644
+ }
1645
+
1646
+ /**
1647
+ * 1000 is max health
1648
+ *
1649
+ * @param health
1650
+ */
1651
+ setPetrolTankHealth(health: number): void {
1652
+ inv<void>('0x6AB2918EE3BEC94C', this.handle, f(health));
1653
+ }
1654
+
1655
+ /**
1656
+ * @param doorLockStatus
1657
+ */
1658
+ setDoorsLocked(doorLockStatus: number): void {
1659
+ inv<void>('0x96F78A6A075D55D9', this.handle, doorLockStatus);
1660
+ }
1661
+
1662
+ /**
1663
+ * @returns
1664
+ */
1665
+ canAnchorBoatHere(): boolean {
1666
+ return inv<boolean>('0xC075176CFB8B4128', this.handle, rai());
1667
+ }
1668
+
1669
+ /**
1670
+ * This fixes a vehicle.
1671
+ * If the vehicle's engine's broken then you cannot fix it with this native.
1672
+ */
1673
+ setFixed(): void {
1674
+ inv<void>('0x79811282A9D1AE56', this.handle);
1675
+ }
1676
+
1677
+ /**
1678
+ * @param toggle
1679
+ */
1680
+ setKeepEngineOnWhenAbandoned(toggle: boolean): void {
1681
+ inv<void>('0x1549BA7FE83A2383', this.handle, toggle);
1682
+ }
1683
+
1684
+ /**
1685
+ * @param harnessId
1686
+ * @returns
1687
+ */
1688
+ detachDraftHarnessFromIndex(harnessId: number): any {
1689
+ return inv<number>('0x4402960666000E62', this.handle, harnessId);
1690
+ }
1691
+
1692
+ /**
1693
+ * Sets the vehicle's lights state.
1694
+ *
1695
+ * @param state
1696
+ */
1697
+ setLights(state: number): void {
1698
+ inv<void>('0x629F0A0E952CAE7D', this.handle, state);
1699
+ }
1700
+
1701
+ /**
1702
+ * @param owned
1703
+ */
1704
+ setHasBeenOwnedByPlayer(owned: boolean): void {
1705
+ inv<void>('0xBB5A3FA8ED3979C5', this.handle, owned);
1706
+ }
1707
+
1708
+ /**
1709
+ * Note: only some vehicle have extras
1710
+ * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_extras.lua
1711
+ *
1712
+ * @param extraId
1713
+ * @param disable
1714
+ */
1715
+ setExtra(extraId: number, disable: boolean): void {
1716
+ inv<void>('0xBB6F89150BC9D16B', this.handle, extraId, disable);
1717
+ }
1718
+
1719
+ /**
1720
+ * @returns
1721
+ */
1722
+ getTrainDirection(): any {
1723
+ return inv<number>('0x3C9628A811CBD724', this.handle);
1724
+ }
1725
+
1726
+ /**
1727
+ * @param seatIndex Refer to [enum: eVehicleSeat]
1728
+ * @returns Returns the last ped in the `seatIndex` or `0` if there wasn't one, or the ped no longer exists.
1729
+ */
1730
+ getLastPedInSeat(seatIndex: eVehicleSeat): Ped | null {
1731
+ return createFromHandle<Ped>('Ped', inv<number>('0x74583B19FEEAFDA7', this.handle, seatIndex, rai()));
1732
+ }
1733
+
1734
+ /**
1735
+ * @param doorId Refer to [enum: eDoorId]
1736
+ * @param speed
1737
+ * @param angle
1738
+ */
1739
+ setDoorControl(doorId: number, speed: number, angle: number): void {
1740
+ inv<void>('0xD57F10EBBA814ECF', this.handle, doorId, speed, f(angle));
1741
+ }
1742
+
1743
+ /**
1744
+ * @param toggle
1745
+ */
1746
+ setDisablePetrolTankDamage(toggle: boolean): void {
1747
+ inv<void>('0x5795FBE7A2001C14', this.handle, toggle);
1748
+ }
1749
+
1750
+ /**
1751
+ * @param toggle
1752
+ */
1753
+ setBreakableLocksUnbreakable(toggle: boolean): void {
1754
+ inv<void>('0xBC4735F48CD983EF', this.handle, toggle);
1755
+ }
1756
+
1757
+ /**
1758
+ * @param p1
1759
+ */
1760
+ setRespectsLocksWhenHasDriver(p1: boolean): void {
1761
+ inv<void>('0x33992A808DF1C1BA', this.handle, p1);
1762
+ }
1763
+
1764
+ /**
1765
+ * *SET_TRAIN**
1766
+ *
1767
+ * @param p1
1768
+ */
1769
+ N_0xAE7E66A61E7C17A5(p1: boolean): void {
1770
+ inv<void>('0xAE7E66A61E7C17A5', this.handle, p1);
1771
+ }
1772
+
1773
+ /**
1774
+ * Returns rage::NumericLimits<float>::kMax (3.402823466e+38) if vehicle is not a valid vehicle of type VEHICLE_TYPE_DRAFT.
1775
+ *
1776
+ * @returns
1777
+ */
1778
+ getDraftDesiredSpeed(): number {
1779
+ return inv<number>('0xC6D7DDC843176701', this.handle, raf());
1780
+ }
1781
+
1782
+ /**
1783
+ * *SET_VEHICLE_WHEELS**
1784
+ *
1785
+ * @param p1
1786
+ * @param p2
1787
+ */
1788
+ N_0x73118A3EE9C9B6DB(p1: number, p2: boolean): void {
1789
+ inv<void>('0x73118A3EE9C9B6DB', this.handle, p1, p2);
1790
+ }
1791
+
1792
+ /**
1793
+ * @param doorId Refer to [enum: eDoorId]
1794
+ * @returns
1795
+ */
1796
+ isDoorBroken(doorId: number): any {
1797
+ return inv<number>('0xE979BB5602AD3402', this.handle, doorId);
1798
+ }
1799
+
1800
+ /**
1801
+ * @param doorId Refer to [enum: eDoorId]
1802
+ * @returns
1803
+ */
1804
+ isDoorFullyOpen(doorId: number): boolean {
1805
+ return inv<boolean>('0x7AE191143C7A9107', this.handle, doorId, rai());
1806
+ }
1807
+
1808
+ /**
1809
+ * @param p1
1810
+ */
1811
+ setForceHighLodVehicle(p1: boolean): void {
1812
+ inv<void>('0x1098CDA477890165', this.handle, p1);
1813
+ }
1814
+
1815
+ /**
1816
+ * Use [native: GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS] - 1 for last seat index.
1817
+ *
1818
+ * @param seatIndex Refer to [enum: eVehicleSeat]
1819
+ * @returns Returns `true` if the vehicle seat is free (has no ped in it)
1820
+ */
1821
+ isSeatFree(seatIndex: eVehicleSeat): boolean {
1822
+ return inv<boolean>('0xE052C1B1CAA4ECE4', this.handle, seatIndex, rai());
1823
+ }
1824
+
1825
+ /**
1826
+ * https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_tints.lua
1827
+ *
1828
+ * @param tintId
1829
+ */
1830
+ setTint(tintId: number): void {
1831
+ inv<void>('0x8268B098F6FCA4E2', this.handle, tintId);
1832
+ }
1833
+
1834
+ /**
1835
+ * Returns trackIndex
1836
+ *
1837
+ * @returns
1838
+ */
1839
+ getTrainTrackFromTrainVehicle(): number {
1840
+ return inv<number>('0x45853F4E17D847D5', this.handle, rai());
1841
+ }
1842
+
1843
+ /**
1844
+ * mudLevel: 0.0 - 1.0
1845
+ *
1846
+ * @param mudLevel
1847
+ */
1848
+ setMudLevel(mudLevel: number): void {
1849
+ inv<void>('0x4D15E49764CB328A', this.handle, f(mudLevel));
1850
+ }
1851
+
1852
+ /**
1853
+ * *SET_DRAFT_VEHICLE**
1854
+ *
1855
+ * @param p1
1856
+ */
1857
+ N_0xFC4F15A7DDDC47B1(p1: boolean): void {
1858
+ inv<void>('0xFC4F15A7DDDC47B1', this.handle, p1);
1859
+ }
1860
+
1861
+ /**
1862
+ * @param toggle
1863
+ */
1864
+ N_0x6B53F4B811E583D2(toggle: boolean): void {
1865
+ inv<void>('0x6B53F4B811E583D2', this.handle, toggle);
1866
+ }
1867
+
1868
+ /**
1869
+ * @param isStolen
1870
+ */
1871
+ setIsStolen(isStolen: boolean): void {
1872
+ inv<void>('0x6C32FC81DFF25C9A', this.handle, isStolen);
1873
+ }
1874
+
1875
+ /**
1876
+ * @param doorId Refer to [enum: eDoorId]
1877
+ * @param deleteDoor
1878
+ */
1879
+ setDoorBroken(doorId: number, deleteDoor: boolean): void {
1880
+ inv<void>('0x9666CF20A1C6D780', this.handle, doorId, deleteDoor);
1881
+ }
1882
+
1883
+
1884
+ private _task?: VehicleTask;
1885
+
1886
+ get task(): VehicleTask {
1887
+ if (!this._task) {
1888
+ this._task = new VehicleTask(this);
1889
+ }
1890
+ return this._task;
1891
+ }
1892
+ }
1893
+
1894
+ registerHandle('Vehicle', Vehicle);