@nativewrappers/fivem 0.0.1

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 (421) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/lib/client/Audio.d.ts +17 -0
  4. package/lib/client/Audio.js +92 -0
  5. package/lib/client/Blip.d.ts +39 -0
  6. package/lib/client/Blip.js +104 -0
  7. package/lib/client/Camera.d.ts +46 -0
  8. package/lib/client/Camera.js +161 -0
  9. package/lib/client/Checkpoint.d.ts +18 -0
  10. package/lib/client/Checkpoint.js +42 -0
  11. package/lib/client/Events.d.ts +11 -0
  12. package/lib/client/Events.js +73 -0
  13. package/lib/client/Game.d.ts +283 -0
  14. package/lib/client/Game.js +451 -0
  15. package/lib/client/GameplayCamera.d.ts +102 -0
  16. package/lib/client/GameplayCamera.js +141 -0
  17. package/lib/client/Model.d.ts +134 -0
  18. package/lib/client/Model.js +198 -0
  19. package/lib/client/NetworkedScene.d.ts +10 -0
  20. package/lib/client/NetworkedScene.js +17 -0
  21. package/lib/client/ParticleEffect.d.ts +80 -0
  22. package/lib/client/ParticleEffect.js +120 -0
  23. package/lib/client/ParticleEffectAsset.d.ts +54 -0
  24. package/lib/client/ParticleEffectAsset.js +104 -0
  25. package/lib/client/Pickup.d.ts +9 -0
  26. package/lib/client/Pickup.js +18 -0
  27. package/lib/client/Raycast.d.ts +49 -0
  28. package/lib/client/Raycast.js +70 -0
  29. package/lib/client/RelationshipGroup.d.ts +49 -0
  30. package/lib/client/RelationshipGroup.js +63 -0
  31. package/lib/client/Rope.d.ts +99 -0
  32. package/lib/client/Rope.js +125 -0
  33. package/lib/client/TaskSequence.d.ts +15 -0
  34. package/lib/client/TaskSequence.js +43 -0
  35. package/lib/client/Tasks.d.ts +66 -0
  36. package/lib/client/Tasks.js +236 -0
  37. package/lib/client/World.d.ts +402 -0
  38. package/lib/client/World.js +726 -0
  39. package/lib/client/cfx/StateBagChangeHandler.d.ts +3 -0
  40. package/lib/client/cfx/StateBagChangeHandler.js +1 -0
  41. package/lib/client/cfx/index.d.ts +7 -0
  42. package/lib/client/cfx/index.js +1 -0
  43. package/lib/client/enums/Alignment.d.ts +5 -0
  44. package/lib/client/enums/Alignment.js +6 -0
  45. package/lib/client/enums/AnimationFlags.d.ts +9 -0
  46. package/lib/client/enums/AnimationFlags.js +10 -0
  47. package/lib/client/enums/AudioFlag.d.ts +37 -0
  48. package/lib/client/enums/AudioFlag.js +38 -0
  49. package/lib/client/enums/BadgeStyle.d.ts +182 -0
  50. package/lib/client/enums/BadgeStyle.js +183 -0
  51. package/lib/client/enums/Blip.d.ts +223 -0
  52. package/lib/client/enums/Blip.js +225 -0
  53. package/lib/client/enums/Bone.d.ts +101 -0
  54. package/lib/client/enums/Bone.js +103 -0
  55. package/lib/client/enums/CameraShake.d.ts +13 -0
  56. package/lib/client/enums/CameraShake.js +14 -0
  57. package/lib/client/enums/CameraTypes.d.ts +7 -0
  58. package/lib/client/enums/CameraTypes.js +8 -0
  59. package/lib/client/enums/CheckboxStyle.d.ts +4 -0
  60. package/lib/client/enums/CheckboxStyle.js +5 -0
  61. package/lib/client/enums/Checkpoint.d.ts +62 -0
  62. package/lib/client/enums/Checkpoint.js +67 -0
  63. package/lib/client/enums/ClassTypes.d.ts +11 -0
  64. package/lib/client/enums/ClassTypes.js +12 -0
  65. package/lib/client/enums/CloudHat.d.ts +26 -0
  66. package/lib/client/enums/CloudHat.js +27 -0
  67. package/lib/client/enums/Control.d.ts +360 -0
  68. package/lib/client/enums/Control.js +361 -0
  69. package/lib/client/enums/CursorSprite.d.ts +14 -0
  70. package/lib/client/enums/CursorSprite.js +15 -0
  71. package/lib/client/enums/Driving.d.ts +32 -0
  72. package/lib/client/enums/Driving.js +34 -0
  73. package/lib/client/enums/ExplosionType.d.ts +44 -0
  74. package/lib/client/enums/ExplosionType.js +45 -0
  75. package/lib/client/enums/FiringPattern.d.ts +19 -0
  76. package/lib/client/enums/FiringPattern.js +20 -0
  77. package/lib/client/enums/Font.d.ts +7 -0
  78. package/lib/client/enums/Font.js +8 -0
  79. package/lib/client/enums/ForceType.d.ts +8 -0
  80. package/lib/client/enums/ForceType.js +9 -0
  81. package/lib/client/enums/Gender.d.ts +4 -0
  82. package/lib/client/enums/Gender.js +5 -0
  83. package/lib/client/enums/HelmetType.d.ts +5 -0
  84. package/lib/client/enums/HelmetType.js +6 -0
  85. package/lib/client/enums/HudColor.d.ts +183 -0
  86. package/lib/client/enums/HudColor.js +184 -0
  87. package/lib/client/enums/HudComponent.d.ts +53 -0
  88. package/lib/client/enums/HudComponent.js +54 -0
  89. package/lib/client/enums/InputMode.d.ts +4 -0
  90. package/lib/client/enums/InputMode.js +5 -0
  91. package/lib/client/enums/IntersectOptions.d.ts +15 -0
  92. package/lib/client/enums/IntersectOptions.js +16 -0
  93. package/lib/client/enums/InvertAxis.d.ts +9 -0
  94. package/lib/client/enums/InvertAxis.js +7 -0
  95. package/lib/client/enums/Language.d.ts +14 -0
  96. package/lib/client/enums/Language.js +15 -0
  97. package/lib/client/enums/LeaveVehicleFlags.d.ts +10 -0
  98. package/lib/client/enums/LeaveVehicleFlags.js +11 -0
  99. package/lib/client/enums/LoadingSpinnerType.d.ts +7 -0
  100. package/lib/client/enums/LoadingSpinnerType.js +8 -0
  101. package/lib/client/enums/MarkerType.d.ts +49 -0
  102. package/lib/client/enums/MarkerType.js +50 -0
  103. package/lib/client/enums/MenuAlignment.d.ts +4 -0
  104. package/lib/client/enums/MenuAlignment.js +5 -0
  105. package/lib/client/enums/NotificationType.d.ts +10 -0
  106. package/lib/client/enums/NotificationType.js +11 -0
  107. package/lib/client/enums/Parachute.d.ts +13 -0
  108. package/lib/client/enums/Parachute.js +15 -0
  109. package/lib/client/enums/PickupType.d.ts +73 -0
  110. package/lib/client/enums/PickupType.js +74 -0
  111. package/lib/client/enums/RadioStation.d.ts +24 -0
  112. package/lib/client/enums/RadioStation.js +25 -0
  113. package/lib/client/enums/RagdollType.d.ts +6 -0
  114. package/lib/client/enums/RagdollType.js +7 -0
  115. package/lib/client/enums/Relationship.d.ts +9 -0
  116. package/lib/client/enums/Relationship.js +10 -0
  117. package/lib/client/enums/RopeType.d.ts +5 -0
  118. package/lib/client/enums/RopeType.js +6 -0
  119. package/lib/client/enums/ScreenEffect.d.ts +83 -0
  120. package/lib/client/enums/ScreenEffect.js +84 -0
  121. package/lib/client/enums/SpeechModifier.d.ts +39 -0
  122. package/lib/client/enums/SpeechModifier.js +40 -0
  123. package/lib/client/enums/Vehicle.d.ts +358 -0
  124. package/lib/client/enums/Vehicle.js +376 -0
  125. package/lib/client/enums/Weather.d.ts +21 -0
  126. package/lib/client/enums/Weather.js +22 -0
  127. package/lib/client/enums/ZoneID.d.ts +94 -0
  128. package/lib/client/enums/ZoneID.js +95 -0
  129. package/lib/client/enums/index.d.ts +42 -0
  130. package/lib/client/enums/index.js +42 -0
  131. package/lib/client/hashes/MaterialHash.d.ts +216 -0
  132. package/lib/client/hashes/MaterialHash.js +217 -0
  133. package/lib/client/hashes/PedHash.d.ts +724 -0
  134. package/lib/client/hashes/PedHash.js +725 -0
  135. package/lib/client/hashes/VehicleHash.d.ts +522 -0
  136. package/lib/client/hashes/VehicleHash.js +523 -0
  137. package/lib/client/hashes/WeaponHash.d.ts +147 -0
  138. package/lib/client/hashes/WeaponHash.js +161 -0
  139. package/lib/client/hashes/WeatherTypeHash.d.ts +21 -0
  140. package/lib/client/hashes/WeatherTypeHash.js +22 -0
  141. package/lib/client/hashes/index.d.ts +5 -0
  142. package/lib/client/hashes/index.js +5 -0
  143. package/lib/client/index.d.ts +24 -0
  144. package/lib/client/index.js +25 -0
  145. package/lib/client/interfaces/Dimensions.d.ts +5 -0
  146. package/lib/client/interfaces/Dimensions.js +1 -0
  147. package/lib/client/models/BaseEntity.d.ts +169 -0
  148. package/lib/client/models/BaseEntity.js +459 -0
  149. package/lib/client/models/Entity.d.ts +9 -0
  150. package/lib/client/models/Entity.js +24 -0
  151. package/lib/client/models/EntityBone.d.ts +12 -0
  152. package/lib/client/models/EntityBone.js +24 -0
  153. package/lib/client/models/EntityBoneCollection.d.ts +11 -0
  154. package/lib/client/models/EntityBoneCollection.js +16 -0
  155. package/lib/client/models/Ped.d.ts +199 -0
  156. package/lib/client/models/Ped.js +685 -0
  157. package/lib/client/models/PedBone.d.ts +6 -0
  158. package/lib/client/models/PedBone.js +9 -0
  159. package/lib/client/models/PedBoneCollection.d.ts +8 -0
  160. package/lib/client/models/PedBoneCollection.js +19 -0
  161. package/lib/client/models/Player.d.ts +63 -0
  162. package/lib/client/models/Player.js +174 -0
  163. package/lib/client/models/Prop.d.ts +11 -0
  164. package/lib/client/models/Prop.js +26 -0
  165. package/lib/client/models/Vehicle.d.ts +171 -0
  166. package/lib/client/models/Vehicle.js +551 -0
  167. package/lib/client/models/VehicleDoor.d.ts +19 -0
  168. package/lib/client/models/VehicleDoor.js +42 -0
  169. package/lib/client/models/VehicleDoorCollection.d.ts +14 -0
  170. package/lib/client/models/VehicleDoorCollection.js +61 -0
  171. package/lib/client/models/VehicleMod.d.ts +16 -0
  172. package/lib/client/models/VehicleMod.js +33 -0
  173. package/lib/client/models/VehicleModCollection.d.ts +61 -0
  174. package/lib/client/models/VehicleModCollection.js +227 -0
  175. package/lib/client/models/VehicleToggleMod.d.ts +14 -0
  176. package/lib/client/models/VehicleToggleMod.js +27 -0
  177. package/lib/client/models/VehicleWheel.d.ts +11 -0
  178. package/lib/client/models/VehicleWheel.js +21 -0
  179. package/lib/client/models/VehicleWheelCollection.d.ts +13 -0
  180. package/lib/client/models/VehicleWheelCollection.js +56 -0
  181. package/lib/client/models/VehicleWindow.d.ts +16 -0
  182. package/lib/client/models/VehicleWindow.js +33 -0
  183. package/lib/client/models/VehicleWindowCollection.d.ts +14 -0
  184. package/lib/client/models/VehicleWindowCollection.js +55 -0
  185. package/lib/client/models/index.d.ts +18 -0
  186. package/lib/client/models/index.js +18 -0
  187. package/lib/client/types/EntityType.d.ts +2 -0
  188. package/lib/client/types/EntityType.js +1 -0
  189. package/lib/client/ui/Container.d.ts +11 -0
  190. package/lib/client/ui/Container.js +28 -0
  191. package/lib/client/ui/Effects.d.ts +8 -0
  192. package/lib/client/ui/Effects.js +106 -0
  193. package/lib/client/ui/Fading.d.ts +41 -0
  194. package/lib/client/ui/Fading.js +69 -0
  195. package/lib/client/ui/Hud.d.ts +16 -0
  196. package/lib/client/ui/Hud.js +39 -0
  197. package/lib/client/ui/InstructionalButtons.d.ts +33 -0
  198. package/lib/client/ui/InstructionalButtons.js +53 -0
  199. package/lib/client/ui/LoadingPrompt.d.ts +27 -0
  200. package/lib/client/ui/LoadingPrompt.js +45 -0
  201. package/lib/client/ui/Notification.d.ts +5 -0
  202. package/lib/client/ui/Notification.js +8 -0
  203. package/lib/client/ui/Rectangle.d.ts +10 -0
  204. package/lib/client/ui/Rectangle.js +37 -0
  205. package/lib/client/ui/Scaleform.d.ts +106 -0
  206. package/lib/client/ui/Scaleform.js +234 -0
  207. package/lib/client/ui/Screen.d.ts +16 -0
  208. package/lib/client/ui/Screen.js +72 -0
  209. package/lib/client/ui/Sprite.d.ts +17 -0
  210. package/lib/client/ui/Sprite.js +53 -0
  211. package/lib/client/ui/Text.d.ts +31 -0
  212. package/lib/client/ui/Text.js +102 -0
  213. package/lib/client/ui/Timerbar.d.ts +44 -0
  214. package/lib/client/ui/Timerbar.js +241 -0
  215. package/lib/client/ui/index.d.ts +15 -0
  216. package/lib/client/ui/index.js +15 -0
  217. package/lib/client/ui/interfaces/IButton.d.ts +5 -0
  218. package/lib/client/ui/interfaces/IButton.js +1 -0
  219. package/lib/client/ui/interfaces/IDrawable.d.ts +7 -0
  220. package/lib/client/ui/interfaces/IDrawable.js +1 -0
  221. package/lib/client/ui/interfaces/index.d.ts +2 -0
  222. package/lib/client/ui/interfaces/index.js +1 -0
  223. package/lib/client/ui/menu/Menu.d.ts +108 -0
  224. package/lib/client/ui/menu/Menu.js +802 -0
  225. package/lib/client/ui/menu/MenuControl.d.ts +6 -0
  226. package/lib/client/ui/menu/MenuControl.js +11 -0
  227. package/lib/client/ui/menu/MenuControls.d.ts +9 -0
  228. package/lib/client/ui/menu/MenuControls.js +11 -0
  229. package/lib/client/ui/menu/MenuSettings.d.ts +20 -0
  230. package/lib/client/ui/menu/MenuSettings.js +51 -0
  231. package/lib/client/ui/menu/index.d.ts +6 -0
  232. package/lib/client/ui/menu/index.js +6 -0
  233. package/lib/client/ui/menu/items/UIMenuCheckboxItem.d.ts +20 -0
  234. package/lib/client/ui/menu/items/UIMenuCheckboxItem.js +57 -0
  235. package/lib/client/ui/menu/items/UIMenuItem.d.ts +78 -0
  236. package/lib/client/ui/menu/items/UIMenuItem.js +1090 -0
  237. package/lib/client/ui/menu/items/UIMenuListItem.d.ts +31 -0
  238. package/lib/client/ui/menu/items/UIMenuListItem.js +110 -0
  239. package/lib/client/ui/menu/items/UIMenuSeparatorItem.d.ts +11 -0
  240. package/lib/client/ui/menu/items/UIMenuSeparatorItem.js +29 -0
  241. package/lib/client/ui/menu/items/UIMenuSliderItem.d.ts +47 -0
  242. package/lib/client/ui/menu/items/UIMenuSliderItem.js +173 -0
  243. package/lib/client/ui/menu/items/index.d.ts +6 -0
  244. package/lib/client/ui/menu/items/index.js +6 -0
  245. package/lib/client/ui/menu/items/panels/AbstractUIMenuPanel.d.ts +17 -0
  246. package/lib/client/ui/menu/items/panels/AbstractUIMenuPanel.js +43 -0
  247. package/lib/client/ui/menu/items/panels/UIMenuColorPanel.d.ts +36 -0
  248. package/lib/client/ui/menu/items/panels/UIMenuColorPanel.js +211 -0
  249. package/lib/client/ui/menu/items/panels/UIMenuGridPanel.d.ts +40 -0
  250. package/lib/client/ui/menu/items/panels/UIMenuGridPanel.js +215 -0
  251. package/lib/client/ui/menu/items/panels/UIMenuPercentagePanel.d.ts +26 -0
  252. package/lib/client/ui/menu/items/panels/UIMenuPercentagePanel.js +115 -0
  253. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanel.d.ts +16 -0
  254. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanel.js +77 -0
  255. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanelItem.d.ts +13 -0
  256. package/lib/client/ui/menu/items/panels/UIMenuStatisticsPanelItem.js +32 -0
  257. package/lib/client/ui/menu/items/panels/index.d.ts +6 -0
  258. package/lib/client/ui/menu/items/panels/index.js +6 -0
  259. package/lib/client/ui/menu/modules/ListItem.d.ts +6 -0
  260. package/lib/client/ui/menu/modules/ListItem.js +8 -0
  261. package/lib/client/ui/menu/modules/index.d.ts +1 -0
  262. package/lib/client/ui/menu/modules/index.js +1 -0
  263. package/lib/client/utils/Animations.d.ts +19 -0
  264. package/lib/client/utils/Animations.js +55 -0
  265. package/lib/client/utils/Color.d.ts +15 -0
  266. package/lib/client/utils/Color.js +22 -0
  267. package/lib/client/utils/Crypto.d.ts +3 -0
  268. package/lib/client/utils/Crypto.js +25 -0
  269. package/lib/client/utils/LiteEvent.d.ts +13 -0
  270. package/lib/client/utils/LiteEvent.js +21 -0
  271. package/lib/client/utils/Maths.d.ts +4 -0
  272. package/lib/client/utils/Maths.js +10 -0
  273. package/lib/client/utils/Point.d.ts +9 -0
  274. package/lib/client/utils/Point.js +28 -0
  275. package/lib/client/utils/PointF.d.ts +12 -0
  276. package/lib/client/utils/PointF.js +11 -0
  277. package/lib/client/utils/Quaternion.d.ts +10 -0
  278. package/lib/client/utils/Quaternion.js +23 -0
  279. package/lib/client/utils/Size.d.ts +5 -0
  280. package/lib/client/utils/Size.js +6 -0
  281. package/lib/client/utils/String.d.ts +6 -0
  282. package/lib/client/utils/String.js +25 -0
  283. package/lib/client/utils/Vector2.d.ts +54 -0
  284. package/lib/client/utils/Vector2.js +106 -0
  285. package/lib/client/utils/Vector3.d.ts +69 -0
  286. package/lib/client/utils/Vector3.js +140 -0
  287. package/lib/client/utils/Vector4.d.ts +62 -0
  288. package/lib/client/utils/Vector4.js +124 -0
  289. package/lib/client/utils/enumValues.d.ts +12 -0
  290. package/lib/client/utils/enumValues.js +14 -0
  291. package/lib/client/utils/getStringFromUInt8Array.d.ts +8 -0
  292. package/lib/client/utils/getStringFromUInt8Array.js +10 -0
  293. package/lib/client/utils/getUInt32FromUint8Array.d.ts +8 -0
  294. package/lib/client/utils/getUInt32FromUint8Array.js +8 -0
  295. package/lib/client/utils/index.d.ts +10 -0
  296. package/lib/client/utils/index.js +10 -0
  297. package/lib/client/weapon/DlcWeaponData.d.ts +43 -0
  298. package/lib/client/weapon/DlcWeaponData.js +44 -0
  299. package/lib/client/weapon/Mk2WeaponHash.d.ts +18 -0
  300. package/lib/client/weapon/Mk2WeaponHash.js +25 -0
  301. package/lib/client/weapon/Weapon.d.ts +169 -0
  302. package/lib/client/weapon/Weapon.js +267 -0
  303. package/lib/client/weapon/WeaponAsset.d.ts +55 -0
  304. package/lib/client/weapon/WeaponAsset.js +83 -0
  305. package/lib/client/weapon/WeaponCollection.d.ts +90 -0
  306. package/lib/client/weapon/WeaponCollection.js +186 -0
  307. package/lib/client/weapon/WeaponDisplayNameByHash.d.ts +6 -0
  308. package/lib/client/weapon/WeaponDisplayNameByHash.js +75 -0
  309. package/lib/client/weapon/WeaponGroup.d.ts +18 -0
  310. package/lib/client/weapon/WeaponGroup.js +19 -0
  311. package/lib/client/weapon/WeaponHudStats.d.ts +27 -0
  312. package/lib/client/weapon/WeaponHudStats.js +38 -0
  313. package/lib/client/weapon/WeaponLivery.d.ts +13 -0
  314. package/lib/client/weapon/WeaponLivery.js +14 -0
  315. package/lib/client/weapon/WeaponLiveryColor.d.ts +34 -0
  316. package/lib/client/weapon/WeaponLiveryColor.js +35 -0
  317. package/lib/client/weapon/WeaponTint.d.ts +42 -0
  318. package/lib/client/weapon/WeaponTint.js +43 -0
  319. package/lib/client/weapon/index.d.ts +8 -0
  320. package/lib/client/weapon/index.js +8 -0
  321. package/lib/client/weaponComponent/ComponentAttachmentPoint.d.ts +18 -0
  322. package/lib/client/weaponComponent/ComponentAttachmentPoint.js +19 -0
  323. package/lib/client/weaponComponent/ComponentAttachmentPointByHash.d.ts +7 -0
  324. package/lib/client/weaponComponent/ComponentAttachmentPointByHash.js +309 -0
  325. package/lib/client/weaponComponent/ComponentDisplayNameByHash.d.ts +6 -0
  326. package/lib/client/weaponComponent/ComponentDisplayNameByHash.js +280 -0
  327. package/lib/client/weaponComponent/DlcWeaponComponentData.d.ts +40 -0
  328. package/lib/client/weaponComponent/DlcWeaponComponentData.js +44 -0
  329. package/lib/client/weaponComponent/InvalidWeaponComponent.d.ts +12 -0
  330. package/lib/client/weaponComponent/InvalidWeaponComponent.js +28 -0
  331. package/lib/client/weaponComponent/WeaponComponent.d.ts +81 -0
  332. package/lib/client/weaponComponent/WeaponComponent.js +119 -0
  333. package/lib/client/weaponComponent/WeaponComponentCollection.d.ts +108 -0
  334. package/lib/client/weaponComponent/WeaponComponentCollection.js +172 -0
  335. package/lib/client/weaponComponent/WeaponComponentHash.d.ts +671 -0
  336. package/lib/client/weaponComponent/WeaponComponentHash.js +887 -0
  337. package/lib/client/weaponComponent/WeaponComponentHashesByWeaponHash.d.ts +8 -0
  338. package/lib/client/weaponComponent/WeaponComponentHashesByWeaponHash.js +823 -0
  339. package/lib/client/weaponComponent/WeaponComponentHudStats.d.ts +27 -0
  340. package/lib/client/weaponComponent/WeaponComponentHudStats.js +34 -0
  341. package/lib/client/weaponComponent/index.d.ts +5 -0
  342. package/lib/client/weaponComponent/index.js +5 -0
  343. package/lib/common/Convar.d.ts +8 -0
  344. package/lib/common/Convar.js +20 -0
  345. package/lib/common/Kvp.d.ts +91 -0
  346. package/lib/common/Kvp.js +161 -0
  347. package/lib/common/Resource.d.ts +14 -0
  348. package/lib/common/Resource.js +35 -0
  349. package/lib/common/index.d.ts +5 -0
  350. package/lib/common/index.js +5 -0
  351. package/lib/common/types.d.ts +6 -0
  352. package/lib/common/types.js +1 -0
  353. package/lib/common/utils/Color.d.ts +10 -0
  354. package/lib/common/utils/Color.js +17 -0
  355. package/lib/common/utils/Maths.d.ts +4 -0
  356. package/lib/common/utils/Maths.js +10 -0
  357. package/lib/common/utils/PointF.d.ts +12 -0
  358. package/lib/common/utils/PointF.js +11 -0
  359. package/lib/common/utils/Quaternion.d.ts +10 -0
  360. package/lib/common/utils/Quaternion.js +23 -0
  361. package/lib/common/utils/Vector2.d.ts +58 -0
  362. package/lib/common/utils/Vector2.js +113 -0
  363. package/lib/common/utils/Vector3.d.ts +73 -0
  364. package/lib/common/utils/Vector3.js +147 -0
  365. package/lib/common/utils/Vector4.d.ts +66 -0
  366. package/lib/common/utils/Vector4.js +131 -0
  367. package/lib/common/utils/cleanPlayerName.d.ts +6 -0
  368. package/lib/common/utils/cleanPlayerName.js +27 -0
  369. package/lib/common/utils/enumValues.d.ts +12 -0
  370. package/lib/common/utils/enumValues.js +14 -0
  371. package/lib/common/utils/getStringFromUInt8Array.d.ts +8 -0
  372. package/lib/common/utils/getStringFromUInt8Array.js +10 -0
  373. package/lib/common/utils/getUInt32FromUint8Array.d.ts +8 -0
  374. package/lib/common/utils/getUInt32FromUint8Array.js +8 -0
  375. package/lib/common/utils/index.d.ts +12 -0
  376. package/lib/common/utils/index.js +12 -0
  377. package/lib/server/Anticheat.d.ts +0 -0
  378. package/lib/server/Anticheat.js +25 -0
  379. package/lib/server/Events.d.ts +35 -0
  380. package/lib/server/Events.js +102 -0
  381. package/lib/server/Game.d.ts +56 -0
  382. package/lib/server/Game.js +86 -0
  383. package/lib/server/cfx/StateBagChangeHandler.d.ts +9 -0
  384. package/lib/server/cfx/StateBagChangeHandler.js +4 -0
  385. package/lib/server/cfx/index.d.ts +7 -0
  386. package/lib/server/cfx/index.js +1 -0
  387. package/lib/server/entities/BaseEntity.d.ts +115 -0
  388. package/lib/server/entities/BaseEntity.js +161 -0
  389. package/lib/server/entities/Entity.d.ts +18 -0
  390. package/lib/server/entities/Entity.js +22 -0
  391. package/lib/server/entities/Ped.d.ts +87 -0
  392. package/lib/server/entities/Ped.js +122 -0
  393. package/lib/server/entities/Player.d.ts +163 -0
  394. package/lib/server/entities/Player.js +235 -0
  395. package/lib/server/entities/Prop.d.ts +32 -0
  396. package/lib/server/entities/Prop.js +42 -0
  397. package/lib/server/entities/Vehicle.d.ts +230 -0
  398. package/lib/server/entities/Vehicle.js +331 -0
  399. package/lib/server/entities/index.d.ts +5 -0
  400. package/lib/server/entities/index.js +5 -0
  401. package/lib/server/enum/ClassTypes.d.ts +11 -0
  402. package/lib/server/enum/ClassTypes.js +12 -0
  403. package/lib/server/enum/PopulationType.d.ts +13 -0
  404. package/lib/server/enum/PopulationType.js +14 -0
  405. package/lib/server/enum/VehicleLockStatus.d.ts +9 -0
  406. package/lib/server/enum/VehicleLockStatus.js +10 -0
  407. package/lib/server/enum/VehicleType.d.ts +10 -0
  408. package/lib/server/enum/VehicleType.js +11 -0
  409. package/lib/server/enum/eEntityType.d.ts +5 -0
  410. package/lib/server/enum/eEntityType.js +6 -0
  411. package/lib/server/enum/index.d.ts +5 -0
  412. package/lib/server/enum/index.js +5 -0
  413. package/lib/server/index.d.ts +7 -0
  414. package/lib/server/index.js +7 -0
  415. package/lib/server/type/Anticheat.d.ts +471 -0
  416. package/lib/server/type/Anticheat.js +160 -0
  417. package/lib/server/type/Hash.d.ts +3 -0
  418. package/lib/server/type/Hash.js +2 -0
  419. package/lib/server/utils/index.d.ts +1 -0
  420. package/lib/server/utils/index.js +1 -0
  421. package/package.json +54 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Dillon Skaggs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ <h1 align="center">Monorepo for a FiveM server/client wrapper</h1>
