misc

Methods

get_number_of_free_stacks_of_this_size

function native.misc.get_number_of_free_stacks_of_this_size(stack_size: int): int

_get_number_of_instructions

function native.misc._get_number_of_instructions(): int

_get_max_num_instructions

function native.misc._get_max_num_instructions(): int

is_mag_demo_1_active

magdemo = magazine demo, i. e. for magazines such as IGN, pre play phases to prepare articles etc. - example 2012 builds for V Hardcoded to return false.

function native.misc.is_mag_demo_1_active(): bool

set_random_seed

function native.misc.set_random_seed(seed: int): void

set_time_scale

Maximum value is 1.0f At a value of 0.0f the game will still run at a minimum time scale.

function native.misc.set_time_scale(time_scale: float): void

set_mission_flag

If true, the player can't save the game.

function native.misc.set_mission_flag(toggle: bool): void

get_mission_flag

function native.misc.get_mission_flag(): bool

_0x5801be2df2af07ec

function native.misc._0x5801be2df2af07ec(p0: int): void

set_random_event_flag

If the parameter is true, sets the random event flag to true, if the parameter is false, the function does nothing at all. Does nothing if the mission flag is set.

function native.misc.set_random_event_flag(toggle: bool): void

get_random_event_flag

function native.misc.get_random_event_flag(): bool

_0x9bf2c0c568c61641

function native.misc._0x9bf2c0c568c61641(p0: int): void

activity_feed_create

nullsub, doesn't do anything

function native.misc.activity_feed_create(p0: string, p1: string): void

activity_feed_add_substring_to_caption

nullsub, doesn't do anything

function native.misc.activity_feed_add_substring_to_caption(p0: string): void

_0xff252e2bafb7330f

nullsub, doesn't do anything

function native.misc._0xff252e2bafb7330f(p0: int): void

activity_feed_action_start_with_command_line

nullsub, doesn't do anything

function native.misc.activity_feed_action_start_with_command_line(p0: string, p1: string): void

activity_feed_action_start_with_command_line_add

nullsub, doesn't do anything

function native.misc.activity_feed_action_start_with_command_line_add(p0: string): void

_0xaf530e56505d1bd6

Hardcoded to return one/true.

function native.misc._0xaf530e56505d1bd6(p0: int): int

activity_feed_post

nullsub, doesn't do anything

function native.misc.activity_feed_post(): void

_0xf81c53561d15f330

function native.misc._0xf81c53561d15f330(): string

_0x1096603b519c905f

SET_MISSION_NAME*(FOR_ACTIVITY?/MINIGAME?)

function native.misc._0x1096603b519c905f(name: string): void

_0xcc3edc5614b03f61

function native.misc._0xcc3edc5614b03f61(p0: int): void

inform_code_of_content_id_of_current_ugc_mission

function native.misc.inform_code_of_content_id_of_current_ugc_mission(p0: string): void

_0xda4d8eb04e8e2928

function native.misc._0xda4d8eb04e8e2928(p0: int): void

_0xb08c4fa25bc29db9

function native.misc._0xb08c4fa25bc29db9(p0: int): void

_get_prev_weather_type_hash_name

function native.misc._get_prev_weather_type_hash_name(): int

_get_next_weather_type_hash_name

function native.misc._get_next_weather_type_hash_name(): int

_0x0730e518486deec3

function native.misc._0x0730e518486deec3(p0: int): void

set_weather_type

function native.misc.set_weather_type(weather_type: int, p1: bool, p2: bool, transition: bool, transition_time: float, p5: bool): void

_set_weather_type_2

function native.misc._set_weather_type_2(weather_type: int, p1: int, p2: int, p3: int, p4: bool): void

_get_random_weather_type_index

function native.misc._get_random_weather_type_index(): int

_get_random_weather_type

function native.misc._get_random_weather_type(): int

set_random_weather_type

function native.misc.set_random_weather_type(p0: bool, p1: bool): void

clear_weather_type_persist

function native.misc.clear_weather_type_persist(): void

_clear_weather_type_persist_overtime

function native.misc._clear_weather_type_persist_overtime(milliseconds: int): void

get_curr_weather_state

Params: percentWeather2: 0f - 0.75f in R* Scripts

Old name: _GET_WEATHER_TYPE_TRANSITION

function native.misc.get_curr_weather_state(weather_type1: ptr int, weather_type2: ptr int, percent_weather2: ptr int): void

set_curr_weather_state

Params: BOOL p3 is always true

Old name: _SET_WEATHER_TYPE_TRANSITION

function native.misc.set_curr_weather_state(weather_type1: int, weather_type2: int, percent_weather2: float, enabled: bool): void

_set_weather_type_frozen

function native.misc._set_weather_type_frozen(toggle: bool): void

_get_forced_weather

Returns the weather type that has been set by a script

