-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(natives/vehicle): update vehicle natives - Part 3/4 (#952)
* 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
Showing
4 changed files
with
150 additions
and
38 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |