entity

Methods

does_entity_exist

Checks if the Entity exists

function native.entity.does_entity_exist(entity: int): bool

does_entity_belong_to_this_script

function native.entity.does_entity_belong_to_this_script(entity: int, p1: bool): bool

does_entity_have_drawable

function native.entity.does_entity_have_drawable(entity: int): bool

does_entity_have_physics

function native.entity.does_entity_have_physics(entity: int): bool

has_entity_been_damaged_by_any_object

function native.entity.has_entity_been_damaged_by_any_object(entity: int): bool

has_entity_been_damaged_by_any_ped

function native.entity.has_entity_been_damaged_by_any_ped(entity: int): bool

has_entity_been_damaged_by_any_vehicle

function native.entity.has_entity_been_damaged_by_any_vehicle(entity: int): bool

has_entity_been_damaged_by_entity

function native.entity.has_entity_been_damaged_by_entity(entity1: int, entity2: int, p2: bool, p3: bool): bool

_0x3ec28da1ffac9ddd

Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT

function native.entity._0x3ec28da1ffac9ddd(entity1: int, entity2: int, p2: int, p3: int): bool

_0xaf72ec7e1b54539b

function native.entity._0xaf72ec7e1b54539b(entity: int): int

has_entity_clear_los_to_entity

function native.entity.has_entity_clear_los_to_entity(entity1: int, entity2: int, trace_type: int): bool

has_entity_clear_los_to_coord

function native.entity.has_entity_clear_los_to_coord(entity: int, x: float, y: float, z: float, flags: int): bool

has_entity_clear_los_to_entity_in_front

Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.

function native.entity.has_entity_clear_los_to_entity_in_front(entity1: int, entity2: int, trace_type: int): bool

has_entity_collided_with_anything

function native.entity.has_entity_collided_with_anything(entity: int): bool

_0x6d58167f62238284

function native.entity._0x6d58167f62238284(vehicle: int): float

_0xdfc2b226d56d85f6

function native.entity._0xdfc2b226d56d85f6(p0: int, p1: int): float

get_anim_duration

function native.entity.get_anim_duration(anim_dict: string, anim_name: string): float

get_entity_attached_to

function native.entity.get_entity_attached_to(entity: int): int

get_entity_coords

Gets the current coordinates for a specified entity. entity = The entity to get the coordinates from. alive = Unused by the game, potentially used by debug builds in order to assert whether or not an entity was alive.

If entity is a ped and it's in a vehicle or on a mount the coords of that entity are returned. Set 'realCoords' to true when you need the true ped coords.

function native.entity.get_entity_coords(entity: int, alive: bool, real_coords: bool): vec3

get_entity_forward_vector

Gets the entity's forward vector in XY(Z) eulers.

function native.entity.get_entity_forward_vector(entity: int): vec3

get_entity_forward_x

Gets the X-component of the entity's forward vector.

function native.entity.get_entity_forward_x(entity: int): float

get_entity_forward_y

Gets the Y-component of the entity's forward vector.

function native.entity.get_entity_forward_y(entity: int): float

_get_entity_forward_vector_yx

Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR

function native.entity._get_entity_forward_vector_yx(entity: int): vec3

get_entity_heading

Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.

function native.entity.get_entity_heading(entity: int): float

get_entity_health

function native.entity.get_entity_health(entity: int): int

_get_entity_health_float

Returns (CUR_HEALTH / MAX_HEALTH)

function native.entity._get_entity_health_float(entity: int): float

_change_entity_health

Alters entity's health by 'amount'. Can be negative (to drain health). In the scripts entity2 and weaponHash are unused (zero).

function native.entity._change_entity_health(entity: int, amount: float, entity2: int, weapon_hash: int): bool

get_entity_max_health

function native.entity.get_entity_max_health(entity: int, p1: bool): int

set_entity_max_health

function native.entity.set_entity_max_health(entity: int, value: int): void

get_entity_height

function native.entity.get_entity_height(entity: int, x: float, y: float, z: float, at_top: bool, in_world_coords: bool): float

get_entity_height_above_ground

function native.entity.get_entity_height_above_ground(entity: int): float

_get_entity_world_position_of_dimensions

function native.entity._get_entity_world_position_of_dimensions(entity: int, minimum: ref vec3, maximum: ref vec3): void

get_entity_matrix

function native.entity.get_entity_matrix(entity: int, right_vector: ref vec3, forward_vector: ref vec3, up_vector: ref vec3, position: ref vec3): void

get_entity_model

Returns the model hash from the entity

function native.entity.get_entity_model(entity: int): int

_get_ped_animal_type

Returns the ped's animal type hash: https://alloc8or.re/rdr3/doc/enums/eAnimalType.txt Combine this with GET_STRING_FROM_HASH_KEY to display localized entity names

function native.entity._get_ped_animal_type(ped: int): int