function native.misc._get_forced_weather(weather: ptr int, p1: ptr int): void

_0x2916b30dc6c41179

function native.misc._0x2916b30dc6c41179(weather_type: int): void

_0xd3f943b88f55376a

function native.misc._0xd3f943b88f55376a(weather_type: int): void

_0x243cede8f916b994

function native.misc._0x243cede8f916b994(): void

_set_override_weather

function native.misc._set_override_weather(weather_type: int): void

clear_override_weather

function native.misc.clear_override_weather(): void

_set_weather_variation

function native.misc._set_weather_variation(weather_type: string, variation: string): void

_clear_weather_variation

function native.misc._clear_weather_variation(weather_type: string, p1: bool): void

water_override_set_shorewaveamplitude

Only used in smuggler2 script

function native.misc.water_override_set_shorewaveamplitude(amplitude: float): void

water_override_set_oceanwavemaxamplitude

Only used in smuggler2 script

function native.misc.water_override_set_oceanwavemaxamplitude(max_amplitude: float): void

_get_temperature_at_coords

function native.misc._get_temperature_at_coords(x: float, y: float, z: float): float

set_wind_speed

function native.misc.set_wind_speed(speed: float): void

get_wind_speed

function native.misc.get_wind_speed(): float

set_wind_direction

function native.misc.set_wind_direction(direction: float): void

get_wind_direction

function native.misc.get_wind_direction(): vec3

set_rain

Old name: _SET_RAIN_LEVEL

function native.misc.set_rain(intensity: float): void

get_rain_level

function native.misc.get_rain_level(): float

_0x745808bb01cec6b9

function native.misc._0x745808bb01cec6b9(p0: float): void

_set_snow_level

function native.misc._set_snow_level(level: float): void

get_snow_level

function native.misc.get_snow_level(): float

force_lightning_flash

creates single lightning+thunder at random position

function native.misc.force_lightning_flash(): void

_force_lightning_flash_at_coords

p3 is always -1.0f in the scripts

function native.misc._force_lightning_flash_at_coords(x: float, y: float, z: float, p3: float): void

_0xa9342743b634a462

nullsub, doesn't do anything

function native.misc._0xa9342743b634a462(p0: int): void

get_game_timer

function native.misc.get_game_timer(): int

_get_game_timer_non_scaled_clipped

Returns rage::fwTimer::sm_nonScaledClippedTime

function native.misc._get_game_timer_non_scaled_clipped(): int

get_system_time

function native.misc.get_system_time(): int

get_number_of_microseconds_since_last_call

function native.misc.get_number_of_microseconds_since_last_call(): int

get_script_time_within_frame_in_microseconds

function native.misc.get_script_time_within_frame_in_microseconds(): int

reset_script_time_within_frame

function native.misc.reset_script_time_within_frame(): void

get_frame_time

function native.misc.get_frame_time(): float

get_system_time_step

Old name: _GET_BENCHMARK_TIME

function native.misc.get_system_time_step(): float

get_frame_count

function native.misc.get_frame_count(): int

_0x6bed40493a1afdb8

function native.misc._0x6bed40493a1afdb8(p0: ptr int, p1: float): void

_read_int_as_float

Reads the passed value as floating point value and returns it. Example: _READ_INT_AS_FLOAT(0x3F800000) returns 1.0f because 0x3F800000 is the hexadecimal representation of 1.0f.

function native.misc._read_int_as_float(value: int): float

get_random_float_in_range

function native.misc.get_random_float_in_range(start_range: float, end_range: float): float

get_random_int_in_range

function native.misc.get_random_int_in_range(start_range: int, end_range: int): int

get_ground_z_for_3d_coord

function native.misc.get_ground_z_for_3d_coord(x: float, y: float, z: float, ground_z: ptr int, p4: bool): bool

get_ground_z_and_normal_for_3d_coord

function native.misc.get_ground_z_and_normal_for_3d_coord(x: float, y: float, z: float, ground_z: ptr int, normal: ref vec3): bool

_0xbbe5b63effb08e68

function native.misc._0xbbe5b63effb08e68(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: int): int

asin

function native.misc.asin(p0: float): float

acos

function native.misc.acos(p0: float): float

tan

function native.misc.tan(p0: float): float

atan

function native.misc.atan(p0: float): float

atan2

function native.misc.atan2(p0: float, p1: float): float

get_distance_between_coords

If useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance.

Consider using this faster native instead: BUILTIN::VDIST - DVIST always takes in consideration the 3D coordinates.

function native.misc.get_distance_between_coords(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, use_z: bool): float

get_angle_between_2d_vectors

function native.misc.get_angle_between_2d_vectors(x1: float, y1: float, x2: float, y2: float): float

get_heading_from_vector_2d

dx = x1 - x2 dy = y1 - y2

function native.misc.get_heading_from_vector_2d(dx: float, dy: float): float

