@citizenfx/client 2.0.13686-1 → 2.0.13782-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 (2) hide show
  1. package/natives_universal.d.ts +803 -350
  2. package/package.json +1 -1
@@ -1553,41 +1553,45 @@ declare function AppSetString(property: string, value: string): void;
1553
1553
  declare function ApplyDamageToPed(ped: number, damageAmount: number, armorFirst: boolean): void;
1554
1554
 
1555
1555
  /**
1556
- * Applies a force to the specified entity.
1557
- * ```cpp
1558
- * enum eForceType
1559
- * {
1560
- * MinForce = 0,
1561
- * MaxForceRot = 1,
1562
- * MinForce2 = 2,
1563
- * MaxForceRot2 = 3,
1564
- * ForceNoRot = 4,
1565
- * ForceRotPlusForce = 5
1556
+ * cpp
1557
+ * enum eApplyForceTypes {
1558
+ * APPLY_TYPE_FORCE = 0,
1559
+ * APPLY_TYPE_IMPULSE = 1,
1560
+ * APPLY_TYPE_EXTERNAL_FORCE = 2,
1561
+ * APPLY_TYPE_EXTERNAL_IMPULSE = 3,
1562
+ * APPLY_TYPE_TORQUE = 4,
1563
+ * APPLY_TYPE_ANGULAR_IMPULSE = 5
1566
1564
  * }
1567
- * ```
1568
- * Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
1569
- * @param entity The entity you want to apply a force on
1570
- * @param forceType Refer to `eForceType`
1571
- * @param x Force amount (X)
1572
- * @param y Force amount (Y)
1573
- * @param z Force amount (Z)
1574
- * @param offX Rotation/offset force (X)
1575
- * @param offY Rotation/offset force (Y)
1576
- * @param offZ Rotation/offset force (Z)
1577
- * @param boneIndex (Often 0) Entity bone index
1578
- * @param isDirectionRel (Usually false) Vector defined in local (body-fixed) coordinate frame
1579
- * @param ignoreUpVec (Usually true)
1580
- * @param isForceRel (Usually true) When true, force gets multiplied with the objects mass and different objects will have the same acceleration
1581
- * @param p12 (Usually false)
1582
- * @param p13 (Usually true)
1583
- */
1584
- declare function ApplyForceToEntity(entity: number, forceType: number, x: number, y: number, z: number, offX: number, offY: number, offZ: number, boneIndex: number, isDirectionRel: boolean, ignoreUpVec: boolean, isForceRel: boolean, p12: boolean, p13: boolean): void;
1585
-
1586
- /**
1587
- * APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS
1588
- * @param forceType Refer to [APPLY_FORCE_TO_ENTITY](#\_0xC5F68BE9613E2D18)
1589
- */
1590
- declare function ApplyForceToEntityCenterOfMass(entity: number, forceType: number, x: number, y: number, z: number, p5: boolean, isDirectionRel: boolean, isForceRel: boolean, p8: boolean): void;
1565
+ * @param entity The entity handle
1566
+ * @param forceType The force type
1567
+ * @param x The x component of the force to apply
1568
+ * @param y The y component of the force to apply
1569
+ * @param z The z component of the force to apply
1570
+ * @param offX Offset from center of entity (X)
1571
+ * @param offY Offset from center of entity (Y)
1572
+ * @param offZ Offset from center of entity (Z)
1573
+ * @param nComponent Component of the entity to apply the force too. Only matters for breakable or articulated (ragdoll) physics. 0 means the root or parent component
1574
+ * @param bLocalForce Specifies whether the force vector passed in is in local or world coordinates. `true` means the force will get automatically transformed into world space before being applied
1575
+ * @param bLocalOffset Specifies whether the offset passed in is in local or world coordinates
1576
+ * @param bScaleByMass Specifies whether to scale the force by mass
1577
+ * @param bPlayAudio Specifies whether to play audio events related to the force being applied. The audio will depend on the entity type. Currently vehicles are the only entity types supported, and will play a suspension squeal depending on the magnitude of the force
1578
+ * @param bScaleByTimeWarp Specifies whether to scale the force by time warp. Default is `true`
1579
+ */
1580
+ declare function ApplyForceToEntity(entity: number, forceType: number, x: number, y: number, z: number, offX: number, offY: number, offZ: number, nComponent: number, bLocalForce: boolean, bLocalOffset: boolean, bScaleByMass: boolean, bPlayAudio: boolean, bScaleByTimeWarp: boolean): void;
1581
+
1582
+ /**
1583
+ * Apply a force to an entities center of mass.
1584
+ * @param entity The entity handle
1585
+ * @param forceType The force type, see [`APPLY_FORCE_TO_ENTITY`](#\_0xC5F68BE9613E2D18)
1586
+ * @param x The x component of the force to apply
1587
+ * @param y The y component of the force to apply
1588
+ * @param z The z component of the force to apply
1589
+ * @param nComponent Component of the entity to apply the force too. Only matters for breakable or articulated (ragdoll) physics. 0 means the root or parent component
1590
+ * @param bLocalForce Specifies whether the force vector passed in is in local or world coordinates. `true` means the force will get automatically transformed into world space before being applied
1591
+ * @param bScaleByMass Specifies whether to scale the force by mass
1592
+ * @param bApplyToChildren Default `false`. If the force should be applied to any attached children
1593
+ */
1594
+ declare function ApplyForceToEntityCenterOfMass(entity: number, forceType: number, x: number, y: number, z: number, nComponent: number, bLocalForce: boolean, bScaleByMass: boolean, bApplyToChildren: boolean): void;
1591
1595
 
1592
1596
  /**
1593
1597
  * APPLY_IMPULSE_TO_CLOTH
@@ -4015,6 +4019,11 @@ declare function N_0x1280804f7cfd2d6c(ped: number): void;
4015
4019
  */
4016
4020
  declare function ClearPedProp(ped: number, propId: number): void;
4017
4021
 
4022
+ /**
4023
+ * NativeDB Introduced: v3407
4024
+ */
4025
+ declare function ClearPedScriptTaskIfRunningThreatResponseNonTempTask(ped: number): void;
4026
+
4018
4027
  /**
4019
4028
  * Removes the scubagear (for mp male: component id: 8, drawableId: 123, textureId: any) from peds. Does not play the 'remove scuba gear' animation, but instantly removes it.
4020
4029
  * @param ped The ped to remove the scuba gear from.
@@ -4572,42 +4581,42 @@ declare function N_0xe44a982368a4af23(sourceVehicle: number, targetVehicle: numb
4572
4581
  declare function Cos(value: number): number;
4573
4582
 
4574
4583
  /**
4575
- * _CREATE_AIR_DEFENSE_AREA
4584
+ * CREATE_AIR_DEFENCE_ANGLED_AREA
4576
4585
  */
4577
- declare function CreateAirDefenseArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, weaponHash: string | number): number;
4586
+ declare function CreateAirDefenceAngledArea(srcCoord1X: number, srcCoord1Y: number, srcCoord1Z: number, srcCoord2X: number, srcCoord2Y: number, srcCoord2Z: number, fWidth: number, weaponPositionX: number, weaponPositionY: number, weaponPositionZ: number, weaponHash: string | number): number;
4578
4587
  /**
4579
- * _CREATE_AIR_DEFENSE_AREA
4588
+ * CREATE_AIR_DEFENCE_ANGLED_AREA
4580
4589
  */
4581
- declare function N_0x9da58cdbf6bdbc08(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, weaponHash: string | number): number;
4590
+ declare function N_0x9da58cdbf6bdbc08(srcCoord1X: number, srcCoord1Y: number, srcCoord1Z: number, srcCoord2X: number, srcCoord2Y: number, srcCoord2Z: number, fWidth: number, weaponPositionX: number, weaponPositionY: number, weaponPositionZ: number, weaponHash: string | number): number;
4591
+ /**
4592
+ * CREATE_AIR_DEFENCE_ANGLED_AREA
4593
+ */
4594
+ declare function CreateAirDefenseArea(srcCoord1X: number, srcCoord1Y: number, srcCoord1Z: number, srcCoord2X: number, srcCoord2Y: number, srcCoord2Z: number, fWidth: number, weaponPositionX: number, weaponPositionY: number, weaponPositionZ: number, weaponHash: string | number): number;
4582
4595
 
4583
4596
  /**
4584
4597
  * Both coordinates are from objects in the decompiled scripts.
4585
4598
  * Native related to [\_0xECDC202B25E5CF48](#\_0xECDC202B25E5CF48) p1 value. The only weapon hash used in the decompiled scripts is weapon_air_defence_gun. These two natives are used by the yacht script, decompiled scripts suggest it and the weapon hash used (valkyrie's rockets) are also used by yachts.
4586
- * @param x X coordinate
4587
- * @param y Y coordinate
4588
- * @param z Z coordinate
4589
4599
  * @param radius Unknown float 150.0 is used in freemode script.
4590
- * @param p4 X coordinate
4591
- * @param p5 Y coordinate
4592
- * @param p6 Z coordinate
4593
4600
  * @param weaponHash weapon_air_defence_gun and 0 are used in the decompiled scripts.
4594
4601
  * @return Seems to be some sort of handle, result is += 1 any time this native is called.
4595
4602
  */
4596
- declare function CreateAirDefenseSphere(x: number, y: number, z: number, radius: number, p4: number, p5: number, p6: number, weaponHash: string | number): number;
4603
+ declare function CreateAirDefenceSphere(x: number, y: number, z: number, radius: number, weaponPositionX: number, weaponPositionY: number, weaponPositionZ: number, weaponHash: string | number): number;
4604
+ /**
4605
+ * Both coordinates are from objects in the decompiled scripts.
4606
+ * Native related to [\_0xECDC202B25E5CF48](#\_0xECDC202B25E5CF48) p1 value. The only weapon hash used in the decompiled scripts is weapon_air_defence_gun. These two natives are used by the yacht script, decompiled scripts suggest it and the weapon hash used (valkyrie's rockets) are also used by yachts.
4607
+ * @param radius Unknown float 150.0 is used in freemode script.
4608
+ * @param weaponHash weapon_air_defence_gun and 0 are used in the decompiled scripts.
4609
+ * @return Seems to be some sort of handle, result is += 1 any time this native is called.
4610
+ */
4611
+ declare function N_0x91ef34584710be99(x: number, y: number, z: number, radius: number, weaponPositionX: number, weaponPositionY: number, weaponPositionZ: number, weaponHash: string | number): number;
4597
4612
  /**
4598
4613
  * Both coordinates are from objects in the decompiled scripts.
4599
4614
  * Native related to [\_0xECDC202B25E5CF48](#\_0xECDC202B25E5CF48) p1 value. The only weapon hash used in the decompiled scripts is weapon_air_defence_gun. These two natives are used by the yacht script, decompiled scripts suggest it and the weapon hash used (valkyrie's rockets) are also used by yachts.
4600
- * @param x X coordinate
4601
- * @param y Y coordinate
4602
- * @param z Z coordinate
4603
4615
  * @param radius Unknown float 150.0 is used in freemode script.
4604
- * @param p4 X coordinate
4605
- * @param p5 Y coordinate
4606
- * @param p6 Z coordinate
4607
4616
  * @param weaponHash weapon_air_defence_gun and 0 are used in the decompiled scripts.
4608
4617
  * @return Seems to be some sort of handle, result is += 1 any time this native is called.
4609
4618
  */
4610
- declare function N_0x91ef34584710be99(x: number, y: number, z: number, radius: number, p4: number, p5: number, p6: number, weaponHash: string | number): number;
4619
+ declare function CreateAirDefenseSphere(x: number, y: number, z: number, radius: number, weaponPositionX: number, weaponPositionY: number, weaponPositionZ: number, weaponHash: string | number): number;
4611
4620
 
4612
4621
  /**
4613
4622
  * Creates an ambient pickup given the hash. Pickup hashes can be found [here](https://gist.github.com/4mmonium/1eabfb6b3996e3aa6b9525a3eccf8a0b).
@@ -4893,7 +4902,7 @@ declare function CreateModelHideExcludingScriptObjects(x: number, y: number, z:
4893
4902
  * Only works with objects!
4894
4903
  * Network players do not see changes done with this.
4895
4904
  */
4896
- declare function CreateModelSwap(x: number, y: number, z: number, radius: number, originalModel: string | number, newModel: string | number, p6: boolean): void;
4905
+ declare function CreateModelSwap(x: number, y: number, z: number, radius: number, originalModel: string | number, newModel: string | number, bSurviveMapReload: boolean): void;
4897
4906
 
4898
4907
  /**
4899
4908
  * Spawns one or more money pickups.
@@ -6165,6 +6174,15 @@ declare function DisableCamCollisionForObject(entity: number): void;
6165
6174
  */
6166
6175
  declare function N_0x49482f9fcd825aaa(entity: number): void;
6167
6176
 
6177
+ /**
6178
+ * Disables first person camera while in a vehicle for the current tick.
6179
+ */
6180
+ declare function DisableCinematicBonnetCameraThisUpdate(): void;
6181
+ /**
6182
+ * Disables first person camera while in a vehicle for the current tick.
6183
+ */
6184
+ declare function DisableVehicleFirstPersonCamThisFrame(): void;
6185
+
6168
6186
  /**
6169
6187
  * [Control values and meaning](https://docs.fivem.net/docs/game-references/controls/#controls)
6170
6188
  * Example: `CONTROLS::DISABLE_CONTROL_ACTION(2, 19, true)` disables the switching UI from appearing both when using a keyboard and Xbox 360 controller. Needs to be executed each frame.
@@ -6178,14 +6196,6 @@ declare function DisableControlAction(padIndex: number, control: number, disable
6178
6196
  */
6179
6197
  declare function DisableEditorRuntime(): void;
6180
6198
 
6181
- /**
6182
- * Disables first person camera for the current frame.
6183
- * Found in decompiled scripts:
6184
- * GRAPHICS::DRAW_DEBUG_TEXT_2D("Disabling First Person Cam", 0.5, 0.8, 0.0, 0, 0, 255, 255);
6185
- * CAM::_DE2EF5DA284CC8DF();
6186
- */
6187
- declare function DisableFirstPersonCamThisFrame(): void;
6188
-
6189
6199
  /**
6190
6200
  * DISABLE_FRONTEND_THIS_FRAME
6191
6201
  */