get_is_animal

function native.entity.get_is_animal(entity: int): bool

_get_is_bird

function native.entity._get_is_bird(entity: int): bool

_get_is_predator

function native.entity._get_is_predator(entity: int): bool

get_offset_from_entity_given_world_coords

function native.entity.get_offset_from_entity_given_world_coords(entity: int, pos_x: float, pos_y: float, pos_z: float): vec3

get_offset_from_entity_in_world_coords

Offset values are relative to the entity.

x = left/right y = forward/backward z = up/down

function native.entity.get_offset_from_entity_in_world_coords(entity: int, offset_x: float, offset_y: float, offset_z: float): vec3

get_entity_pitch

function native.entity.get_entity_pitch(entity: int): float

get_entity_roll

Displays the current ROLL axis of the entity -180.0000/180.0000+ (Sideways Roll) such as a vehicle tipped on its side

function native.entity.get_entity_roll(entity: int): float

get_entity_rotation

function native.entity.get_entity_rotation(entity: int, rotation_order: int): vec3

_get_entity_script

function native.entity._get_entity_script(entity: int, arg_struct: ptr int): int

get_entity_speed

Result is in meters per second (m/s)

function native.entity.get_entity_speed(entity: int): float

get_entity_speed_vector

function native.entity.get_entity_speed_vector(entity: int, relative: bool): vec3

get_entity_upright_value

function native.entity.get_entity_upright_value(entity: int): float

get_entity_velocity

function native.entity.get_entity_velocity(entity: int, p1: int): vec3

get_object_index_from_entity_index

Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).

function native.entity.get_object_index_from_entity_index(entity: int): int

get_ped_index_from_entity_index

Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).

function native.entity.get_ped_index_from_entity_index(entity: int): int

get_vehicle_index_from_entity_index

Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).

function native.entity.get_vehicle_index_from_entity_index(entity: int): int

get_world_position_of_entity_bone

Returns the coordinates of an entity-bone. https://github.com/femga/rdr3_discoveries/tree/master/boneNames

function native.entity.get_world_position_of_entity_bone(entity: int, bone_index: int): vec3

_0x5e214112806591ea

Attaches scenario to bone with an offset _GET_I* - _GET_M*

function native.entity._0x5e214112806591ea(entity: int, bone_index: int): vec3

_0x3ab3a77672f6473f

function native.entity._0x3ab3a77672f6473f(p0: int, p1: int, p2: int, p3: int): vec3

get_nearest_player_to_entity

function native.entity.get_nearest_player_to_entity(entity: int, player_ped_to_ignore: int, flags: int): int

get_nearest_player_to_entity_on_team

function native.entity.get_nearest_player_to_entity_on_team(entity: int, team: int, player_ped_to_ignore: int, flags: int): int

get_nearest_participant_to_entity

function native.entity.get_nearest_participant_to_entity(entity: int): int

place_entity_on_ground_properly

function native.entity.place_entity_on_ground_properly(entity: int, p1: bool): bool

get_entity_type

function native.entity.get_entity_type(entity: int): int

get_entity_population_type

function native.entity.get_entity_population_type(entity: int): int

is_an_entity

function native.entity.is_an_entity(handle: int): bool

is_entity_a_ped

function native.entity.is_entity_a_ped(entity: int): bool

is_entity_a_mission_entity

function native.entity.is_entity_a_mission_entity(entity: int): bool

is_entity_a_vehicle

function native.entity.is_entity_a_vehicle(entity: int): bool

is_entity_an_object

function native.entity.is_entity_an_object(entity: int): bool

is_entity_at_coord

Checks if entity is within x/y/zSize distance of x/y/z.

Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0

function native.entity.is_entity_at_coord(entity: int, x_pos: float, y_pos: float, z_pos: float, x_size: float, y_size: float, z_size: float, p7: bool, p8: bool, p9: int): bool

is_entity_at_entity

Checks if entity1 is within the box defined by x/y/zSize of entity2.

Last three parameters are almost always p5 = 0, p6 = 1, p7 = 0

function native.entity.is_entity_at_entity(entity1: int, entity2: int, x_size: float, y_size: float, z_size: float, p5: bool, p6: bool, p7: int): bool

is_entity_attached

function native.entity.is_entity_attached(entity: int): bool

is_entity_attached_to_any_object

function native.entity.is_entity_attached_to_any_object(entity: int): bool

is_entity_attached_to_any_ped

function native.entity.is_entity_attached_to_any_ped(entity: int): bool

is_entity_attached_to_any_vehicle

function native.entity.is_entity_attached_to_any_vehicle(entity: int): bool

is_entity_attached_to_entity

function native.entity.is_entity_attached_to_entity(from: int, to: int): bool

_is_entity_owned_by_persistence_system

function native.entity._is_entity_owned_by_persistence_system(entity: int): bool

is_entity_dead