get_closest_point_on_line

function native.misc.get_closest_point_on_line(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: float, p8: float, p9: bool): vec3

get_line_plane_intersection

function native.misc.get_line_plane_intersection(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: float, p8: float, p9: float, p10: float, p11: float, p12: ptr int): bool

set_bit

function native.misc.set_bit(address: ptr int, offset: int): void

clear_bit

function native.misc.clear_bit(address: ptr int, offset: int): void

_is_bit_flag_set

function native.misc._is_bit_flag_set(bit_flags: ptr int, flag: int): bool

_is_any_bit_flag_set

function native.misc._is_any_bit_flag_set(bit_flags: ptr int): bool

_count_bit_flags

function native.misc._count_bit_flags(bit_flags: ptr int): int

_set_bit_flag

Similar to SET_BIT but specifically designed for large (>32 flags) bit flag sets. The flags are stored in an int array where each int has the ability to hold 32 flags. Flags 0-31 would be stored in the first int, flags 32-63 in the second int, etc.

function native.misc._set_bit_flag(bit_flags: ptr int, flag: int): void

_clear_bit_flag

function native.misc._clear_bit_flag(bit_flags: ptr int, flag: int): void

_clear_all_bit_flags

function native.misc._clear_all_bit_flags(bit_flags: ptr int): void

get_hash_key

Computes a hash for the given string. It is hashed using Jenkins' One-at-a-Time hash algorithm (https://en.wikipedia.org/wiki/Jenkins_hash_function) Note: this implementation is case-insensitive.

function native.misc.get_hash_key(string: string): int

_get_easing_curve_value

https://easings.net/

enum class eEasingCurveType { TYPE_LINEAR, TYPE_QUADRATIC_IN, TYPE_QUADRATIC_OUT, TYPE_QUADRATIC_INOUT, TYPE_CUBIC_IN, TYPE_CUBIC_OUT, TYPE_CUBIC_INOUT, TYPE_QUARTIC_IN, TYPE_QUARTIC_OUT, TYPE_QUARTIC_INOUT, TYPE_QUINTIC_IN, TYPE_QUINTIC_OUT, TYPE_QUINTIC_INOUT, TYPE_EXPONENTIAL_IN, TYPE_EXPONENTIAL_OUT, TYPE_EXPONENTIAL_INOUT, TYPE_SINE_IN, TYPE_SINE_OUT, TYPE_SINE_INOUT, TYPE_CIRCULAR_IN, TYPE_CIRCULAR_OUT, TYPE_CIRCULAR_INOUT, TYPE_BOUNCE_IN, TYPE_BOUNCE_OUT, TYPE_BOUNCE_INOUT, TYPE_CUSTOM };

function native.misc._get_easing_curve_value(t: float, b: float, d: float, easing_curve_type: int): float

is_position_occupied

function native.misc.is_position_occupied(x: float, y: float, z: float, range: float, p4: bool, p5: bool, p6: bool, p7: bool, p8: bool, p9: int, p10: bool): bool

clear_area

flag |= 1 | 1048576 | 524288 ALL_BASE, PROJECTILES, AMBIENT_POPULATION, BROADCAST

function native.misc.clear_area(x: float, y: float, z: float, radius: float, flag: int): void

_clear_volume_area

function native.misc._clear_volume_area(volume: int, flag: int): void

clear_angled_area_of_vehicles

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

set_credits_active

function native.misc.set_credits_active(toggle: bool): void

network_set_script_is_safe_for_network_game

function native.misc.network_set_script_is_safe_for_network_game(): void

pause_death_arrest_restart

function native.misc.pause_death_arrest_restart(toggle: bool): void

ignore_next_restart

function native.misc.ignore_next_restart(toggle: bool): void

set_fade_in_after_death_arrest

Sets whether the game should fade in after the player dies or is arrested.

function native.misc.set_fade_in_after_death_arrest(toggle: bool): void

set_fade_in_after_load

function native.misc.set_fade_in_after_load(toggle: bool): void

override_save_house

function native.misc.override_save_house(override: bool, x: float, y: float, z: float, heading: float, is_autosave: bool, return_coords: ref vec3, return_heading: ptr int): bool

shoot_single_bullet_between_coords

function native.misc.shoot_single_bullet_between_coords(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, damage: int, p7: bool, weapon_hash: int, owner_ped: int, is_audible: bool, is_invisible: bool, speed: float, p13: bool): void

fire_single_bullet

function native.misc.fire_single_bullet(args: ptr int): void

get_model_dimensions

function native.misc.get_model_dimensions(model_hash: int, minimum: ref vec3, maximum: ref vec3): void

is_bit_set

function native.misc.is_bit_set(address: int, offset: int): bool

_0x0a487cc74a517fb5

function native.misc._0x0a487cc74a517fb5(p0: int): void

is_minigame_in_progress