@@ -6212,15 +6222,21 @@ declare function DisableHospitalRestart(hospitalIndex: number, toggle: boolean):
6212
6222
  declare function DisableIdleCamera(state: boolean): void;
6213
6223
 
6214
6224
  /**
6215
- * DISABLE_INDIVIDUAL_PLANE_PROPELLER
6225
+ * NativeDB Introduced: v323
6226
+ * @param vehicle The propeller plane
6227
+ * @param propeller The propeller index to disable (starts at 0).
6216
6228
  */
6217
6229
  declare function DisableIndividualPlanePropeller(vehicle: number, propeller: number): void;
6218
6230
  /**
6219
- * DISABLE_INDIVIDUAL_PLANE_PROPELLER
6231
+ * NativeDB Introduced: v323
6232
+ * @param vehicle The propeller plane
6233
+ * @param propeller The propeller index to disable (starts at 0).
6220
6234
  */
6221
6235
  declare function N_0x500873a45724c863(vehicle: number, propeller: number): void;
6222
6236
  /**
6223
- * DISABLE_INDIVIDUAL_PLANE_PROPELLER
6237
+ * NativeDB Introduced: v323
6238
+ * @param vehicle The propeller plane
6239
+ * @param propeller The propeller index to disable (starts at 0).
6224
6240
  */
6225
6241
  declare function DisablePlanePropeller(vehicle: number, propeller: number): void;
6226
6242
 
@@ -6284,6 +6300,15 @@ declare function DisableOcclusionThisFrame(): void;
6284
6300
  */
6285
6301
  declare function N_0x3669f1b198dcaa4f(): void;
6286
6302
 
6303
+ /**
6304
+ * Disables first person camera while on foot for the current tick.
6305
+ */
6306
+ declare function DisableOnFootFirstPersonViewThisUpdate(): void;
6307
+ /**
6308
+ * Disables first person camera while on foot for the current tick.
6309
+ */
6310
+ declare function DisableFirstPersonCamThisFrame(): void;
6311
+
6287
6312
  /**
6288
6313
  * DISABLE_PED_HEATSCALE_OVERRIDE
6289
6314
  */
@@ -6388,11 +6413,6 @@ declare function N_0xbd605b8e0e18b3bb(): void;
6388
6413
  */
6389
6414
  declare function DisableVehicleDistantlights(toggle: boolean): void;
6390
6415
 
6391
- /**
6392
- * _DISABLE_VEHICLE_FIRST_PERSON_CAM_THIS_FRAME
6393
- */
6394
- declare function DisableVehicleFirstPersonCamThisFrame(): void;
6395
-
6396
6416
  /**
6397
6417
  * _DISABLE_VEHICLE_NEON_LIGHTS
6398
6418
  */
@@ -7559,22 +7579,22 @@ declare function N_0x1072f115dab0717e(p0: boolean, p1: boolean): void;
7559
7579
  * @param alpha The alpha component of the marker color, on a scale from 0-255.
7560
7580
  * @param bobUpAndDown Whether or not the marker should slowly animate up/down.
7561
7581
  * @param faceCamera Whether the marker should be a 'billboard', as in, should constantly face the camera.
7562
- * @param p19 Typically set to `2`. Does not seem to matter directly.
7582
+ * @param rotationOrder The order yaw, pitch and roll is applied. Usually `2`.
7563
7583
  * @param rotate Rotations only apply to the heading.
7564
7584
  * @param textureDict A texture dictionary to draw the marker with, or NULL. Example: 'GolfPutting'
7565
7585
  * @param textureName A texture name in `textureDict` to draw the marker with, or NULL. Example: 'PuttingMarker'
7566
7586
  * @param drawOnEnts Whether or not the marker should draw on intersecting entities.
7567
7587
  */
7568
- declare function DrawMarker(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean): void;
7588
+ declare function DrawMarker(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, rotationOrder: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean): void;
7569
7589
 
7570
7590
  /**
7571
7591
  * NativeDB Added Parameter 26: BOOL p25
7572
7592
  */
7573
- declare function DrawMarker_2(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean, p24: boolean): void;
7593
+ declare function DrawMarker_2(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, rotationOrder: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean, p24: boolean): void;
7574
7594
  /**
7575
7595
  * NativeDB Added Parameter 26: BOOL p25
7576
7596
  */
7577
- declare function N_0xe82728f0de75d13a(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean, p24: boolean): void;
7597
+ declare function N_0xe82728f0de75d13a(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, rotationOrder: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean, p24: boolean): void;
7578
7598
 
7579
7599
  /**
7580
7600
  * x/y/z - Location of a vertex (in world coords), presumably.
@@ -8122,6 +8142,16 @@ declare function N_0xa97f257d0151a6ab(mapObjectHash: string | number): void;
8122
8142
  */
8123
8143
  declare function HideMapObjectThisFrame(mapObjectHash: string | number): void;
8124
8144
 
8145
+ /**
8146
+ * Enables individual propeller on a propeller plane. This native is the inverse of [`DISABLE_INDIVIDUAL_PLANE_PROPELLER`](#\_0x500873A45724C863).
8147
+ * ```
8148
+ * NativeDB Introduced: v3407
8149
+ * ```
8150
+ * @param plane The propeller plane.
8151
+ * @param propeller The propeller index to enable (starts at 0).
8152
+ */
8153
+ declare function EnableIndividualPlanePropeller(plane: number, propeller: number): void;
8154
+
8125
8155
  /**
8126
8156
  * Enables laser sight on any weapon.
8127
8157
  * It doesn't work. Neither on tick nor OnKeyDown
@@ -10176,6 +10206,11 @@ declare function GetAmmoInClip(ped: number, weaponHash: string | number, ammo?:
10176
10206
  */
10177
10207
  declare function GetAmmoInPedWeapon(ped: number, weaponhash: string | number): number;
10178
10208
 
10209
+ /**
10210
+ * NativeDB Introduced: v3407
10211
+ */
10212
+ declare function GetAmmoInVehicleWeaponClip(vehicle: number, seat: number, ammo: number): boolean;
10213
+
10179
10214
  /**
10180
10215
  * GET_ANGLE_BETWEEN_2D_VECTORS
10181
10216
  */
@@ -10657,9 +10692,16 @@ declare function N_0xd484bf71050ca1ee(blipSprite: number): number;
10657
10692
  declare function GetClosestFirePos(x: number, y: number, z: number): [boolean, number[]];
10658
10693
 
10659
10694
  /**
10660
- * Get the closest vehicle node to a given position, unknown1 = 3.0, unknown2 = 0
10695
+ * Same as [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513), but with the node flag `GCNF_INCLUDE_SWITCHED_OFF_NODES` set.
10696
+ * @param x X coordinate
10697
+ * @param y Y coordinate
10698
+ * @param z Z coordinate
10699
+ * @param outPosition Pointer to the found nodes coords
10700
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
10701
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
10702
+ * @return Returns the closest major vehicle node.
10661
10703
  */
10662
- declare function GetClosestMajorVehicleNode(x: number, y: number, z: number, unknown1: number, unknown2: number): [boolean, number[]];
10704
+ declare function GetClosestMajorVehicleNode(x: number, y: number, z: number, zMeasureMult: number, zTolerance: number): [boolean, number[]];
10663
10705
 
10664
10706
  /**
10665
10707
  * Has 8 params in the latest patches.
@@ -10746,45 +10788,39 @@ declare function GetClosestTrackNodes(radius: number): any;
10746
10788
  declare function GetClosestVehicle(x: number, y: number, z: number, radius: number, modelHash: string | number, flags: number): number;
10747
10789
 
10748
10790
  /**
10749
- * FYI: When falling through the map (or however you got under it) you will respawn when your player ped's height is <= -200.0 meters (I think you all know this) and when in a vehicle you will actually respawn at the closest vehicle node.
10750
- * ----------
10751
- * Vector3 nodePos;
10752
- * GET_CLOSEST_VEHICLE_NODE(x,y,z,&nodePos,...)
10753
- * p4 is either 0, 1 or 8. 1 means any path/road. 0 means node in the middle of the closest main (asphalt) road.
10754
- * p5, p6 are always the same:
10755
- * 0x40400000 (3.0), 0
10756
- * p5 can also be 100.0 and p6 can be 2.5:
10757
- * PATHFIND::GET_CLOSEST_VEHICLE_NODE(a_0, &v_5, v_9, 100.0, 2.5)
10758
- * Known node types: simple path/asphalt road, only asphalt road, water, under the map at always the same coords.
10759
- * The node types follows a pattern. For example, every fourth node is of the type water i.e. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39... 239. Could not see any difference between nodes within certain types.
10760
- * Starting at 2, every fourth node is under the map, always same coords.
10761
- * Same with only asphalt road (0, 4, 8, etc) and simple path/asphalt road (1, 5, 9, etc).
10762
- * gtaforums.com/topic/843561-pathfind-node-types
10763
- */
10764
- declare function GetClosestVehicleNode(x: number, y: number, z: number, nodeType: number, p5: number, p6: number): [boolean, number[]];
10765
-
10766
- /**
10767
- * p5, p6 and p7 seems to be about the same as p4, p5 and p6 for GET_CLOSEST_VEHICLE_NODE. p6 and/or p7 has something to do with finding a node on the same path/road and same direction(at least for this native, something to do with the heading maybe). Edit this when you find out more.
10768
- * p5 is either 1 or 12. 1 means any path/road. 12, 8, 0 means node in the middle of the closest main (asphalt) road.
10769
- * p6 is always 3.0
10770
- * p7 is always 0.
10771
- * Known node types: simple path/asphalt road, only asphalt road, water, under the map at always the same coords.
10772
- * The node types follows a pattern. For example, every fourth node is of the type water i.e. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39... 239. Could not see any difference between nodes within certain types.
10773
- * Starting at 2, every fourth node is under the map, always same coords.
10774
- * Same with only asphalt road (0, 4, 8, etc) and simple path/asphalt road (1, 5, 9, etc).
10775
- * gtaforums.com/topic/843561-pathfind-node-types
10776
- * Example of usage, moving vehicle to closest path/road:
10777
- * Vector3 coords = ENTITY::GET_ENTITY_COORDS(playerVeh, true);
10778
- * Vector3 closestVehicleNodeCoords;
10779
- * float roadHeading;
10780
- * PATHFIND::GET_CLOSEST_VEHICLE_NODE_WITH_HEADING(coords.x, coords.y, coords.z, &closestVehicleNodeCoords, &roadHeading, 1, 3, 0);
10781
- * ENTITY::SET_ENTITY_HEADING(playerVeh, roadHeading);
10782
- * ENTITY::SET_ENTITY_COORDS(playerVeh, closestVehicleNodeCoords.x, closestVehicleNodeCoords.y, closestVehicleNodeCoords.z, 1, 0, 0, 1);
10783
- * VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(playerVeh);
10784
- * ------------------------------------------------------------------
10785
- * C# Example (ins1de) : pastebin.com/fxtMWAHD
10786
- */
10787
- declare function GetClosestVehicleNodeWithHeading(x: number, y: number, z: number, nodeType: number, p6: number, p7: number): [boolean, number[], number];
10791
+ * cpp
10792
+ * enum eGetClosestNodeFlags {
10793
+ * GCNF_INCLUDE_SWITCHED_OFF_NODES = 1,
10794
+ * GCNF_INCLUDE_BOAT_NODES = 2,
10795
+ * GCNF_IGNORE_SLIPLANES = 4,
10796
+ * GCNF_IGNORE_SWITCHED_OFF_DEADENDS = 8,
10797
+ * GCNF_GET_HEADING = 256,
10798
+ * GCNF_FAVOUR_FACING = 512
10799
+ * }
10800
+ * @param x X coordinate
10801
+ * @param y Y coordinate
10802
+ * @param z Z coordinate
10803
+ * @param outPosition Pointer to the found nodes coords
10804
+ * @param nodeFlags Node flags
10805
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
10806
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
10807
+ * @return Returns the closest vehicle node matching the node flags.
10808
+ */
10809
+ declare function GetClosestVehicleNode(x: number, y: number, z: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): [boolean, number[]];
10810
+
10811
+ /**
10812
+ * Same as [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513), but with the node flag `GCNF_GET_HEADING` set, causing the native to also return the heading.
10813
+ * @param x X coordinate
10814
+ * @param y Y coordinate
10815
+ * @param z Z coordinate
10816
+ * @param outPosition Pointer to the found nodes coords
10817
+ * @param outHeading Pointer to the found nodes heading
10818
+ * @param nodeFlags Node flags, see [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513)
10819
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
10820
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
10821
+ * @return Returns the closest vehicle node with its heading.
10822
+ */
10823
+ declare function GetClosestVehicleNodeWithHeading(x: number, y: number, z: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): [boolean, number[], number];
10788
10824
 
10789
10825
  /**
10790
10826
  * _GET_CLOUD_HAT_OPACITY
@@ -11282,6 +11318,11 @@ declare function GetCutsceneTime(): number;
11282
11318
  */
11283
11319
  declare function GetCutsceneTotalDuration(): number;
11284
11320
 
11321
+ /**
11322
+ * NativeDB Introduced: v3407
11323
+ */
11324
+ declare function GetDamping(entity: number, _type: number): number[];
11325
+
11285
11326
  /**
11286
11327
  * GET_DEAD_PED_PICKUP_COORDS
11287
11328
  */
@@ -13322,13 +13363,20 @@ declare function GetLiveryName(vehicle: number, liveryIndex: number): string;
13322
13363
  declare function GetLocalPlayerAimState(): number;
13323
13364
 
13324
13365
  /**
13325
- * Same behavior as GET_LOCAL_PLAYER_AIM_STATE but only used on the PC version.
13366
+ * Same behavior as [`GET_LOCAL_PLAYER_AIM_STATE`](#\_0xBB41AFBBBC0A0287) but will also return if player using a keyboard.
13367
+ * @return Returns the local player's targeting mode. See [`SET_PLAYER_TARGETING_MODE`](#\_0xB1906895227793F3).
13326
13368
  */