function native.entity.is_entity_dead(entity: int): bool

is_entity_in_air

function native.entity.is_entity_in_air(entity: int, p1: int): bool

is_entity_in_angled_area

Creates a spherical cone at origin that extends to surface with the angle specified. Then returns true if the entity is inside the spherical cone

Angle is measured in degrees.

function native.entity.is_entity_in_angled_area(entity: int, origin_x: float, origin_y: float, origin_z: float, edge_x: float, edge_y: float, edge_z: float, angle: float, p8: bool, p9: bool, p10: int): bool

is_entity_in_area

function native.entity.is_entity_in_area(entity: int, x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, p7: bool, p8: bool, p9: int): bool

is_entity_in_volume

function native.entity.is_entity_in_volume(entity: int, volume: int, p2: bool, p3: int): bool

is_entity_in_water

function native.entity.is_entity_in_water(entity: int): bool

_is_entity_underwater

function native.entity._is_entity_underwater(entity: int, p1: bool): bool

get_entity_submerged_level

Get how much of the entity is submerged. 1.0f is whole entity.

function native.entity.get_entity_submerged_level(entity: int): float

set_entity_requires_more_expensive_river_check

function native.entity.set_entity_requires_more_expensive_river_check(entity: int, toggle: bool): void

_0x7a49d40de437bc8d

function native.entity._0x7a49d40de437bc8d(p0: int, p1: int): void

_0x978aa2323ed32209

function native.entity._0x978aa2323ed32209(p0: int, p1: int): void

_0x002aac783ed323ed

function native.entity._0x002aac783ed323ed(p0: int, p1: int): void

_0x007aac783ed323ed

function native.entity._0x007aac783ed323ed(p0: int, p1: int, p2: int): void

is_entity_on_screen

function native.entity.is_entity_on_screen(entity: int): bool

is_entity_playing_anim

function native.entity.is_entity_playing_anim(entity: int, anim_dict: string, anim_name: string, anim_type: int): bool

_is_entity_playing_any_anim

Params: p1 (probably animType) = 1, 0

function native.entity._is_entity_playing_any_anim(entity: int, p1: int): bool

is_entity_static

function native.entity.is_entity_static(entity: int): bool

is_entity_touching_entity

function native.entity.is_entity_touching_entity(entity: int, target_entity: int): bool

is_entity_touching_model

function native.entity.is_entity_touching_model(entity: int, model_hash: int): bool

is_entity_upright

function native.entity.is_entity_upright(entity: int, angle: float): bool

is_entity_upsidedown

function native.entity.is_entity_upsidedown(entity: int): bool

is_entity_visible

function native.entity.is_entity_visible(entity: int): bool

_0xff9965c47fa404da

SET_ENTITY_LO*

function native.entity._0xff9965c47fa404da(entity: int, toggle: bool): void

is_entity_visible_to_script

function native.entity.is_entity_visible_to_script(entity: int): bool

_0x3f08c6163a4ab1d6

function native.entity._0x3f08c6163a4ab1d6(p0: int): void

_0x0db41d59e0f1502b

function native.entity._0x0db41d59e0f1502b(p0: int): void

_is_tracked_entity_visible

function native.entity._is_tracked_entity_visible(entity: int): bool

is_entity_occluded

function native.entity.is_entity_occluded(entity: int): bool

would_entity_be_occluded

function native.entity.would_entity_be_occluded(entity_model_hash: int, x: float, y: float, z: float, p4: bool): bool

is_entity_waiting_for_world_collision

function native.entity.is_entity_waiting_for_world_collision(entity: int): bool

_is_entity_on_train_track

function native.entity._is_entity_on_train_track(entity: int): bool

_0xcdb682bb47c02f0a

function native.entity._0xcdb682bb47c02f0a(entity: int, p1: int): void

_0xe19035eb65ab2932

function native.entity._0xe19035eb65ab2932(p0: int, p1: int): void

script_override_entity_loot_table_permanent

Sets the loot table an entity will carry. Returns true if loot table has been successfully set. Returns false if entity is not a ped or object. https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua

function native.entity.script_override_entity_loot_table_permanent(entity: int, loot_table: int): bool

_get_script_override_entity_loot_table_permanent

Returns false if entity is not a ped or object.

function native.entity._get_script_override_entity_loot_table_permanent(entity: int, loot_table: ptr int): bool

_request_entity_loot_list

function native.entity._request_entity_loot_list(mount: int, arg_struct: ptr int, visiblelootslotrequest_type: int, flag: int, p4: int, p5: bool): bool

_0xe31fc20319874cb3

function native.entity._0xe31fc20319874cb3(p0: int, p1: int, p2: int): int

_0x582f73acfe969571

function native.entity._0x582f73acfe969571(p0: int, p1: int, p2: int): int

_0xba2a089e60ed1163