2
+
3
+ <p align="center">
4
+ <i>:fire: A Javascript/Typescript wrapper for the FiveM server natives :video_game:</i>
5
+ <br>
6
+ <br>
7
+ <a href="https://github.com/nativewrappers/fivem-server/blob/master/LICENSE">
8
+ <img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat" alt="License: MIT">
9
+ </a>
10
+ <a href="https://github.com/nativewrappers/fivem/commits/master">
11
+ <img src="https://img.shields.io/github/last-commit/nativewrappers/fivem.svg?style=flat" alt="Last commit">
12
+ </a>
13
+ </p>
14
+
15
+ <p align="center">
16
+ <a href="https://fivemjs-server.avarian.dev/">Documentation</a>
17
+ -
18
+ <a href="https://forum.fivem.net/t/fivem-js-v1-3-2-javascript-typescript-wrapper-now-with-menu-class-nativeui/268640">Forum</a>
19
+ </p>
20
+
21
+ This project is in no way affiliated with FiveM or the Cfx Collective.
22
+
23
+ ## Features
24
+ - No runtime dependencies
25
+ - Abstracts common used FiveM practices
26
+ - Entity management through class objects (i.e. `Vehicle` and `Ped` entities)
27
+
28
+
29
+ ## Download & Install
30
+
31
+ `pnpm add @nativewrappers/fivem-server`
32
+
33
+
@@ -0,0 +1,17 @@
1
+ import { AudioFlag } from './enums';
2
+ import type { BaseEntity } from './models/BaseEntity';
3
+ import { Vector3 } from './utils';
4
+ export declare abstract class Audio {
5
+ static playSoundAt(position: Vector3, sound: string, set?: string, generateSoundId?: boolean): number;
6
+ static playSoundFromEntity(entity: BaseEntity, sound: string, set?: string, generateSoundId?: boolean): number;
7
+ static playSoundFrontEnd(sound: string, set?: string, generateSoundId?: boolean): number;
8
+ static stopSound(soundId: number): void;
9
+ static releaseSound(soundId: number): void;
10
+ static hasSoundFinished(soundId: number): boolean;
11
+ static setAudioFlag(flag: string | AudioFlag, toggle: boolean): void;
12
+ static playSound(soundFile: string, soundSet: string): void;
13
+ static playMusic(musicFile: string): void;
14
+ static stopMusic(musicFile?: string): void;
15
+ protected static cachedMusicFile: string;
16
+ private static readonly audioFlags;
17
+ }
@@ -0,0 +1,92 @@
1
+ export class Audio {
2
+ static playSoundAt(position, sound, set, generateSoundId = true) {
3
+ const SOUND_ID = generateSoundId ? GetSoundId() : -1;
4
+ PlaySoundFromCoord(SOUND_ID, sound, position.x, position.y, position.z, set ?? '', false, 0, false);
5
+ return SOUND_ID;
6
+ }
7
+ static playSoundFromEntity(entity, sound, set, generateSoundId = true) {
8
+ const SOUND_ID = generateSoundId ? GetSoundId() : -1;
9
+ PlaySoundFromEntity(SOUND_ID, sound, entity.Handle, set ?? '', false, 0);
10
+ return SOUND_ID;
11
+ }
12
+ static playSoundFrontEnd(sound, set, generateSoundId = true) {
13
+ const SOUND_ID = generateSoundId ? GetSoundId() : -1;
14
+ PlaySoundFrontend(SOUND_ID, sound, set ?? '', false);
15
+ return SOUND_ID;
16
+ }
17
+ static stopSound(soundId) {
18
+ StopSound(soundId);
19
+ }
20
+ static releaseSound(soundId) {
21
+ ReleaseSoundId(soundId);
22
+ }
23
+ static hasSoundFinished(soundId) {
24
+ return HasSoundFinished(soundId);
25
+ }
26
+ static setAudioFlag(flag, toggle) {
27
+ if (typeof flag === 'string') {
28
+ SetAudioFlag(flag, toggle);
29
+ }
30
+ else {
31
+ SetAudioFlag(this.audioFlags[Number(flag)], toggle);
32
+ }
33
+ }
34
+ static playSound(soundFile, soundSet) {
35
+ this.releaseSound(this.playSoundFrontEnd(soundFile, soundSet));
36
+ }
37
+ static playMusic(musicFile) {
38
+ if (!this.cachedMusicFile) {
39
+ CancelMusicEvent(musicFile);
40
+ }
41
+ this.cachedMusicFile = musicFile;
42
+ TriggerMusicEvent(musicFile);
43
+ }
44
+ static stopMusic(musicFile) {
45
+ if (!musicFile) {
46
+ if (!this.cachedMusicFile) {
47
+ CancelMusicEvent(this.cachedMusicFile);
48
+ this.cachedMusicFile = '';
49
+ }
50
+ }
51
+ else {
52
+ CancelMusicEvent(musicFile ?? '');
53
+ }
54
+ }
55
+ }
56
+ Audio.audioFlags = [
57
+ 'ActivateSwitchWheelAudio',
58
+ 'AllowCutsceneOverScreenFade',
59
+ 'AllowForceRadioAfterRetune',
60
+ 'AllowPainAndAmbientSpeechToPlayDuringCutscene',
61
+ 'AllowPlayerAIOnMission',
62
+ 'AllowPoliceScannerWhenPlayerHasNoControl',
63
+ 'AllowRadioDuringSwitch',
64
+ 'AllowRadioOverScreenFade',
65
+ 'AllowScoreAndRadio',
66
+ 'AllowScriptedSpeechInSlowMo',
67
+ 'AvoidMissionCompleteDelay',
68
+ 'DisableAbortConversationForDeathAndInjury',
69
+ 'DisableAbortConversationForRagdoll',
70
+ 'DisableBarks',
71
+ 'DisableFlightMusic',
72
+ 'DisableReplayScriptStreamRecording',
73
+ 'EnableHeadsetBeep',
74
+ 'ForceConversationInterrupt',
75
+ 'ForceSeamlessRadioSwitch',
76
+ 'ForceSniperAudio',
77
+ 'FrontendRadioDisabled',
78
+ 'HoldMissionCompleteWhenPrepared',
79
+ 'IsDirectorModeActive',
80
+ 'IsPlayerOnMissionForSpeech',
81
+ 'ListenerReverbDisabled',
82
+ 'LoadMPData',
83
+ 'MobileRadioInGame',
84
+ 'OnlyAllowScriptTriggerPoliceScanner',
85
+ 'PlayMenuMusic',
86
+ 'PoliceScannerDisabled',
87
+ 'ScriptedConvListenerMaySpeak',
88
+ 'SpeechDucksScore',
89
+ 'SuppressPlayerScubaBreathing',
90
+ 'WantedMusicDisabled',
91
+ 'WantedMusicOnMission',
92
+ ];
@@ -0,0 +1,39 @@
1
+ import { Vector3 } from './utils';
2
+ import { BlipColor, BlipSprite } from './enums';
3
+ import { Player } from './models';
4
+ import { EntityType } from './types/EntityType';
5
+ export declare class Blip {
6
+ protected handle: number;
7
+ constructor(handle: number);
8
+ get Handle(): number;
9
+ get Position(): Vector3;
10
+ set Position(location: Vector3);
11
+ set Rotation(rotation: number);
12
+ set Scale(scale: number);
13
+ get Type(): number;
14
+ get Alpha(): number;
15
+ set Alpha(alpha: number);
16
+ set Priority(priority: number);
17
+ set NumberLabel(number: number);
18
+ get Color(): BlipColor;
19
+ set Color(color: BlipColor);
20
+ get Sprite(): BlipSprite;
21
+ set Sprite(sprite: BlipSprite);
22
+ set Display(display: number);
23
+ set Name(name: string);
24
+ setNameToPlayerName(player: Player): void;
25
+ get Entity(): EntityType | null;
26
+ set ShowHeadingIndicator(show: boolean);
27
+ set ShowRoute(show: boolean);
28
+ set IsFriendly(friendly: boolean);
29
+ set IsFriend(friend: boolean);
30
+ set IsCrew(crew: boolean);
31
+ get IsFlashing(): boolean;
32
+ set IsFlashing(flashing: boolean);
33
+ get IsOnMinimap(): boolean;
34
+ get IsShortRange(): boolean;
35
+ set IsShortRange(shortRange: boolean);
36
+ removeNumberLabel(): void;
37
+ delete(): void;
38
+ exists(): boolean;
39
+ }
@@ -0,0 +1,104 @@
1
+ import { Vector3 } from './utils';
2
+ import { Entity } from './models/Entity';
3
+ export class Blip {
4
+ constructor(handle) {
5
+ this.handle = handle;
6
+ }
7
+ get Handle() {
8
+ return this.handle;
9
+ }
10
+ get Position() {
11
+ return Vector3.fromArray(GetBlipInfoIdCoord(this.handle));
12
+ }
13
+ set Position(location) {
14
+ SetBlipCoords(this.handle, location.x, location.y, location.z);
15
+ }
16
+ set Rotation(rotation) {
17
+ SetBlipRotation(this.handle, rotation);
18
+ }
19
+ set Scale(scale) {
20
+ SetBlipScale(this.handle, scale);
21
+ }
22
+ get Type() {
23
+ return GetBlipInfoIdType(this.handle);
24
+ }
25
+ get Alpha() {
26
+ return GetBlipAlpha(this.handle);
27
+ }
28
+ set Alpha(alpha) {
29
+ SetBlipAlpha(this.handle, alpha);
30
+ }
31
+ set Priority(priority) {
32
+ SetBlipPriority(this.handle, priority);
33
+ }
34
+ set NumberLabel(number) {
35
+ ShowNumberOnBlip(this.handle, number);
36
+ }
37
+ get Color() {
38
+ return GetBlipColour(this.handle);
39
+ }
40
+ set Color(color) {
41
+ SetBlipColour(this.handle, color);
42
+ }
43
+ get Sprite() {
44
+ return GetBlipSprite(this.handle);
45
+ }
46
+ set Sprite(sprite) {
47
+ SetBlipSprite(this.handle, sprite);
48
+ }
49
+ set Display(display) {
50
+ SetBlipDisplay(this.handle, display);
51
+ }
52
+ set Name(name) {
53
+ BeginTextCommandSetBlipName('STRING');
54
+ AddTextComponentSubstringPlayerName(name);
55
+ EndTextCommandSetBlipName(this.handle);
56
+ }
57
+ setNameToPlayerName(player) {
58
+ SetBlipNameToPlayerName(this.handle, player.Handle);
59
+ }
60
+ get Entity() {
61
+ return Entity.fromHandle(GetBlipInfoIdEntityIndex(this.handle));
62
+ }
63
+ set ShowHeadingIndicator(show) {
64
+ ShowHeadingIndicatorOnBlip(this.handle, show);
65
+ }
66
+ set ShowRoute(show) {
67
+ SetBlipRoute(this.handle, show);
68
+ }
69
+ set IsFriendly(friendly) {
70
+ SetBlipAsFriendly(this.handle, friendly);
71
+ }
72
+ set IsFriend(friend) {
73
+ SetBlipFriend(this.handle, friend);
74
+ }
75
+ set IsCrew(crew) {
76
+ SetBlipCrew(this.handle, crew);
77
+ }
78
+ get IsFlashing() {
79
+ return IsBlipFlashing(this.handle);
80
+ }
81
+ set IsFlashing(flashing) {
82
+ SetBlipFlashes(this.handle, flashing);
83
+ }
84
+ get IsOnMinimap() {
85
+ return IsBlipOnMinimap(this.handle);
86
+ }
87
+ get IsShortRange() {
88
+ return IsBlipShortRange(this.handle);
89
+ }
90
+ set IsShortRange(shortRange) {
91
+ SetBlipAsShortRange(this.handle, shortRange);
92
+ }
93
+ removeNumberLabel() {
94
+ HideNumberOnBlip(this.handle);
95
+ }
96
+ delete() {
97
+ if (this.exists()) {
98
+ RemoveBlip(this.handle);
99
+ }
100
+ }
101
+ exists() {
102
+ return DoesBlipExist(this.handle);
103
+ }
104
+ }
@@ -0,0 +1,46 @@
1
+ import { CameraShake } from './enums';
2
+ import { PedBone } from './models';
3
+ import { BaseEntity } from './models/BaseEntity';
4
+ import { Vector3 } from './utils';
5
+ export declare class Camera {
6
+ static readonly shakeNames: string[];
7
+ private handle;
8
+ constructor(handle: number);
9
+ get Handle(): number;
10
+ get IsActive(): boolean;
11
+ set IsActive(active: boolean);
12
+ get Position(): Vector3;
13
+ set Position(position: Vector3);
14
+ get Rotation(): Vector3;
15
+ set Rotation(rotation: Vector3);
16
+ /**
17
+ * Gets the direction the camera is facing. Same as ForwardVector
18
+ */
19
+ get Direction(): Vector3;
20
+ set Direction(direction: Vector3);
21
+ get ForwardVector(): Vector3;
22
+ get FieldOfView(): number;
23
+ set FieldOfView(fieldOfView: number);
24
+ get NearClip(): number;
25
+ set NearClip(nearClip: number);
26
+ get FarClip(): number;
27
+ set FarClip(farClip: number);
28
+ set NearDepthOfField(nearDepthOfField: number);
29
+ get FarDepthOfField(): number;
30
+ set FarDepthOfField(farDepthOfField: number);
31
+ set DepthOfFieldStrength(strength: number);
32
+ set MotionBlurStrength(strength: number);
33
+ shake(shakeType: CameraShake, amplitude: number): void;
34
+ stopShaking(): void;
35
+ get IsShaking(): boolean;
36
+ set ShakeAmplitude(amplitude: number);
37
+ playAnim(animName: string, animDict: string, position: Vector3, rotation: Vector3): Promise<void>;
38
+ pointAt(target: BaseEntity | PedBone | Vector3, offset?: Vector3): void;
39
+ stopPointing(): void;
40
+ interpTo(to: Camera, duration: number, easePosition: boolean, easeRotation: boolean): void;
41
+ get IsInterpolating(): boolean;
42
+ attachTo(object: BaseEntity | PedBone, offset: Vector3): void;
43
+ detach(): void;
44
+ delete(): void;
45
+ exists(): boolean;
46
+ }
@@ -0,0 +1,161 @@
1
+ import { PedBone } from './models';
2
+ import { BaseEntity } from './models/BaseEntity';
3
+ import { Vector3 } from './utils';
4
+ import { LoadAnimDict } from './utils/Animations';
5
+ export class Camera {
6
+ constructor(handle) {
7
+ this.handle = handle;
8
+ }
9
+ get Handle() {
10
+ return this.handle;
11
+ }
12
+ get IsActive() {
13
+ return IsCamActive(this.handle);
14
+ }
15
+ set IsActive(active) {
16
+ SetCamActive(this.handle, active);
17
+ }
18
+ get Position() {
19
+ return Vector3.fromArray(GetCamCoord(this.handle));
20
+ }
21
+ set Position(position) {
22
+ SetCamCoord(this.handle, position.x, position.y, position.z);
23
+ }
24
+ get Rotation() {
25
+ return Vector3.fromArray(GetCamRot(this.handle, 2));
26
+ }
27
+ set Rotation(rotation) {
28
+ SetCamRot(this.handle, rotation.x, rotation.y, rotation.z, 2);
29
+ }
30
+ // public get Matrix() : Matrix {}
31
+ /**
32
+ * Gets the direction the camera is facing. Same as ForwardVector
33
+ */
34
+ get Direction() {
35
+ return this.ForwardVector;
36
+ }
37
+ set Direction(direction) {
38
+ const dir = direction.normalize;
39
+ const vec1 = new Vector3(dir.x, dir.y, 0);
40
+ const vec2 = new Vector3(dir.z, vec1.distanceSquared(vec1), 0);
41
+ const vec3 = vec2.normalize;
42
+ this.Rotation = new Vector3(Math.atan2(vec3.x, vec3.y) * 57.295779513082323, this.Rotation.y, Math.atan2(dir.x, dir.y) * -57.295779513082323);
43
+ }
44
+ // public get UpVector() : Vector3 {
45
+ // return Matrix.Up;
46
+ // }
47
+ get ForwardVector() {
48
+ const rotation = Vector3.multiply(this.Rotation, Math.PI / 180);
49
+ const normalized = Vector3.normalize(new Vector3(-Math.sin(rotation.z) * Math.abs(Math.cos(rotation.x)), Math.cos(rotation.z) * Math.abs(Math.cos(rotation.x)), Math.sin(rotation.x)));
50
+ return new Vector3(normalized.x, normalized.y, normalized.z);
51
+ }
52
+ // public get RightVector() : Vector3 {
53
+ // return Matrix.Right;
54
+ // }
55
+ // public Vector3 GetOffsetPosition(Vector3 offset) {
56
+ // return Vector3.TransformCoordinate(offset, Matrix);
57
+ // }
58
+ // public Vector3 GetPositionOffset(Vector3 worldCoords) {
59
+ // return Vector3.TransformCoordinate(worldCoords, Matrix.Invert(Matrix));
60
+ // }
61
+ get FieldOfView() {
62
+ return GetCamFov(this.handle);
63
+ }
64
+ set FieldOfView(fieldOfView) {
65
+ SetCamFov(this.handle, fieldOfView);
66
+ }
67
+ get NearClip() {
68
+ return GetCamNearClip(this.handle);
69
+ }
70
+ set NearClip(nearClip) {
71
+ SetCamNearClip(this.handle, nearClip);
72
+ }
73
+ get FarClip() {
74
+ return GetCamFarClip(this.handle);
75
+ }
76
+ set FarClip(farClip) {
77
+ SetCamFarClip(this.handle, farClip);
78
+ }
79
+ set NearDepthOfField(nearDepthOfField) {
80
+ SetCamNearDof(this.handle, nearDepthOfField);
81
+ }
82
+ get FarDepthOfField() {
83
+ return GetCamFarDof(this.handle);
84
+ }
85
+ set FarDepthOfField(farDepthOfField) {
86
+ SetCamFarDof(this.handle, farDepthOfField);
87
+ }
88
+ set DepthOfFieldStrength(strength) {
89
+ SetCamDofStrength(this.handle, strength);
90
+ }
91
+ set MotionBlurStrength(strength) {
92
+ SetCamMotionBlurStrength(this.handle, strength);
93
+ }
94
+ shake(shakeType, amplitude) {
95
+ ShakeCam(this.handle, Camera.shakeNames[Number(shakeType)], amplitude);
96
+ }
97
+ stopShaking() {
98
+ StopCamShaking(this.handle, true);
99
+ }
100
+ get IsShaking() {
101
+ return IsCamShaking(this.handle);
102
+ }
103
+ set ShakeAmplitude(amplitude) {
104
+ SetCamShakeAmplitude(this.handle, amplitude);
105
+ }
106
+ async playAnim(animName, animDict, position, rotation) {
107
+ await LoadAnimDict(animDict);
108
+ PlayCamAnim(this.handle, animName, animDict, position.x, position.y, position.z, rotation.x, rotation.y, rotation.z, false, 2);
109
+ RemoveAnimDict(animDict);
110
+ }
111
+ pointAt(target, offset = new Vector3(0, 0, 0)) {
112
+ if (target instanceof BaseEntity) {
113
+ PointCamAtEntity(this.handle, target.Handle, offset.x, offset.y, offset.z, true);
114
+ }
115
+ else if (target instanceof PedBone) {
116
+ PointCamAtPedBone(this.handle, target.Owner.Handle, target.Index, offset.x, offset.y, offset.z, true);
117
+ }
118
+ else {
119
+ PointCamAtCoord(this.handle, target.x, target.y, target.z);
120
+ }
121
+ }
122
+ stopPointing() {
123
+ StopCamPointing(this.handle);
124
+ }
125
+ interpTo(to, duration, easePosition, easeRotation) {
126
+ SetCamActiveWithInterp(to.handle, this.handle, duration, Number(easePosition), Number(easeRotation));
127
+ }
128
+ get IsInterpolating() {
129
+ return IsCamInterpolating(this.handle);
130
+ }
131
+ attachTo(object, offset) {
132
+ if (object instanceof BaseEntity) {
133
+ AttachCamToEntity(this.handle, object.Handle, offset.x, offset.y, offset.z, true);
134
+ }
135
+ else if (object instanceof PedBone) {
136
+ AttachCamToPedBone(this.handle, object.Owner.Handle, object.Index, offset.x, offset.y, offset.z, true);
137
+ }
138
+ }
139
+ detach() {
140
+ DetachCam(this.handle);
141
+ }
142
+ delete() {
143
+ DestroyCam(this.handle, false);
144
+ }
145
+ exists() {
146
+ return DoesCamExist(this.handle);
147
+ }
148
+ }
149
+ Camera.shakeNames = [
150
+ 'HAND_SHAKE',
151
+ 'SMALL_EXPLOSION_SHAKE',
152
+ 'MEDIUM_EXPLOSION_SHAKE',
153
+ 'LARGE_EXPLOSION_SHAKE',
154
+ 'JOLT_SHAKE',
155
+ 'VIBRATE_SHAKE',
156
+ 'ROAD_VIBRATION_SHAKE',
157
+ 'DRUNK_SHAKE',
158
+ 'SKY_DIVING_SHAKE',
159
+ 'FAMILY5_DRUG_TRIP_SHAKE',
160
+ 'DEATH_FAIL_IN_EFFECT_SHAKE',
161
+ ];
@@ -0,0 +1,18 @@
1
+ import { CheckpointIcon } from './enums';
2
+ import { Vector3 } from './utils';
3
+ export declare class Checkpoint {
4
+ private handle;
5
+ private position;
6
+ private targetPosition;
7
+ private icon;
8
+ private radius;
9
+ constructor(handle: number);
10
+ get Position(): Vector3;
11
+ set Position(position: Vector3);
12
+ get TargetPosition(): Vector3;
13
+ set TargetPosition(targetPosition: Vector3);
14
+ get Icon(): CheckpointIcon;
15
+ set Icon(icon: CheckpointIcon);
16
+ get Radius(): number;
17
+ set Radius(radius: number);
18
+ }
@@ -0,0 +1,42 @@
1
+ import { CheckpointIcon } from './enums';
2
+ import { Vector3 } from './utils';
3
+ export class Checkpoint {
4
+ constructor(handle) {
5
+ this.position = new Vector3(0, 0, 0);
6
+ this.targetPosition = new Vector3(0, 0, 0);
7
+ this.icon = CheckpointIcon.Empty;
8
+ this.radius = 0;
9
+ this.handle = handle;
10
+ }
11
+ get Position() {
12
+ return this.position;
13
+ }
14
+ set Position(position) {
15
+ this.position = position;
16
+ }
17
+ get TargetPosition() {
18
+ return this.targetPosition;
19
+ }
20
+ set TargetPosition(targetPosition) {
21
+ this.targetPosition = targetPosition;
22
+ }
23
+ get Icon() {
24
+ return this.icon;
25
+ }
26
+ set Icon(icon) {
27
+ this.icon = icon;
28
+ }
29
+ // TODO
30
+ // public get CustomIcon(): CheckpointIcon {
31
+ // return this.icon;
32
+ // }
33
+ // public set CustomIcon(icon: CheckpointIcon) {
34
+ // this.icon = icon;
35
+ // }
36
+ get Radius() {
37
+ return this.radius;
38
+ }
39
+ set Radius(radius) {
40
+ this.radius = radius;
41
+ }
42
+ }
@@ -0,0 +1,11 @@
1
+ export type NetEvent = (...args: any[]) => void;
2
+ export declare class Events {
3
+ /**
4
+ * An onNet wrapper that properly converts the type into the correct type
5
+ */
6
+ onNet: (eventName: string, event: NetEvent) => void;
7
+ /**
8
+ * An on wrapper that properly converts the classes
9
+ */
10
+ on: (eventName: string, event: NetEvent) => void;
11
+ }
@@ -0,0 +1,73 @@
1
+ /* eslint-disable */
2
+ import { ClassTypes } from './enums/ClassTypes';
3
+ import { Ped } from './models/Ped';
4
+ import { Vector2 } from './utils/Vector2';
5
+ import { Vector3 } from './utils/Vector3';
6
+ import { Vector4 } from './utils/Vector4';
7
+ import { Player } from './models/Player';
8
+ import { Prop } from './models/Prop';
9
+ import { Vehicle } from './models/Vehicle';
10
+ import { Entity } from './models/Entity';
11
+ const getClassFromArguments = (...args) => {
12
+ const newArgs = [];
13
+ for (const arg of args) {
14
+ switch (arg.type) {
15
+ case ClassTypes.Vector2: {
16
+ newArgs.push(Vector2.create(arg));
17
+ continue;
18
+ }
19
+ case ClassTypes.Vector3: {
20
+ newArgs.push(Vector3.create(arg));
21
+ continue;
22
+ }
23
+ case ClassTypes.Vector4: {
24
+ newArgs.push(Vector4.create(arg));
25
+ continue;
26
+ }
27
+ case ClassTypes.Ped: {
28
+ newArgs.push(Ped.fromNetworkId(arg.handle));
29
+ continue;
30
+ }
31
+ case ClassTypes.Player: {
32
+ newArgs.push(Player.fromServerId(arg.source));
33
+ continue;
34
+ }
35
+ case ClassTypes.Prop: {
36
+ newArgs.push(Prop.fromNetworkId(arg.handle));
37
+ continue;
38
+ }
39
+ case ClassTypes.Vehicle: {
40
+ newArgs.push(Vehicle.fromNetworkId(arg.netId));
41
+ continue;
42
+ }
43
+ case ClassTypes.Entity: {
44
+ newArgs.push(Entity.fromNetworkId(arg.netId));
45
+ continue;
46
+ }
47
+ default: {
48
+ newArgs.push(arg);
49
+ }
50
+ }
51
+ }
52
+ return newArgs;
53
+ };
54
+ export class Events {
55
+ constructor() {
56
+ /**
57
+ * An onNet wrapper that properly converts the type into the correct type
58
+ */
59
+ this.onNet = (eventName, event) => {
60
+ onNet(eventName, (...args) => {
61
+ event(...getClassFromArguments(...args));
62
+ });
63
+ };
64
+ /**
65
+ * An on wrapper that properly converts the classes
66
+ */
67
+ this.on = (eventName, event) => {
68
+ on(eventName, (...args) => {
69
+ event(...getClassFromArguments(...args));
70
+ });
71
+ };
72
+ }
73
+ }