13327
- declare function GetLocalPlayerAimState_2(): number;
13369
+ declare function GetLocalPlayerGamepadAimState(): number;
13328
13370
  /**
13329
- * Same behavior as GET_LOCAL_PLAYER_AIM_STATE but only used on the PC version.
13371
+ * Same behavior as [`GET_LOCAL_PLAYER_AIM_STATE`](#\_0xBB41AFBBBC0A0287) but will also return if player using a keyboard.
13372
+ * @return Returns the local player's targeting mode. See [`SET_PLAYER_TARGETING_MODE`](#\_0xB1906895227793F3).
13330
13373
  */
13331
13374
  declare function N_0x59b9a7af4c95133c(): number;
13375
+ /**
13376
+ * Same behavior as [`GET_LOCAL_PLAYER_AIM_STATE`](#\_0xBB41AFBBBC0A0287) but will also return if player using a keyboard.
13377
+ * @return Returns the local player's targeting mode. See [`SET_PLAYER_TARGETING_MODE`](#\_0xB1906895227793F3).
13378
+ */
13379
+ declare function GetLocalPlayerAimState_2(): number;
13332
13380
 
13333
13381
  /**
13334
13382
  * Gets local system time as year, month, day, hour, minute and second.
@@ -13885,11 +13933,11 @@ declare function GetNextGpsDisabledZoneIndex(index: number): number;
13885
13933
  declare function N_0xd3a6a0ef48823a8c(index: number): number;
13886
13934
 
13887
13935
  /**
13888
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
13936
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
13889
13937
  */
13890
13938
  declare function GetNextWeatherTypeHashName(): number;
13891
13939
  /**
13892
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
13940
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
13893
13941
  */
13894
13942
  declare function GetNextWeatherType(): number;
13895
13943
 
@@ -13992,52 +14040,80 @@ declare function GetNorthRadarBlip(): number;
13992
14040
  declare function N_0x3f0cf9cb7e589b88(): number;
13993
14041
 
13994
14042
  /**
13995
- * GET_NTH_CLOSEST_VEHICLE_NODE
14043
+ * Same as [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513), but returns the nth closest node instead of the first.
14044
+ * @param x X coordinate
14045
+ * @param y Y coordinate
14046
+ * @param z Z coordinate
14047
+ * @param nthClosest The index of the node to return
14048
+ * @param outPosition Pointer to the found nodes coords
14049
+ * @param nodeFlags Node flags, see [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513)
14050
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
14051
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
14052
+ * @return Returns the nth closest vehicle node.
13996
14053
  */
13997
- declare function GetNthClosestVehicleNode(x: number, y: number, z: number, nthClosest: number, unknown1: number, unknown2: number, unknown3: number): [boolean, number[]];
14054
+ declare function GetNthClosestVehicleNode(x: number, y: number, z: number, nthClosest: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): [boolean, number[]];
13998
14055
 
13999
14056
  /**
14000
- * See gtaforums.com/topic/843561-pathfind-node-types for node type info. 0 = paved road only, 1 = any road, 3 = water
14001
- * p10 always equal 0x40400000
14002
- * p11 always equal 0
14057
+ * Like [`GET_CLOSEST_VEHICLE_NODE_WITH_HEADING`](#\_0xFF071FB798B803B0), but returns the nth closest node instead of the first.
14058
+ * @param x X coordinate
14059
+ * @param y Y coordinate
14060
+ * @param z Z coordinate
14061
+ * @param desiredX The X direction to favour
14062
+ * @param desiredY The Y direction to favour
14063
+ * @param desiredZ The Z direction to favour
14064
+ * @param nthClosest The index of the node to return
14065
+ * @param outPosition Pointer to the found nodes coords
14066
+ * @param outHeading Pointer to the found nodes heading
14067
+ * @param nodeFlags Node flags, see [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513)
14068
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
14069
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
14070
+ * @return Returns the nth closest vehicle node with its heading favouring the desired direction.
14003
14071
  */
14004
- declare function GetNthClosestVehicleNodeFavourDirection(x: number, y: number, z: number, desiredX: number, desiredY: number, desiredZ: number, nthClosest: number, nodetype: number, p10: number, p11: number): [boolean, number[], number];
14072
+ declare function GetNthClosestVehicleNodeFavourDirection(x: number, y: number, z: number, desiredX: number, desiredY: number, desiredZ: number, nthClosest: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): [boolean, number[], number];
14005
14073
 
14006
14074
  /**
14007
- * Returns the id.
14075
+ * GET_NTH_CLOSEST_VEHICLE_NODE_ID
14076
+ * @param x X coordinate
14077
+ * @param y Y coordinate
14078
+ * @param z Z coordinate
14079
+ * @param nthClosest The index of the node to return
14080
+ * @param nodeFlags Node flags, see [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513)
14081
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
14082
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
14083
+ * @return Returns the nth closest vehicle nodes id.
14008
14084
  */
14009
- declare function GetNthClosestVehicleNodeId(x: number, y: number, z: number, nth: number, nodetype: number, p5: number, p6: number): number;
14085
+ declare function GetNthClosestVehicleNodeId(x: number, y: number, z: number, nthClosest: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): number;
14010
14086
 
14011
14087
  /**
14012
14088
  * GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING
14089
+ * @param x X coordinate
14090
+ * @param y Y coordinate
14091
+ * @param z Z coordinate
14092
+ * @param nthClosest The index of the node to return
14093
+ * @param outPosition Pointer to the found nodes coords
14094
+ * @param outHeading Pointer to the found nodes heading
14095
+ * @param nodeFlags Node flags, see [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513)
14096
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
14097
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
14098
+ * @return Returns the nth closest vehicle nodes id with its heading.
14013
14099
  */
14014
- declare function GetNthClosestVehicleNodeIdWithHeading(x: number, y: number, z: number, nthClosest: number, p6: number, p7: number, p8: number): [number, number[], number];
14100
+ declare function GetNthClosestVehicleNodeIdWithHeading(x: number, y: number, z: number, nthClosest: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): [number, number[], number];
14015
14101
 
14016
14102
  /**
14017
- * Get the nth closest vehicle node with its heading and total lane count.
14018
- * If you need specific forward and backward lane counts use [GET_CLOSEST_ROAD](#\_0x132F52BBA570FE92)
14019
- * ```cpp
14020
- * enum eNodeFlags {
14021
- * NONE = 0,
14022
- * INCLUDE_SWITCHED_OFF_NODES = 1,
14023
- * INCLUDE_BOAT_NODES = 2,
14024
- * IGNORE_SLIPLANES = 4,
14025
- * IGNORE_SWITCHED_OFF_DEAD_ENDS = 8,
14026
- * }
14027
- * ```
14028
- * @param x x position
14029
- * @param y y position
14030
- * @param z z position
14031
- * @param nthClosest nth closest node
14032
- * @param outPosition returned position of the found node
14033
- * @param heading returned heading of the found node
14034
- * @param totalLanes total lanes (forward + backward) of the found node
14035
- * @param searchFlags Flags used when searching for a node, see `eNodeFlags`
14036
- * @param zMeasureMult How strongly the difference in z direction should be weighted (defaults to 3.0)
14037
- * @param zTolerance How far apart the Z coords have to be before the zMeasureMult kicks in
14103
+ * Get the nth closest vehicle node with its heading and total lane count. If you need specific forward and backward lane counts use [`GET_CLOSEST_ROAD`](#\_0x132F52BBA570FE92).
14104
+ * @param x X coordinate
14105
+ * @param y Y coordinate
14106
+ * @param z Z coordinate
14107
+ * @param nthClosest The index of the node to return
14108
+ * @param outPosition Pointer to the found nodes coords
14109
+ * @param outHeading Pointer to the found nodes heading
14110
+ * @param totalLanes Pointer to the total lanes (forward + backward) of the found node
14111
+ * @param nodeFlags Node flags, see [`GET_CLOSEST_VEHICLE_NODE`](#\_0x240A18690AE96513)
14112
+ * @param zMeasureMult How strongly the difference in the Z direction should be weighted
14113
+ * @param zTolerance How far apart the Z coords have to be before `zMeasureMult` kicks in
14038
14114
  * @return Returns `true` if the node was found, or `false` if the node was not found, or was not streamed in.
14039
14115
  */
14040
- declare function GetNthClosestVehicleNodeWithHeading(x: number, y: number, z: number, nthClosest: number, searchFlags: number, zMeasureMult: number, zTolerance: number): [boolean, number[], number, number];
14116
+ declare function GetNthClosestVehicleNodeWithHeading(x: number, y: number, z: number, nthClosest: number, nodeFlags: number, zMeasureMult: number, zTolerance: number): [boolean, number[], number, number];
14041
14117
 
14042
14118
  /**
14043
14119
  * GET_NUI_CURSOR_POSITION
@@ -16397,11 +16473,11 @@ declare function GetPowerSavingModeDuration(): number;
16397
16473
  declare function N_0xabb2fa71c83a1b72(): number;
16398
16474
 
16399
16475
  /**
16400
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
16476
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
16401
16477
  */
16402
16478
  declare function GetPrevWeatherTypeHashName(): number;
16403
16479
  /**
16404
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
16480
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
16405
16481
  */
16406
16482
  declare function GetPrevWeatherType(): number;
16407
16483
 
@@ -16878,18 +16954,30 @@ declare function GetRuntimeTexturePitch(tex: number): number;
16878
16954
  declare function GetRuntimeTextureWidth(tex: number): number;
16879
16955
 
16880
16956
  /**
16881
- * Flags are:
16882
- * 1 = 1 = B02_IsFootpath
16883
- * 2 = 4 = !B15_InteractionUnk
16884
- * 4 = 0x20 = !B14_IsInterior
16885
- * 8 = 0x40 = !B07_IsWater
16886
- * 16 = 0x200 = B17_IsFlatGround
16887
- * When onGround == true outPosition is a position located on the nearest pavement.
16888
- * When a safe coord could not be found the result of a function is false and outPosition == Vector3.Zero.
16889
- * In the scripts these flags are used: 0, 14, 12, 16, 20, 21, 28. 0 is most commonly used, then 16.
16890
- * 16 works for me, 0 crashed the script.
16957
+ * cpp
16958
+ * enum eSafePositionFlags {
16959
+ * // Only navmesh polygons marked as pavement
16960
+ * GSC_FLAG_ONLY_PAVEMENT = 1,
16961
+ * // Only navmesh polygons not marked as "isolated"
16962
+ * GSC_FLAG_NOT_ISOLATED = 2,
16963
+ * // No navmesh polygons created from interiors
16964
+ * GSC_FLAG_NOT_INTERIOR = 4,
16965
+ * // No navmesh polygons marked as water
16966
+ * GSC_FLAG_NOT_WATER = 8,
16967
+ * // Only navmesh polygons marked as "network spawn candidate"
16968
+ * GSC_FLAG_ONLY_NETWORK_SPAWN = 16,
16969
+ * // Specify whether to use a flood-fill from the starting position, as opposed to scanning all polygons within the search volume
16970
+ * GSC_FLAG_USE_FLOOD_FILL = 32
16971
+ * }
16972
+ * @param x The X coordinate of the point to check.
16973
+ * @param y The Y coordinate of the point to check.
16974
+ * @param z The Z coordinate of the point to check.
16975
+ * @param onlyOnPavement Sets the `GSC_FLAG_ONLY_PAVEMENT` flag.
16976
+ * @param outPosition The location of the safe coord.
16977
+ * @param flags The search flags.
16978
+ * @return Returns true if a safe coord was found and false otherwise.
16891
16979
  */
16892
- declare function GetSafeCoordForPed(x: number, y: number, z: number, onGround: boolean, flags: number): [boolean, number[]];
16980
+ declare function GetSafeCoordForPed(x: number, y: number, z: number, onlyOnPavement: boolean, flags: number): [boolean, number[]];
16893
16981
 
16894
16982
  /**
16895
16983
  * GET_SAFE_PICKUP_COORDS
@@ -17797,6 +17885,11 @@ declare function GetTimeAsString(time: number): string;
17797
17885
  */
17798
17886
  declare function FormatTime(time: number): string;
17799
17887
 
17888
+ /**
17889
+ * NativeDB Introduced: v3407
17890
+ */
17891
+ declare function GetTimeBeforeVehicleWeaponReloadFinishes(vehicle: number, seat: number): number;
17892
+
17800
17893
  /**
17801
17894
  * Subtracts the second argument from the first.
17802
17895
  */
@@ -18338,6 +18431,33 @@ declare function GetVehicleColourCombination(vehicle: number): number;
18338
18431
  */
18339
18432
  declare function GetVehicleColours(vehicle: number): [number, number];
18340
18433
 
18434
+ /**
18435
+ * cpp
18436
+ * enum eColourBitField {
18437
+ * HAS_BODY_COLOUR1 = 1,
18438
+ * HAS_BODY_COLOUR2 = 2,
18439
+ * HAS_BODY_COLOUR3 = 4,
18440
+ * HAS_BODY_COLOUR4 = 8,
18441
+ * HAS_BODY_COLOUR5 = 16
18442
+ * }
18443
+ * @param vehicle The vehicle handle
18444
+ * @return Returns a bitfield of the colours supported by the vehicle's shader.
18445
+ */
18446
+ declare function GetVehicleColoursWhichCanBeSet(vehicle: number): number;
18447
+ /**
18448
+ * cpp
18449
+ * enum eColourBitField {
18450
+ * HAS_BODY_COLOUR1 = 1,
18451
+ * HAS_BODY_COLOUR2 = 2,
18452
+ * HAS_BODY_COLOUR3 = 4,
18453
+ * HAS_BODY_COLOUR4 = 8,
18454
+ * HAS_BODY_COLOUR5 = 16
18455
+ * }
18456
+ * @param vehicle The vehicle handle
18457
+ * @return Returns a bitfield of the colours supported by the vehicle's shader.
18458
+ */
18459
+ declare function N_0xeebfc7a7efdc35b4(vehicle: number): number;
18460
+
18341
18461
  /**
18342
18462
  * Similar to [`_GET_AIRCRAFT_BOMB_COUNT`](#\_0xEA12BD130D7569A1), this gets the amount of countermeasures that are present on this vehicle.
18343
18463
  * Use [`_SET_AIRCRAFT_COUNTERMEASURE_COUNT`](#\_0x9BDA23BF666F0855) to set the current amount.
@@ -19460,13 +19580,31 @@ declare function GetVehicleWaypointProgress(vehicle: number): number;
19460
19580
  declare function GetVehicleWaypointTargetPoint(vehicle: number): number;
19461
19581
 
19462
19582
  /**
19463
- * _GET_VEHICLE_WEAPON_CAPACITY
19583
+ * NativeDB Introduced: v3407
19464
19584
  */
