Skip to content

Commit

Permalink
feat(natives/vehicle): update vehicle natives - Part 3/4 (#952)
Browse files Browse the repository at this point in the history
* feat(natives/vehicle): update vehicle natives

* Update SetPlaneSectionDamageScale.md

Correct enum name, not like there's anything wrong with the original name provided, but camel-casing seems more common for enums within native docs.

* Update SetOpenRearDoorsOnExplosion.md

Remove newline under ## Return value, also add newline to end of file.

---------

Co-authored-by: ammonia-cfx <[email protected]>
  • Loading branch information
spacevx and 4mmonium authored Dec 26, 2023
1 parent e07e3c6 commit 8fb95eb
Show file tree
Hide file tree
Showing 4 changed files with 150 additions and 38 deletions.
18 changes: 0 additions & 18 deletions VEHICLE/N_0x0bbb9a7a8ffe931b.md

This file was deleted.

20 changes: 0 additions & 20 deletions VEHICLE/N_0x1b212b26dd3c04df.md

This file was deleted.

107 changes: 107 additions & 0 deletions VEHICLE/SetOpenRearDoorsOnExplosion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
ns: VEHICLE
aliases: ["0x1B212B26DD3C04DF"]
---
## SET_OPEN_REAR_DOORS_ON_EXPLOSION

```c
// 0x1B212B26DD3C04DF
void SET_OPEN_REAR_DOORS_ON_EXPLOSION(Vehicle vehicle, BOOL toggle);
```
Enables or disables the opening of a vehicle's rear doors in the event of a sticky bomb explosion. This native is effective for armored vehicles, such as the Stockade (Brinks vehicle), allowing the rear doors to be opened through controlled explosions, which might otherwise remain locked due to the vehicle nature.
## Parameters
* **vehicle**: The vehicle to apply this setting to.
* **toggle**: A boolean value where `true` allows the rear doors to open upon explosion, and `false` prevents them from opening.
## Return value
This native does not return any value.
## Examples
```lua
-- This example disables the rear doors of the vehicle from opening upon explosion.
-- Retrieve the LocalPlayer.
local playerPed = PlayerPedId()
-- Retrieve the vehicle the player is currently in.
local vehicle = GetVehiclePedIsIn(playerPed, false)
-- Check if the vehicle exists in the game world.
if not DoesEntityExist(vehicle) then
-- If the vehicle does not exist, end the execution of the code here.
return
end
-- Retrieve the model of the vehicle
local modelVehicle = GetEntityModel(vehicle)
-- Retrieve the hash of the Stockade.
local hashStockade = GetHashKey("stockade")
-- Check if the vehicle is a Stockade.
if (modelVehicle == hashStockade) then
-- Disable the rear doors from opening upon explosion.
SetOpenRearDoorsOnExplosion(vehicle, true)
end
```

```js
// This example disables the rear doors of the vehicle from opening upon explosion.

// Retrieve the LocalPlayer.
const playerPed = PlayerPedId();

// Retrieve the vehicle the player is currently in.
const vehicle = GetVehiclePedIsIn(playerPed, false);

// Check if the vehicle exists in the game world.
if (!DoesEntityExist(vehicle)) {
// If the vehicle does not exist, end the execution of the code here.
return;
}

// Retrieve the model of the vehicle.
const modelVehicle = GetEntityModel(vehicle);

// Retrieve the hash of the Stockade.
const hashStockade = GetHashKey("stockade");

// Check if the vehicle is a Stockade.
if (modelVehicle === hashStockade) {
// Disable the rear doors from opening upon explosion.
SetOpenRearDoorsOnExplosion(vehicle, true);
}
```

```cs
using static CitizenFX.Core.Native.API;
// This example disables the rear doors of the vehicle from opening upon explosion.
// Retrieve the LocalPlayer.
Ped playerPed = PlayerPedId();

// Retrieve the vehicle the player is currently in.
Vehicle vehicle = GetVehiclePedIsIn(playerPed, false);

// Check if the vehicle exists in the game world.
if (!DoesEntityExist(vehicle))
{
// If the vehicle does not exist, end the execution of the code here.
return;
}

// Retrieve the model of the vehicle.
uint modelVehicle = (uint)GetEntityModel(vehicle);

// Retrieve the hash of the Stockade.
uint hashStockade = (uint)GetHashKey("stockade");

// Check if the vehicle is a Stockade.
if (modelVehicle == hashStockade) {
// Disable the rear doors from opening upon explosion.
SetOpenRearDoorsOnExplosion(vehicle, true);
}
```
43 changes: 43 additions & 0 deletions VEHICLE/SetPlaneSectionDamageScale.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
ns: VEHICLE
aliases: ["0x0BBB9A7A8FFE931B"]
---
## SET_PLANE_SECTION_DAMAGE_SCALE

```c
// 0x0BBB9A7A8FFE931B
void SET_PLANE_SECTION_DAMAGE_SCALE(Vehicle vehicle, int damageSection, cs_type(Any) float damageScale);
```
Adjusts the scale of damage applied to a specified section of a plane.
In the decompiled scripts the `damageScale` is always set to `0f` (maybe to disable damages on the specified section)
```c
enum ePlaneDamageSection {
WING_L = 0,
WING_R = 1,
TAIL = 2,
ENGINE_L = 3,
ENGINE_R = 4,
ELEVATOR_L = 5,
ELEVATOR_R = 6,
AILERON_L = 7,
AILERON_R = 8,
RUDDER = 9,
RUDDER_2 = 10,
AIRBRAKE_L = 11,
AIRBRAKE_R = 12
}
```

```
NativeDB Introduced: v1290
```

## Parameters
* **vehicle**: Plane to which the damage scale adjustment will be applied.
* **damageSection**: Specific section of the plane, as defined in the `ePlaneDamageSection` enum, where the damage scale will be adjusted.
* **damageScale**: A float value representing the scale of damage to be applied to the specified section.

## Return value
This native does not return any value.

0 comments on commit 8fb95eb

Please sign in to comment.