function native.entity._0xba2a089e60ed1163(p0: int, p1: int, p2: int, p3: int, p4: int): int

get_carriable_entity_state

enum eCarriableState { CARRIABLE_STATE_NONE, CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED, CARRIABLE_STATE_CARRIABLE_INTRO, CARRIABLE_STATE_CARRIABLE, CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND, CARRIABLE_STATE_CARRIED_BY_HUMAN, CARRIABLE_STATE_BEING_PLACED_ON_GROUND, CARRIABLE_STATE_CARRIED_BY_MOUNT, CARRIABLE_STATE_BEING_PLACED_ON_MOUNT, CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT, CARRIABLE_STATE_BEING_CUT_FREE, CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE, CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE };

function native.entity.get_carriable_entity_state(entity: int): int

_0xd46bf94c4c66fab0

function native.entity._0xd46bf94c4c66fab0(p0: int, p1: int, p2: int, p3: int): int

_get_optimal_carry_config

Valid indices: 0 - 3 Index 1 always returns a hogtied config, doesn't matter the entity. It's for humans only and the ped must be resurrected first if it's dead.

function native.entity._get_optimal_carry_config(entity: int, index: int): int

_0xd21c7418c590bb40

function native.entity._0xd21c7418c590bb40(p0: int): int

_get_entity_carry_config

Returns zero if the entity is not a carriable

function native.entity._get_entity_carry_config(entity: int): int

_is_carriable_model

function native.entity._is_carriable_model(model: int): bool

_get_carriable_from_entity

Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)

function native.entity._get_carriable_from_entity(entity: int): int

_set_entity_carcass_type

Changes type and quality of skins type hashes: https://pastebin.com/C1WvQjCy

function native.entity._set_entity_carcass_type(entity: int, type: int): void

_0x2a77ef9bec8518f4

function native.entity._0x2a77ef9bec8518f4(p0: int): int

_delete_carriable

function native.entity._delete_carriable(entity: ptr int): void

_is_entity_fully_looted

function native.entity._is_entity_fully_looted(entity: int): bool

_set_entity_fully_looted

function native.entity._set_entity_fully_looted(entity: int, looted: bool): void

_0xef2d9ed7ce684f08

function native.entity._0xef2d9ed7ce684f08(ped: int): int

_0x0ccefc6c2c95da2a

function native.entity._0x0ccefc6c2c95da2a(p0: int, p1: int, p2: int, p3: int): int

_0x383f64263f946e45

Used when checking if ped is in water

function native.entity._0x383f64263f946e45(p0: ptr int, entity: int, p2: int, ped: int, p4: int, p5: int): bool

_0x8e10df0ffa63fb65

function native.entity._0x8e10df0ffa63fb65(p0: int, p1: int, p2: int, p3: int, p4: int): int

_get_entity_carrying_flag

flagId: see _SET_ENTITY_CARRYING_FLAG

function native.entity._get_entity_carrying_flag(entity: int, flag_id: int): bool

_set_entity_carrying_flag

flagId: https://github.com/femga/rdr3_discoveries/tree/master/AI/CARRYING_FLAGShttps://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CCarryingFlags__Flags

enum eCarryingFlag { CARRYING_FLAG_CAN_BE_CUT_FREE = 1, CARRYING_FLAG_CAN_BE_CARRIED_ON_FOOT = 2, CARRYING_FLAG_CAN_BE_DROPPED = 4, CARRYING_FLAG_CAN_BE_CARRIED_WHEN_DEAD = 7, CARRYING_FLAG_CAN_CARRY_ANYTHING = 9, CARRYING_FLAG_DISABLE_PROMPT_LOS_CHECKS = 19, CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION = 23, CARRYING_FLAG_PICKUPS_IGNORE_HEIGHT_RESTRICTIONS = 26, CARRYING_FLAG_CLEAN_UP_WHEN_NOT_CARRIED = 27, CARRYING_FLAG_BLOCK_KNOCK_OFF_PED_VARIATIONS_FROM_CARRIABLE_INTERACTIONS = 29, CARRYING_FLAG_HIT_WHEN_CARRIABLE = 31, CARRYING_FLAG_DISABLE_CARRIABLE_INTERACTIONS_ON_THIS_MOUNT = 34, CARRYING_FLAG_FORCE_HIDE_PROMPT_GROUP = 37, };

function native.entity._set_entity_carrying_flag(entity: int, flag_id: int, value: bool): void

_0xc3abcfbc7d74afa5

Returns BOOL in ida

function native.entity._0xc3abcfbc7d74afa5(ped: int, p1: int, p2: bool): void

_0x371d179701d9c082

Called if entity is in water and submerged level is larger than 1f. If CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION is true, it gets disabled as well.

function native.entity._0x371d179701d9c082(entity: int): void

_0xa48e4801debdf7e4