19465
- declare function GetVehicleWeaponCapacity(vehicle: number, weaponIndex: number): number;
19585
+ declare function GetVehicleWeaponReloadTime(vehicle: number, seat: number): number;
19586
+
19466
19587
  /**
19467
- * _GET_VEHICLE_WEAPON_CAPACITY
19588
+ * GET_VEHICLE_WEAPON_RESTRICTED_AMMO
19589
+ * @param vehicle The vehicle handle
19590
+ * @param weaponIndex The weapon index we're getting ammo for (see [SET_VEHICLE_WEAPON_RESTRICTED_AMMO](#\_0x44CD1F493DB2A0A6) for information on how to access these slots).
19591
+ * @return Gets the current restricted ammo count for a particular vehicle weapon index on a vehicle.
19592
+ */
19593
+ declare function GetVehicleWeaponRestrictedAmmo(vehicle: number, weaponIndex: number): number;
19594
+ /**
19595
+ * GET_VEHICLE_WEAPON_RESTRICTED_AMMO
19596
+ * @param vehicle The vehicle handle
19597
+ * @param weaponIndex The weapon index we're getting ammo for (see [SET_VEHICLE_WEAPON_RESTRICTED_AMMO](#\_0x44CD1F493DB2A0A6) for information on how to access these slots).
19598
+ * @return Gets the current restricted ammo count for a particular vehicle weapon index on a vehicle.
19468
19599
  */
19469
19600
  declare function N_0x8181ce2f25cb9bb7(vehicle: number, weaponIndex: number): number;
19601
+ /**
19602
+ * GET_VEHICLE_WEAPON_RESTRICTED_AMMO
19603
+ * @param vehicle The vehicle handle
19604
+ * @param weaponIndex The weapon index we're getting ammo for (see [SET_VEHICLE_WEAPON_RESTRICTED_AMMO](#\_0x44CD1F493DB2A0A6) for information on how to access these slots).
19605
+ * @return Gets the current restricted ammo count for a particular vehicle weapon index on a vehicle.
19606
+ */
19607
+ declare function GetVehicleWeaponCapacity(vehicle: number, weaponIndex: number): number;
19470
19608
 
19471
19609
  /**
19472
19610
  * Gets brake pressure of a wheel.
@@ -20206,7 +20344,7 @@ declare function GetWeapontypeModel(weaponHash: string | number): number;
20206
20344
  declare function GetWeapontypeSlot(weaponHash: string | number): number;
20207
20345
 
20208
20346
  /**
20209
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
20347
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
20210
20348
  */
20211
20349
  declare function GetWeatherTypeTransition(): [number, number, number];
20212
20350
 
@@ -21244,6 +21382,17 @@ declare function HasNamedScaleformMovieLoaded(scaleformName: string): boolean;
21244
21382
  */
21245
21383
  declare function HasScaleformMovieLoaded(scaleformHandle: number): boolean;
21246
21384
 
21385
+ /**
21386
+ * Check if a Scaleform movie with the given name has been loaded.
21387
+ * ```
21388
+ * NativeDB Introduced: v3407
21389
+ * ```
21390
+ * @param scaleformHandle Scaleform movie handle
21391
+ * @param scaleformName Name of the Scaleform movie to check
21392
+ * @return Returns `true` if the named Scaleform movie is loaded, `false` otherwise.
21393
+ */
21394
+ declare function HasScaleformMovieNamedLoaded(scaleformName: string): [boolean, number];
21395
+
21247
21396
  /**
21248
21397
  * HAS_SCALEFORM_SCRIPT_HUD_MOVIE_LOADED
21249
21398
  */
@@ -21329,6 +21478,11 @@ declare function HasWeaponAssetLoaded(weaponHash: string | number): boolean;
21329
21478
  */
21330
21479
  declare function HasWeaponGotWeaponComponent(weapon: number, addonHash: string | number): boolean;
21331
21480
 
21481
+ /**
21482
+ * NativeDB Introduced: v3407
21483
+ */
21484
+ declare function HasWeaponReloadingInVehicle(vehicle: number, seat: number): boolean;
21485
+
21332
21486
  /**
21333
21487
  * HAVE_ALL_STREAMING_REQUESTS_COMPLETED
21334
21488
  */
@@ -22392,16 +22546,43 @@ declare function IsEntityAVehicle(entity: number): boolean;
22392
22546
  declare function IsEntityAnObject(entity: number): boolean;
22393
22547
 
22394
22548
  /**
22395
- * Checks if entity is within x/y/zSize distance of x/y/z.
22396
- * Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0
22549
+ * Checks if the entity is within the given square of size xSize, ySize, zSize centered around the given coordinates.
22550
+ * The sizes given are the apothem (half of side) of the square, so a size of 5 would result in a square of 10x10, not 5x5.
22551
+ * For the highlightArea, if do3dCheck is true, the marker will be drawn at the bottom of the target area. So if the square is centered on the ground with a zSize larger than 0, the marker will appear under the ground.
22552
+ * The marker also doesn't scale, so it is always the same size (around half a meter).
22553
+ * So unfortunately the marker isn't that useful as it doesn't convey the correct information about the area (the marker doesn't reflect when the player is actually in the marker or not)
22554
+ * @param entity The entity to check the position of
22555
+ * @param xPos The position of the square along the x-axis
22556
+ * @param yPos The position of the square along the y-axis
22557
+ * @param zPos The position of the square along the z-axis (only applicable if do3dCheck is true)
22558
+ * @param xSize The apothem of the square along the x-axis
22559
+ * @param ySize The apothem of the square along the y-axis
22560
+ * @param zSize The apothem of the square along the z-axis (only applicable if do3dCheck is true)
22561
+ * @param highlightArea Whether to draw a marker (yellow cylindrical marker at the given coords)
22562
+ * @param do3dCheck Whether to check the z-axis
22563
+ * @param transportMode Checks the transport mode the ped is using, only does something if entity is a ped. Transport modes are: 0 (any), 1 (on foot), 2 (in vehicle)
22564
+ * @return A boolean value which represents if the entity is within the given square area.
22397
22565
  */
22398
- declare function IsEntityAtCoord(entity: number, xPos: number, yPos: number, zPos: number, xSize: number, ySize: number, zSize: number, p7: boolean, p8: boolean, p9: number): boolean;
22566
+ declare function IsEntityAtCoord(entity: number, xPos: number, yPos: number, zPos: number, xSize: number, ySize: number, zSize: number, highlightArea: boolean, do3dCheck: boolean, transportMode: number): boolean;
22399
22567
 
22400
22568
  /**
22401
- * Checks if entity1 is within the box defined by x/y/zSize of entity2.
22402
- * Last three parameters are almost alwasy p5 = 0, p6 = 1, p7 = 0
22569
+ * Checks if entity is within the specified axis aligned box around the target entity.
22570
+ * ```cpp
22571
+ * enum eTransportMode {
22572
+ * SCRIPT_TM_ANY = 0,
22573
+ * SCRIPT_TM_ON_FOOT = 1,
22574
+ * SCRIPT_TM_IN_VEHICLE = 2
22575
+ * };
22576
+ * ```
22577
+ * @param entity The source entity handle.
22578
+ * @param target The target entity handle.
22579
+ * @param xSize The x size of the axis aligned box around the target entity to check.
22580
+ * @param ySize The y size of the axis aligned box around the target entity to check.
22581
+ * @param zSize The z size of the axis aligned box around the target entity to check.
22582
+ * @param do3dCheck If the check should be 2d or 3d.
22583
+ * @param transportMode The transport mode. Returns early if the entity is not in that mode of transportation.
22403
22584
  */
22404
- declare function IsEntityAtEntity(entity1: number, entity2: number, xSize: number, ySize: number, zSize: number, p5: boolean, p6: boolean, p7: number): boolean;
22585
+ declare function IsEntityAtEntity(entity: number, target: number, xSize: number, ySize: number, zSize: number, highlightArea: boolean, do3dCheck: boolean, transportMode: number): boolean;
22405
22586
 
22406
22587
  /**
22407
22588
  * IS_ENTITY_ATTACHED
@@ -22579,6 +22760,43 @@ declare function IsEntityVisibleToScript(entity: number): boolean;
22579
22760
  */
22580
22761
  declare function IsEntityWaitingForWorldCollision(entity: number): boolean;
22581
22762
 
22763
+ /**
22764
+ * Check if a entry point for a certain seat is clear, useful for checking if a vehicle seat is accesible.
22765
+ * If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked).
22766
+ * Keep in mind, with checkSide set to true, that only certain vehicles have entry points on both sides for the same seat, like motorcycles, most normal vehicles don't have this and if the native doesn't find a entry point with the given parameters it will always return false. So for most normal usecases leaving checkSide set to false would result in the expected behavior.
22767
+ * @param ped The ped to check.
22768
+ * @param vehicle The vehicle to check.
22769
+ * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
22770
+ * @param checkSide True to check the side of the entry point relative to the vehicle
22771
+ * @param leftSide When checkSide is true together with this it only checks if entrypoints on the left side of the vehicle are clear, and for the right side when given false
22772
+ * @return True if the entry point is accesible and the area is clear for the given ped.
22773
+ */
22774
+ declare function IsEntryPointForSeatClear(ped: number, vehicle: number, seatIndex: number, checkSide: boolean, leftSide: boolean): boolean;
22775
+ /**
22776
+ * Check if a entry point for a certain seat is clear, useful for checking if a vehicle seat is accesible.
22777
+ * If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked).
22778
+ * Keep in mind, with checkSide set to true, that only certain vehicles have entry points on both sides for the same seat, like motorcycles, most normal vehicles don't have this and if the native doesn't find a entry point with the given parameters it will always return false. So for most normal usecases leaving checkSide set to false would result in the expected behavior.
22779
+ * @param ped The ped to check.
22780
+ * @param vehicle The vehicle to check.
22781
+ * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
22782
+ * @param checkSide True to check the side of the entry point relative to the vehicle
22783
+ * @param leftSide When checkSide is true together with this it only checks if entrypoints on the left side of the vehicle are clear, and for the right side when given false
22784
+ * @return True if the entry point is accesible and the area is clear for the given ped.
22785
+ */
22786
+ declare function N_0x639431e895b9aa57(ped: number, vehicle: number, seatIndex: number, checkSide: boolean, leftSide: boolean): boolean;
22787
+ /**
22788
+ * Check if a entry point for a certain seat is clear, useful for checking if a vehicle seat is accesible.
22789
+ * If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked).
22790
+ * Keep in mind, with checkSide set to true, that only certain vehicles have entry points on both sides for the same seat, like motorcycles, most normal vehicles don't have this and if the native doesn't find a entry point with the given parameters it will always return false. So for most normal usecases leaving checkSide set to false would result in the expected behavior.
22791
+ * @param ped The ped to check.
22792
+ * @param vehicle The vehicle to check.
22793
+ * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
22794
+ * @param checkSide True to check the side of the entry point relative to the vehicle
22795
+ * @param leftSide When checkSide is true together with this it only checks if entrypoints on the left side of the vehicle are clear, and for the right side when given false
22796
+ * @return True if the entry point is accesible and the area is clear for the given ped.
22797
+ */
22798
+ declare function IsVehicleSeatAccessible(ped: number, vehicle: number, seatIndex: number, checkSide: boolean, leftSide: boolean): boolean;
22799
+
22582
22800
  /**
22583
22801
  * IS_EXPLOSION_ACTIVE_IN_AREA
22584
22802
  * @param explosionType See [`ADD_EXPLOSION`](#\_0xE3AD2BDBAEE269AC).
@@ -23143,7 +23361,7 @@ declare function IsNewLoadSceneActive(): boolean;
23143
23361
  declare function IsNewLoadSceneLoaded(): boolean;
23144
23362
 
23145
23363
  /**
23146
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
23364
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
23147
23365
  */
23148
23366
  declare function IsNextWeatherType(weatherType: string): boolean;
23149
23367
 
@@ -23672,6 +23890,17 @@ declare function IsPedInModel(ped: number, modelHash: string | number): boolean;
23672
23890
  */
23673
23891
  declare function IsPedInParachuteFreeFall(ped: number): boolean;
23674
23892
 
23893
+ /**
23894
+ * NativeDB Introduced: v3407
23895
+ * @param ped The ped to check.
23896
+ * @param x X coordinate
23897
+ * @param y Y coordinate
23898
+ * @param z Z coordinate
23899
+ * @param range Radius of sphere.
23900
+ * @return Returns `true` if ped is within range of any enemies, `false` otherwise.
23901
+ */
23902
+ declare function IsPedInSphereAreaOfAnyEnemyPeds(ped: number, x: number, y: number, z: number, range: number): boolean;
23903
+
23675
23904
  /**
23676
23905
  * Gets a value indicating whether the specified ped is in the specified vehicle.
23677
23906
  * If 'atGetIn' is false, the function will not return true until the ped is sitting in the vehicle and is about to close the door. If it's true, the function returns true the moment the ped starts to get onto the seat (after opening the door). Eg. if false, and the ped is getting into a submersible, the function will not return true until the ped has descended down into the submersible and gotten into the seat, while if it's true, it'll return true the moment the hatch has been opened and the ped is about to descend into the submersible.
@@ -24332,7 +24561,7 @@ declare function IsPopMultiplierAreaUnk(id: number): boolean;
24332
24561
  declare function IsPositionOccupied(x: number, y: number, z: number, range: number, p4: boolean, checkVehicles: boolean, checkPeds: boolean, p7: boolean, p8: boolean, ignoreEntity: number, p10: boolean): boolean;
24333
24562
 
24334
24563
  /**
24335
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
24564
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
24336
24565
  */
24337
24566
  declare function IsPrevWeatherType(weatherType: string): boolean;
24338
24567
 
@@ -25036,6 +25265,37 @@ declare function N_0x0ad973ca1e077b60(videoCliphash: string | number): boolean;
25036
25265
  */