function native.misc.is_minigame_in_progress(): bool

should_use_metric_measurements

Returns whether the game's measurement system is set to metric.

function native.misc.should_use_metric_measurements(): bool

_should_use_metric_measurements_2

Same as SHOULD_USE_METRIC_MEASUREMENTS

function native.misc._should_use_metric_measurements_2(): bool

_should_use_metric_temperature

function native.misc._should_use_metric_temperature(): bool

_should_use_metric_weight

function native.misc._should_use_metric_weight(): bool

_should_use_24_hour_clock

function native.misc._should_use_24_hour_clock(): bool

compare_strings

function native.misc.compare_strings(str1: string, str2: string, match_case: bool, max_length: int): int

absi

function native.misc.absi(value: int): int

absf

function native.misc.absf(value: float): float

is_projectile_in_area

Determines whether there is a projectile within the specified coordinates. The coordinates form a rectangle.

ownedByPlayer = only projectiles fired by the player will be detected.

function native.misc.is_projectile_in_area(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, owned_by_player: bool): bool

is_projectile_type_in_area

Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a rectangle.

function native.misc.is_projectile_type_in_area(x_min: float, y_min: float, z_min: float, x_max: float, y_max: float, z_max: float, weapon_type: int, is_player: bool): bool

is_projectile_type_in_angled_area

function native.misc.is_projectile_type_in_angled_area(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: int, p8: bool): bool

is_projectile_type_within_distance

function native.misc.is_projectile_type_within_distance(p0: float, p1: float, p2: float, p3: int, p4: float, p5: bool): bool

get_coords_of_projectile_type_within_distance

function native.misc.get_coords_of_projectile_type_within_distance(ped: int, weapon_hash: int, distance: float, out_coords: ref vec3, p4: bool, must_be_owned_by_this_ped: bool): bool

get_projectile_of_projectile_type_within_distance

function native.misc.get_projectile_of_projectile_type_within_distance(ped: int, weapon_hash: int, distance: float, out_coords: ref vec3, out_projectile: ptr int, p5: bool, must_be_owned_by_this_ped: bool): bool

is_bullet_in_angled_area

function native.misc.is_bullet_in_angled_area(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: bool): bool

is_bullet_in_area

function native.misc.is_bullet_in_area(p0: float, p1: float, p2: float, p3: float, p4: bool): bool

is_bullet_in_box

function native.misc.is_bullet_in_box(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: bool): bool

has_bullet_impacted_in_area

p3 - possibly radius?

function native.misc.has_bullet_impacted_in_area(x: float, y: float, z: float, p3: float, p4: bool, p5: bool): bool

has_bullet_impacted_in_box

function native.misc.has_bullet_impacted_in_box(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: bool, p7: bool): bool

_0x7a76104cc2cc69e8

function native.misc._0x7a76104cc2cc69e8(entity: int, p1: int, p2: int): int

_0xdc416ca762bc4f43

function native.misc._0xdc416ca762bc4f43(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int): int

_0x970339efa4fde518

function native.misc._0x970339efa4fde518(p0: int, p1: int, p2: int): int

is_orbis_version

Hardcoded to return false. Checks for PS4 Game Build.

function native.misc.is_orbis_version(): bool

is_durango_version

Hardcoded to return false. Checks for XBOXONE Game Build.

function native.misc.is_durango_version(): bool

is_pc_version

Hardcoded to return true.

function native.misc.is_pc_version(): bool

is_stadia_version

Hardcoded to return false.

function native.misc.is_stadia_version(): bool

is_string_null

function native.misc.is_string_null(string: string): bool

is_string_null_or_empty

function native.misc.is_string_null_or_empty(string: string): bool

is_string_null_or_empty_or_spaces

Returns true if the entire string consists only of space characters.

function native.misc.is_string_null_or_empty_or_spaces(string: string): bool

are_strings_equal

function native.misc.are_strings_equal(string1: string, string2: string): bool

_does_string_exist_in_string

function native.misc._does_string_exist_in_string(string1: string, string2: string): bool

_0x3c3c7b1b5ec08764

function native.misc._0x3c3c7b1b5ec08764(): void

_0x94e8ca3dee952789

function native.misc._0x94e8ca3dee952789(p0: int, p1: int): int

_0x5b4a8121a47d844d

function native.misc._0x5b4a8121a47d844d(p0: int): int

string_to_int

Returns false if it's a null or empty string or if the string is too long. outInteger will be set to -999 in that case.

function native.misc.string_to_int(string: string, out_integer: ptr int): bool

_int_to_string

Note: the buffer should be exactly 32 bytes long

function native.misc._int_to_string(value: int, format: string, buffer: string): void

_0x74aca66484cebaf0

function native.misc._0x74aca66484cebaf0(p0: int): void

_0x49c44fe78a135a1d