function native.entity._0xa48e4801debdf7e4(entity: int, p1: bool): void

_get_is_carriable_pelt

function native.entity._get_is_carriable_pelt(entity: int): bool

_0xf59fde7b4d31a630

function native.entity._0xf59fde7b4d31a630(p0: int): int

_0x120376c23f019c6c

function native.entity._0x120376c23f019c6c(p0: int, p1: int): int

_0x5744562e973e33cd

function native.entity._0x5744562e973e33cd(p0: int, p1: int, p2: int, p3: int, p4: int): int

_0xdd03fc2089ad093c

function native.entity._0xdd03fc2089ad093c(p0: int, p1: int, p2: int, p3: int): void

_0xb16c780c51e51e2b

function native.entity._0xb16c780c51e51e2b(p0: int): int

_0xef259aa1e097e0ad

function native.entity._0xef259aa1e097e0ad(entity: int, p1: int): void

_0xbd94cecfb2d65119

function native.entity._0xbd94cecfb2d65119(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int): void

_set_entity_custom_pickup_radius

function native.entity._set_entity_custom_pickup_radius(entity: int, radius: float): void

_0xe75eea8db59a9f39

function native.entity._0xe75eea8db59a9f39(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int): void

_0x188736456d1dede6

function native.entity._0x188736456d1dede6(p0: int, p1: int): int

_0xc6a1a3d63f122de7

function native.entity._0xc6a1a3d63f122de7(p0: int, p1: int): void

apply_force_to_entity_center_of_mass

p6/relative - makes the xyz force not relative to world coords, but to something else p7/highForce - setting false will make the force really low

function native.entity.apply_force_to_entity_center_of_mass(entity: int, force_type: int, x: float, y: float, z: float, component: int, is_direction_rel: bool, is_force_rel: bool, p8: bool): void

apply_force_to_entity

function native.entity.apply_force_to_entity(entity: int, force_flags: int, x: float, y: float, z: float, off_x: float, off_y: float, off_z: float, bone_index: int, is_direction_rel: bool, ignore_up_vec: bool, is_force_rel: bool, p12: bool, p13: bool): void

attach_entity_to_entity

Attaches entity1 to bone (boneIndex) of entity2.

boneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type. https://github.com/femga/rdr3_discoveries/tree/master/boneNames

useSoftPinning - if set to false attached entity will not detach when fixed collision - controls collision between the two entities (FALSE disables collision). isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds) vertexIndex - position of vertex fixedRot - if false it ignores entity vector

function native.entity.attach_entity_to_entity(entity1: int, entity2: int, bone_index: int, x_pos: float, y_pos: float, z_pos: float, x_rot: float, y_rot: float, z_rot: float, p9: bool, use_soft_pinning: bool, collision: bool, is_ped: bool, vertex_index: int, fixed_rot: bool, p15: bool, p16: bool): void

attach_entity_to_entity_physically

function native.entity.attach_entity_to_entity_physically(entity1: int, entity2: int, p2: int, bone_index: int, offset_x: float, offset_y: float, offset_z: float, p7: float, p8: float, p9: float, p10: float, p11: float, p12: float, p13: float, p14: bool, p15: bool, p16: bool, p17: bool, p18: int, p19: bool, p20: float, p21: float): void

_0x445d7d8ea66e373e

function native.entity._0x445d7d8ea66e373e(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: int, p7: int, p8: int, p9: int, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int): void

_0x16908e859c3ab698

function native.entity._0x16908e859c3ab698(p0: int, p1: int, p2: int, p3: int, p4: int): void

get_entity_bone_index_by_name

function native.entity.get_entity_bone_index_by_name(entity: int, bone_name: string): int

clear_entity_last_damage_entity

function native.entity.clear_entity_last_damage_entity(entity: int): void

delete_entity

Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.

function native.entity.delete_entity(entity: ptr int): void

_delete_entity_2

Must be called from a background script, otherwise it will do nothing.

function native.entity._delete_entity_2(entity: ptr int): void

detach_entity

function native.entity.detach_entity(entity: int, p1: bool, collision: bool): void

_is_entity_frozen

Getter for FREEZE_ENTITY_POSITION

function native.entity._is_entity_frozen(entity: int): bool

freeze_entity_position

function native.entity.freeze_entity_position(entity: int, toggle: bool): void

set_entity_should_freeze_waiting_on_collision

Old name: _SET_ENTITY_CLEANUP_BY_ENGINE

function native.entity.set_entity_should_freeze_waiting_on_collision(entity: int, toggle: bool): void

set_entity_as_mission_entity

Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine.

function native.entity.set_entity_as_mission_entity(entity: int, p1: bool, p2: bool): void

set_entity_as_no_longer_needed

Marks the specified entity (ped, vehicle or object) as no longer needed. Entities marked as no longer needed, will be deleted as the engine sees fit.