25037
25266
  declare function LoadTvChannel(videoCliphash: string | number): boolean;
25038
25267
 
25268
+ /**
25269
+ * When this native returns true, do not call [`SET_MP_GAMER_TAG_NAME`](#\_0xDEA2B8283BAA3944).
25270
+ * @param playerId Local ID of the player.
25271
+ * @return Returns if game code is currently updating gamer tag and crew details for a player's name tag.
25272
+ */
25273
+ declare function IsUpdatingMpGamerTagNameAndCrewDetails(playerId: number): boolean;
25274
+ /**
25275
+ * When this native returns true, do not call [`SET_MP_GAMER_TAG_NAME`](#\_0xDEA2B8283BAA3944).
25276
+ * @param playerId Local ID of the player.
25277
+ * @return Returns if game code is currently updating gamer tag and crew details for a player's name tag.
25278
+ */
25279
+ declare function N_0xeb709a36958abe0d(playerId: number): boolean;
25280
+ /**
25281
+ * When this native returns true, do not call [`SET_MP_GAMER_TAG_NAME`](#\_0xDEA2B8283BAA3944).
25282
+ * @param playerId Local ID of the player.
25283
+ * @return Returns if game code is currently updating gamer tag and crew details for a player's name tag.
25284
+ */
25285
+ declare function HasMpGamerTag_2(playerId: number): boolean;
25286
+ /**
25287
+ * When this native returns true, do not call [`SET_MP_GAMER_TAG_NAME`](#\_0xDEA2B8283BAA3944).
25288
+ * @param playerId Local ID of the player.
25289
+ * @return Returns if game code is currently updating gamer tag and crew details for a player's name tag.
25290
+ */
25291
+ declare function HasMpGamerTagCrewFlagsSet(playerId: number): boolean;
25292
+ /**
25293
+ * When this native returns true, do not call [`SET_MP_GAMER_TAG_NAME`](#\_0xDEA2B8283BAA3944).
25294
+ * @param playerId Local ID of the player.
25295
+ * @return Returns if game code is currently updating gamer tag and crew details for a player's name tag.
25296
+ */
25297
+ declare function IsValidMpGamerTagMovie(playerId: number): boolean;
25298
+
25039
25299
  /**
25040
25300
  * _IS_USING_KEYBOARD
25041
25301
  * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
@@ -25073,23 +25333,6 @@ declare function IsInputJustDisabled(padIndex: number): boolean;
25073
25333
  */
25074
25334
  declare function IsValidInterior(interior: number): boolean;
25075
25335
 
25076
- /**
25077
- * IS_*
25078
- */
25079
- declare function IsValidMpGamerTagMovie(gamerTagId: number): boolean;
25080
- /**
25081
- * IS_*
25082
- */
25083
- declare function N_0xeb709a36958abe0d(gamerTagId: number): boolean;
25084
- /**
25085
- * IS_*
25086
- */
25087
- declare function HasMpGamerTag_2(gamerTagId: number): boolean;
25088
- /**
25089
- * IS_*
25090
- */
25091
- declare function HasMpGamerTagCrewFlagsSet(gamerTagId: number): boolean;
25092
-
25093
25336
  /**
25094
25337
  * Determines if a vehicle is a convertible with an animatable roof. This native checks if the specified vehicle model features a convertible roof that can be lowered or raised through an animation.
25095
25338
  * ```
@@ -25256,10 +25499,27 @@ declare function GetIsSubmarineVehicleTransformed(vehicle: number): boolean;
25256
25499
  declare function IsVehicleInteriorLightOn(vehicle: number): boolean;
25257
25500
 
25258
25501
  /**
25259
- * mpsum2_g9ec
25260
- * ```
25261
- * ```
25262
- * NativeDB Introduced: v2699
25502
+ * IS_VEHICLE_MOD_GEN9_EXCLUSIVE
25503
+ * @param vehicle The vehicle handle
25504
+ * @param modType The mod type (see [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD))
25505
+ * @param modIndex The mod index
25506
+ * @return Returns whether the specified mod is exclusive to gen9 or not.
25507
+ */
25508
+ declare function IsVehicleModGen9Exclusive(vehicle: number, modType: number, modIndex: number): boolean;
25509
+ /**
25510
+ * IS_VEHICLE_MOD_GEN9_EXCLUSIVE
25511
+ * @param vehicle The vehicle handle
25512
+ * @param modType The mod type (see [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD))
25513
+ * @param modIndex The mod index
25514
+ * @return Returns whether the specified mod is exclusive to gen9 or not.
25515
+ */
25516
+ declare function N_0x00834eac4a96e010(vehicle: number, modType: number, modIndex: number): boolean;
25517
+ /**
25518
+ * IS_VEHICLE_MOD_GEN9_EXCLUSIVE
25519
+ * @param vehicle The vehicle handle
25520
+ * @param modType The mod type (see [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD))
25521
+ * @param modIndex The mod index
25522
+ * @return Returns whether the specified mod is exclusive to gen9 or not.
25263
25523
  */
25264
25524
  declare function IsVehicleModHswExclusive(vehicle: number, modType: number, modIndex: number): boolean;
25265
25525
 
@@ -25337,23 +25597,6 @@ declare function IsVehicleRocketBoostActive(vehicle: number): boolean;
25337
25597
  */
25338
25598
  declare function IsVehicleSearchlightOn(vehicle: number): boolean;
25339
25599
 
25340
- /**
25341
- * Check if a vehicle seat is accessible. If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked).
25342
- * side = only relevant for bikes/motorcycles to check if the left (false)/right (true) side is blocked.
25343
- * onEnter = check if you can enter (true) or exit (false) a vehicle.
25344
- * @param vehicle The vehicle to check.
25345
- * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
25346
- */
25347
- declare function IsVehicleSeatAccessible(ped: number, vehicle: number, seatIndex: number, side: boolean, onEnter: boolean): boolean;
25348
- /**
25349
- * Check if a vehicle seat is accessible. If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked).
25350
- * side = only relevant for bikes/motorcycles to check if the left (false)/right (true) side is blocked.
25351
- * onEnter = check if you can enter (true) or exit (false) a vehicle.
25352
- * @param vehicle The vehicle to check.
25353
- * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
25354
- */
25355
- declare function N_0x639431e895b9aa57(ped: number, vehicle: number, seatIndex: number, side: boolean, onEnter: boolean): boolean;
25356
-
25357
25600
  /**
25358
25601
  * Seat indices range from -1 to [`GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS`](#\_0xA7C4F2C6E744A550) minus one.
25359
25602
  * ```cpp
@@ -27338,11 +27581,6 @@ declare function N_0x2f7ceb6520288061(p0: boolean): void;
27338
27581
  */
27339
27582
  declare function N_0x2f7f2b26dd3f18ee(p0: number, p1: number): void;
27340
27583
 
27341
- /**
27342
- * 0x2FA2494B47FDD009
27343
- */
27344
- declare function N_0x2fa2494b47fdd009(p0: number, p1: number): void;
27345
-
27346
27584
  /**
27347
27585
  * NativeDB Introduced: v2189
27348
27586
  */
@@ -27978,15 +28216,6 @@ declare function N_0x4fcd976da686580c(p0: number): number;
27978
28216
  */
27979
28217
  declare function N_0x4fcdbd3f0a813c25(p0: number, p1: number): void;
27980
28218
 
27981
- /**
27982
- * Related to the ped's weapon - flag used when disabling ped vehicle weapon
27983
- * SET_PED_\*
27984
- * ```
27985
- * NativeDB Introduced: v1734
27986
- * ```
27987
- */
27988
- declare function N_0x50276ef8172f5f12(ped: number): void;
27989
-
27990
28219
  /**
27991
28220
  * 0x5068F488DDB54DD8
27992
28221
  */
@@ -31146,12 +31375,6 @@ declare function N_0xdce97bdf8a0eabc8(): void;
31146
31375
  */
31147
31376
  declare function N_0xdd2620b7b9d16ff1(player: number, p1: number): boolean;
31148
31377
 
31149
- /**
31150
- * Tune Backwards... ?
31151
- * SET_RADIO_*
31152
- */
31153
- declare function N_0xdd6bcf9e94425df9(): void;
31154
-
31155
31378
  /**
31156
31379
  * 0xDD79DF9F4D26E1C9
31157
31380
  */
@@ -31294,11 +31517,6 @@ declare function N_0xe36a98d8ab3d3c66(p0: boolean): void;
31294
31517
  */
31295
31518
  declare function N_0xe3d969d2785ffb5e(): void;
31296
31519
 
31297
- /**
31298
- * Sets an unknown value related to timecycles.
31299
- */
31300
- declare function N_0xe3e2c1b4c59dbc77(unk: number): void;
31301
-
31302
31520
  /**
31303
31521
  * 0xE3E5A7C64CA2C6ED
31304
31522
  */