function native.misc._0x49c44fe78a135a1d(p0: int): void

_0xf650dcf5d6f312c1

function native.misc._0xf650dcf5d6f312c1(p0: int): void

_get_string_from_float

function native.misc._get_string_from_float(value: float, digits: int): string

_get_string_from_vector

Returns a string in the following format: <<%.4f,%.4f,%.4f>>

function native.misc._get_string_from_vector(x: float, y: float, z: float): string

_get_string_from_bool

function native.misc._get_string_from_bool(value: bool): string

_create_color_string

Returns a formatted string (0x%x)

function native.misc._create_color_string(rgb: int): string

set_bits_in_range

function native.misc.set_bits_in_range(var: ptr int, range_start: int, range_end: int, p3: int): void

get_bits_in_range

function native.misc.get_bits_in_range(var: int, range_start: int, range_end: int): int

set_game_paused

Make sure to call this from the correct thread if you're using multiple threads because all other threads except the one which is calling SET_GAME_PAUSED will be paused.

function native.misc.set_game_paused(toggle: bool): void

set_this_script_can_be_paused

function native.misc.set_this_script_can_be_paused(toggle: bool): void

set_this_script_can_remove_blips_created_by_any_script

function native.misc.set_this_script_can_remove_blips_created_by_any_script(toggle: bool): void

set_cheat_active

Cheats are GTA IV cheats:

0 = unknown 1 = unknown (same as 0) 2 = Max Health and Armor 3 = Raise Wanted Level 4 = Lower Wanted Level 5 = unknown (does nothing) 6 = Change Weather 7 = Spawn Annihilator 8 = Spawn NRG 900 9 = Spawn FBI 10 = Spawn Jetmax 11 = Spawn Comet 12 = Spawn Turismo 13 = Spawn Cognoscenti 14 = Spawn Super GT 15 = Spawn Sanchez

Initially used in Max Payne 3, that's why we know the name.

function native.misc.set_cheat_active(cheat_id: int): void

_0xb711eb4bc8d06013

nullsub, doesn't do anything

function native.misc._0xb711eb4bc8d06013(): void

populate_now

spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called

function native.misc.populate_now(): void

is_game_session_state_machine_idle

function native.misc.is_game_session_state_machine_idle(): bool

_queue_savegame_operation

p0 must be < 2

function native.misc._queue_savegame_operation(p0: int): bool

_get_status_of_savegame_operation

Only 0 and 1 are valid for p0, higher values causes the native to return 2.

function native.misc._get_status_of_savegame_operation(p0: int): int

_0x6c7b68d3ce60e8de

function native.misc._0x6c7b68d3ce60e8de(p0: int): int

_0x627b68d9ce6ee8de

function native.misc._0x627b68d9ce6ee8de(p0: int): int

_0x7cf96f1250ef3221

function native.misc._0x7cf96f1250ef3221(p0: int): int

copy_script_struct

Old name: _COPY_MEMORY

function native.misc.copy_script_struct(dst: ptr int, src: ptr int, size: int): void

enable_dispatch_service

enum DispatchType { DT_Invalid, DT_PoliceAutomobile, DT_PoliceHelicopter, DT_FireDepartment, DT_SwatAutomobile, DT_AmbulanceDepartment, DT_PoliceRiders, DT_PoliceVehicleRequest, DT_PoliceRoadBlock, DT_PoliceAutomobileWaitPulledOver, DT_PoliceAutomobileWaitCruising, DT_Gangs, DT_SwatHelicopter, DT_PoliceBoat, DT_ArmyVehicle, DT_OnFoot, DT_PoliceDogs };

function native.misc.enable_dispatch_service(dispatch_service: int, toggle: bool): void

block_dispatch_service_resource_creation

dispatchService: see ENABLE_DISPATCH_SERVICE

function native.misc.block_dispatch_service_resource_creation(dispatch_service: int, toggle: bool): void

create_incident

dispatchService: see ENABLE_DISPATCH_SERVICE

function native.misc.create_incident(dispatch_service: int, x: float, y: float, z: float, num_units: int, radius: float, out_incident_id: ptr int, p7: int, p8: int): bool

_create_incident_with_entities

dispatchService: see ENABLE_DISPATCH_SERVICE

The entities must be added to itemSet.

function native.misc._create_incident_with_entities(dispatch_service: int, x: float, y: float, z: float, item_set: int, radius: float, out_incident_id: ptr int): bool

delete_incident

Delete an incident with a given id.

function native.misc.delete_incident(incident_id: int): void

is_incident_valid

function native.misc.is_incident_valid(incident_id: int): bool

_set_incident_unk

function native.misc._set_incident_unk(incident_id: int): void

add_pop_multiplier_area

function native.misc.add_pop_multiplier_area(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, ped_density: float, traffic_density: float, p8: bool, p9: bool): int

does_pop_multiplier_area_exist