function native.entity.set_entity_as_no_longer_needed(entity: ptr int): void

set_ped_as_no_longer_needed

This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.

function native.entity.set_ped_as_no_longer_needed(ped: ptr int): void

set_vehicle_as_no_longer_needed

This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.

function native.entity.set_vehicle_as_no_longer_needed(vehicle: ptr int): void

set_object_as_no_longer_needed

This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.

function native.entity.set_object_as_no_longer_needed(object: ptr int): void

_0x20faee47427a4497

function native.entity._0x20faee47427a4497(): void

_does_thread_own_this_entity

Returns true if calling script owns specified entity

function native.entity._does_thread_own_this_entity(entity: int): bool

_0x56e0735d6273b227

function native.entity._0x56e0735d6273b227(p0: int, p1: int): void

_0xc0edef16d90661ee

SET_ENTITY_A*

function native.entity._0xc0edef16d90661ee(entity: int, p1: float): void

_0x0fd7d7c232876e72

function native.entity._0x0fd7d7c232876e72(p0: int): void

_0x0939e773925c4719

function native.entity._0x0939e773925c4719(): void

set_entity_can_be_damaged

function native.entity.set_entity_can_be_damaged(entity: int, toggle: bool): void

_get_entity_can_be_damaged

function native.entity._get_entity_can_be_damaged(entity: int): bool

set_entity_can_be_damaged_by_relationship_group

function native.entity.set_entity_can_be_damaged_by_relationship_group(entity: int, b_can_be_damaged: bool, rel_group: int): void

_0xff83af534156b399

function native.entity._0xff83af534156b399(p0: int, p1: int): void

set_entity_can_be_targeted_without_los

Sets whether the entity can be targeted without being in line-of-sight.

function native.entity.set_entity_can_be_targeted_without_los(entity: int, toggle: bool): void

get_entity_collision_disabled

function native.entity.get_entity_collision_disabled(entity: int): bool

set_entity_collision

function native.entity.set_entity_collision(entity: int, toggle: bool, keep_physics: bool): void

set_entity_completely_disable_collision

function native.entity.set_entity_completely_disable_collision(entity: int, toggle: bool, keep_physics: bool): void

set_entity_coords

function native.entity.set_entity_coords(entity: int, x_pos: float, y_pos: float, z_pos: float, x_axis: bool, y_axis: bool, z_axis: bool, clear_area: bool): void

set_entity_coords_no_offset

Axis - Invert Axis Flags

function native.entity.set_entity_coords_no_offset(entity: int, x_pos: float, y_pos: float, z_pos: float, x_axis: bool, y_axis: bool, z_axis: bool): void

set_entity_dynamic

function native.entity.set_entity_dynamic(entity: int, toggle: bool): void

set_entity_heading

function native.entity.set_entity_heading(entity: int, heading: float): void

_set_entity_coords_and_heading

function native.entity._set_entity_coords_and_heading(entity: int, x_pos: float, y_pos: float, z_pos: float, heading: float, x_axis: bool, y_axis: bool, z_axis: bool): void

_set_entity_coords_and_heading_no_offset

function native.entity._set_entity_coords_and_heading_no_offset(entity: int, x_pos: float, y_pos: float, z_pos: float, heading: float, p5: bool, p6: bool): void

set_entity_health

Sets the entity's health. healthAmount sets the health value to that, and sets the maximum health core value. Setting healthAmount to 0 will kill the entity. entityKilledBy parameter can also be 0

function native.entity.set_entity_health(entity: int, health_amount: int, entity_killed_by: int): void

set_entity_invincible

Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.

function native.entity.set_entity_invincible(entity: int, toggle: bool): void

_0xaf7f3099b9feb535

SET_ENTITY_LO*

function native.entity._0xaf7f3099b9feb535(entity: int, p1: float, p2: float, p3: float): void

set_entity_is_target_priority

function native.entity.set_entity_is_target_priority(entity: int, p1: bool, p2: float): void

_0xb38a29ccd5447783

function native.entity._0xb38a29ccd5447783(p0: int, p1: int, p2: int): void

_set_entity_threat_tier

function native.entity._set_entity_threat_tier(entity: int, tier: int, p2: bool): void

_get_entity_threat_tier

function native.entity._get_entity_threat_tier(entity: int): int

_0x2d40bcbfe9305dea

function native.entity._0x2d40bcbfe9305dea(p0: int, p1: int): void

_set_entity_lights_enabled

function native.entity._set_entity_lights_enabled(entity: int, enabled: bool): void

set_entity_load_collision_flag

function native.entity.set_entity_load_collision_flag(entity: int, toggle: bool): void

has_collision_loaded_around_entity

function native.entity.has_collision_loaded_around_entity(entity: int): bool

has_collision_loaded_around_position

Old name: _HAS_COLLISION_LOADED_AT_COORDS