@@ -31519,11 +31737,6 @@ declare function N_0xed76d195e6e3bf7f(p0: number, p1: number, p2: number, p3: nu
31519
31737
  */
31520
31738
  declare function N_0xedbf6c9b0d2c65c8(p0: number): void;
31521
31739
 
31522
- /**
31523
- * Some kind of flags.
31524
- */
31525
- declare function N_0xeebfc7a7efdc35b4(vehicle: number): number;
31526
-
31527
31740
  /**
31528
31741
  * 0xEF398BEEE4EF45F9
31529
31742
  */
@@ -31636,11 +31849,6 @@ declare function ReturnZero(): number;
31636
31849
  */
31637
31850
  declare function N_0xf2e07819ef1a5289(): boolean;
31638
31851
 
31639
- /**
31640
- * SET_VEHICLE_*
31641
- */
31642
- declare function N_0xf3365489e0dd50f9(vehicle: number, toggle: boolean): void;
31643
-
31644
31852
  /**
31645
31853
  * 0xF3B0E0AED097A3F5
31646
31854
  */
@@ -31892,12 +32100,6 @@ declare function N_0xfe4c1d0d3b9cc17e(p0: number, p1: boolean): boolean;
31892
32100
  */
31893
32101
  declare function N_0xfec9a3b1820f3331(ped: number): boolean;
31894
32102
 
31895
- /**
31896
- * Tune Forward... ?
31897
- * SET_RADIO_*
31898
- */
31899
- declare function N_0xff266d1d0eb1195d(): void;
31900
-
31901
32103
  /**
31902
32104
  * Related to Peds dropping pickup_health_snack; p0 is a value between [0.0, 1.0] that corresponds to drop rate
31903
32105
  */
@@ -39106,18 +39308,25 @@ declare function LoadInterior(interior: number): void;
39106
39308
  declare function PinRopeVertex(ropeId: number, vertex: number, x: number, y: number, z: number): void;
39107
39309
 
39108
39310
  /**
39109
- * PLACE_OBJECT_ON_GROUND_PROPERLY
39311
+ * Casts a ray downward from the object's position and places the object on the surface it hits (including world surface and objects). Use [`PLACE_OBJECT_ON_GROUND_PROPERLY`](#\_0x58A850EAEE20FAA3) to not include objects when determining the surface.
39312
+ * @param object The object handle.
39110
39313
  */
39111
- declare function PlaceObjectOnGroundProperly(object: number): boolean;
39112
-
39314
+ declare function PlaceObjectOnGroundOrObjectProperly(object: number): boolean;
39113
39315
  /**
39114
- * _PLACE_OBJECT_ON_GROUND_PROPERLY_2
39316
+ * Casts a ray downward from the object's position and places the object on the surface it hits (including world surface and objects). Use [`PLACE_OBJECT_ON_GROUND_PROPERLY`](#\_0x58A850EAEE20FAA3) to not include objects when determining the surface.
39317
+ * @param object The object handle.
39318
+ */
39319
+ declare function N_0xd76eeef746057fd6(object: number): boolean;
39320
+ /**
39321
+ * Casts a ray downward from the object's position and places the object on the surface it hits (including world surface and objects). Use [`PLACE_OBJECT_ON_GROUND_PROPERLY`](#\_0x58A850EAEE20FAA3) to not include objects when determining the surface.
39322
+ * @param object The object handle.
39115
39323
  */
39116
39324
  declare function PlaceObjectOnGroundProperly_2(object: number): boolean;
39325
+
39117
39326
  /**
39118
- * _PLACE_OBJECT_ON_GROUND_PROPERLY_2
39327
+ * PLACE_OBJECT_ON_GROUND_PROPERLY
39119
39328
  */
39120
- declare function N_0xd76eeef746057fd6(object: number): boolean;
39329
+ declare function PlaceObjectOnGroundProperly(object: number): boolean;
39121
39330
 
39122
39331
  /**
39123
39332
  * PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE
@@ -39197,13 +39406,18 @@ declare function N_0xcada5a0d0702381e(soundName: string, soundsetName: string):
39197
39406
  declare function PlayEndCreditsMusic(bActive: boolean): void;
39198
39407
 
39199
39408
  /**
39200
- * ```
39201
- * delta and bitset are guessed fields. They are based on the fact that most of the calls have 0 or nil field types passed in.
39202
- * The only time bitset has a value is 0x4000 and the only time delta has a value is during stealth with usually <1.0f values.
39203
- * ```
39204
39409
  * [Animations list](https://alexguirre.github.io/animations-list/)
39410
+ * @param entity The entity handle to play the animation on.
39411
+ * @param animName The name of the animation to play.
39412
+ * @param animDict The name of the animation dictionary to use.
39413
+ * @param fBlendDelta Blend in and out time.
39414
+ * @param bLoop Sets `AF_LOOPING` in the flags.
39415
+ * @param bHoldLastFrame Sets `AF_HOLD_LAST_FRAME` in the flags.
39416
+ * @param bDriveToPose unused
39417
+ * @param fStartPhase Clamped between `0.0` and `1.0`. Sets the start phase of the animation.
39418
+ * @param iFlags The flags to use when playing the animation. See [`TASK_PLAY_ANIM`](#\_0xEA47FE3719165B94).
39205
39419
  */
39206
- declare function PlayEntityAnim(entity: number, animName: string, animDict: string, p3: number, loop: boolean, stayInAnim: boolean, p6: boolean, delta: number, bitset: number): boolean;
39420
+ declare function PlayEntityAnim(entity: number, animName: string, animDict: string, fBlendDelta: number, bLoop: boolean, bHoldLastFrame: boolean, bDriveToPose: boolean, fStartPhase: number, iFlags: number): boolean;
39207
39421
 
39208
39422
  /**
39209
39423
  * PLAY_ENTITY_SCRIPTED_ANIM
@@ -39492,17 +39706,25 @@ declare function PlaySynchronizedAudioEvent(sceneId: number): boolean;
39492
39706
  declare function PlaySynchronizedCamAnim(camera: number, scene: number, animName: string, animDictionary: string): boolean;
39493
39707
 
39494
39708
  /**
39495
- * ```
39496
- * p4 and p7 are usually 1000.0f.
39497
- * ```
39498
39709
  * [Animations list](https://alexguirre.github.io/animations-list/)
39710
+ * @param entity The entity handle to play the animation on.
39711
+ * @param animName The name of the animation to play.
39712
+ * @param animDictName The name of the animation dictionary to use.
39713
+ * @param fBlendInDelta Blend in time.
39714
+ * @param fBlendOutDelta Blend out time.
39715
+ * @param iFlags The flags to use when playing the animation. See [`TASK_PLAY_ANIM`](#\_0xEA47FE3719165B94).
39499
39716
  */
39500
- declare function PlaySynchronizedEntityAnim(entity: number, syncedScene: number, animation: string, propName: string, p4: number, p5: number, p6: number, p7: number): boolean;
39717
+ declare function PlaySynchronizedEntityAnim(entity: number, syncedScene: number, animName: string, animDictName: string, fBlendInDelta: number, fBlendOutDelta: number, iFlags: number, fMoverBlendInDelta: number): boolean;
39501
39718
 
39502
39719
  /**
39503
39720
  * [Animations list](https://alexguirre.github.io/animations-list/)
39721
+ * @param pAnimName The name of the animation to play.
39722
+ * @param pAnimDictName The name of the animation dictionary to use.
39723
+ * @param fBlendDelta Blend in time.
39724
+ * @param fBlendOutDelta Blend out time.
39725
+ * @param flags The flags to use when playing the animation. See [`TASK_PLAY_ANIM`](#\_0xEA47FE3719165B94).
39504
39726
  */
39505
- declare function PlaySynchronizedMapEntityAnim(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p8: number, p9: number, p10: number, p11: number): [boolean, number, number];
39727
+ declare function PlaySynchronizedMapEntityAnim(x: number, y: number, z: number, radius: number, objectModelHash: string | number, sceneId: number, pAnimName: string, pAnimDictName: string, fBlendDelta: number, fBlendOutDelta: number, flags: number, fMoverBlendInDelta: number): boolean;
39506
39728
 
39507
39729
  /**
39508
39730
  * PLAY_TENNIS_DIVE_ANIM
@@ -41245,7 +41467,7 @@ declare function RemoveModelHide(x: number, y: number, z: number, radius: number
41245
41467
  /**
41246
41468
  * REMOVE_MODEL_SWAP
41247
41469
  */
41248
- declare function RemoveModelSwap(x: number, y: number, z: number, radius: number, originalModel: string | number, newModel: string | number, p6: boolean): void;
41470
+ declare function RemoveModelSwap(x: number, y: number, z: number, radius: number, oldModelHash: string | number, newModelHash: string | number, bLazy: boolean): void;
41249
41471
 
41250
41472
  /**
41251
41473
  * Removes the gamer tag associated with the provided ID. This does not happen instantly. Use [IS_MP_GAMER_TAG_FREE](#\_0x595B5178E412E199) to determine when the ID is free for reuse.
@@ -41895,11 +42117,13 @@ declare function RequestCutsceneEx(cutsceneName: string, playbackFlags: number,
41895
42117
  declare function RequestIpl(iplName: string): void;
41896
42118
 
41897
42119
  /**
41898
- * REQUEST_MENU_PED_MODEL
42120
+ * Calls [`REQUEST_MODEL`](#\_0x963D27A58DF860AC) with the `STRFLAG_PRIORITY_LOAD` and `STRFLAG_FORCE_LOAD` set.
42121
+ * @param model The model to request.
41899
42122
  */
41900
42123
  declare function RequestMenuPedModel(model: string | number): void;
41901
42124
  /**
41902
- * REQUEST_MENU_PED_MODEL
42125
+ * Calls [`REQUEST_MODEL`](#\_0x963D27A58DF860AC) with the `STRFLAG_PRIORITY_LOAD` and `STRFLAG_FORCE_LOAD` set.
42126
+ * @param model The model to request.
41903
42127
  */
41904
42128
  declare function N_0xa0261aef7acfc51e(model: string | number): void;
41905
42129
 
@@ -42232,6 +42456,17 @@ declare function ReserveNetworkMissionPeds(amount: number): void;
42232
42456
  */
42233
42457
  declare function ReserveNetworkMissionVehicles(amount: number): void;
42234
42458
 
42459
+ /**
42460
+ * Resets AnimPostFX adaptation.
42461
+ * @param numFrames Number of frames.
42462
+ */
42463
+ declare function ResetAdaptation(numFrames: number): void;
42464
+ /**
42465
+ * Resets AnimPostFX adaptation.
42466
+ * @param numFrames Number of frames.
42467
+ */
42468
+ declare function N_0xe3e2c1b4c59dbc77(numFrames: number): void;
42469
+
42235
42470
  /**
42236
42471
  * RESET_AI_MELEE_WEAPON_DAMAGE_MODIFIER
42237
42472
  */
@@ -43703,6 +43938,11 @@ declare function SetAmbientZoneStatePersistent(zoneName: string, enabled: boolea
43703
43938
  */
43704
43939
  declare function SetAmmoInClip(ped: number, weaponHash: string | number, ammo: number): boolean;
43705
43940
 
43941
+ /**
43942
+ * NativeDB Introduced: v3407
43943
+ */
43944
+ declare function SetAmmoInVehicleWeaponClip(vehicle: number, seat: number, ammo: number): boolean;
43945
+
43706
43946
  /**
43707
43947
  * SET_ANIM_LOOPED
43708
43948
  */
@@ -44925,15 +45165,6 @@ declare function SetCanPedSelectWeapon(ped: number, weaponHash: string | number,
44925
45165
  */
44926
45166
  declare function SetCanResprayVehicle(vehicle: number, state: boolean): void;
44927
45167
 
44928
- /**
44929
- * SET_CAR_BOOT_OPEN
44930
- */
44931
- declare function SetCarBootOpen(vehicle: number): void;
44932
- /**
44933
- * SET_CAR_BOOT_OPEN
44934
- */
44935
- declare function N_0xfc40cbf7b90ca77c(vehicle: number): void;
44936
-
44937
45168
  /**
44938
45169
  * Something to do with "high speed bump severity"?
44939
45170
  * if (!sub_87a46("SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER")) {
@@ -45846,7 +46077,8 @@ declare function SetDisableDecalRenderingThisFrame(): void;
45846
46077
  declare function N_0x4b5cfc83122df602(): void;
45847
46078
 
45848
46079
  /**
45849
- * Prevents a vehicle from exploding upon sustaining body damage from physical collisions. This can be used to increase the durability of vehicles in high-impact scenarios, such as races or combat situations, by preventing them from being destroyed due to collision-induced body damage.
46080
+ * This only works for planes.
46081
+ * Prevents a vehicle from exploding upon sustaining body damage from physical collisions.
45850
46082
  * For helicopters, you might want to check [`SET_DISABLE_HELI_EXPLODE_FROM_BODY_DAMAGE`](#\_0xEDBC8405B3895CC9) instead.
45851
46083
  * ```
45852
46084
  * NativeDB Introduced: v1290
@@ -45856,7 +46088,8 @@ declare function N_0x4b5cfc83122df602(): void;
45856
46088
  */
45857
46089
  declare function SetDisableExplodeFromBodyDamageOnCollision(vehicle: number, disableExplode: boolean): void;
45858
46090
  /**
45859
- * Prevents a vehicle from exploding upon sustaining body damage from physical collisions. This can be used to increase the durability of vehicles in high-impact scenarios, such as races or combat situations, by preventing them from being destroyed due to collision-induced body damage.
46091
+ * This only works for planes.
46092
+ * Prevents a vehicle from exploding upon sustaining body damage from physical collisions.
45860
46093
  * For helicopters, you might want to check [`SET_DISABLE_HELI_EXPLODE_FROM_BODY_DAMAGE`](#\_0xEDBC8405B3895CC9) instead.
45861
46094
  * ```
45862
46095
  * NativeDB Introduced: v1290
@@ -45866,12 +46099,21 @@ declare function SetDisableExplodeFromBodyDamageOnCollision(vehicle: number, dis
45866
46099
  */
45867
46100
  declare function N_0x26e13d440e7f6064(vehicle: number, disableExplode: boolean): void;
45868
46101
 
46102
+ /**
46103
+ * ```
46104
+ * NativeDB Introduced: v3407
46105
+ * ```
46106
+ * Prevents the plane from exploding when taking body damage if the inflictor is an AI-controlled vehicle. Only works for planes.
46107
+ */
46108
+ declare function SetDisableExplodeFromBodyDamageReceivedByAiVehicle(plane: number, disable: boolean): void;
46109
+
45869
46110
  /**
45870
46111
  * SET_DISABLE_FRAG_DAMAGE
45871
46112
  */
45872
46113
  declare function SetDisableFragDamage(object: number, toggle: boolean): void;
45873
46114
 
45874
46115
  /**
46116
+ * This works on helicopters and planes.
45875
46117
  * Prevents a helicopter from exploding due to relatively minor body damage.
45876
46118
  * ```
45877
46119
  * NativeDB Introduced: v1103
@@ -45881,6 +46123,7 @@ declare function SetDisableFragDamage(object: number, toggle: boolean): void;
45881
46123
  */
45882
46124
  declare function SetDisableHeliExplodeFromBodyDamage(helicopter: number, disableExplode: boolean): void;
45883
46125
  /**
46126
+ * This works on helicopters and planes.
45884
46127
  * Prevents a helicopter from exploding due to relatively minor body damage.
45885
46128
  * ```
45886
46129
  * NativeDB Introduced: v1103
@@ -46260,7 +46503,10 @@ declare function N_0xb20834a7dd3d8896(entity: number, toggle: boolean, p2: numbe
46260
46503
  declare function SetEnableBoundAnkles(ped: number, toggle: boolean): void;
46261
46504
 
46262
46505
  /**
46263
- * ped can not pull out a weapon when true
46506
+ * Sets the IsHandCuffed (120) config flag on the ped. This blocks the ped from switching weapons (with the exception of switching to `weapon_unarmed`), makes the ped ragdoll on getting punched and forces a different get-up animation after ragdolling. The ped can also not vault over or climb on top of objects.
46507
+ * Used in combination with [SET_ENABLE_BOUND_ANKLES](#\_0xC52E0F855C58FC2E) in decompiled scripts.
46508
+ * @param ped The ped to toggle handcuffs on
46509
+ * @param toggle true to enable handcuffs, false to disable
46264
46510
  */
46265
46511
  declare function SetEnableHandcuffs(ped: number, toggle: boolean): void;
46266
46512
 
@@ -46588,6 +46834,11 @@ declare function SetEntityMotionBlur(entity: number, toggle: boolean): void;
46588
46834
  */
46589
46835
  declare function SetEntityNoCollisionEntity(entity1: number, entity2: number, thisFrameOnly: boolean): void;
46590
46836
 
46837
+ /**
46838
+ * NativeDB Introduced: v3407
46839
+ */
46840
+ declare function SetEntityNoCollisionWithNetworkedEntity(entity1: number, entity2: number): void;
46841
+
46591
46842
  /**
46592
46843
  * SET_ENTITY_ONLY_DAMAGED_BY_PLAYER
46593
46844
  */
@@ -47638,15 +47889,18 @@ declare function SetHealthHudDisplayValues(health: number, capacity: number, was
47638
47889
  declare function N_0x3f5cc444dcaaa8f2(health: number, capacity: number, wasAdded: boolean): void;
47639
47890
 
47640
47891
  /**
47641
- * Equivalent of SET_HELI_BLADES_SPEED(vehicleHandle, 1.0f);
47642
- * this native works on planes to?
47892
+ * Despite its name, this works on Helicopters and Planes.
47893
+ * Sets the speed of the helicopter blades to full speed.
47894
+ * This is equivalent to calling `SetHeliBladesSpeed(vehicleHandle, 1.0);`
47895
+ * @param vehicle The helicopter or the plane
47643
47896
  */
47644
47897
  declare function SetHeliBladesFullSpeed(vehicle: number): void;
47645
47898
 
47646
47899
  /**
47900
+ * Despite its name, this works on Helicopters and Planes.
47647
47901
  * Sets the speed of the helicopter blades in percentage of the full speed.
47648
- * vehicleHandle: The helicopter.
47649
- * speed: The speed in percentage, 0.0f being 0% and 1.0f being 100%.
47902
+ * @param vehicle The helicopter or the plane
47903
+ * @param speed Desired blade rotation speed from 0.0 to 1.0
47650
47904
  */
47651
47905
  declare function SetHeliBladesSpeed(vehicle: number, speed: number): void;
47652
47906
 
@@ -49358,7 +49612,7 @@ declare function SetOverrideNitrousLevel(vehicle: number, override: boolean): vo
49358
49612
  declare function SetVehicleNitroEnabled(vehicle: number, override: boolean): void;
49359
49613
 
49360
49614
  /**
49361
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
49615
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
49362
49616
  */
49363
49617
  declare function SetOverrideWeather(weatherType: string): void;
49364
49618
 
@@ -50769,6 +51023,17 @@ declare function SetPedCowerHash(ped: number, p1: string): void;
50769
51023
  */
50770
51024
  declare function SetPedCurrentWeaponVisible(ped: number, visible: boolean, deselectWeapon: boolean, p3: boolean, p4: boolean): void;
50771
51025
 
51026
+ /**
51027
+ * Restricts weapon selection when cycling through weapons, to select only vehicle weapons.
51028
+ * @param ped The ped handle
51029
+ */
51030
+ declare function SetPedCycleVehicleWeaponsOnly(ped: number): void;
51031
+ /**
51032
+ * Restricts weapon selection when cycling through weapons, to select only vehicle weapons.
51033
+ * @param ped The ped handle
51034
+ */
51035
+ declare function N_0x50276ef8172f5f12(ped: number): void;
51036
+
50772
51037
  /**
50773
51038
  * Sets Ped Default Clothes
50774
51039
  */
@@ -51869,6 +52134,17 @@ declare function SetPedStrafeClipset(ped: number, clipSet: string): void;
51869
52134
  */
51870
52135
  declare function SetPedSuffersCriticalHits(ped: number, toggle: boolean): void;
51871
52136
 
52137
+ /**
52138
+ * Allows marine animals to survive outside of water (R\* is using it for sharks).
52139
+ * ```
52140
+ * NativeDB Introduced: v3407
52141
+ * ```
52142
+ * @param ped The marine animal ped
52143
+ * @param toggle `true` to allow survival out of water, `false` to apply normal water restrictions.
52144
+ * @return Returns `true` if successful.
52145
+ */
52146
+ declare function SetPedSurvivesBeingOutOfWater(ped: number, toggle: boolean): boolean;
52147
+
51872
52148
  /**
51873
52149
  * Sweat is set to 100.0 or 0.0 in the decompiled scripts.
51874
52150
  */
@@ -51895,11 +52171,26 @@ declare function SetPedToLoadCover(ped: number, toggle: boolean): void;
51895
52171
  * **0**: CTaskNMRelax
51896
52172
  * **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
51897
52173
  * **Else**: CTaskNMBalance
51898
- * @param time1 Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
52174
+ * @param ped The ped to ragdoll.
52175
+ * @param minTime Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
52176
+ * @param bAbortIfInjured unused
52177
+ * @param bAbortIfDead unused
51899
52178
  */
51900
- declare function SetPedToRagdoll(ped: number, time1: number, time2: number, ragdollType: number, p4: boolean, p5: boolean, p6: boolean): boolean;
52179
+ declare function SetPedToRagdoll(ped: number, minTime: number, maxTime: number, ragdollType: number, bAbortIfInjured: boolean, bAbortIfDead: boolean, bForceScriptControl: boolean): boolean;
51901
52180
 
51902
52181
  /**
52182
+ * cpp
52183
+ * enum eNMFallType {
52184
+ * TYPE_FROM_HIGH = 0,
52185
+ * TYPE_OVER_WALL = 1,
52186
+ * TYPE_DOWN_STAIRS = 2,
52187
+ * TYPE_DIE_TYPES = 3,
52188
+ * TYPE_DIE_FROM_HIGH = 4,
52189
+ * TYPE_DIE_OVER_WALL = 5,
52190
+ * TYPE_DIE_DOWN_STAIRS = 6
52191
+ * }
52192
+ * ```
52193
+ * ```
51903
52194
  * Return variable is never used in R*'s scripts.
51904
52195
  * Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
51905
52196
  * x, y, and z are coordinates, most likely to where the ped will fall.
@@ -51907,8 +52198,20 @@ declare function SetPedToRagdoll(ped: number, time1: number, time2: number, ragd
51907
52198
  * p8 to p13 are always 0f in R*'s scripts.
51908
52199
  * (Simplified) Example of the usage of the function from R*'s scripts:
51909
52200
  * ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
51910
- */
51911
- declare function SetPedToRagdollWithFall(ped: number, time: number, p2: number, ragdollType: number, x: number, y: number, z: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number): boolean;
52201
+ * @param ped The ped to ragdoll.
52202
+ * @param nFallType The type of fall.
52203
+ * @param dirX The x direction of the fall.
52204
+ * @param dirY The y direction of the fall.
52205
+ * @param dirZ The z direction of the fall.
52206
+ * @param fGroundHeight The ground height (z).
52207
+ * @param grab1X unused
52208
+ * @param grab1Y unused
52209
+ * @param grab1Z unused
52210
+ * @param grab2X unused
52211
+ * @param grab2Y unused
52212
+ * @param grab2Z unused
52213
+ */
52214
+ declare function SetPedToRagdollWithFall(ped: number, minTime: number, maxTime: number, nFallType: number, dirX: number, dirY: number, dirZ: number, fGroundHeight: number, grab1X: number, grab1Y: number, grab1Z: number, grab2X: number, grab2Y: number, grab2Z: number): boolean;
51912
52215
 
51913
52216
  /**
51914
52217
  * Purpose: The game's default values for these make shooting while traveling Left quite a bit slower than shooting while traveling right (This could be a game-balance thing?)
@@ -52188,6 +52491,16 @@ declare function SetPickupUncollectable(p0: number, p1: number): void;
52188
52491
  */
52189
52492
  declare function N_0x1c1b69fae509ba97(p0: number, p1: number): void;
52190
52493
 
52494
+ /**
52495
+ * NativeDB Introduced: v3407
52496
+ */
52497
+ declare function SetPlaneAvoidsOthers(plane: number, toggle: boolean): void;
52498
+
52499
+ /**
52500
+ * NativeDB Introduced: v3407
52501
+ */
52502
+ declare function SetPlaneControlSectionsShouldBreakOffFromExplosions(plane: number, toggle: boolean): void;
52503
+
52191
52504
  /**
52192
52505
  * Works just like SET_VEHICLE_ENGINE_HEALTH, didn't saw any difference. But this native works only for planes.
52193
52506
  */
@@ -53003,6 +53316,24 @@ declare function SetRadioFrontendFadeTime(fadeTime: number): void;
53003
53316
  */
53004
53317
  declare function N_0x2c96cdb04fca358e(fadeTime: number): void;
53005
53318
 
53319
+ /**
53320
+ * Sets radio to tune down. (Changes radio station)
53321
+ */
53322
+ declare function SetRadioRetuneDown(): void;
53323
+ /**
53324
+ * Sets radio to tune down. (Changes radio station)
53325
+ */
53326
+ declare function N_0xdd6bcf9e94425df9(): void;
53327
+
53328
+ /**
53329
+ * Sets the radio to tune up. (changes radio station)
53330
+ */
53331
+ declare function SetRadioRetuneUp(): void;
53332
+ /**
53333
+ * Sets the radio to tune up. (changes radio station)
53334
+ */
53335
+ declare function N_0xff266d1d0eb1195d(): void;
53336
+
53006
53337
  /**
53007
53338
  * Doesn't have an effect in Story Mode.
53008
53339
  * ```
@@ -54411,6 +54742,19 @@ declare function SetTrackMaxSpeed(track: number, newSpeed: number): void;
54411
54742
  */
54412
54743
  declare function SetTrackedPointInfo(point: number, x: number, y: number, z: number, radius: number): void;
54413
54744
 
54745
+ /**
54746
+ * Sets whether the trailer can attach to vehicles
54747
+ * @param vehicle The trailer to set attachment state for
54748
+ * @param enabled Enable or disable attachment
54749
+ */
54750
+ declare function SetTrailerAttachmentEnabled(vehicle: number, enabled: boolean): void;
54751
+ /**
54752
+ * Sets whether the trailer can attach to vehicles
54753
+ * @param vehicle The trailer to set attachment state for
54754
+ * @param enabled Enable or disable attachment
54755
+ */
54756
+ declare function N_0x2fa2494b47fdd009(vehicle: number, enabled: boolean): void;
54757
+
54414
54758
  /**
54415
54759
  * SET_TRAILER_INVERSE_MASS_SCALE
54416
54760
  */
@@ -55488,6 +55832,12 @@ declare function N_0xb5c51b5502e85e83(vehicle: number, ped: number, index: numbe
55488
55832
  */
55489
55833
  declare function SetVehicleExplodesOnHighExplosionDamage(vehicle: number, toggle: boolean): void;
55490
55834
 
55835
+ /**
55836
+ * NativeDB Introduced: v3407
55837
+ * @return Does not actually return anything.
55838
+ */
55839
+ declare function SetVehicleExplosiveDamageScale(vehicle: number, scale: number): number;
55840
+
55491
55841
  /**
55492
55842
  * Max value is 32767
55493
55843
  */
@@ -56010,6 +56360,19 @@ declare function SetVehicleMaxSpeed(vehicle: number, speed: number): void;
56010
56360
  */
56011
56361
  declare function N_0xbaa045b4e42f3c06(vehicle: number, speed: number): void;
56012
56362
 
56363
+ /**
56364
+ * Toggles the incoming missile warning system for specified vehicle.
56365
+ * @param vehicle Vehicle to toggle warning system for.
56366
+ * @param toggle `true` to enable, `false` to disable.
56367
+ */
56368
+ declare function SetVehicleMissileWarningEnabled(vehicle: number, toggle: boolean): void;
56369
+ /**
56370
+ * Toggles the incoming missile warning system for specified vehicle.
56371
+ * @param vehicle Vehicle to toggle warning system for.
56372
+ * @param toggle `true` to enable, `false` to disable.
56373
+ */
56374
+ declare function N_0xf3365489e0dd50f9(vehicle: number, toggle: boolean): void;
56375
+
56013
56376
  /**
56014
56377
  * cpp
56015
56378
  * // eVehicleModType values modified to conform to script native reorganization (see 0x140D25327 in 1604).
@@ -56648,13 +57011,53 @@ declare function SetVehicleUsesLargeRearRamp(vehicle: number, toggle: boolean):
56648
57011
  declare function N_0xcac66558b944da67(vehicle: number, toggle: boolean): void;
56649
57012
 
56650
57013
  /**
56651
- * _SET_VEHICLE_WEAPON_CAPACITY
57014
+ * Sets a limited number of ammo for a particular vehicle weapon index on a vehicle.
57015
+ * Information about weapon indexes can be found in `handling.meta`.
57016
+ * In the example given below, `uWeaponHash` defines weapon hashes for the vehicle. Each `<Item>` corresponds to an index starting from `0`.
57017
+ * ```
57018
+ * <uWeaponHash>
57019
+ * <Item>VEHICLE_WEAPON_PLAYER_BUZZARD</Item> <!-- Index: 0 -->
57020
+ * <Item>VEHICLE_WEAPON_SPACE_ROCKET</Item> <!-- Index: 1 -->
57021
+ * <Item>VEHICLE_WEAPON_SEARCHLIGHT</Item> <!-- Index: 2 -->
57022
+ * </uWeaponHash>
57023
+ * ```
57024
+ * @param vehicle The vehicle handle
57025
+ * @param weaponIndex The weapon index we're setting ammo for (between `0` and `3`), see description for more.
57026
+ * @param ammoCount When set positive, will count down with every fire and prevent firing at `0`. Set `-1` to disable restricted ammo.
56652
57027
  */
56653
- declare function SetVehicleWeaponCapacity(vehicle: number, weaponIndex: number, capacity: number): void;
57028
+ declare function SetVehicleWeaponRestrictedAmmo(vehicle: number, weaponIndex: number, ammoCount: number): void;
56654
57029
  /**
56655
- * _SET_VEHICLE_WEAPON_CAPACITY
57030
+ * Sets a limited number of ammo for a particular vehicle weapon index on a vehicle.
57031
+ * Information about weapon indexes can be found in `handling.meta`.
57032
+ * In the example given below, `uWeaponHash` defines weapon hashes for the vehicle. Each `<Item>` corresponds to an index starting from `0`.
57033
+ * ```
57034
+ * <uWeaponHash>
57035
+ * <Item>VEHICLE_WEAPON_PLAYER_BUZZARD</Item> <!-- Index: 0 -->
57036
+ * <Item>VEHICLE_WEAPON_SPACE_ROCKET</Item> <!-- Index: 1 -->
57037
+ * <Item>VEHICLE_WEAPON_SEARCHLIGHT</Item> <!-- Index: 2 -->
57038
+ * </uWeaponHash>
57039
+ * ```
57040
+ * @param vehicle The vehicle handle
57041
+ * @param weaponIndex The weapon index we're setting ammo for (between `0` and `3`), see description for more.
57042
+ * @param ammoCount When set positive, will count down with every fire and prevent firing at `0`. Set `-1` to disable restricted ammo.
56656
57043
  */
56657
- declare function N_0x44cd1f493db2a0a6(vehicle: number, weaponIndex: number, capacity: number): void;
57044
+ declare function N_0x44cd1f493db2a0a6(vehicle: number, weaponIndex: number, ammoCount: number): void;
57045
+ /**
57046
+ * Sets a limited number of ammo for a particular vehicle weapon index on a vehicle.
57047
+ * Information about weapon indexes can be found in `handling.meta`.
57048
+ * In the example given below, `uWeaponHash` defines weapon hashes for the vehicle. Each `<Item>` corresponds to an index starting from `0`.
57049
+ * ```
57050
+ * <uWeaponHash>
57051
+ * <Item>VEHICLE_WEAPON_PLAYER_BUZZARD</Item> <!-- Index: 0 -->
57052
+ * <Item>VEHICLE_WEAPON_SPACE_ROCKET</Item> <!-- Index: 1 -->
57053
+ * <Item>VEHICLE_WEAPON_SEARCHLIGHT</Item> <!-- Index: 2 -->
57054
+ * </uWeaponHash>
57055
+ * ```
57056
+ * @param vehicle The vehicle handle
57057
+ * @param weaponIndex The weapon index we're setting ammo for (between `0` and `3`), see description for more.
57058
+ * @param ammoCount When set positive, will count down with every fire and prevent firing at `0`. Set `-1` to disable restricted ammo.
57059
+ */
57060
+ declare function SetVehicleWeaponCapacity(vehicle: number, weaponIndex: number, ammoCount: number): void;
56658
57061
 
56659
57062
  /**
56660
57063
  * _SET_VEHICLE_WEAPONS_DISABLED
@@ -57541,6 +57944,8 @@ declare function SetWeatherOwnedByNetwork(network: boolean): void;
57541
57944
  * * BLIZZARD
57542
57945
  * * HALLOWEEN
57543
57946
  * * NEUTRAL
57947
+ * * RAIN_HALLOWEEN
57948
+ * * SNOW_HALLOWEEN
57544
57949
  * @param weatherType The weather type to set. This should be one of the predefined weather type strings.
57545
57950
  */
57546
57951
  declare function SetWeatherTypeNow(weatherType: string): void;
@@ -57551,13 +57956,13 @@ declare function SetWeatherTypeNow(weatherType: string): void;
57551
57956
  declare function SetWeatherTypeNowPersist(weatherType: string): void;
57552
57957
 
57553
57958
  /**
57554
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
57959
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
57555
57960
  * @param weatherType The weather type to override to.
57556
57961
  * @param time A float on how long to take to transition (in seconds).
57557
57962
  */
57558
57963
  declare function SetWeatherTypeOvertimePersist(weatherType: string, time: number): void;
57559
57964
  /**
57560
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
57965
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
57561
57966
  * @param weatherType The weather type to override to.
57562
57967
  * @param time A float on how long to take to transition (in seconds).
57563
57968
  */
@@ -57569,12 +57974,12 @@ declare function SetWeatherTypeOverTime(weatherType: string, time: number): void
57569
57974
  * ```
57570
57975
  * NativeDB Introduced: v323
57571
57976
  * ```
57572
- * @param weatherType The weather type to be set as persistent. Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for a list of weather type strings.
57977
+ * @param weatherType The weather type to be set as persistent. Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for a list of weather type strings.
57573
57978
  */
57574
57979
  declare function SetWeatherTypePersist(weatherType: string): void;
57575
57980
 
57576
57981
  /**
57577
- * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
57982
+ * Refer to [`SET_WEATHER_TYPE_NOW`](#\_0x29B487C359E19889) for weather types.
57578
57983
  * ```
57579
57984
  * Mixes two weather types. If percentWeather2 is set to 0.0f, then the weather will be entirely of weatherType1, if it is set to 1.0f it will be entirely of weatherType2. If it's set somewhere in between, there will be a mixture of weather behaviors. To test, try this in the RPH console, and change the float to different values between 0 and 1:
57580
57985
  * execute "NativeFunction.Natives.x578C752848ECFA0C(Game.GetHashKey(""RAIN""), Game.GetHashKey(""SMOG""), 0.50f);
@@ -57951,6 +58356,11 @@ declare function N_0xb81656bc81fe24d1(blip: number, toggle: boolean): void;
57951
58356
  */
57952
58357
  declare function SetBlipFriendly(blip: number, toggle: boolean): void;
57953
58358
 
58359
+ /**
58360
+ * NativeDB Introduced: v3407
58361
+ */
58362
+ declare function ShowPurchaseInstructionalButton(toggle: boolean): void;
58363
+
57954
58364
  /**
57955
58365
  * SHOW_\*
57956
58366
  * ```
@@ -60735,14 +61145,35 @@ declare function TaskGoToEntityWhileAimingAtEntity(ped: number, entityToWalkTo:
60735
61145
  declare function TaskGotoEntityAiming(ped: number, target: number, distanceToStopAt: number, StartAimingDist: number): void;
60736
61146
 
60737
61147
  /**
60738
- * TASK_GOTO_ENTITY_OFFSET
61148
+ * Instructs the ped to go to the entity with the given offset.
61149
+ * ```cpp
61150
+ * enum eSeekEntityOffsetFlags {
61151
+ * ESEEK_OFFSET_ORIENTATES_WITH_ENTITY = 1,
61152
+ * ESEEK_KEEP_TO_PAVEMENTS = 2
61153
+ * };
61154
+ * ```
61155
+ * @param ped The ped handle
61156
+ * @param entity The target entity handle
61157
+ * @param duration The duration in seconds or -1 for forever
61158
+ * @param seekRadius How many meters the destination is from the entity
61159
+ * @param seekAngleDeg The angle the destination is from the entity
61160
+ * @param moveBlendRatio The move blend ratio (speed)
61161
+ * @param gotoEntityOffsetFlags The goto entity offset flags
60739
61162
  */
60740
- declare function TaskGotoEntityOffset(ped: number, p1: number, p2: number, x: number, y: number, z: number, duration: number): void;
61163
+ declare function TaskGotoEntityOffset(ped: number, entity: number, duration: number, seekRadius: number, seekAngleDeg: number, moveBlendRatio: number, gotoEntityOffsetFlags: number): void;
60741
61164
 
60742
61165
  /**
60743
- * TASK_GOTO_ENTITY_OFFSET_XY
61166
+ * Instructs the ped to go to the entity with the given offset.
61167
+ * @param ped The ped handle
61168
+ * @param entity The target entity handle
61169
+ * @param duration The duration in seconds or -1 for forever
61170
+ * @param targetRadius How far away the ped needs to be from the target entity before it starts moving
61171
+ * @param offsetX The X offset
61172
+ * @param offsetY The Y offset
61173
+ * @param moveBlendRatio The move blend ratio (speed)
61174
+ * @param gotoEntityOffsetFlags The goto entity offset flags (see [`TASK_GOTO_ENTITY_OFFSET`](#\_0xE39B4FF4FDEBDE27))
60744
61175
  */
60745
- declare function TaskGotoEntityOffsetXy(ped: number, entity: number, duration: number, xOffset: number, yOffset: number, zOffset: number, moveBlendRatio: number, useNavmesh: boolean): void;
61176
+ declare function TaskGotoEntityOffsetXy(ped: number, entity: number, duration: number, targetRadius: number, offsetX: number, offsetY: number, moveBlendRatio: number, gotoEntityOffsetFlags: number): void;
60746
61177
 
60747
61178
  /**
60748
61179
  * TASK_GUARD_ASSIGNED_DEFENSIVE_AREA
@@ -61034,52 +61465,48 @@ declare function TaskPlaneGotoPreciseVtol(ped: number, vehicle: number, p2: numb
61034
61465
  declare function TaskPlaneLand(pilot: number, plane: number, runwayStartX: number, runwayStartY: number, runwayStartZ: number, runwayEndX: number, runwayEndY: number, runwayEndZ: number): void;
61035
61466
 
61036
61467
  /**
61037
- * EDITED (7/13/2017)
61038
- * NOTE: If you want air combat, AI::TASK_COMBAT_PED (while your pilot is in an aircraft) also does the same thing as this native.
61039
- * DESCRIPTION:
61040
- * Ever wish your buddy could shoot down one of your enemies for you? Ever wanted an auto-pilot? Well look no further! This is the native for you! (Ped intelligence may vary)
61041
- * USAGE:
61042
- * -- REQUIRED --
61043
- * pilot = The ped flying the aircraft.
61044
- * aircraft = The aircraft the pilot is flying
61045
- * -- OPTIONAL -- [atleast 1 must be assigned]
61046
- * targetVehicle = The vehicle the pilot will target.
61047
- * targetPed = The ped the pilot will target.
61048
- * • destinationX, destinationY, destinationZ = The location the pilot will target.
61049
- * -- LOGIC --
61050
- * missionFlag = The type of mission. pastebin.com/R8x73dbv
61051
- * • angularDrag = The higher the value, the slower the plane will rotate. Value ranges from 0 - Infinity.
61052
- * • unk = Set to 0, and you'll be fine.
61053
- * targetHeading = The target angle (from world space north) that the pilot will try to acheive before executing an attack/landing.
61054
- * maxZ = Maximum Z coordinate height for flying.
61055
- * minZ = Minimum Z coordinate height for flying.
61056
- * Z: 2,700 is the default max height a pilot will be able to fly. Anything greater and he will fly downward until reaching 2,700 again.
61057
- * Mission Types (incase you don't like links..):
61058
- * 0 = None
61059
- * 1 = Unk
61060
- * 2 = CTaskVehicleRam
61061
- * 3 = CTaskVehicleBlock
61062
- * 4 = CTaskVehicleGoToPlane
61063
- * 5 = CTaskVehicleStop
61064
- * 6 = CTaskVehicleAttack
61065
- * 7 = CTaskVehicleFollow
61066
- * 8 = CTaskVehicleFleeAirborne
61067
- * 9 = CTaskVehicleCircle
61068
- * 10 = CTaskVehicleEscort
61069
- * 15 = CTaskVehicleFollowRecording
61070
- * 16 = CTaskVehiclePoliceBehaviour
61071
- * 17 = CTaskVehicleCrash
61072
- * Example C#:
61073
- * Function.Call(Hash.TASK_PLANE_MISSION, pilot, vehicle, 0, Game.Player.Character, 0, 0, 0, 6, 0f, 0f, 0f, 2500.0f, -1500f);
61074
- * Example C++
61075
- * AI::TASK_PLANE_MISSION(pilot, vehicle, 0, PLAYER::GET_PLAYER_PED(PLAYER::GET_PLAYER_INDEX()), 0, 0, 0, 6, 0.0, 0.0, 0.0, 2500.0, -1500.0);
61076
- * [DEPRECATED] EXAMPLE USAGE:
61077
- * pastebin.com/gx7Finsk
61078
- * ```
61468
+ * Gives the plane a mission (purpose or objective), the mission is passed onto the `iMissionIndex` parameter.
61469
+ * ```cpp
61470
+ * enum eVehicleMission {
61471
+ * MISSION_NONE = 0,
61472
+ * MISSION_CRUISE, // 1
61473
+ * MISSION_RAM, // 2
61474
+ * MISSION_BLOCK, // 3
61475
+ * MISSION_GOTO, // 4
61476
+ * MISSION_STOP, // 5
61477
+ * MISSION_ATTACK, // 6
61478
+ * MISSION_FOLLOW, // 7
61479
+ * MISSION_FLEE, // 8
61480
+ * MISSION_CIRCLE, // 9
61481
+ * MISSION_ESCORT_LEFT, // 10
61482
+ * MISSION_ESCORT_RIGHT, // 11
61483
+ * MISSION_ESCORT_REAR, // 12
61484
+ * MISSION_ESCORT_FRONT, // 13
61485
+ * MISSION_GOTO_RACING, // 14
61486
+ * MISSION_FOLLOW_RECORDING, // 15
61487
+ * MISSION_POLICE_BEHAVIOUR, // 16
61488
+ * MISSION_PARK_PERPENDICULAR, // 17
61489
+ * MISSION_PARK_PARALLEL, // 18
61490
+ * MISSION_LAND, // 19
61491
+ * MISSION_LAND_AND_WAIT, // 20
61492
+ * MISSION_CRASH, // 21
61493
+ * MISSION_PULL_OVER, // 22
61494
+ * MISSION_PROTECT // 23
61495
+ * };
61079
61496
  * ```
61080
- * NativeDB Added Parameter 14: Any p13
61497
+ * @param ped The `Ped` handle.
61498
+ * @param vehicle The `Vehicle` handle for the actual plane that will be flown.
61499
+ * @param targetVehicle The target `Vehicle` handle (in case `eVehicleMission` requires one).
61500
+ * @param targetPed The target `Ped` (in case `eVehicleMission` requires one).
61501
+ * @param iMissionIndex The mission to be executed. See `eVehicleMission`.
61502
+ * @param fCruiseSpeed The cruise speed (in m/s).
61503
+ * @param fTargetReachedDist Distance (in meters) (at which the plane thinks it has arrived), this is also used as the hover distance for `MISSION_ATTACK` and `MISSION_CIRCLE`.
61504
+ * @param fOrientation Used to specify the desired orientation of the plane in degrees (`0` to `360`). Use `-1` if no specific orientation is required.
61505
+ * @param iFlightHeight The height above sea level the plane tries to maintain, i.e. `50` meters.
61506
+ * @param iMinHeightAboveTerrain The minimum height above terrain, i.e. `30` meters.
61507
+ * @param bPrecise A boolean value, defaults to `true`.
61081
61508
  */
61082
- declare function TaskPlaneMission(pilot: number, aircraft: number, targetVehicle: number, targetPed: number, destinationX: number, destinationY: number, destinationZ: number, missionFlag: number, angularDrag: number, unk: number, targetHeading: number, maxZ: number, minZ: number): void;
61509
+ declare function TaskPlaneMission(ped: number, vehicle: number, targetVehicle: number, targetPed: number, fTargetCoordX: number, fTargetCoordY: number, fTargetCoordZ: number, iMissionIndex: number, fCruiseSpeed: number, fTargetReachedDist: number, fOrientation: number, iFlightHeight: number, iMinHeightAboveTerrain: number, bPrecise: boolean): void;
61083
61510
 
61084
61511
  /**
61085
61512
  * The given ped will try to drive the plane to the given coordinates and will then drive around the given coords (the plane will form 8s on the ground)
@@ -61356,6 +61783,20 @@ declare function TaskSetDecisionMaker(ped: number, p1: string | number): void;
61356
61783
  */
61357
61784
  declare function TaskSetSphereDefensiveArea(p0: number, p1: number, p2: number, p3: number, p4: number): void;
61358
61785
 
61786
+ /**
61787
+ * Makes a shark ped circle around specified coordinates.
61788
+ * ```
61789
+ * NativeDB Introduced: v3407
61790
+ * ```
61791
+ * @param ped The shark ped.
61792
+ * @param x X coordinate to circle around
61793
+ * @param y Y coordinate to circle around
61794
+ * @param z Z coordinate to circle around
61795
+ * @param moveBlendRatio Animation blend ratio from 0.0 to 1.0
61796
+ * @param radius Radius of the circular path in meters
61797
+ */
61798
+ declare function TaskSharkCircleCoord(ped: number, x: number, y: number, z: number, moveBlendRatio: number, radius: number): void;
61799
+
61359
61800
  /**
61360
61801
  * TASK_SHOCKING_EVENT_REACT
61361
61802
  */
@@ -62667,6 +63108,18 @@ declare function TriggerSonarBlip(posX: number, posY: number, posZ: number, radi
62667
63108
  */
62668
63109
  declare function N_0x72dd432f3cdfc0ee(posX: number, posY: number, posZ: number, radius: number, p4: number): void;
62669
63110
 
63111
+ /**
63112
+ * Start a reload for a vehicle's weapon.
63113
+ * ```
63114
+ * NativeDB Introduced: v3407
63115
+ * ```
63116
+ * @param vehicle The vehicle containing the weapon to reload.
63117
+ * @param seat The seat/weapon index.
63118
+ * @param ped The ped initiating the reload (the one using the weapon).
63119
+ * @return Return `true` if reload was triggered successfully, `false` otherwise.
63120
+ */
63121
+ declare function TriggerVehicleWeaponReload(vehicle: number, seat: number, ped: number): boolean;
63122
+
62670
63123
  /**
62671
63124
  * UGC_CANCEL_QUERY
62672
63125
  */