function native.misc.does_pop_multiplier_area_exist(id: int): bool

remove_pop_multiplier_area

function native.misc.remove_pop_multiplier_area(id: int, p1: bool): void

_add_pop_multiplier_volume

Only used in script function PROCESS_ZONE_CREATION Returns Pop multiplier volume ID

function native.misc._add_pop_multiplier_volume(volume: int, ped_density: float, vehicle_density: float, p3: bool, p4: bool): int

_does_pop_multiplier_area_exist_for_volume

function native.misc._does_pop_multiplier_area_exist_for_volume(volume: int): bool

_remove_pop_multiplier_area_for_volume

function native.misc._remove_pop_multiplier_area_for_volume(volume: int, p1: int): void

_0xf569e33fb72ed28e

function native.misc._0xf569e33fb72ed28e(): void

reset_dispatch_ideal_spawn_distance

function native.misc.reset_dispatch_ideal_spawn_distance(): void

set_dispatch_ideal_spawn_distance

function native.misc.set_dispatch_ideal_spawn_distance(f_ideal_spawn_distance: float): void

_reset_dispatch_min_spawn_distance

function native.misc._reset_dispatch_min_spawn_distance(): void

_set_dispatch_min_spawn_distance

function native.misc._set_dispatch_min_spawn_distance(min_spawn_distance: float): void

_reset_dispatch_max_spawn_distance

function native.misc._reset_dispatch_max_spawn_distance(): void

_set_dispatch_max_spawn_distance

function native.misc._set_dispatch_max_spawn_distance(max_spawn_distance: float): void

_0x4b0501a468b749f8

function native.misc._0x4b0501a468b749f8(): void

_0x6bcf7b5cd338281a

SET_DISPATCH*, unused

function native.misc._0x6bcf7b5cd338281a(p0: int, p1: int, p2: int): void

_add_dispatch_spawn_blocking_area

function native.misc._add_dispatch_spawn_blocking_area(volume: int): int

remove_dispatch_spawn_blocking_area

function native.misc.remove_dispatch_spawn_blocking_area(p0: int): void

reset_wanted_response_num_peds_to_spawn

function native.misc.reset_wanted_response_num_peds_to_spawn(): void

add_tactical_nav_mesh_point

Params: p3 is 0 in R* Script utopia2

function native.misc.add_tactical_nav_mesh_point(x: float, y: float, z: float, p3: int): void

clear_tactical_nav_mesh_points

function native.misc.clear_tactical_nav_mesh_points(): void

display_onscreen_keyboard

enum eOnscreenKeyboardTextType { KTEXTTYPE_INVALID = -1, KTEXTTYPE_DEFAULT, KTEXTTYPE_EMAIL, KTEXTTYPE_PASSWORD, KTEXTTYPE_NUMERIC, KTEXTTYPE_ALPHABET, KTEXTTYPE_GAMERTAG, KTEXTTYPE_FILENAME, KTEXTTYPE_COUNT };

function native.misc.display_onscreen_keyboard(text_type: int, window_title: string, p2: string, default_text: string, default_concat1: string, default_concat2: string, default_concat3: string, max_input_length: int): void

update_onscreen_keyboard

Returns the current status of the onscreen keyboard, and updates the output.

Status Codes:

0 - User still editing 1 - User has finished editing 2 - User has canceled editing 3 - Keyboard isn't active

function native.misc.update_onscreen_keyboard(): int

get_onscreen_keyboard_result

Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick.

function native.misc.get_onscreen_keyboard_result(): string

cancel_onscreen_keyboard

Old name: _CANCEL_ONSCREEN_KEYBOARD

function native.misc.cancel_onscreen_keyboard(): void

next_onscreen_keyboard_result_will_display_using_these_fonts

function native.misc.next_onscreen_keyboard_result_will_display_using_these_fonts(font_bit_field: int): void

action_manager_enable_action

Appears to remove stealth kill action from memory (?)

function native.misc.action_manager_enable_action(hash: int, enable: bool): void

action_manager_is_action_enabled

function native.misc.action_manager_is_action_enabled(hash: int): bool

get_real_world_time

Returns GET_GAME_TIMER() / 1000 Only used in rcm_pearson1.ysc

function native.misc.get_real_world_time(): int

set_super_jump_this_frame

function native.misc.set_super_jump_this_frame(player: int): void

script_race_init

function native.misc.script_race_init(num_checkpoints: int, num_laps: int, num_players: int, p3: int): void

script_race_shutdown

function native.misc.script_race_shutdown(): void

script_race_player_hit_checkpoint

function native.misc.script_race_player_hit_checkpoint(part: int, checkpoint: int, lap: int, time: int): void

script_race_get_player_split_time

function native.misc.script_race_get_player_split_time(p0: int, p1: ptr int, p2: ptr int): bool

start_end_user_benchmark

