APPLY_FORCE_TO_ENTITY
This is the server-side RPC native equivalent of the client native APPLY_FORCE_TO_ENTITY.
Signature
void APPLY_FORCE_TO_ENTITY(Entity entity, int forceType, float x, float y, float z, float offX, float offY, float offZ, int nComponent, BOOL bLocalForce, BOOL bLocalOffset, BOOL bScaleByMass, BOOL bPlayAudio, BOOL bScaleByTimeWarp);Parameters
| Name | Type | Description |
|---|---|---|
entity | Entity | The entity handle |
forceType | int | The force type |
x | float | The x component of the force to apply |
y | float | The y component of the force to apply |
z | float | The z component of the force to apply |
offX | float | Offset from center of entity (X) |
offY | float | Offset from center of entity (Y) |
offZ | float | Offset from center of entity (Z) |
nComponent | int | Component of the entity to apply the force too. Only matters for breakable or articulated (ragdoll) physics. 0 means the root or parent component |
bLocalForce | BOOL | Specifies whether the force vector passed in is in local or world coordinates. |
bLocalOffset | BOOL | Specifies whether the offset passed in is in local or world coordinates |
bScaleByMass | BOOL | Specifies whether to scale the force by mass |
bPlayAudio | BOOL | 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 |
bScaleByTimeWarp | BOOL | Specifies whether to scale the force by time warp. Default is |
Returns void
Description
enum eApplyForceTypes {
APPLY_TYPE_FORCE = 0,
APPLY_TYPE_IMPULSE = 1,
APPLY_TYPE_EXTERNAL_FORCE = 2,
APPLY_TYPE_EXTERNAL_IMPULSE = 3,
APPLY_TYPE_TORQUE = 4,
APPLY_TYPE_ANGULAR_IMPULSE = 5
}This is the server-side RPC native equivalent of the client native APPLY_FORCE_TO_ENTITY.
Usage
ApplyForceToEntity(entity, forceType, x, y, z, offX, offY, offZ, nComponent, bLocalForce, bLocalOffset, bScaleByMass, bPlayAudio, bScaleByTimeWarp)
-- always works, by hash
Citizen.InvokeNative(0xc1c0855a, entity, forceType, x, y, z, offX, offY, offZ, nComponent, bLocalForce, bLocalOffset, bScaleByMass, bPlayAudio, bScaleByTimeWarp)JavaScript and C#
ApplyForceToEntity(entity, forceType, x, y, z, offX, offY, offZ, nComponent, bLocalForce, bLocalOffset, bScaleByMass, bPlayAudio, bScaleByTimeWarp);
// by hash
Citizen.invokeNative('0xc1c0855a', entity, forceType, x + 0.0000001, y + 0.0000001, z + 0.0000001, offX + 0.0000001, offY + 0.0000001, offZ + 0.0000001, nComponent, bLocalForce, bLocalOffset, bScaleByMass, bPlayAudio, bScaleByTimeWarp);Function.Call((Hash)0xc1c0855a, entity, forceType, x, y, z, offX, offY, offZ, nComponent, bLocalForce, bLocalOffset, bScaleByMass, bPlayAudio, bScaleByTimeWarp);- Float parameters: Lua integers (
10, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write10.0orvalue + 0.0. The generated JS wrappers add0.0000001to non-zero floats for the same reason.
Sources
Something wrong or missing? Contribute a verified note — corrections ship through pull requests.