function native.entity.has_collision_loaded_around_position(x_pos: float, y_pos: float, z_pos: float): bool

set_entity_only_damaged_by_player

function native.entity.set_entity_only_damaged_by_player(entity: int, toggle: bool): void

set_entity_only_damaged_by_relationship_group

function native.entity.set_entity_only_damaged_by_relationship_group(entity: int, p1: bool, relationship_group: int): void

set_entity_proofs

https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS BOOL p2: handles an additional special proofs flag, so it simply indicates whether it should be enabled or disabled, not sure what exactly it proofs the entity from though

function native.entity.set_entity_proofs(entity: int, proofs_bitset: int, special_flag: bool): void

_get_entity_proofs

Note: this native was removed in 1232 but added back in 1311

function native.entity._get_entity_proofs(entity: int): int

set_entity_quaternion

function native.entity.set_entity_quaternion(entity: int, x: float, y: float, z: float, w: float): void

set_entity_rotation

function native.entity.set_entity_rotation(entity: int, pitch: float, roll: float, yaw: float, rotation_order: int, p5: bool): void

_0xd45bb89b53fc0cfd

function native.entity._0xd45bb89b53fc0cfd(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: int, p7: int): void

set_entity_visible

function native.entity.set_entity_visible(entity: int, toggle: bool): void

_0x80fdeb3a9e9aa578

function native.entity._0x80fdeb3a9e9aa578(entity: int, p1: bool): void

_0x9c6906ef8cb20c5f

function native.entity._0x9c6906ef8cb20c5f(entity: int): void

set_entity_velocity

Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.

function native.entity.set_entity_velocity(entity: int, x: float, y: float, z: float): void

set_entity_has_gravity

function native.entity.set_entity_has_gravity(entity: int, toggle: bool): void

set_entity_lod_dist

LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).

function native.entity.set_entity_lod_dist(entity: int, value: int): void

get_entity_lod_dist

Returns the LOD distance of an entity.

function native.entity.get_entity_lod_dist(entity: int): int

set_entity_alpha

skin - everything alpha except skin Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).

function native.entity.set_entity_alpha(entity: int, alpha_level: int, skin: bool): void

get_entity_alpha

function native.entity.get_entity_alpha(entity: int): int

reset_entity_alpha

function native.entity.reset_entity_alpha(entity: int): void

_set_entity_fade_in

function native.entity._set_entity_fade_in(entity: int): void

set_entity_always_prerender

function native.entity.set_entity_always_prerender(entity: int, toggle: bool): void

set_entity_render_scorched

function native.entity.set_entity_render_scorched(entity: int, toggle: bool): void

_0x37b01666bae8f7ef

Seems to return true if entity is burned / scorched GET_ENTITY*

function native.entity._0x37b01666bae8f7ef(entity: int): int

_0xa9e6d8f2ddfc4db9

function native.entity._0xa9e6d8f2ddfc4db9(p0: int, p1: int): void

create_model_swap

Only works with objects!

function native.entity.create_model_swap(x: float, y: float, z: float, radius: float, original_model: int, new_model: int, p6: bool): void

remove_model_swap

function native.entity.remove_model_swap(x: float, y: float, z: float, radius: float, original_model: int, new_model: int, p6: bool): void

create_model_hide

function native.entity.create_model_hide(x: float, y: float, z: float, radius: float, model: int, p5: bool): void

create_model_hide_excluding_script_objects

function native.entity.create_model_hide_excluding_script_objects(x: float, y: float, z: float, radius: float, model: int, p5: bool): void

remove_model_hide

function native.entity.remove_model_hide(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int): void

_0xd4636c2edb0dea8a

function native.entity._0xd4636c2edb0dea8a(p0: int): int

create_forced_object

function native.entity.create_forced_object(x: float, y: float, z: float, p3: int, model_hash: int, p5: bool): void

remove_forced_object

function native.entity.remove_forced_object(p0: int, p1: int, p2: int, p3: int, p4: int): void

set_entity_no_collision_entity

function native.entity.set_entity_no_collision_entity(entity1: int, entity2: int, this_frame_only: bool): void

set_entity_motion_blur

function native.entity.set_entity_motion_blur(entity: int, toggle: bool): void

set_can_auto_vault_on_entity

function native.entity.set_can_auto_vault_on_entity(entity: int, toggle: bool): void

set_can_climb_on_entity

function native.entity.set_can_climb_on_entity(entity: int, toggle: bool): void

set_entity_noweapondecals

Old name: _SET_ENTITY_DECALS_DISABLED

function native.entity.set_entity_noweapondecals(entity: int, toggle: bool): void

_get_entities_near_point

function native.entity._get_entities_near_point(x: float, y: float, z: float, radius: float, item_set: int, p5: int): int

get_matching_entities

function native.entity.get_matching_entities(volume: int, item_set: int, entity_type: int, p3: int, p4: int, p5: string): int