Begins with START_*. Next character in the name is either D or E.

Old name: _START_BENCHMARK_RECORDING

function native.misc.start_end_user_benchmark(): void

stop_end_user_benchmark

Begins with STOP_*. Next character in the name is either D or E.

Old name: _STOP_BENCHMARK_RECORDING

function native.misc.stop_end_user_benchmark(): void

reset_end_user_benchmark

Begins with RESET_*. Next character in the name is either D or E.

Old name: _RESET_BENCHMARK_RECORDING

function native.misc.reset_end_user_benchmark(): void

save_end_user_benchmark

Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\Red Dead Redemption 2\Benchmarks and submits some metrics.

Old name: _SAVE_BENCHMARK_RECORDING

function native.misc.save_end_user_benchmark(): void

ui_started_end_user_benchmark

Hardcoded to return false.

Old name: _UI_IS_SINGLEPLAYER_PAUSE_MENU_ACTIVE

function native.misc.ui_started_end_user_benchmark(): bool

get_benchmark_iterations

Returns value of the '-benchmarkIterations' command line option.

Old name: _GET_BENCHMARK_ITERATIONS_FROM_COMMAND_LINE

function native.misc.get_benchmark_iterations(): int

get_benchmark_pass

Returns value of the '-benchmarkPass' command line option.

Old name: _GET_BENCHMARK_PASS_FROM_COMMAND_LINE

function native.misc.get_benchmark_pass(): int

_0xdc057b86fc157031

Hardcoded to return one/true.

function native.misc._0xdc057b86fc157031(): int

_0x9a252aa23d7098f2

function native.misc._0x9a252aa23d7098f2(): void

_does_item_have_valid_base

function native.misc._does_item_have_valid_base(item: int): bool

_get_item_type

0 = invalid 1 = CEntity 2 = rage::volBase 3 = rage::volSphere 4 = rage::volBox 5 = rage::volAggregate 6 = rage::volCylinder 7 = CScriptedCoverPoint 8 = rage::ptfxScriptInfo 9 = CPed 10 = CVehicle 11 = CObject 12 = CItemSet 13 = CPersistentCharacter

function native.misc._get_item_type(handle: int): int

_is_base_a_persistent_character

function native.misc._is_base_a_persistent_character(handle: int): bool

_is_base_a_cover_point

function native.misc._is_base_a_cover_point(handle: int): bool

_0x553d67295ddd2309

UPDATE_PICKUP_COLLECTIBLE: set Eagle Eye fountain _J*, _K*, _L*

function native.misc._0x553d67295ddd2309(entity: int): void

_get_volume_from_indexed_item

function native.misc._get_volume_from_indexed_item(item: int): int

_get_entity_from_item

function native.misc._get_entity_from_item(item: int): int

_get_ped_from_indexed_item

function native.misc._get_ped_from_indexed_item(item: int): int

_get_vehicle_from_indexed_item

function native.misc._get_vehicle_from_indexed_item(item: int): int

_get_object_from_indexed_item

function native.misc._get_object_from_indexed_item(item: int): int

_0x33982467b1e349ef

function native.misc._0x33982467b1e349ef(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: int): int

_0x8314fc2013ece2da

function native.misc._0x8314fc2013ece2da(p0: int, p1: int, p2: int): int

_0x4d5c9cc7e7e23e09

function native.misc._0x4d5c9cc7e7e23e09(): void

register_interaction_lockon_prompt

p3 is usually the same value of radius p8 determines whether the ILO prompt is a lock on prompt with RMB

function native.misc.register_interaction_lockon_prompt(entity: int, text: string, radius: float, p3: float, flag: int, p5: float, p6: float, prompt: int, p8: bool, p9: int): bool

unregister_interaction_lockon_prompt

function native.misc.unregister_interaction_lockon_prompt(entity: int): bool

_0xfc6ecb9170145ece

function native.misc._0xfc6ecb9170145ece(): void

_0x35165c658077cd0b

function native.misc._0x35165c658077cd0b(): int

_0x4b101dbcc9482f2d

function native.misc._0x4b101dbcc9482f2d(ped: int): bool

_is_mission_creator_active

function native.misc._is_mission_creator_active(): bool

_0xa3a8926951471c82

function native.misc._0xa3a8926951471c82(): void

_create_ai_memory

function native.misc._create_ai_memory(args: ptr int, ai_memory_type: int): void

_get_ai_ped_does_have_event_memory

function native.misc._get_ai_ped_does_have_event_memory(args: ptr int, p1: int): bool

_0xeb946b9e579729ad

Not implemented.

function native.misc._0xeb946b9e579729ad(ped: int, p1: int): void

_set_ai_memory_reactions_enabled

Used in CAIConditionAmbientAIMemoryReactionsEnabled

function native.misc._set_ai_memory_reactions_enabled(enabled: bool): void

_0x8db104ccebcd58c5

function native.misc._0x8db104ccebcd58c5(p0: int, p1: int): int

_0x68319452c5064aba

function native.misc._0x68319452c5064aba(p0: int, p1: int): void

_0xde2c3b74d2b3705c

function native.misc._0xde2c3b74d2b3705c(p0: int, p1: int): void

_0x49f3241c28ebbfbc

function native.misc._0x49f3241c28ebbfbc(p0: int): void

_0x183672fe838a661b

function native.misc._0x183672fe838a661b(data: ptr int): void

_0x38c0c9cae1544500

function native.misc._0x38c0c9cae1544500(p0: int): void

_0x154340e87d8cc178

function native.misc._0x154340e87d8cc178(p0: int): void

_0x94fcadcf9f0c368e

function native.misc._0x94fcadcf9f0c368e(p0: int): void

_0x0d0ae5081f88cfe1

function native.misc._0x0d0ae5081f88cfe1(p0: int): bool

_0xaf3a84c7de6a1dc5

function native.misc._0xaf3a84c7de6a1dc5(p0: int, p1: int): void

_loot_tables_get_info

function native.misc._loot_tables_get_info(ped: int, p1: bool, p2: bool, loot_table_key: int, p4: ptr int, p5: int): void

_0xb1f6665aa54dcd5c

function native.misc._0xb1f6665aa54dcd5c(p0: int): int

_0x8bb99b85444544d9

function native.misc._0x8bb99b85444544d9(p0: int, p1: int): int

_0x6f02b5e50511721e

function native.misc._0x6f02b5e50511721e(p0: int): int

_0xcc1baf72d571db8d

function native.misc._0xcc1baf72d571db8d(p0: int, p1: int, p2: int): int

_is_ped_decomposed

function native.misc._is_ped_decomposed(ped: int): bool

set_ped_decomposed

function native.misc.set_ped_decomposed(ped: int, toggle: bool): void

_0xab26deee120fd3fd

function native.misc._0xab26deee120fd3fd(p0: int, p1: int): void

_0x082c043c7afc3747

function native.misc._0x082c043c7afc3747(composite_id: int, p1: bool): void

disable_looting_composite_lootable_this_frame

function native.misc.disable_looting_composite_lootable_this_frame(composite_id: int, p1: bool): void

_0xbb282cf5d2333fb8

function native.misc._0xbb282cf5d2333fb8(p0: int, p1: int): void

_0xad44856a1cd29635

function native.misc._0xad44856a1cd29635(p0: int, p1: int, p2: int): void

_0x38c2bf94d15f464d

function native.misc._0x38c2bf94d15f464d(p0: int): int

_0x3a87fda8f1b6cdfb

function native.misc._0x3a87fda8f1b6cdfb(p0: int, p1: int, p2: int): void

_0x4647842fe8f31c1e

function native.misc._0x4647842fe8f31c1e(p0: int, p1: int): void

_get_looting_event_has_fired

Event names in the scripts: MGBegin, MGEnd, ReadyForCut

function native.misc._get_looting_event_has_fired(ped: int, event_name: string): bool

_set_loot_pelt_satchel_item

function native.misc._set_loot_pelt_satchel_item(ped: int, item: int): void

_0x96282005c5c6801f

function native.misc._0x96282005c5c6801f(p0: int, p1: int): void

_0xf63fa29d4a9aca86

function native.misc._0xf63fa29d4a9aca86(p0: int, p1: int): void

_0x8c0f6a3d7236deeb

function native.misc._0x8c0f6a3d7236deeb(p0: int, p1: int): void

_0x7fa58ced69405f9a

function native.misc._0x7fa58ced69405f9a(p0: int, p1: int): void

_0xa08111b053d84b4d

_CLEAR*

function native.misc._0xa08111b053d84b4d(p0: int): void

_is_global_block_valid

function native.misc._is_global_block_valid(index: int): bool

_set_global_block_is_loaded

function native.misc._set_global_block_is_loaded(index: int, toggle: bool): void

game_framework_manager_init

function native.misc.game_framework_manager_init(transition_mode: int): bool

_game_framework_manager_shutdown

function native.misc._game_framework_manager_shutdown(): void

_game_framework_manager_get_mode

function native.misc._game_framework_manager_get_mode(): int

_is_player_owning_standalone_sp

function native.misc._is_player_owning_standalone_sp(): bool

_0x0358b8a41916c613

function native.misc._0x0358b8a41916c613(p0: int, p1: int, p2: int, p3: int): int

_set_game_logic_paused

Note: this native was added in build 1232.56

function native.misc._set_game_logic_paused(): void

stop_current_loading_progress_timer

nullsub, doesn't do anything

function native.misc.stop_current_loading_progress_timer(): void

_0xdbda48ec456ed908

function native.misc._0xdbda48ec456ed908(): void