_get_entities_in_volume

function native.entity._get_entities_in_volume(volume: int, item_set: int, entity_type: int): int

_search_building_pool_for_entity_with_this_model

Alternative Name: _GET_ENTITY_FROM_MAP_OBJECT; You can get existing objects and manipulate them using this native.

function native.entity._search_building_pool_for_entity_with_this_model(model_hash: int): int

_0xc2e71d7e0a7b4c89

function native.entity._0xc2e71d7e0a7b4c89(p0: int): int

_0x6c31b06e91518269

function native.entity._0x6c31b06e91518269(p0: int, p1: int): void

_0x119a5714578f4e05

function native.entity._0x119a5714578f4e05(p0: int, p1: int): void

_get_entity_by_doorhash

Params: p1 = 0 in R* Scripts (GET_DOOR_ENTITY_FROM_ID) https://github.com/femga/rdr3_discoveries/blob/master/doorHashes/doorhashes.lua

function native.entity._get_entity_by_doorhash(door_hash: int, p1: int): int

find_anim_event_phase

function native.entity.find_anim_event_phase(anim_dictionary: string, anim_name: string, p2: string, p3: ptr int, p4: ptr int): bool

force_entity_ai_and_animation_update

function native.entity.force_entity_ai_and_animation_update(entity: int, p1: bool): void

_get_entity_anim_current_time

function native.entity._get_entity_anim_current_time(entity: int, anim_dict: string, anim_name: string): float

_0x8e46e18aa828334f

Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED GET_ENTITY*

function native.entity._0x8e46e18aa828334f(entity: int, anim_dict: string, anim_clip: string): float

_0xdf8e49ea89a01db1

Hardcoded to return zero/false.

function native.entity._0xdf8e49ea89a01db1(p0: int, p1: int, p2: int): int

has_anim_event_fired

function native.entity.has_anim_event_fired(entity: int, action_hash: int): bool

has_entity_anim_finished

function native.entity.has_entity_anim_finished(entity: int, anim_dict: string, anim_name: string, p3: int): bool

play_entity_anim

function native.entity.play_entity_anim(entity: int, anim_name: string, anim_dict: string, p3: float, loop: bool, stay_in_anim: bool, p6: bool, delta: float, bitset: int): bool

_set_entity_anim_current_time

function native.entity._set_entity_anim_current_time(entity: int, anim_dict: string, anim_name: string, time: float): void

_set_entity_anim_speed

function native.entity._set_entity_anim_speed(entity: int, anim_dict: string, anim_name: string, speed_multiplier: float): void

stop_entity_anim

function native.entity.stop_entity_anim(entity: int, animation: string, anim_group: string, p3: float): int

_0x669655ffb29ef1a9

function native.entity._0x669655ffb29ef1a9(p0: int, p1: int, p2: int, p3: int): void

_add_entity_tracking_trails

function native.entity._add_entity_tracking_trails(entity: int): void

_0x5826efd6d73c4de5

REMOVE_DECALS* - _REMOVE_FORCED*

function native.entity._0x5826efd6d73c4de5(entity: int): void

_pause_entity_tracking

function native.entity._pause_entity_tracking(entity: int, pause: bool): void

_create_footpath_trail

function native.entity._create_footpath_trail(p0: int, waypoint_record: string, b_use_snow_offset: bool, p3: float, p4: float, p5: int, p6: int, p7: int, p8: int, p9: int, p10: int, b_init: bool): int

_0xc76e94a78127412b

function native.entity._0xc76e94a78127412b(p0: int, p1: int, p2: int): void

_0x7f20092547b4ddea

function native.entity._0x7f20092547b4ddea(p0: int): void

_0xf41e2979d5bc5370

function native.entity._0xf41e2979d5bc5370(p0: int): void

_0xaaacb74442c1bed3

function native.entity._0xaaacb74442c1bed3(p0: int): int

pin_closest_map_entity

function native.entity.pin_closest_map_entity(model_hash: int, x: float, y: float, z: float, flags: int): int

_unpin_map_entity

function native.entity._unpin_map_entity(entity: int): void

is_map_entity_pinned

function native.entity.is_map_entity_pinned(p0: int): bool

_get_pinned_map_entity

function native.entity._get_pinned_map_entity(p0: int): int

_0xeab3d91d30a344f1

function native.entity._0xeab3d91d30a344f1(p0: int): void

_0x37ceb637ba3b1a47

function native.entity._0x37ceb637ba3b1a47(p0: int): void

_0x350e9211074955af

function native.entity._0x350e9211074955af(p0: int, p1: int): int

_0x898586729db5221d

function native.entity._0x898586729db5221d(ped: int): void

_0xe9e7a0bac7f57746

function native.entity._0xe9e7a0bac7f57746(p0: int, p1: int): void