
-- Stub file for the RDR2 Lua API.
-- Generated by "rdr2_builder.py".

BUILTIN = {}

--- @param ms number
function BUILTIN.WAIT(ms) end
--- Counts up. Every 1000 is 1 real-time second. Use SETTIMERA(int value) to set the timer (e.g.: SETTIMERA(0)).
--- @return number
function BUILTIN.TIMERA() end
--- @return number
function BUILTIN.TIMERB() end
--- @param value number
function BUILTIN.SETTIMERA(value) end
--- @param value number
function BUILTIN.SETTIMERB(value) end
--- Gets the current frame time.
--- @return number
function BUILTIN.TIMESTEP() end
--- @param value number
--- @return number
function BUILTIN.SIN(value) end
--- @param value number
--- @return number
function BUILTIN.COS(value) end
--- @param value number
--- @return number
function BUILTIN.SQRT(value) end
--- @param base number
--- @param exponent number
--- @return number
function BUILTIN.POW(base, exponent) end
--- Old name: _LOG10
--- @param value number
--- @return number
function BUILTIN.LOG10(value) end
--- Calculates the magnitude of a vector.
--- @param x number
--- @param y number
--- @param z number
--- @return number
function BUILTIN.VMAG(x, y, z) end
--- Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster)
--- @param x number
--- @param y number
--- @param z number
--- @return number
function BUILTIN.VMAG2(x, y, z) end
--- Calculates distance between vectors.
--- The value returned will be in meters.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @return number
function BUILTIN.VDIST(x1, y1, z1, x2, y2, z2) end
--- Calculates distance between vectors but does not perform Sqrt operations. (Its way faster)
--- The value returned will be in RAGE units.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @return number
function BUILTIN.VDIST2(x1, y1, z1, x2, y2, z2) end
--- @param value number
--- @param bitShift number
--- @return number
function BUILTIN.SHIFT_LEFT(value, bitShift) end
--- @param value number
--- @param bitShift number
--- @return number
function BUILTIN.SHIFT_RIGHT(value, bitShift) end
--- Rounds a float value down to the next whole number
--- @param value number
--- @return number
function BUILTIN.FLOOR(value) end
--- Rounds a float value up to the next whole number
--- @param value number
--- @return number
function BUILTIN.CEIL(value) end
--- @param value number
--- @return number
function BUILTIN.ROUND(value) end
--- @param value number
--- @return number
function BUILTIN.TO_FLOAT(value) end
--- THREAD_PRIO_HIGHEST = 0
--- THREAD_PRIO_NORMAL = 1
--- THREAD_PRIO_LOWEST = 2
--- THREAD_PRIO_MANUAL_UPDATE = 100
--- @param priority number
function BUILTIN.SET_THIS_THREAD_PRIORITY(priority) end

AICOVERPOINT = {}

--- @param handle number
--- @return number
function AICOVERPOINT._0x53E4D0C079CA6855(handle) end
--- @param handle number
--- @return boolean
function AICOVERPOINT._DOES_COVER_POINT_EXIST(handle) end
--- 1 = In cover while crouched
--- 2 = In cover while standing
--- 3 = Not in cover
--- @param ped number
--- @return number
function AICOVERPOINT._GET_COVER_POINT_STATE_FROM_PED(ped) end
--- @param ped number
function AICOVERPOINT.TASK_ENTER_COVER(ped) end
--- @param ped number
function AICOVERPOINT.TASK_EXIT_COVER(ped) end
--- @param ped number
--- @return number
function AICOVERPOINT._0x957D7E750216D74B(ped) end
--- @param args number
function AICOVERPOINT._TASK_AI_SEEK_COVER_TO_COVER_POINT(args) end
--- coverLayer: see levels_0/levels/rdr3/coverlayers
--- @param coverLayer string
function AICOVERPOINT._0x64340DC208D671D5(coverLayer) end
--- coverLayer: see levels_0/levels/rdr3/coverlayers
--- @param coverLayer string
function AICOVERPOINT._0x7A1FDCF35EAA140F(coverLayer) end
--- Makes ped flinch (if in cover) like they have been shot at
--- @param ped number
function AICOVERPOINT._REQUEST_FLINCH_COVER_ANIM(ped) end
--- @param ped number
function AICOVERPOINT._0x3C7A9C2C953128FE(ped) end
--- @param args number
function AICOVERPOINT._0xEBA51A294C73292E(args) end
--- weaponHash can also be -1
--- @param ped number
--- @param weaponHash number
function AICOVERPOINT._0x140B3CB1D424A945(ped, weaponHash) end
--- @param ped number
--- @return boolean
function AICOVERPOINT._ARE_LOAD_COVER_ANIMS_LOADED(ped) end
--- Stops running cover anims and releases them
--- _STOP_RENDERING_* - _STOP_SCRIPTED*
--- @param ped number
function AICOVERPOINT._STOP_RUNNING_COVER_ANIMS(ped) end
--- args: f_0 = Volume Handle
--- f_1 = integer (?) (only the number 1 is ever used here, or is not used at all)
--- f_2 = integer (-1 to 32 in R* Scripts)
--- @param args number
function AICOVERPOINT._ADD_COVER_BLOCKING_AREA(args) end
--- @param data number
--- @return number
function AICOVERPOINT._ADD_SCRIPTED_COVER_POINT(data) end

AITRANSPORT = {}

--- @param args number
function AITRANSPORT.TASK_ENTER_TRANSPORT(args) end
--- @param args number
function AITRANSPORT.TASK_EXIT_TRANSPORT(args) end
--- seat: see CREATE_PED_INSIDE_VEHICLE
--- @param ped number
--- @param transportEntity number
--- @param seat number
--- @param flags number
function AITRANSPORT.SET_PED_ON_TRANSPORT_SEAT(ped, transportEntity, seat, flags) end
--- @param ped number
--- @param flags number
function AITRANSPORT.SET_PED_OFF_TRANSPORT_SEAT(ped, flags) end
--- flagId:
--- enum eTransportConfigFlags
--- {
--- TCF_NotConsideredForEntryByLocalPlayer,
--- TCF_0xB78D6624,
--- TCF_0xA9700425,
--- TCF_0x8D7E4641,
--- TCF_0xF24BAA1F,
--- TCF_0x63B77935,
--- TCF_NotConsideredForEntryByAllPlayers,
--- TCF_0xD17A2AFD,
--- TCF_0xD4E4FDD5,
--- TCF_0x8227C929,
--- TCF_0x812C1070,
--- TCF_0x0E1AB26F,
--- TCF_0xBF4EC863,
--- TCF_0x75660C36,
--- TCF_0xA2539E20,
--- TCF_0x9162C633,
--- TCF_DisableHonorModifiers,
--- TCF_0xF9E71CB6,
--- TCF_0x933ECD3F,
--- TCF_0x18513A34
--- };
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/TRANSPORT_CONFIG_FLAGS
--- @param transportEntity number
--- @param flagId number
--- @param value boolean
function AITRANSPORT.SET_TRANSPORT_CONFIG_FLAG(transportEntity, flagId, value) end
--- flagId: see SET_TRANSPORT_CONFIG_FLAG
--- @param transportEntity number
--- @param flagId number
--- @param p2 boolean
--- @return boolean
function AITRANSPORT.GET_TRANSPORT_CONFIG_FLAG(transportEntity, flagId, p2) end
--- See _SET_TRANSPORT_USAGE_FLAGS
--- @param transportEntity number
--- @param flags any
--- @return number
function AITRANSPORT._GET_TRANSPORT_USAGE_FLAGS(transportEntity, flags) end
--- enum eTransportUsageFlags
--- {
--- TUF_INVALID = 0,
--- TUF_ALLOW_DRIVER_ME = (1 << 0),
--- TUF_ALLOW_DRIVER_GANG = (1 << 1),
--- TUF_ALLOW_DRIVER_CREW = (1 << 2),
--- TUF_ALLOW_DRIVER_FRIENDS = (1 << 3),
--- TUF_ALLOW_DRIVER_ANYONE = (1 << 4),
--- TUF_ALLOW_PASSENGER_ME = (1 << 5),
--- TUF_ALLOW_PASSENGER_GANG = (1 << 6),
--- TUF_ALLOW_PASSENGER_CREW = (1 << 7),
--- TUF_ALLOW_PASSENGER_FRIENDS = (1 << 8),
--- TUF_ALLOW_PASSENGER_ANYONE = (1 << 9),
--- TUF_ALLOW_ACCESS_AI = (1 << 10)
--- };
--- @param transportEntity number
--- @param flags number
function AITRANSPORT._SET_TRANSPORT_USAGE_FLAGS(transportEntity, flags) end
--- @param transportEntity number
--- @param flags number
function AITRANSPORT.SET_TRANSPORT_ACCESSIBLE_SEAT_FLAGS(transportEntity, flags) end
--- @param p0 number
--- @param p1 number
function AITRANSPORT._0x4B6C9A43F7D9109B(p0, p1) end
--- Checks if ped is placed on target transportEntity
--- @param ped number
--- @param transportEntity number
--- @return boolean
function AITRANSPORT._IS_PED_ON_TRANSPORT_ENTITY(ped, transportEntity) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function AITRANSPORT._IS_PED_ON_TRANSPORT_SEAT(ped, p1) end
--- @param transportEntity number
--- @param seatIndex number
--- @return boolean
function AITRANSPORT._IS_TRANSPORT_SEAT_OCCUPIED(transportEntity, seatIndex) end
--- Called together with IS_VEHICLE_SEAT_FREE
--- @param transportEntity number
--- @param seatIndex number
--- @return boolean
function AITRANSPORT._IS_TRANSPORT_SEAT_FREE(transportEntity, seatIndex) end
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- @param transportEntity number
--- @param seatIndex number
--- @return number
function AITRANSPORT._GET_PED_IN_TRANSPORT_SEAT(transportEntity, seatIndex) end
--- @param ped number
--- @param transportEntity number
--- @param p2 boolean
--- @return boolean
function AITRANSPORT.IS_PED_ENTERING_TRANSPORT(ped, transportEntity, p2) end
--- @param ped number
--- @param transportEntity number
--- @return boolean
function AITRANSPORT.IS_PED_EXITING_TRANSPORT(ped, transportEntity) end
--- _SET_TRANSPORT_*
--- @param transportEntity number
--- @param ped number
--- @param p2 boolean
function AITRANSPORT._0x4248AB2EEB3C75AD(transportEntity, ped, p2) end
--- @param ped number
--- @param transportEntity number
--- @param preferenceSlot number
--- @param p3 number
--- @param seatIndex number
function AITRANSPORT._SET_PED_USE_TRANSPORT_SEAT_PREFERENCE(ped, transportEntity, preferenceSlot, p3, seatIndex) end
--- _CLEAR_A*
--- @param transportEntity number
function AITRANSPORT._0x5639FBEA922788DA(transportEntity) end
--- @param transportEntity number
--- @param state boolean
function AITRANSPORT._SET_AI_CAN_USE_TRANSPORT(transportEntity, state) end
--- _SET_TRANSPORT_*
--- @param ped number
--- @param p1 number
function AITRANSPORT._0x8C8371EDFAF014A0(ped, p1) end
--- _SET_TRANSPORT_*
--- @param ped number
function AITRANSPORT._0xF8C20282B237E3F7(ped) end
--- @param transportEntity number
--- @param seatIndex number
function AITRANSPORT._SET_TRANSPORT_PRIORITY_SEAT(transportEntity, seatIndex) end

ANIMSCENE = {}

--- flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimSceneFlag
--- @param animDict string
--- @param flags number
--- @param playbackListName string
--- @param p3 boolean
--- @param p4 boolean
--- @return number
function ANIMSCENE._CREATE_ANIM_SCENE(animDict, flags, playbackListName, p3, p4) end
--- @param animScene number
function ANIMSCENE._DELETE_ANIM_SCENE(animScene) end
--- @param animScene number
function ANIMSCENE.TRIGGER_ANIM_SCENE_SKIP(animScene) end
--- Used in Script Function CUTSCENE_MANAGE_SKIP
--- _CHECK_* (?)
--- @param animScene number
--- @return boolean
function ANIMSCENE._0x4B85B3CF91972222(animScene) end
--- @param animScene number
function ANIMSCENE._CLEAR_ANIM_SCENE_WAS_SKIPPED(animScene) end
--- @param animScene number
--- @return boolean
function ANIMSCENE.DOES_ANIM_SCENE_EXIST(animScene) end
--- @param animScene number
--- @param entityId string
--- @return boolean
function ANIMSCENE._DOES_ENTITY_WITH_ID_EXIST_IN_ANIM_SCENE(animScene, entityId) end
--- @param animScene number
--- @param entityName string
--- @return boolean
function ANIMSCENE._DOES_ANIM_SCENE_OWNERSHIP_OF_ENTITY_EXIST(animScene, entityName) end
--- @param animScene number
function ANIMSCENE.LOAD_ANIM_SCENE(animScene) end
--- @param animScene number
--- @param p1 boolean
--- @param p2 boolean
--- @return boolean
function ANIMSCENE.IS_ANIM_SCENE_LOADED(animScene, p1, p2) end
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_LOADING(animScene, p1) end
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_METADATA_ASSET_IN_RANGE_LOADING(animScene, p1) end
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE.IS_ANIM_SCENE_METADATA_LOADED(animScene, p1) end
--- @param animScene number
--- @param phaseName string
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_PLAYBACK_LIST_PHASE_AUDIO_LOAD_STRESS(animScene, phaseName) end
--- @param animScene number
function ANIMSCENE.START_ANIM_SCENE(animScene) end
--- @param animScene number
--- @param playbackListName string
function ANIMSCENE.RESET_ANIM_SCENE(animScene, playbackListName) end
--- @param animScene number
--- @param p1 boolean
function ANIMSCENE.ABORT_ANIM_SCENE(animScene, p1) end
--- @param animScene number
function ANIMSCENE.RESUME_ANIM_SCENE_FROM_LAST_CHECKPOINT(animScene) end
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE.IS_ANIM_SCENE_RUNNING(animScene, p1) end
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE.IS_ANIM_SCENE_FINISHED(animScene, p1) end
--- @param animScene number
--- @return boolean
function ANIMSCENE.IS_ANIM_SCENE_EXITING_THIS_FRAME(animScene) end
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE.HAS_ANIM_SCENE_EXITED(animScene, p1) end
--- Used in SP R* Scripts only
--- _CO* - _CR*
--- @param animScene number
--- @param p1 boolean
--- @return boolean
function ANIMSCENE._0x73616E64696C132E(animScene, p1) end
--- @param animScene number
--- @param sectionName string
--- @param p2 boolean
--- @return boolean
function ANIMSCENE.IS_ANIM_SCENE_IN_SECTION(animScene, sectionName, p2) end
--- @param animScene number
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_SKIPPABLE(animScene) end
--- @param animScene number
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_ABORTED(animScene) end
--- Checks if AnimScene is NOT aborted, and an unknown check. Usually used with ABORT_ANIM_SCENE
--- Used in SP R* Scripts only
--- _IS_ANIM_SCENE_*
--- @param animScene number
--- @return boolean
function ANIMSCENE._0xD70C7A30412F8FA0(animScene) end
--- Checks if AnimScene is aborted, and an unknown check. Usually used with 0x34A0671BE613D3D0
--- Used in SP R* Scripts only
--- _IS_ANIM_SCENE_*
--- @param animScene number
--- @return boolean
function ANIMSCENE._0x9AAE3C1148A09BCA(animScene) end
--- Checks if AnimScene is aborted, and an unknown check.
--- Used in SP R* Scripts only
--- _WAS_ANIM_SCENE_*
--- @param animScene number
--- @return boolean
function ANIMSCENE._0xA96619FE85159ED2(animScene) end
--- @param animScene number
--- @param p1 number
function ANIMSCENE.FADE_ANIM_SCENE_AUDIO_IN(animScene, p1) end
--- @param animScene number
--- @param p1 number
function ANIMSCENE.FADE_ANIM_SCENE_AUDIO_OUT(animScene, p1) end
--- @param p0 boolean
--- @param p1 boolean
function ANIMSCENE.BLOCK_ANIM_SCENE_FADING_NEXT_FRAME(p0, p1) end
--- @param animScene number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param order number
function ANIMSCENE.SET_ANIM_SCENE_ORIGIN(animScene, posX, posY, posZ, rotX, rotY, rotZ, order) end
--- @param animScene number
--- @param position number
--- @param rotation number
--- @param order number
function ANIMSCENE.GET_ANIM_SCENE_ORIGIN(animScene, position, rotation, order) end
--- @param animScene number
--- @param toggle boolean
function ANIMSCENE.SET_ANIM_SCENE_PAUSED(animScene, toggle) end
--- @param animScene number
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_PAUSED(animScene) end
--- @param animScene number
--- @param rate number
function ANIMSCENE.SET_ANIM_SCENE_RATE(animScene, rate) end
--- @param animScene number
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_RATE(animScene) end
--- @param animScene number
--- @return number
function ANIMSCENE.GET_ANIM_SCENE_PHASE(animScene) end
--- @param animScene number
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_TIME(animScene) end
--- @param animScene number
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_DURATION(animScene) end
--- @param animScene number
--- @param entityName string
--- @param entity number
--- @param flags number
function ANIMSCENE.SET_ANIM_SCENE_ENTITY(animScene, entityName, entity, flags) end
--- @param animScene number
--- @param entityName string
--- @param entity number
function ANIMSCENE.REMOVE_ANIM_SCENE_ENTITY(animScene, entityName, entity) end
--- @param animScene number
--- @param entityName string
--- @return boolean
function ANIMSCENE.IS_ENTITY_EXITING_ANIM_SCENE_THIS_FRAME(animScene, entityName) end
--- @param animScene number
--- @param entityName string
--- @param p2 number
--- @param p3 number
--- @return boolean
function ANIMSCENE.COULD_ANIM_SCENE_ENTITY_REACH_EXIT_NEXT_FRAME(animScene, entityName, p2, p3) end
--- @param animScene number
--- @param entityName string
--- @return boolean
function ANIMSCENE.HAS_ENTITY_EXITED_ANIM_SCENE(animScene, entityName) end
--- _HAS_L* (?)
--- @param animScene number
--- @param entityName string
--- @return boolean
function ANIMSCENE._HAS_ENTITY_ENTERED_ANIM_SCENE(animScene, entityName) end
--- @param animScene number
--- @param name string
--- @param isNetwork boolean
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_PED(animScene, name, isNetwork) end
--- @param animScene number
--- @param name string
--- @param isNetwork boolean
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_OBJECT(animScene, name, isNetwork) end
--- @param animScene number
--- @param name string
--- @param isNetwork boolean
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_VEHICLE(animScene, name, isNetwork) end
--- @param animScene number
--- @param name string
--- @param value boolean
--- @param p3 boolean
function ANIMSCENE.SET_ANIM_SCENE_BOOL(animScene, name, value, p3) end
--- @param animScene number
--- @param name string
--- @return boolean
function ANIMSCENE.GET_ANIM_SCENE_BOOL(animScene, name) end
--- @param animScene number
--- @param name string
--- @param value number
--- @param p3 boolean
--- @param p4 boolean
function ANIMSCENE.SET_ANIM_SCENE_FLOAT(animScene, name, value, p3, p4) end
--- @param animScene number
--- @param name string
--- @return number
function ANIMSCENE.GET_ANIM_SCENE_FLOAT(animScene, name) end
--- @param animScene number
--- @param name string
--- @param value number
--- @param p3 boolean
function ANIMSCENE.SET_ANIM_SCENE_INT(animScene, name, value, p3) end
--- @param animScene number
--- @param name string
--- @return number
function ANIMSCENE.GET_ANIM_SCENE_INT(animScene, name) end
--- @param animScene number
--- @param entityName string
--- @param matrix number
--- @param p3 boolean
--- @param playbackListName string
--- @param p5 number
--- @return boolean
function ANIMSCENE.GET_ANIM_SCENE_ENTITY_LOCATION_DATA(animScene, entityName, matrix, p3, playbackListName, p5) end
--- @param entity number
--- @param animScene number
--- @return boolean
function ANIMSCENE.IS_ENTITY_PLAYING_ANIM_SCENE(entity, animScene) end
--- @param animScene number
--- @param entity number
--- @param p2 number
function ANIMSCENE.ATTACH_ANIM_SCENE_TO_ENTITY(animScene, entity, p2) end
--- @param animScene number
--- @param entity number
--- @param p2 number
function ANIMSCENE.ATTACH_ANIM_SCENE_TO_ENTITY_PRESERVING_LOCATION(animScene, entity, p2) end
--- @param animScene number
function ANIMSCENE.DETACH_ANIM_SCENE(animScene) end
--- @param animScene number
function ANIMSCENE.DETACH_ANIM_SCENE_PRESERVING_LOCATION(animScene) end
--- @param animScene number
function ANIMSCENE.TAKE_OWNERSHIP_OF_ANIM_SCENE(animScene) end
--- @param animScene number
--- @return boolean
function ANIMSCENE.CHECK_OWNERSHIP_OF_ANIM_SCENE(animScene) end
--- @param animScene number
--- @param playbackListName string
function ANIMSCENE.SET_ANIM_SCENE_PLAYBACK_LIST(animScene, playbackListName) end
--- Used in SP R* Scripts only
--- _IS_ANIM_SCENE_P*
--- @param animScene number
--- @param phaseName string
--- @return boolean
function ANIMSCENE._0x1C5D33A4293E6DDE(animScene, phaseName) end
--- @param animScene number
--- @param playbackListName string
--- @return boolean
function ANIMSCENE._DOES_ANIM_SCENE_PLAY_LIST_EXIST(animScene, playbackListName) end
--- @param animScene number
--- @param playlistName string
--- @param p2 boolean
function ANIMSCENE.SET_ANIM_SCENE_PLAY_LIST(animScene, playlistName, p2) end
--- @param animScene number
--- @param phaseName string
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_PLAYBACK_LIST_PHASE_ACTIVE(animScene, phaseName) end
--- @param animScene number
--- @param playlistName string
--- @return boolean
function ANIMSCENE.REQUEST_ANIM_SCENE_PLAY_LIST(animScene, playlistName) end
--- @param animScene number
--- @param playlistName string
--- @return boolean
function ANIMSCENE._RELEASE_ANIM_SCENE_PLAY_LIST(animScene, playlistName) end
--- @param animScene number
--- @return number
function ANIMSCENE._GET_ANIM_SCENE_DICT(animScene) end
--- Used in SP R* Scripts only
--- Params: p1 = 2B-LowHonor, 2A-HighHonor
--- @param animScene number
--- @param p1 string
--- @return boolean
function ANIMSCENE._0x1407F5115FB9583E(animScene, p1) end
--- @param animScene number
--- @param phaseName string
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_PLAYBACK_LIST_PHASE_LOADED(animScene, phaseName) end
--- @param animScene number
--- @param phaseName string
--- @return boolean
function ANIMSCENE._IS_ANIM_SCENE_PLAYBACK_LIST_PHASE_LOADING(animScene, phaseName) end
--- Used in braithwaites2 SP R* Scripts only
--- _A*
function ANIMSCENE._0x1AD896BF43619551() end
--- @param animScene number
--- @return number
function ANIMSCENE.GET_ANIM_SCENE_CURRENT_ACTIVE_CAMERA_COUNT(animScene) end
--- Used in SP R* Scripts only
--- _IS_ANIM_SCENE_R* - _IS_ANIM_SCENE_S*
--- @param p0 string
--- @return boolean
function ANIMSCENE._0x5D7BFDA2290B4E39(p0) end
--- MGM stands for MiniGameMoments.
--- @param mgmFilename string
--- @return boolean
function ANIMSCENE._IS_MGM_SYSTEM_LOADED(mgmFilename) end
--- Used to request MiniGameMoments Assets.
--- 
--- mgmFilename's:
--- Poker
--- PokerArthur
--- PokerArthurCamp
--- PokerJohn
--- PokerJohnCamp
--- @param mgmFilename string
--- @return boolean
function ANIMSCENE._LOAD_MGM_ASSETS(mgmFilename) end
--- Returns mgmHandle
--- @param mgmFilename string
--- @return number
function ANIMSCENE._CREATE_MGM_SYSTEM(mgmFilename) end
--- @param mgmHandle number
function ANIMSCENE._DELETE_MGM_SYSTEM(mgmHandle) end
--- _PREPARE_* - _REGISTER_*
--- @param mgmHandle number
--- @param ped number
function ANIMSCENE._0xB1A196BAFE650402(mgmHandle, ped) end
--- _UNLOAD_* - _WAS_ANIM_SCENE_*
--- @param mgmHandle number
--- @param ped number
function ANIMSCENE._0xAE6DE22DE0ED4554(mgmHandle, ped) end
--- Only used in tg_p R* Script
--- Returns true when mgm event success
--- _PREPARE_* - _REGISTER_*
--- @param mgmEventHandle number
--- @param p1 string
--- @param seatId number
--- @param p3 number
--- @param p4 boolean
--- @return boolean
function ANIMSCENE._0x61B2AAEF645DDAF0(mgmEventHandle, p1, seatId, p3, p4) end
--- @param mgmEventHandle number
--- @param p1 string
--- @param seatId number
--- @param p3 number
--- @param p4 number
function ANIMSCENE._SET_MGM_EVENT(mgmEventHandle, p1, seatId, p3, p4) end
--- p2: MINIGAME_GET_SECONDARY_VOICE_STRING
--- _SET_*
--- @param mgmHandle number
--- @param ped number
--- @param secondaryVoiceString string
function ANIMSCENE._0x3641FCD53E59B335(mgmHandle, ped, secondaryVoiceString) end
--- @param ped number
--- @param archetype string
function ANIMSCENE._SET_BREAKOUT_ARCHETYPE(ped, archetype) end
--- @param ped number
function ANIMSCENE._CLEAR_BREAKOUT_ARCHETYPE(ped) end
--- Used in SP R* Scripts only
--- _IS_*
--- @param ped number
--- @return boolean
function ANIMSCENE._0x3B393716C3FD8237(ped) end
--- Used in SP R* Scripts only
--- _SET_B* - _SET_C*
function ANIMSCENE._0xE12D7B4B959644CD() end
--- Used in SP R* Scripts only
--- _RESUME_* - _SET_A*
--- @param entity number
--- @param p1 boolean
function ANIMSCENE._0xC1193521E3B9FADD(entity, p1) end
function ANIMSCENE._REQUEST_PHOTO_MODE_FREEZE() end
function ANIMSCENE._REQUEST_PHOTO_MODE_DEFREEZE() end
--- Used in SP R* Scripts only
--- _IS_PED_* - _IS_SC*
--- @return boolean
function ANIMSCENE._0x2DB524750DC41ED4() end
--- Used in SP R* Scripts only
--- _PAUSE_* - _PLAY_*
--- @return boolean
function ANIMSCENE._0xEA41D44A8D42057B() end
--- Pauses all script threads except the one that called it.
--- @param toggle boolean
function ANIMSCENE._PAUSE_SCRIPT_THREADS(toggle) end
--- Used in SP R* Scripts only
--- _SET_P*
--- @param p0 boolean
function ANIMSCENE._0xCDCD7B2D49AEE73A(p0) end
--- @param animScene number
--- @return boolean
function ANIMSCENE.WAS_ANIM_SCENE_SKIPPED(animScene) end

_NAMESPACE4 = {}

--- nullsub, doesn't do anything
--- however it is being used in tty scripts: [NET_BAD_SPORT_REPORT_PLAYER] Detected bad sport behavior from Player
--- badSportBehavior: BS_QUITTER = 0, BS_VEHICLE_DESTRUCTION = 1, BS_VOTED_OUT = 2
--- @param gamerHandle number
--- @param badSportBehaviorType number
function _NAMESPACE4._REPORT_PLAYER_BAD_SPORT_BEHAVIOR(gamerHandle, badSportBehaviorType) end

ATTRIBUTE = {}

--- attributeIndex:
--- enum ePedAttribute
--- {
--- PA_HEALTH,
--- PA_STAMINA,
--- PA_SPECIALABILITY,
--- PA_COURAGE,
--- PA_AGILITY,
--- PA_SPEED,
--- PA_ACCELERATION,
--- PA_BONDING,
--- SA_HUNGER,
--- SA_FATIGUED,
--- SA_INEBRIATED,
--- SA_POISONED,
--- SA_BODYHEAT,
--- SA_BODYWEIGHT,
--- SA_OVERFED,
--- SA_SICKNESS,
--- SA_DIRTINESS,
--- SA_DIRTINESSHAT,
--- MTR_STRENGTH,
--- MTR_GRIT,
--- MTR_INSTINCT,
--- PA_UNRULINESS,
--- SA_DIRTINESSSKIN
--- };
--- @param ped number
--- @param attributeIndex number
--- @param newValue number
function ATTRIBUTE.SET_ATTRIBUTE_BASE_RANK(ped, attributeIndex, newValue) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_ATTRIBUTE_RANK(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_ATTRIBUTE_BASE_RANK(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param coreIndex number
--- @return number
function ATTRIBUTE.GET_ATTRIBUTE_BONUS_RANK(ped, coreIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_MAX_ATTRIBUTE_RANK(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @param newValue number
function ATTRIBUTE.SET_ATTRIBUTE_BONUS_RANK(ped, attributeIndex, newValue) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_DEFAULT_ATTRIBUTE_RANK(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_DEFAULT_MAX_ATTRIBUTE_RANK(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @param p2 number
function ATTRIBUTE.ADD_ATTRIBUTE_POINTS(ped, attributeIndex, p2) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @param p2 number
function ATTRIBUTE.SET_ATTRIBUTE_POINTS(ped, attributeIndex, p2) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_ATTRIBUTE_POINTS(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE.GET_MAX_ATTRIBUTE_POINTS(ped, attributeIndex) end
--- coreIndex:
--- enum eAttributeCore
--- {
--- ATTRIBUTE_CORE_HEALTH,
--- ATTRIBUTE_CORE_STAMINA,
--- ATTRIBUTE_CORE_DEADEYE
--- };
--- @param ped number
--- @param coreIndex number
--- @param value number
function ATTRIBUTE._SET_ATTRIBUTE_CORE_VALUE(ped, coreIndex, value) end
--- Gets the ped's core value on a scale of 0 to 100.
--- coreIndex: see _SET_ATTRIBUTE_CORE_VALUE
--- @param ped number
--- @param coreIndex number
--- @return number
function ATTRIBUTE._GET_ATTRIBUTE_CORE_VALUE(ped, coreIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param modelHash number
--- @param attributeIndex number
--- @param rank number
--- @return number
function ATTRIBUTE.GET_DEFAULT_ATTRIBUTE_POINTS_NEEDED_FOR_RANK(modelHash, attributeIndex, rank) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- 
--- Old name: _SET_ATTRIBUTE_OVERPOWER_VALUE
--- @param ped number
--- @param attributeIndex number
--- @param value number
--- @param makeSound boolean
function ATTRIBUTE.ENABLE_ATTRIBUTE_OVERPOWER(ped, attributeIndex, value, makeSound) end
--- coreIndex: see _SET_ATTRIBUTE_CORE_VALUE
--- 
--- Previously incorrectly named ENABLE_ATTRIBUTE_OVERPOWER
--- @param ped number
--- @param coreIndex number
--- @param value number
--- @param makeSound boolean
function ATTRIBUTE._ENABLE_ATTRIBUTE_CORE_OVERPOWER(ped, coreIndex, value, makeSound) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
function ATTRIBUTE.DISABLE_ATTRIBUTE_OVERPOWER(ped, attributeIndex) end
--- attributeIndex: see SET_ATTRIBUTE_BASE_RANK
--- @param ped number
--- @param attributeIndex number
--- @return boolean
function ATTRIBUTE._IS_ATTRIBUTE_OVERPOWERED(ped, attributeIndex) end
--- @param ped number
--- @param coreIndex number
--- @return boolean
function ATTRIBUTE._IS_ATTRIBUTE_CORE_OVERPOWERED(ped, coreIndex) end
--- @param ped number
--- @param attributeIndex number
--- @return number
function ATTRIBUTE._GET_ATTRIBUTE_OVERPOWER_SECONDS_LEFT(ped, attributeIndex) end
--- @param ped number
--- @param coreIndex number
--- @return number
function ATTRIBUTE._GET_ATTRIBUTE_CORE_OVERPOWER_SECONDS_LEFT(ped, coreIndex) end
--- Params: p1 is related to satchel_category
--- @param p0 number
--- @param p1 number
function ATTRIBUTE._START_ITEM_PREVIEW(p0, p1) end
function ATTRIBUTE.STOP_ITEM_PREVIEW() end
--- Displays status effects on core icons (includes warnings).
--- 
--- enum eUiRpgStatusEffect
--- {
--- STATUS_NONE,
--- STATUS_COLD,
--- STATUS_HOT,
--- STATUS_OVERFED,
--- STATUS_DIRTY,
--- STATUS_SNAKE_VENOM,
--- STATUS_ARROW_WOUNDED,
--- STATUS_ARROW_DRAINED,
--- STATUS_ARROW_DISORIENTED,
--- STATUS_ARROW_TRACKED,
--- STATUS_ARROW_CONFUSION,
--- STATUS_UNDERWEIGHT,
--- STATUS_OVERWEIGHT,
--- STATUS_SICK_1,
--- STATUS_SICK_2,
--- STATUS_PREDATOR_INVULNERABLE
--- };
--- @param statusEffectType number
function ATTRIBUTE._SET_STATUS_EFFECT_CORE_ICON(statusEffectType) end
--- Starts core periodic icon.
--- statusEffectType: see 0xA4D3A1C008F250DF
--- @param statusEffectType number
function ATTRIBUTE._SET_STATUS_EFFECT_PERIODIC_ICON(statusEffectType) end
--- Stops periodic icon.
--- statusEffectType: see 0xA4D3A1C008F250DF
--- @param statusEffectType number
function ATTRIBUTE._STOP_STATUS_EFFECT_PERIODIC_ICON(statusEffectType) end

AUDIO = {}

--- _AUDIO_IS_* - _AUDIO_TRIGGER*
function AUDIO._0x7455CD705F7E933E() end
function AUDIO.CLEAR_CONVERSATION_HISTORY() end
--- @param convoRoot string
function AUDIO._CLEAR_CONVERSATION_HISTORY_FOR_SCRIPTED_CONVERSATION(convoRoot) end
--- @param convoRoot string
--- @return boolean
function AUDIO.CREATE_NEW_SCRIPTED_CONVERSATION(convoRoot) end
--- @param ped number
--- @param p1 string
--- @return boolean
function AUDIO._0xDF947FE0D551684E(ped, p1) end
--- @param convoRoot string
--- @param ped number
--- @param characterName string
function AUDIO.ADD_PED_TO_CONVERSATION(convoRoot, ped, characterName) end
--- @param listeningToPed number
--- @param ped number
--- @param listenerName string
function AUDIO._0xA2323A2EAE32A290(listeningToPed, ped, listenerName) end
--- Only used in R* SP Script cv_mus_shared
--- @param convoRoot string
--- @param animScene number
--- @return boolean
function AUDIO._0x79F9C57B8D0DFE90(convoRoot, animScene) end
--- @param convoRoot string
--- @param p1 boolean
--- @param p2 boolean
--- @param clone boolean
function AUDIO.START_SCRIPT_CONVERSATION(convoRoot, p1, p2, clone) end
--- @param convoRoot string
--- @param p1 boolean
--- @param p2 boolean
--- @param clone boolean
function AUDIO.PRELOAD_SCRIPT_CONVERSATION(convoRoot, p1, p2, clone) end
--- @param convoRoot string
function AUDIO.START_PRELOADED_CONVERSATION(convoRoot) end
--- @param convoRoot string
--- @return boolean
function AUDIO._0x0CB3D1919E8D7CBA(convoRoot) end
--- @param p0 boolean
--- @return boolean
function AUDIO._0xFE5C6177064BD390(p0) end
--- @param convoRoot string
--- @return boolean
function AUDIO._IS_SCRIPTED_CONVERSATION_CREATED(convoRoot) end
--- @param p0 boolean
--- @return boolean
function AUDIO._0x5A13586A9447931F(p0) end
--- @param convoRoot string
--- @return boolean
function AUDIO.IS_SCRIPTED_CONVERSATION_LOADED(convoRoot) end
--- @param p0 boolean
--- @return boolean
function AUDIO._IS_ANY_CONVERSATION_PLAYING(p0) end
--- @param p0 string
--- @return boolean
function AUDIO.IS_SCRIPTED_CONVERSATION_PLAYING(p0) end
--- @param p0 string
--- @return boolean
function AUDIO._IS_SCRIPTED_CONVERSION_ONGOING(p0) end
--- @param p0 boolean
--- @return boolean
function AUDIO._0x847748AE5D7B1071(p0) end
--- _IS_SCRIPTED_CONVERSATION_*
--- @param convoRoot string
--- @return boolean
function AUDIO._0xD0730C1FA40348D9(convoRoot) end
--- @param p0 string
--- @return number
function AUDIO.GET_CURRENT_SCRIPTED_CONVERSATION_LINE(p0) end
--- @param p0 string
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
function AUDIO.PAUSE_SCRIPTED_CONVERSATION(p0, p1, p2, p3, p4) end
--- @param p0 string
function AUDIO.RESTART_SCRIPTED_CONVERSATION(p0) end
--- @param p0 boolean
--- @param p1 boolean
--- @param p2 boolean
function AUDIO._STOP_ALL_SCRIPTED_CONVERSIONS(p0, p1, p2) end
--- @param p0 string
--- @param p1 boolean
--- @param p2 boolean
--- @return number
function AUDIO.STOP_SCRIPTED_CONVERSATION(p0, p1, p2) end
--- @param p0 string
function AUDIO.SKIP_TO_NEXT_SCRIPTED_CONVERSATION_LINE(p0) end
--- @param p0 string
--- @return number
function AUDIO._0xF336E9F989B3518F(p0) end
--- @param p0 string
--- @param currentScriptedConvoLine number
--- @return number
function AUDIO._0x254B0241E964B450(p0, currentScriptedConvoLine) end
--- @param p0 string
--- @param currentScriptedConvoLine number
--- @return number
function AUDIO._0x152ED1B56E8F1F50(p0, currentScriptedConvoLine) end
--- @param p0 string
--- @param currentScriptedConvoLine number
--- @return number
function AUDIO._0x935DBD96D4A3DA1F(p0, currentScriptedConvoLine) end
--- @param p0 string
--- @return number
function AUDIO._0x295859EB18F48D82(p0) end
--- @param convoRoot string
--- @param singleLineIndex number
function AUDIO._0x40CA665AB9D8D505(convoRoot, singleLineIndex) end
--- @param p0 string
function AUDIO._0xF232C2C546AC16D0(p0) end
--- @param audSpeechEvent string
function AUDIO._0x1E6F9A9FE1A99F36(audSpeechEvent) end
--- nullsub, doesn't do anything
--- @param p0 boolean
function AUDIO.REGISTER_SCRIPT_WITH_AUDIO(p0) end
--- nullsub, doesn't do anything
function AUDIO.UNREGISTER_SCRIPT_WITH_AUDIO() end
--- @param audioBank string
--- @return boolean
function AUDIO.REQUEST_SCRIPT_AUDIO_BANK(audioBank) end
--- @param audioBank string
function AUDIO.RELEASE_NAMED_SCRIPT_AUDIO_BANK(audioBank) end
function AUDIO.RELEASE_SCRIPT_AUDIO_BANK() end
--- @return number
function AUDIO.GET_SOUND_ID() end
--- @param soundId number
function AUDIO.RELEASE_SOUND_ID(soundId) end
--- @param audioName string
--- @param audioRef string
--- @param p2 boolean
--- @param p3 number
--- @param p4 boolean
--- @param p5 number
function AUDIO.PLAY_SOUND(audioName, audioRef, p2, p3, p4, p5) end
--- https://github.com/femga/rdr3_discoveries/tree/master/audio/frontend_soundsets
--- @param audioName string
--- @param audioRef string
--- @param p2 boolean
--- @param p3 number
function AUDIO.PLAY_SOUND_FRONTEND(audioName, audioRef, p2, p3) end
--- item: value returned from 0x2E1CDC1FF3B8473E
--- soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
--- @param item number
--- @param soundSet number
--- @param p2 number
function AUDIO._PLAY_SOUND_FROM_ITEM(item, soundSet, p2) end
--- @param audioName string
--- @param entity number
--- @param audioRef string
--- @param isNetwork boolean
--- @param p4 number
--- @param p5 number
function AUDIO.PLAY_SOUND_FROM_ENTITY(audioName, entity, audioRef, isNetwork, p4, p5) end
--- @param audioName string
--- @param x number
--- @param y number
--- @param z number
--- @param audioRef string
--- @param isNetwork boolean
--- @param p6 number
--- @param p7 boolean
--- @param p8 number
function AUDIO._PLAY_SOUND_FROM_POSITION(audioName, x, y, z, audioRef, isNetwork, p6, p7, p8) end
--- @param audioName string
--- @param audioRef string
function AUDIO._STOP_SOUND_WITH_NAME(audioName, audioRef) end
--- _IS_SOUND_RUNNING(?)
--- @param audioName string
--- @param audioRef string
--- @return boolean
function AUDIO._0x580D71DFE0088E34(audioName, audioRef) end
--- item: FUSE, value returned from 0x2E1CDC1FF3B8473E
--- soundSet: HUD_SHOP_SOUNDSET, COMPANIONS_ROBBERIES_SOUNDSET
--- @param item number
--- @param soundSet number
--- @return boolean
function AUDIO._IS_SCRIPTED_AUDIO_CUSTOM(item, soundSet) end
--- @param variableName string
--- @param variableValue number
--- @param audioName string
--- @param audioRef string
function AUDIO._SET_VARIABLE_ON_SOUND_WITH_NAME(variableName, variableValue, audioName, audioRef) end
--- whistleConfig: Ped.WhistlePitch (0.0 - 1.0), Ped.WhistleClarity (0.0 - 1.0), Ped.WhistleShape (0.0 - 10.0)
--- @param ped number
--- @param whistleConfig string
--- @param value number
function AUDIO._SET_WHISTLE_CONFIG_FOR_PED(ped, whistleConfig, value) end
--- p1: Entity.Relationship
--- p2: Player, Enemy, Teammate, Neutral
--- @param ped number
--- @param p1 string
--- @param p2 string
function AUDIO._SET_SOUND_RELATIONSHIP_ON_PED(ped, p1, p2) end
--- @param soundId number
--- @param name string
--- @param soundSet string
--- @param p3 boolean
function AUDIO._PLAY_SOUND_FRONTEND_WITH_SOUND_ID(soundId, name, soundSet, p3) end
--- Params: p5 seems to be always 0
--- @param soundId number
--- @param soundName string
--- @param entity number
--- @param soundsetName string
--- @param p4 boolean
--- @param p5 number
function AUDIO._PLAY_SOUND_FROM_ENTITY_WITH_SET(soundId, soundName, entity, soundsetName, p4, p5) end
--- Starts Audio Loop
--- _PLAY_SOUND_FROM_ENTITY* - _PLAY_SOUND_FRONTEND*
--- @param soundId number
--- @param soundName string
--- @param x number
--- @param y number
--- @param z number
--- @param soundsetName string
--- @param p6 boolean
--- @param p7 number
--- @param p8 boolean
function AUDIO._PLAY_SOUND_FROM_POSITION_WITH_ID(soundId, soundName, x, y, z, soundsetName, p6, p7, p8) end
--- Only used in R* SP Scripts
--- @param soundId number
--- @param x number
--- @param y number
--- @param z number
function AUDIO._UPDATE_SOUND_POSITION(soundId, x, y, z) end
--- @param soundId number
function AUDIO._STOP_SOUND_WITH_ID(soundId) end
--- @param soundId number
--- @param variableName string
--- @param variableValue number
function AUDIO._SET_VARIABLE_ON_SOUND_WITH_ID(soundId, variableName, variableValue) end
--- @param soundName string
--- @param soundsetName string
--- @param soundId number
--- @return boolean
function AUDIO.PREPARE_SOUND(soundName, soundsetName, soundId) end
--- @param soundName string
--- @param soundsetName string
function AUDIO._RELEASE_SHARD_SOUNDS(soundName, soundsetName) end
--- https://github.com/femga/rdr3_discoveries/tree/master/audio/soundsets
--- @param soundsetName string
--- @param p1 boolean
--- @return boolean
function AUDIO.PREPARE_SOUNDSET(soundsetName, p1) end
--- @param soundsetName string
function AUDIO._RELEASE_SOUNDSET(soundsetName) end
--- @param soundName string
--- @param entity number
--- @param soundsetName string
--- @param soundId number
--- @return boolean
function AUDIO.PREPARE_SOUND_WITH_ENTITY(soundName, entity, soundsetName, soundId) end
--- @param p0 string
--- @param p1 number
function AUDIO._0x3E93DDDCBB6111E4(p0, p1) end
--- @param audioName string
--- @param soundsetName string
--- @return boolean
function AUDIO._HAS_SOUND_AUDIO_NAME_FINISHED(audioName, soundsetName) end
--- @param soundId number
--- @return boolean
function AUDIO._HAS_SOUND_ID_FINISHED(soundId) end
--- struct ScriptedSpeechParams
--- {
--- const char* speechName;
--- const char* voiceName;
--- alignas(8) int variation;
--- alignas(8) Hash speechParamHash;
--- alignas(8) Ped listenerPed;
--- alignas(8) BOOL syncOverNetwork;
--- alignas(8) int v7;
--- alignas(8) int v8;
--- };
--- 
--- static_assert(sizeof(ScriptedSpeechParams) == 0x40, "incorrect ScriptedSpeechParams size");
--- 
--- 
--- Example:
--- 
--- ScriptedSpeechParams params{"RE_PH_RHD_V3_AGGRO", "0405_U_M_M_RhdSheriff_01", 1, joaat("SPEECH_PARAMS_BEAT_SHOUTED_CLEAR"), 0, true, 1, 1};
--- PLAY_PED_AMBIENT_SPEECH_NATIVE(PLAYER_PED_ID(), (Any*)&params);
--- 
--- Old name: _PLAY_AMBIENT_SPEECH1
--- https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_banks
--- @param speaker number
--- @param params number
--- @return boolean
function AUDIO.PLAY_PED_AMBIENT_SPEECH_NATIVE(speaker, params) end
--- Old name: _PLAY_AMBIENT_SPEECH_AT_COORDS
--- @param x number
--- @param y number
--- @param z number
--- @param params number
--- @return boolean
function AUDIO.PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE(x, y, z, params) end
--- @param p0 number
--- @param p1 number
--- @return number
function AUDIO._0x72E4D1C4639BC465(p0, p1) end
--- @param p0 number
--- @return number
function AUDIO._0xB18FEC133C7C6C69(p0) end
--- @param p0 number
function AUDIO._0xDC93F0948F2C28F4(p0) end
--- speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
--- p1 is possibly naSpeechAudibility, naSpeechType, or naSpeechEventTypeRequestPriority
--- SKIP_* - START_*
--- @param speechEventType number
--- @param p1 number
--- @param p2 boolean
function AUDIO._0x0D7FD6A55FD63AEF(speechEventType, p1, p2) end
--- speechEventType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/naSpeechEventType
--- SKIP_* - START_*
--- @param speechEventType number
function AUDIO._0x660A8F876DF1D4F8(speechEventType) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function AUDIO._0x380A2E353AD30917(p0, p1, p2) end
--- @param p0 number
function AUDIO._0x0FAF7171BF613B80(p0) end
--- Valid pain IDs: 0..12
--- @param ped number
--- @param painId number
--- @param p2 number
--- @param p3 boolean
--- @param isNetwork boolean
function AUDIO.PLAY_PAIN(ped, painId, p2, p3, isNetwork) end
--- @param p0 number
function AUDIO._0x6652B0C8F3D414D0(p0) end
--- Name: ROPE_SETTINGS_DEFAULT
--- @param ropeId number
--- @param name string
function AUDIO._0xF092B6030D6FD49C(ropeId, name) end
--- @param ropeId number
--- @param p1 number
function AUDIO._0x2651DDC0EA269073(ropeId, p1) end
--- @param ped number
--- @param name string
function AUDIO.SET_AMBIENT_VOICE_NAME(ped, name) end
--- Hashes: VOFX_PLAYER_MALE01, VOFX_PLAYER_MALE02, VOFX_PLAYER_MALE03, VOFX_PLAYER_FEMALE01, VOFX_PLAYER_FEMALE02, VOFX_PLAYER_FEMALE03
--- @param ped number
--- @param voice number
function AUDIO._SET_VOFX_PED_VOICE(ped, voice) end
--- @param ped number
--- @param p1 number
function AUDIO.STOP_CURRENT_PLAYING_SPEECH(ped, p1) end
--- @param ped number
--- @param p1 number
function AUDIO.STOP_CURRENT_PLAYING_AMBIENT_SPEECH(ped, p1) end
--- @param ped number
--- @return boolean
function AUDIO.IS_AMBIENT_SPEECH_PLAYING(ped) end
--- @param p0 number
--- @return boolean
function AUDIO.IS_SCRIPTED_SPEECH_PLAYING(p0) end
--- @param ped number
--- @return boolean
function AUDIO.IS_ANY_SPEECH_PLAYING(ped) end
--- @return number
function AUDIO._0x2B101AD9F651243A() end
--- Gets the hash for the currently playing speech line.
--- @param ped number
--- @return number
function AUDIO._0x4A98E228A936DBCC(ped) end
--- Gets the hash for the last played speech line.
--- @param ped number
--- @return number
function AUDIO._GET_LAST_PLAYED_SPEECH_FOR_PED(ped) end
--- Checks if the ped can play the speech or has the speech file, last parameter is usually false.
--- @param ped number
--- @param speechName string
--- @param unk boolean
--- @return boolean
function AUDIO.DOES_CONTEXT_EXIST_FOR_THIS_PED(ped, speechName, unk) end
--- @param p0 number
--- @return number
function AUDIO._0xF0EE69F500952FA5(p0) end
--- Returns true or false if the ped can say a specific speech line with PLAY_PED_AMBIENT_SPEECH_NATIVE, similar to DOES_CONTEXT_EXIST_FOR_THIS_PED.
--- Not reliable on remote clients when used on a player ped.
--- Params: p2 and p3 are usually false and true, respectively.
--- @param ped number
--- @param speechName string
--- @param p2 boolean
--- @param p3 boolean
--- @return boolean
function AUDIO._0x9D6DEC9791A4E501(ped, speechName, p2, p3) end
--- Not implemented.
--- @param ped number
function AUDIO._0x864A842B86993851(ped) end
--- @param p0 string
--- @param ped number
--- @param p2 number
--- @return boolean
function AUDIO.IS_PED_IN_CURRENT_CONVERSATION(p0, ped, p2) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function AUDIO._IS_PED_IN_ANY_CONVERSATION(ped, p1) end
--- @param ped number
--- @param toggle boolean
function AUDIO.SET_PED_IS_DRUNK(ped, toggle) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x3A00D87B20A2A5E4(p0, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xD47D47EFBF103FB8(p0, p1) end
--- @param ped number
--- @param vocalizationName string
--- @param p2 boolean
function AUDIO.PLAY_ANIMAL_VOCALIZATION(ped, vocalizationName, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function AUDIO._PLAY_ANIMAL_VOCALIZATION_PHEROMONE_VIAL_RESPONSE(ped, p1, p2) end
--- @param pedHandle number
--- @return boolean
function AUDIO.IS_ANIMAL_VOCALIZATION_PLAYING(pedHandle) end
--- Not implemented.
--- @param animal number
--- @param mood number
function AUDIO.SET_ANIMAL_MOOD(animal, mood) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xFCDEC42B1C78B7F8(p0, p1) end
--- @param p0 number
function AUDIO._0xEB4D592620B8C209(p0) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xA6847BBA4FCDD13F(p0, p1) end
--- @param emitterName string
--- @param toggle boolean
function AUDIO.SET_STATIC_EMITTER_ENABLED(emitterName, toggle) end
--- @param play boolean
function AUDIO.PLAY_END_CREDITS_MUSIC(play) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function AUDIO._0x7678FE0455ED1145(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param isSrlLoaded boolean
--- @param p6 number
--- @return number
function AUDIO._0xFFE9C53DEEA3DB0B(p0, p1, x, y, z, isSrlLoaded, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function AUDIO._0x5E3CCF03995388B5(p0, p1, p2, p3) end
function AUDIO._0x43037ABFE214A851() end
--- @param zoneName string
--- @param isEnabled boolean
--- @param p2 boolean
function AUDIO.SET_AMBIENT_ZONE_STATE(zoneName, isEnabled, p2) end
--- @param zoneName string
--- @param p1 boolean
function AUDIO.CLEAR_AMBIENT_ZONE_STATE(zoneName, p1) end
--- @param ambientZone string
--- @param p1 boolean
--- @param p2 boolean
function AUDIO.SET_AMBIENT_ZONE_LIST_STATE(ambientZone, p1, p2) end
--- @param ambientZone string
--- @param p1 boolean
function AUDIO.CLEAR_AMBIENT_ZONE_LIST_STATE(ambientZone, p1) end
--- @param ambientZone string
--- @param p1 boolean
--- @param p2 boolean
function AUDIO.SET_AMBIENT_ZONE_STATE_PERSISTENT(ambientZone, p1, p2) end
--- @param ambientZone string
--- @param p1 boolean
--- @param p2 boolean
function AUDIO.SET_AMBIENT_ZONE_LIST_STATE_PERSISTENT(ambientZone, p1, p2) end
--- @param ambientZone string
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
function AUDIO._SET_AMBIENT_ZONE_POSITION(ambientZone, x, y, z, heading) end
--- Checks whether the horn of a vehicle is currently played.
--- @param vehicle number
--- @return boolean
function AUDIO.IS_HORN_ACTIVE(vehicle) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xFD461D0ABA5559B1(p0, p1) end
--- @param streamId number
--- @return boolean
function AUDIO.IS_STREAM_PLAYING(streamId) end
--- @param streamName string
--- @param soundSet string
--- @return boolean
function AUDIO.LOAD_STREAM(streamName, soundSet) end
--- @param ped number
--- @param streamId number
function AUDIO.PLAY_STREAM_FROM_PED(ped, streamId) end
--- @param streamId number
function AUDIO.PLAY_STREAM_FRONTEND(streamId) end
--- @param x number
--- @param y number
--- @param z number
--- @param streamId number
function AUDIO.PLAY_STREAM_FROM_POSITION(x, y, z, streamId) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x3A3BE6B920525237(p0, p1) end
--- @param streamId number
function AUDIO.STOP_STREAM(streamId) end
--- @param ped number
--- @param shaking boolean
function AUDIO.STOP_PED_SPEAKING(ped, shaking) end
--- @param ped number
--- @param toggle boolean
function AUDIO.DISABLE_PED_PAIN_AUDIO(ped, toggle) end
--- @param ped number
--- @return boolean
function AUDIO.IS_AMBIENT_SPEECH_DISABLED(ped) end
--- @param ped number
--- @param disabled boolean
--- @return number
function AUDIO.SET_IS_SCRIPTED_SPEECH_DISABLED(ped, disabled) end
--- @param context string
--- @param block boolean
function AUDIO._BLOCK_SPEECH_CONTEXT(context, block) end
--- _UNLOAD_[A-C]* - USE_*
--- @param speechContext string
function AUDIO._UNLOAD_SPEECH_CONTEXT(speechContext) end
--- @param vehicle number
--- @param toggle boolean
function AUDIO.SET_HORN_ENABLED(vehicle, toggle) end
--- @param vehicle number
--- @param p1 number
function AUDIO.SET_AUDIO_VEHICLE_PRIORITY(vehicle, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x259ACC5B52A2B2D9(p0, p1) end
--- Old name: _FORCE_VEHICLE_ENGINE_AUDIO
--- @param vehicle number
--- @param audioName string
function AUDIO.FORCE_USE_AUDIO_GAME_OBJECT(vehicle, audioName) end
--- nullsub, doesn't do anything
--- @param active boolean
function AUDIO.SET_GPS_ACTIVE(active) end
--- @param audioName string
--- @param sceneset string
--- @return boolean
function AUDIO._START_AUDIO_SCENESET(audioName, sceneset) end
--- @param sceneset string
function AUDIO._STOP_AUDIO_SCENESET(sceneset) end
--- @param audioName string
--- @param sceneset string
--- @return boolean
function AUDIO._SET_AUDIO_SCENESET(audioName, sceneset) end
--- @param scene string
--- @return boolean
function AUDIO.START_AUDIO_SCENE(scene) end
--- @param p0 number
--- @return number
function AUDIO._0xDC2F83A0612CA34D(p0) end
--- @param scene string
function AUDIO.STOP_AUDIO_SCENE(scene) end
--- _STOP_AUDIO_*
--- @param p0 number
function AUDIO._0x6AB944DF68B512D3(p0) end
function AUDIO.STOP_AUDIO_SCENES() end
--- @param scene string
--- @return boolean
function AUDIO.IS_AUDIO_SCENE_ACTIVE(scene) end
--- @param scene string
--- @param variable string
--- @param value number
function AUDIO.SET_AUDIO_SCENE_VARIABLE(scene, variable, value) end
--- @param entity number
--- @return number
function AUDIO._GET_ENTITY_AUDIO_MIX_GROUP(entity) end
--- @param entity number
--- @param groupName string
--- @param p2 number
function AUDIO.ADD_ENTITY_TO_AUDIO_MIX_GROUP(entity, groupName, p2) end
--- @param p0 number
--- @return number
function AUDIO._0x131EC9247E7A2903(p0) end
--- @param entity number
--- @param p1 number
function AUDIO.REMOVE_ENTITY_FROM_AUDIO_MIX_GROUP(entity, p1) end
--- @return number
function AUDIO._0xE600F61F54A444A6() end
--- Old name: AUDIO_IS_SCRIPTED_MUSIC_PLAYING
--- @return boolean
function AUDIO.AUDIO_IS_MUSIC_PLAYING() end
--- Checks for MOONSHINE_BAND
--- @param entity number
--- @return number
function AUDIO._0xBE28DB99556FF8D9(entity) end
--- @param ped number
function AUDIO._0x8E901B65206C2D3E(ped) end
--- @param ped number
function AUDIO._0xC4CFCE4C656EF480(ped) end
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function AUDIO._0xABDB4863D3D72021(entity, p1, p2, p3, p4) end
--- Used in Script Function NET_CAMP_CLIENT_UPDATE_PED_ROLE_STATE_SHOP: hash exists! Playing hash
--- @param ped number
--- @param p1 number
function AUDIO._0xB93A769B8B726950(ped, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xE891504B2F0E2DBA(p0, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x9EB779765E68C52E(p0, p1) end
--- @param entity number
--- @param p1 number
function AUDIO._0xE9694B2D6CB87B06(entity, p1) end
--- @param entity number
--- @return number
function AUDIO._0x886657C5B3D8EDE3(entity) end
--- @param p0 number
--- @return number
function AUDIO._0xC68C02DE259C927C(p0) end
--- @param entity number
--- @return number
function AUDIO._0x2FFF4A78384AFFDF(entity) end
--- @param entity number
--- @return number
function AUDIO._0x62377977E4F08668(entity) end
--- @param ped number
--- @return number
function AUDIO._GET_PED_SONG_INDEX_HOST(ped) end
--- @param p0 number
--- @return number
function AUDIO._0xD05A460328560477(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function AUDIO._0x8D29FDF565DED9AE(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function AUDIO._0x448F2647DD6F2E27(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x139A4B9DF2D26CBF(p0, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x018ABE833CA64D2A(p0, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xBC07CA8FD710E7FD(p0, p1) end
--- @param eventName string
--- @return boolean
function AUDIO.PREPARE_MUSIC_EVENT(eventName) end
--- @param eventName string
--- @return boolean
function AUDIO.CANCEL_MUSIC_EVENT(eventName) end
--- https://github.com/femga/rdr3_discoveries/blob/master/audio/music_events/music_events.lua
--- @param eventName string
--- @return boolean
function AUDIO.TRIGGER_MUSIC_EVENT(eventName) end
--- @param eventName number
--- @return number
function AUDIO._TRIGGER_MUSIC_EVENT_WITH_HASH(eventName) end
--- @return number
function AUDIO.GET_MUSIC_PLAYTIME() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function AUDIO._0xF64034D533CE8AAC(p0, p1, p2) end
--- https://en.m.wikipedia.org/wiki/Walla
--- @param p0 number
--- @param p1 number
function AUDIO.SET_PED_WALLA_DENSITY(p0, p1) end
function AUDIO._0xDAD6CD07CAA4F382() end
--- @param p0 number
--- @param p1 number
function AUDIO.SET_PED_INTERIOR_WALLA_DENSITY(p0, p1) end
function AUDIO.FORCE_PED_PANIC_WALLA() end
function AUDIO._0x138ADB94F8B90616() end
--- @param ped number
--- @param p1 boolean
--- @param hash number
function AUDIO.USE_FOOTSTEP_SCRIPT_SWEETENERS(ped, p1, hash) end
--- https://github.com/femga/rdr3_discoveries/tree/master/audio/audio_flags
--- @param flagName string
--- @param toggle boolean
function AUDIO.SET_AUDIO_FLAG(flagName, toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function AUDIO._0x6DA15746D5CC1A92(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x078F77FD1A43EAB3(p0, p1) end
function AUDIO._0x3D0BBCCF401B5FDB() end
--- @param p0 string
--- @param p1 string
function AUDIO.SET_PORTAL_SETTINGS_OVERRIDE(p0, p1) end
--- @param p0 string
function AUDIO.REMOVE_PORTAL_SETTINGS_OVERRIDE(p0) end
--- @param p0 number
function AUDIO._0xEA546C31FD45F8CD(p0) end
--- @param p0 number
--- @return number
function AUDIO._0x44A5EEF54F62E823(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function AUDIO._0x017492B2201E3428(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xC886CD666ADD42E1(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function AUDIO._0x5AE0CB5F35F034FD(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function AUDIO._0x821C32C728B24477(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function AUDIO._0x06C5DF5EE444BC6B(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x341CDD17EFC2472E(p0, p1) end
--- @param p0 number
function AUDIO._0x7E176C676F8652A9(p0) end
--- @param p0 number
--- @return number
function AUDIO._0x2B9C37C01BF25EDB(p0) end
--- @return number
function AUDIO._0xA6A3A3F96B8B030E() end
--- Creates stream and returns streamId handle to be used with PLAY_STREAM_* natives
--- https://github.com/femga/rdr3_discoveries/tree/master/audio/create_stream
--- @param streamName string
--- @param soundSet string
--- @return number
function AUDIO._GET_LOADED_STREAM_ID_FROM_CREATION(streamName, soundSet) end
--- @param p0 number
--- @param p1 number
--- @return number
function AUDIO._0xC369E2234E34A0CA(p0, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x35B8C070E0C16E2F(p0, p1) end
function AUDIO._0xE7E6CB8B713ED190() end
function AUDIO._0x569ABC36E28DDEAA() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function AUDIO._0x839C9F124BE74D94(p0, p1, p2, p3, p4) end
--- @param name string
--- @param x number
--- @param y number
--- @param z number
function AUDIO.AUDIO_TRIGGER_EXPLOSION(name, x, y, z) end
--- @param p0 number
function AUDIO._0x3E98AC9D8C56C62C(p0) end
--- @param p0 number
function AUDIO._0xCBF2BEBB468A34F3(p0) end
function AUDIO._0xA2B851605748AD0E() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function AUDIO._0xCFAD2C8CD1054523(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function AUDIO._0xD733528B6C35647A(p0, p1) end
--- @param p0 number
--- @param p1 number
function AUDIO._0x5BC885EBD75FAA7D(p0, p1) end
--- @param p0 number
function AUDIO._0x6B7A88A61B41E589(p0) end
function AUDIO._0x4BE3EC91C01F0FE8() end
--- @param p0 string
function AUDIO.SET_AUDIO_ONLINE_TRANSITION_STAGE(p0) end
function AUDIO._STOP_ALL_SCRIPTED_AUDIO_SOUNDS() end
--- @param p0 number
function AUDIO._0x64B956F4E761DF5C(p0) end

BOUNTY = {}

--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_PAY_OFF_BOUNTY(outRpcGuid) end
--- @param outRpcGuid number
--- @param p1 number
--- @param costType number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_PAY_OFF_BOUNTY_EX(outRpcGuid, p1, costType) end
--- crimeType: see _REPORT_CRIME
--- @param outRpcGuid number
--- @param crimeType number
--- @param p2 boolean
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_SELF_REPORT_CRIME(outRpcGuid, crimeType, p2) end
--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_SELF_REPORT_KILLED_BY_BOUNTY_HUNTER(outRpcGuid) end
--- @param gamerHandle number
--- @param bountyData number
--- @return boolean
function BOUNTY.BOUNTY_GET_BOUNTY_ON_PLAYER(gamerHandle, bountyData) end
--- @param rpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_IS_REQUEST_PENDING(rpcGuid) end
--- @param outRpcGuid number
--- @param p1 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_BEGIN_WANTED_POSTER(outRpcGuid, p1) end
--- @param p0 number
--- @return boolean
function BOUNTY._0x81847C2134039BDC(p0) end
--- @param outRpcGuid number
--- @param p1 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_COMPLETE_WANTED_POSTER(outRpcGuid, p1) end
--- @param outRpcGuid number
--- @param p1 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_COMPLETE_SPLIT_WANTED_POSTER(outRpcGuid, p1) end
function BOUNTY._BOUNTY_CANCEL_WANTED_POSTER() end
--- @param outRpcGuid number
--- @param p1 number
--- @param p2 number
--- @return boolean
function BOUNTY.BOUNTY_REQUEST_BEGIN_LEGENDARY_MISSION(outRpcGuid, p1, p2) end
--- @param outRpcGuid number
--- @param p1 number
--- @param p2 number
--- @return boolean
function BOUNTY.BOUNTY_REQUEST_BEGIN_LEGENDARY_MISSION_FOR_POSSE(outRpcGuid, p1, p2) end
--- @param outRpcGuid number
--- @param p1 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_COMPLETE_LEGENDARY_MISSION(outRpcGuid, p1) end
function BOUNTY._BOUNTY_CANCEL_LEGENDARY_MISSION() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function BOUNTY.BOUNTY_GET_WANTED_POSTER_SLOT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function BOUNTY.BOUNTY_GET_LEGENDARY_TARGET(p0, p1) end
--- _BOUNTY_C* or _BOUNTY_GET_*
--- @param p0 number
--- @return boolean
function BOUNTY._0x86EC5F83867C4B70(p0) end
--- @param p0 number
--- @return boolean
function BOUNTY.BOUNTY_GET_COOLDOWN_COLLECTION(p0) end
--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_BECOME_TARGET_OF_CHARACTER_BOUNTY_HUNT(outRpcGuid) end
--- _BOUNTY_IS_* or _BOUNTY_REQUEST_*
--- @param p0 number
--- @return boolean
function BOUNTY._0x27D3A0E1FE090A43(p0) end
--- @param outRpcGuid number
--- @param p1 number
--- @param p2 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_CLAIM_CHARACTER_BOUNTY(outRpcGuid, p1, p2) end
--- @param outRpcGuid number
--- @param p1 number
--- @param p2 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_POSSE_LEADER_CLAIM_CHARACTER_BOUNTY(outRpcGuid, p1, p2) end
--- @param outRpcGuid number
--- @param p1 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_POSSE_MEMBER_CLAIM_CHARACTER_BOUNTY_SHARE(outRpcGuid, p1) end
function BOUNTY._BOUNTY_CLEAR_BEING_BOUNTY_HUNTER() end
--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_ESCAPED_CHARACTER_BOUNTY_HUNT(outRpcGuid) end
--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_POSSE_LEADER_ESCAPED_CHARACTER_BOUNTY_HUNT(outRpcGuid) end
--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_POSSE_MEMBER_ESCAPED_CHARACTER_BOUNTY_HUNT(outRpcGuid) end
function BOUNTY._BOUNTY_CLEAR_BEING_TARGET() end
--- @param outRpcGuid number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_SERVED_FULL_JAIL_SENTENCE(outRpcGuid) end
--- @param outRpcGuid number
--- @param p1 number
--- @return boolean
function BOUNTY._BOUNTY_REQUEST_BRIBE_JAIL_GUARD(outRpcGuid, p1) end
--- _BOUNTY_GET_*
--- @return number
function BOUNTY._0xF8BCC5ECA33AC9C1() end
--- _BOUNTY_GET_*
--- @param p0 number
--- @return number
function BOUNTY._0xD6A67E2FF373D0E3(p0) end

BRAIN = {}

--- Registers a script for any object with a specific model hash.
--- @param scriptName string
--- @param modelHash number
--- @param p2 number
--- @param activationRange number
--- @param p4 number
--- @param p5 number
function BRAIN.REGISTER_OBJECT_SCRIPT_BRAIN(scriptName, modelHash, p2, activationRange, p4, p5) end
--- Returns threadId
--- @param entity number
--- @param scriptName string
--- @param scriptStackSize number
--- @param p3 boolean
--- @return number
function BRAIN._START_PRELOADED_SCRIPT_BRAIN(entity, scriptName, scriptStackSize, p3) end
--- Returns threadId
--- @param entity number
--- @param scriptName string
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
--- @return number
function BRAIN._START_SCRIPT_BRAIN(entity, scriptName, p2, p3, p4, p5) end
--- @param entity number
function BRAIN._REMOVE_SCRIPT_BRAIN_ENTITY(entity) end
--- @return number
function BRAIN._GET_SCRIPT_BRAIN_ENTITY() end
--- Common flags: 250, 99999
--- _SET_SCRIPT_BRAIN*
--- @param flag number
function BRAIN._0xA6AC35DB4A7957A8(flag) end
--- Called with flag 0 before 0xA6AC35DB4A7957A8 in net_entity_brain
--- _SET_SCRIPT_BRAIN*
--- @param flag number
function BRAIN._0x4AA5EA1EDFB25786(flag) end
--- @param brainSet number
function BRAIN.ENABLE_SCRIPT_BRAIN_SET(brainSet) end
--- @param brainSet number
function BRAIN.DISABLE_SCRIPT_BRAIN_SET(brainSet) end
--- Called before starting a new thread_monitor script thread in startup_mp/startup_tlg
--- Alternative name _REGISTER_SCRIPT_BRAIN
--- 
--- Old name: _PREPARE_SCRIPT_BRAIN
function BRAIN.REACTIVATE_ALL_OBJECT_BRAINS_THAT_ARE_WAITING_TILL_OUT_OF_RANGE() end
--- @param scriptName string
function BRAIN.REACTIVATE_NAMED_OBJECT_BRAINS_WAITING_TILL_OUT_OF_RANGE(scriptName) end

CAM = {}

--- ease - smooth transition between the camera's positions
--- easeTime - Time in milliseconds for the transition to happen
--- 
--- If you have created a script (rendering) camera, and want to go back to the
--- character (gameplay) camera, call this native with render set to FALSE.
--- Setting ease to TRUE will smooth the transition.
--- @param render boolean
--- @param ease boolean
--- @param easeTime number
--- @param p3 boolean
--- @param p4 boolean
--- @param renderingFlags number
function CAM.RENDER_SCRIPT_CAMS(render, ease, easeTime, p3, p4, renderingFlags) end
--- This native makes the gameplay camera zoom into first person/third person with a special effect.
--- blendBackSmoothingType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eBlendBackSmoothing
--- @param render boolean
--- @param distance number
--- @param blendBackSmoothingType number
--- @param p3 boolean
--- @param p4 boolean
--- @param p5 boolean
function CAM.STOP_RENDERING_SCRIPT_CAMS_USING_CATCH_UP(render, distance, blendBackSmoothingType, p3, p4, p5) end
--- @param camName string
--- @param p1 boolean
--- @return number
function CAM.CREATE_CAM(camName, p1) end
--- @param camName string
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param fov number
--- @param p8 boolean
--- @param p9 number
--- @return number
function CAM.CREATE_CAM_WITH_PARAMS(camName, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9) end
--- @param camHash number
--- @param p1 boolean
--- @return number
function CAM.CREATE_CAMERA(camHash, p1) end
--- @param camHash number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param fov number
--- @param p8 boolean
--- @param p9 number
--- @return number
function CAM.CREATE_CAMERA_WITH_PARAMS(camHash, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9) end
--- BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
--- @param cam number
--- @param p1 boolean
function CAM.DESTROY_CAM(cam, p1) end
--- BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
--- @param p0 boolean
function CAM.DESTROY_ALL_CAMS(p0) end
--- Returns whether or not the passed camera handle exists.
--- @param cam number
--- @return boolean
function CAM.DOES_CAM_EXIST(cam) end
--- Set camera as active/inactive.
--- @param cam number
--- @param active boolean
function CAM.SET_CAM_ACTIVE(cam, active) end
--- Returns whether or not the passed camera handle is active.
--- @param cam number
--- @return boolean
function CAM.IS_CAM_ACTIVE(cam) end
--- @param cam number
--- @return boolean
function CAM.IS_CAM_RENDERING(cam) end
--- @return number
function CAM.GET_RENDERING_CAM() end
--- @param cam number
--- @return { x: number, y: number, z: number }
function CAM.GET_CAM_COORD(cam) end
--- rotationOrder: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEulerRotationOrder
--- @param cam number
--- @param rotationOrder number
--- @return { x: number, y: number, z: number }
function CAM.GET_CAM_ROT(cam, rotationOrder) end
--- @param cam number
--- @return number
function CAM.GET_CAM_FOV(cam) end
--- @param cam number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param fieldOfView number
--- @param p8 number
--- @param graphType1 number
--- @param graphType2 number
--- @param rotationOrder number
--- @param p12 number
--- @param p13 number
function CAM.SET_CAM_PARAMS(cam, posX, posY, posZ, rotX, rotY, rotZ, fieldOfView, p8, graphType1, graphType2, rotationOrder, p12, p13) end
--- Sets the position of the cam.
--- @param cam number
--- @param posX number
--- @param posY number
--- @param posZ number
function CAM.SET_CAM_COORD(cam, posX, posY, posZ) end
--- Sets the rotation of the cam.
--- @param cam number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param rotationOrder number
function CAM.SET_CAM_ROT(cam, rotX, rotY, rotZ, rotationOrder) end
--- Sets the field of view of the cam.
--- 
--- Min: 1.0f
--- Max: 130.0f
--- @param cam number
--- @param fieldOfView number
function CAM.SET_CAM_FOV(cam, fieldOfView) end
--- @param cam number
--- @param nearClip number
function CAM.SET_CAM_NEAR_CLIP(cam, nearClip) end
--- @param cam number
--- @param farClip number
function CAM.SET_CAM_FAR_CLIP(cam, farClip) end
--- @param cam number
--- @param strength number
function CAM.SET_CAM_MOTION_BLUR_STRENGTH(cam, strength) end
function CAM._0xFC3F638BE2B6BB02() end
--- @param cam number
--- @param args number
function CAM._0xE4B7945EF4F1BFB2(cam, args) end
--- @param p0 number
function CAM._0x1FC6C727D30FFDDE(p0) end
--- Last param determines if its relative to the Entity
--- @param cam number
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param isRelative boolean
function CAM.ATTACH_CAM_TO_ENTITY(cam, entity, xOffset, yOffset, zOffset, isRelative) end
--- boneIndex: https://github.com/femga/rdr3_discoveries/tree/master/boneNames
--- @param cam number
--- @param ped number
--- @param boneIndex number
--- @param x number
--- @param y number
--- @param z number
--- @param heading boolean
function CAM.ATTACH_CAM_TO_PED_BONE(cam, ped, boneIndex, x, y, z, heading) end
--- @param cam number
function CAM.DETACH_CAM(cam) end
--- @param cam number
--- @param x number
--- @param y number
--- @param z number
function CAM.POINT_CAM_AT_COORD(cam, x, y, z) end
--- @param cam number
--- @param entity number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
function CAM.POINT_CAM_AT_ENTITY(cam, entity, p2, p3, p4, p5) end
--- @param cam number
function CAM.STOP_CAM_POINTING(cam) end
--- @param cam number
--- @param distance number
function CAM._SET_CAM_FOCUS_DISTANCE(cam, distance) end
--- @param cam number
--- @param pause boolean
function CAM._PAUSE_CAMERA_FOCUS(cam, pause) end
--- Allows you to aim and shoot at the direction the camera is facing.
--- @param cam number
--- @param toggle boolean
function CAM.SET_CAM_AFFECTS_AIMING(cam, toggle) end
--- @param cam number
--- @param p1 boolean
function CAM.SET_CAM_CONTROLS_MINI_MAP_HEADING(cam, p1) end
--- @param cam number
--- @param p1 boolean
function CAM.ALLOW_MOTION_BLUR_DECAY(cam, p1) end
--- p7 (length) determines the length of the spline, affects camera path and duration of transition between previous node and this one
--- 
--- p8 big values ~100 will slow down the camera movement before reaching this node
--- 
--- p9 != 0 seems to override the rotation/pitch (bool?)
--- @param camera number
--- @param x number
--- @param y number
--- @param z number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param length number
--- @param p8 number
--- @param p9 number
function CAM.ADD_CAM_SPLINE_NODE(camera, x, y, z, xRot, yRot, zRot, length, p8, p9) end
--- @param cam number
--- @param p1 number
function CAM.SET_CAM_SPLINE_PHASE(cam, p1) end
--- Can use this with SET_CAM_SPLINE_PHASE to set the float it this native returns.
--- 
--- (returns 1.0f when no nodes has been added, reached end of non existing spline)
--- @param cam number
--- @return number
function CAM.GET_CAM_SPLINE_PHASE(cam) end
--- @param cam number
--- @param timeDuration number
function CAM.SET_CAM_SPLINE_DURATION(cam, timeDuration) end
--- @param cam number
--- @param smoothingStyle number
function CAM.SET_CAM_SPLINE_SMOOTHING_STYLE(cam, smoothingStyle) end
--- @param camTo number
--- @param camFrom number
--- @param duration number
--- @param easeLocation number
--- @param easeRotation number
function CAM.SET_CAM_ACTIVE_WITH_INTERP(camTo, camFrom, duration, easeLocation, easeRotation) end
--- @param cam number
--- @return boolean
function CAM.IS_CAM_INTERPOLATING(cam) end
--- @param cam number
--- @param type string
--- @param amplitude number
function CAM.SHAKE_CAM(cam, type, amplitude) end
--- @param cam number
--- @return boolean
function CAM.IS_CAM_SHAKING(cam) end
--- @param cam number
--- @param p1 boolean
function CAM.STOP_CAM_SHAKING(cam, p1) end
--- @param cam number
--- @param animName string
--- @param animDictionary string
--- @param x number
--- @param y number
--- @param z number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param animFlags number
--- @param rotOrder number
--- @return boolean
function CAM.PLAY_CAM_ANIM(cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, animFlags, rotOrder) end
function CAM._0xCF69EA05CD9C33C9() end
--- Only used in R* Script camera_photomode
--- @return boolean
function CAM._IS_ANIM_SCENE_CAM_ACTIVE() end
--- @return boolean
function CAM.IS_SCREEN_FADED_OUT() end
--- @return boolean
function CAM.IS_SCREEN_FADED_IN() end
--- @return boolean
function CAM.IS_SCREEN_FADING_OUT() end
--- @return boolean
function CAM.IS_SCREEN_FADING_IN() end
--- Fades the screen in.
--- 
--- duration: The time the fade should take, in milliseconds.
--- @param duration number
function CAM.DO_SCREEN_FADE_IN(duration) end
--- Fades the screen out.
--- 
--- duration: The time the fade should take, in milliseconds.
--- @param duration number
function CAM.DO_SCREEN_FADE_OUT(duration) end
--- More info: https://en.wikipedia.org/wiki/Letterboxing_(filming)
--- @return boolean
function CAM.HAS_LETTER_BOX() end
--- Creates Cinematic Black Bars (at top and bottom)
--- Disable instantly: false/false, Enable instantly: true/true
--- @param p0 boolean
--- @param p1 boolean
function CAM._REQUEST_LETTER_BOX_NOW(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 number
--- @param p4 boolean
--- @param p5 boolean
function CAM._REQUEST_LETTER_BOX_OVERTIME(p0, p1, p2, p3, p4, p5) end
function CAM._FORCE_LETTER_BOX_THIS_UPDATE() end
--- More info: see HAS_LETTER_BOX
--- @return number
function CAM.GET_LETTER_BOX_RATIO() end
--- @return number
function CAM._0x73FF6BE63DC18819() end
--- @return number
function CAM._0x450769C833D58844() end
--- @param p0 boolean
--- @param p1 number
function CAM.SET_WIDESCREEN_BORDERS(p0, p1) end
--- @return { x: number, y: number, z: number }
function CAM.GET_GAMEPLAY_CAM_COORD() end
--- @param rotationOrder number
--- @return { x: number, y: number, z: number }
function CAM.GET_GAMEPLAY_CAM_ROT(rotationOrder) end
--- @return number
function CAM.GET_GAMEPLAY_CAM_FOV() end
--- @param p0 number
function CAM.SET_GAMEPLAY_CAM_MAX_MOTION_BLUR_STRENGTH_THIS_UPDATE(p0) end
--- @return number
function CAM.GET_GAMEPLAY_CAM_RELATIVE_HEADING() end
--- Sets the camera position relative to heading in float from -360 to +360.
--- 
--- Heading is always 0 in aiming camera.
--- @param heading number
--- @param p1 number
function CAM.SET_GAMEPLAY_CAM_RELATIVE_HEADING(heading, p1) end
--- @return number
function CAM.GET_GAMEPLAY_CAM_RELATIVE_PITCH() end
--- Sets the camera pitch.
--- 
--- Parameters:
--- x = pitches the camera on the x axis.
--- Value2 = always seems to be hex 0x3F800000 (1.000000 float).
--- @param x number
--- @param Value2 number
function CAM.SET_GAMEPLAY_CAM_RELATIVE_PITCH(x, Value2) end
--- @param p0 number
function CAM._0x0961B089947BA6D0(p0) end
function CAM._0x04084490CC302CFB() end
--- @param p0 boolean
function CAM.SET_SCRIPTED_CAMERA_IS_FIRST_PERSON_THIS_FRAME(p0) end
--- Returns true if player is in first person
--- @return boolean
function CAM._IS_IN_FULL_FIRST_PERSON_MODE() end
--- @param shakeName string
--- @param intensity number
function CAM.SHAKE_GAMEPLAY_CAM(shakeName, intensity) end
--- shakeName: REINFORCED_LASSO_STRUGGLE_SHAKE
--- _RES*
--- @param shakeName string
--- @param intensity number
function CAM._0xC3E9E5D4F413B773(shakeName, intensity) end
--- @return boolean
function CAM.IS_GAMEPLAY_CAM_SHAKING() end
--- shakeNames in script_rel: CORRECTOR_SHAKE, MINIGAME_BOUNTY_SHAKE, POV_DRUNK_SHAKE, DRUNK_SHAKE, MINIGAME_TRAIN_SHAKE
--- _IS_GAMEPLAY_*
--- @param shakeName string
--- @return boolean
function CAM._0x0060B31968E60E41(shakeName) end
--- Sets the amplitude for the gameplay (i.e. 3rd or 1st) camera to shake.
--- @param amplitude number
function CAM.SET_GAMEPLAY_CAM_SHAKE_AMPLITUDE(amplitude) end
--- _SET_GAMEPLAY_P* - _SET_GAMEPLAY_V*
--- @param shakeName string
--- @param intensity number
function CAM._0xFEFDDC6E8FDF8A75(shakeName, intensity) end
--- @param p0 boolean
function CAM.STOP_GAMEPLAY_CAM_SHAKING(p0) end
--- script_rel: DRUNK_SHAKE, REINFORCED_LASSO_STRUGGLE_SHAKE, CORRECTOR_SHAKE, MINIGAME_BOUNTY_SHAKE, HAND_SHAKE, MINIGAME_TRAIN_SHAKE
--- script_mp_rel: DRUNK_SHAKE, REINFORCED_LASSO_STRUGGLE_SHAKE
--- _STOP_GAMEPLAY_CAM* - _STOP_I*
--- @param shakeName string
--- @param p1 boolean
function CAM._STOP_GAMEPLAY_CAM_SHAKING_WITH_NAME(shakeName, p1) end
--- Forces gameplay cam to specified ped as if you were the ped or spectating it
--- @param ped number
function CAM.SET_GAMEPLAY_CAM_FOLLOW_PED_THIS_UPDATE(ped) end
--- @return boolean
function CAM.IS_GAMEPLAY_CAM_RENDERING() end
--- @return boolean
function CAM.IS_INTERPOLATING_FROM_SCRIPT_CAMS() end
--- @return boolean
function CAM.IS_INTERPOLATING_TO_SCRIPT_CAMS() end
--- @return boolean
function CAM.IS_GAMEPLAY_CAM_LOOKING_BEHIND() end
--- Old name: _DISABLE_CAM_COLLISION_FOR_ENTITY
--- @param entity number
function CAM.SET_GAMEPLAY_CAM_IGNORE_ENTITY_COLLISION_THIS_UPDATE(entity) end
--- @param entity number
function CAM.DISABLE_CAM_COLLISION_FOR_OBJECT(entity) end
--- @param p0 number
function CAM._0x39073DA4EDDBC91D(p0) end
function CAM._0x70A6658D476C6187() end
function CAM._0x18C3DFAC458783BB() end
function CAM._0xF1A6FEEDF3776EF9() end
function CAM._0xE6F364DE6C2FDEFE() end
--- NPLOI_UPDATE__GUN_SPINNING_PREVIEW - Adjusting Camera / Ped Reset Flags This Frame
--- _DISABLE_*
function CAM._0x0F1FFEF5D54AE832() end
function CAM._0x3C8F74E8FE751614() end
function CAM._0x06557F6D96C86881() end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function CAM.IS_SPHERE_VISIBLE(x, y, z, radius) end
--- @return number
function CAM._0x190F7DA1AC09A8EF() end
--- Used in Script Function SHOP_CAMERA_SUPPORT_START_NEW_ORBIT
--- @param camInitialZoom number
function CAM._SET_GAMEPLAY_CAM_INITIAL_ZOOM(camInitialZoom) end
--- @param camInitialHeading number
function CAM._SET_GAMEPLAY_CAM_INITIAL_HEADING(camInitialHeading) end
--- @param camInitialPitch number
function CAM._SET_GAMEPLAY_CAM_INITIAL_PITCH(camInitialPitch) end
--- minimum: Degrees between -180f and 180f.
--- maximum: Degrees between -180f and 180f.
--- 
--- Clamps the gameplay camera's current yaw.
--- 
--- Eg. _CLAMP_GAMEPLAY_CAM_YAW(0.0f, 0.0f) will set the horizontal angle directly behind the player.
--- 
--- Old name: _CLAMP_GAMEPLAY_CAM_YAW
--- @param minimum number
--- @param maximum number
function CAM.SET_THIRD_PERSON_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE(minimum, maximum) end
--- minimum: Degrees between -90f and 90f.
--- maximum: Degrees between -90f and 90f.
--- 
--- Clamps the gameplay camera's current pitch.
--- 
--- Eg. _CLAMP_GAMEPLAY_CAM_PITCH(0.0f, 0.0f) will set the vertical angle directly behind the player.
--- 
--- Old name: _CLAMP_GAMEPLAY_CAM_PITCH
--- @param minimum number
--- @param maximum number
function CAM.SET_THIRD_PERSON_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE(minimum, maximum) end
--- Old name: _ANIMATE_GAMEPLAY_CAM_ZOOM
--- @param p0 number
--- @param distance number
function CAM.SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE(p0, distance) end
--- Forces gameplay cam to specified vehicle as if you were in it
--- @param vehicle number
--- @param p1 number
function CAM.SET_IN_VEHICLE_CAM_STATE_THIS_UPDATE(vehicle, p1) end
--- Old name: _DISABLE_FIRST_PERSON_CAM_THIS_FRAME
function CAM.DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE() end
--- nullsub, doesn't do anything
function CAM.DISABLE_FIRST_PERSON_FLASH_EFFECT_THIS_UPDATE() end
function CAM._DISABLE_CINEMATIC_MODE_THIS_FRAME() end
--- @return boolean
function CAM._IS_IN_CINEMATIC_MODE() end
--- Forces camera position to closest 3rd person
function CAM._FORCE_THIRD_PERSON_CLOSE_THIS_FRAME() end
--- Forces camera position to second furthest 3rd person
function CAM._FORCE_THIRD_PERSON_CAM_THIS_FRAME() end
--- Forces camera position to furthest 3rd person
function CAM._FORCE_THIRD_PERSON_CAM_FAR_THIS_FRAME() end
--- Returns true if first person camera is active in saloon1.ysc
--- @return boolean
function CAM._FORCE_FIRST_PERSON_CAM_THIS_FRAME() end
--- Does the same as 0x9C473089A934C930 (DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE)
function CAM._DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE_2() end
--- Zooms in the gameplay camera to the next zoom level?
--- USE_* - WAS_*
function CAM._0x632BE8D84846FA56() end
--- Zooms in the third person camera closer to ground level.
--- Must be called every frame to interpolate.
--- Pass false to reset.
--- @param toggle boolean
function CAM._0x71D71E08A7ED5BD7(toggle) end
--- @return boolean
function CAM.IS_FOLLOW_VEHICLE_CAM_ACTIVE() end
function CAM._0x7E40A01B11398FCB() end
--- @return boolean
function CAM.IS_AIM_CAM_ACTIVE() end
--- @return boolean
function CAM.IS_FIRST_PERSON_AIM_CAM_ACTIVE() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function CAM.IS_FIRST_PERSON_CAMERA_ACTIVE(p0, p1, p2) end
--- @return number
function CAM._0xDC62CD70658E7A02() end
--- @return number
function CAM._0x796085220ADCC847() end
--- @return number
function CAM._0xB6A80E1E3A5444F1() end
--- @return number
function CAM._0x8B1A5FE7E41E52B2() end
--- @return number
function CAM.GET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR() end
--- @param p0 number
--- @param p1 number
function CAM.SET_FIRST_PERSON_AIM_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE(p0, p1) end
--- Old name: _SET_FIRST_PERSON_CAM_PITCH_RANGE
--- @param p0 number
--- @param p1 number
function CAM.SET_FIRST_PERSON_AIM_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE(p0, p1) end
--- @param p0 number
function CAM._0xC205B3C54C6A4E37(p0) end
--- @return { x: number, y: number, z: number }
function CAM.GET_FINAL_RENDERED_CAM_COORD() end
--- @param rotationOrder number
--- @return { x: number, y: number, z: number }
function CAM.GET_FINAL_RENDERED_CAM_ROT(rotationOrder) end
--- @return number
function CAM.GET_FINAL_RENDERED_CAM_FOV() end
--- Hash used in finale1.ysc: 1726668277
--- @param x number
--- @param y number
--- @param z number
--- @param duration number
--- @param blendOutDuration number
--- @param blendInDuration number
--- @param p6 number
function CAM.SET_GAMEPLAY_COORD_HINT(x, y, z, duration, blendOutDuration, blendInDuration, p6) end
--- @param p0 number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param p4 boolean
--- @param p5 number
--- @param p6 number
--- @param p7 number
function CAM.SET_GAMEPLAY_PED_HINT(p0, x1, y1, z1, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
--- @param p5 number
--- @param p6 number
--- @param p7 number
function CAM.SET_GAMEPLAY_VEHICLE_HINT(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
--- @param p5 number
--- @param p6 number
--- @param p7 number
function CAM.SET_GAMEPLAY_OBJECT_HINT(p0, p1, p2, p3, p4, p5, p6, p7) end
--- p6 & p7 - possibly length or time
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param p4 boolean
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function CAM.SET_GAMEPLAY_ENTITY_HINT(entity, xOffset, yOffset, zOffset, p4, p5, p6, p7, p8) end
--- @return boolean
function CAM.IS_GAMEPLAY_HINT_ACTIVE() end
--- @param p0 boolean
function CAM.STOP_GAMEPLAY_HINT(p0) end
--- @param p0 boolean
function CAM.STOP_CODE_GAMEPLAY_HINT(p0) end
--- UPDATE_PLAYER_PLAYING_STATE - Releasing Lasso Hint Cam
--- Return type char in ida
--- _SET_GAMEPLAY_HINT_*
--- @param p0 boolean
function CAM._0x88544C0E3291DCAE(p0) end
--- @param FOV number
function CAM.SET_GAMEPLAY_HINT_FOV(FOV) end
--- @param p0 number
function CAM.SET_GAMEPLAY_HINT_FOLLOW_DISTANCE_SCALAR(p0) end
--- @param p0 number
function CAM.SET_GAMEPLAY_HINT_BASE_ORBIT_PITCH_OFFSET(p0) end
--- Old name: _SET_GAMEPLAY_HINT_ANIM_OFFSETX
--- @param p0 number
function CAM.SET_GAMEPLAY_HINT_CAMERA_RELATIVE_SIDE_OFFSET(p0) end
--- Old name: _SET_GAMEPLAY_HINT_ANIM_OFFSETY
--- @param p0 number
function CAM.SET_GAMEPLAY_HINT_CAMERA_RELATIVE_VERTICAL_OFFSET(p0) end
--- @param p0 number
--- @param p1 number
function CAM._0xF48664E9C83825E3(p0, p1) end
--- @param p0 number
--- @param p1 number
function CAM._0x1F6EBD94680252CE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function CAM._0xE28F73212A813E82(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function CAM._0x4D2F46D1B28D90FB(p0, p1) end
--- [SHOP_CAMERA_SUPPORT_START_NEW_ORBIT]
--- p0: struct<32> /*256*/
--- @param p0 number
function CAM._START_CAMERA_ORBIT(p0) end
function CAM._0x641092322A8852AB() end
--- @param p0 number
function CAM._0xDB382FE20C2DA222(p0) end
--- @param p0 number
function CAM._0x2DD3149DC34A3F4C(p0) end
function CAM._FREEZE_GAMEPLAY_CAM_THIS_FRAME() end
function CAM._0x3C486E334520579D() end
function CAM._0x41E452A3C580D1A7() end
--- @param p0 boolean
function CAM.SET_CINEMATIC_BUTTON_ACTIVE(p0) end
--- @return boolean
function CAM.IS_CINEMATIC_CAM_RENDERING() end
--- Old name: _DISABLE_VEHICLE_FIRST_PERSON_CAM_THIS_FRAME
function CAM.DISABLE_CINEMATIC_BONNET_CAMERA_THIS_UPDATE() end
--- Old name: _INVALIDATE_VEHICLE_IDLE_CAM
function CAM.INVALIDATE_CINEMATIC_VEHICLE_IDLE_MODE() end
--- @param p0 boolean
function CAM.FORCE_CINEMATIC_RENDERING_THIS_UPDATE(p0) end
--- @param p0 number
function CAM._0x9AC65A36D3C0C189(p0) end
--- _IS_SCRIPTED_S*
--- @return boolean
function CAM._0x975F6EBB62632FE3() end
--- @param p0 boolean
function CAM.SET_CINEMATIC_MODE_ACTIVE(p0) end
--- @return boolean
function CAM._0x1811A02277A9E49D() end
--- Used for DUELING_MANAGE_DEATH_CAMERA - Initializing death camera
--- Params: targetPed = death cam focuses on it
--- @param targetPed number
function CAM._FORCE_CINEMATIC_DEATH_CAM_ON_PED(targetPed) end
--- Used to enable headshot kill replay when you headshot set ped.
--- Params: p1 seems to be 0 or 1 in R* Scripts
--- @param ped number
--- @param p1 number
function CAM._REACTIVATE_PED_HEADSHOT_EXECUTE_SLOWCAM(ped, p1) end
--- @param p0 number
function CAM._0x5B637D6F3B67716A(p0) end
--- @param p0 number
function CAM._0xC252C0CC969AF79A(p0) end
--- @param p0 number
function CAM._0xE2BB2D6A9FE2ECDE(p0) end
--- Used for DUELING_MANAGE_DEATH_CAMERA - Initializing death camera
--- _SET_P* - _SET_S*
--- @param p0 boolean
function CAM._SET_START_CINEMATIC_DEATH_CAM(p0) end
--- @return number
function CAM._0x6072B7420A83A03F() end
--- Used for DUELING_LOCK_CAMERA_CONTROLS_THIS_FRAME: Disabling look/aim controls
--- _IS_SC(REEN_)* (?)
--- @return boolean
function CAM._0x1204EB53A5FBC63D() end
--- @param p0 number
function CAM._0x6519238858AF5479(p0) end
--- Creates Kill Cam for specified Ped Handle
--- @param ped number
function CAM._CREATE_KILL_CAM(ped) end
--- @return boolean
function CAM._IS_CAM_PHOTOFX_RUNNING() end
--- @return number
function CAM._0x6DFD37E586D4F44F() end
--- @return number
function CAM._0x80D7A3E39B120BC4() end
--- Maintains the death camera after respawn
--- @param toggle boolean
function CAM._0x63E5841A9264D016(toggle) end
function CAM._TRIGGER_MISSION_FAILED_CAM() end
function CAM._0x16E9ABDD34DDD931() end
--- @return boolean
function CAM.IS_DEATH_FAIL_CAMERA_RUNNING() end
--- @return number
function CAM._0x7CE9DC58E3E4755F() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function CAM._0x3B8E3AD9677CE12B(p0, p1, p2) end
--- @param p0 number
function CAM._0xDF7F5BE9150E47E4(p0) end
--- @param p0 number
function CAM._0xB85C13E0BF1F2A1C(p0) end
--- Sets the third person gameplay camera zoom level and blends in.
--- Must be called every frame to interpolate.
--- Offset and distance permanently affects subtle zoom in weapon wheel and possibly in menus too.
--- 
--- Params: p1 and p3 are usually true.
--- @param speed number
--- @param respectHorizontalOffset boolean
--- @param horizontalOffset number
--- @param respectDistance boolean
--- @param distance number
function CAM._SET_GAMEPLAY_CAM_PARAMS_THIS_UPDATE(speed, respectHorizontalOffset, horizontalOffset, respectDistance, distance) end
--- NPLOI_UPDATE__GUN_SPINNING_PREVIEW - Adjusting Camera / Ped Reset Flags This Frame
--- _DISABLE_*
function CAM._0xA8BA2E0204D8486F() end
--- Camera will be or is running
function CAM._0xC3742F1FDF0A6824() end
--- @param p0 number
--- @param p1 number
function CAM._0x0FF7125F07DEB84F(p0, p1) end
function CAM._0x6CAB0BA160B168D2() end
--- @param locationDictName string
function CAM._LOAD_CINEMATIC_CAM_LOCATION(locationDictName) end
--- @param dictionaryName string
function CAM._UNLOAD_CINEMATIC_CAMERA_LOCATION(dictionaryName) end
--- @param sLocationDictName string
--- @return boolean
function CAM._IS_CINEMATIC_CAM_LOCATION_LOADED(sLocationDictName) end
--- Checks data related to Cinematic Cam Locations, if the check fails, the location is being loaded using 0x1B3C2D961F5FC0E1.
--- @param locationDictName string
--- @return boolean
function CAM._IS_CINEMATIC_CAM_LOCATION_LOADED_2(locationDictName) end
--- @param dictionary string
--- @param shotName string
--- @param duration number
--- @return number
function CAM._0x465F04F68AD38197(dictionary, shotName, duration) end
--- @param dictionary string
--- @param shotName string
--- @param duration number
--- @return number
function CAM._0xEA113BF9B0C0C5D7(dictionary, shotName, duration) end
--- @param dictionary string
--- @param shotName string
--- @param duration number
function CAM._CINEMATIC_LOCATION_TRIGGER_SCRIPTED_SHOT_EVENT_2(dictionary, shotName, duration) end
--- @param dictionary string
--- @param shotName string
--- @param cameraName string
--- @param p3 number
function CAM.CINEMATIC_LOCATION_TRIGGER_SCRIPTED_SHOT_EVENT(dictionary, shotName, cameraName, p3) end
--- @param dictionary string
--- @param shotName string
--- @param duration number
function CAM._0xA54D643D0773EB65(dictionary, shotName, duration) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function CAM.CINEMATIC_LOCATION_STOP_SCRIPTED_SHOT_EVENT(p0, p1, p2) end
--- @param dictionary string
--- @param shotName string
--- @param duration number
--- @return boolean
function CAM._0xC3AEBB276825A359(dictionary, shotName, duration) end
--- @param dictionary string
--- @param shotName string
--- @param cameraName string
--- @return boolean
function CAM._0x1D931B7CC0EE3956(dictionary, shotName, cameraName) end
--- @param name string
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
function CAM._CINEMATIC_LOCATION_SET_LOCATION_AND_ROTATION(name, x, y, z, rotX, rotY, rotZ) end
--- Only used in R* Script fm_mission_controller
--- @param name string
--- @param entity number
function CAM.CINEMATIC_LOCATION_OVERRIDE_TARGET_ENTITY_THIS_UPDATE(name, entity) end
--- @param cameraDictionary string
function CAM._LOAD_CAMERA_DATA_DICT(cameraDictionary) end
--- @param cameraDictionary string
function CAM._UNLOAD_CAMERA_DATA_DICT(cameraDictionary) end
--- @param cameraDictionary string
--- @return boolean
function CAM._IS_CAM_DATA_DICT_LOADED(cameraDictionary) end
--- @param cameraDictionary string
--- @return boolean
function CAM._0xC285FD21294A1C49(cameraDictionary) end
--- @param cameraDictionary string
function CAM._CAM_CREATE(cameraDictionary) end
--- @param cameraDictionary string
function CAM._CAM_DESTROY(cameraDictionary) end
--- @param cameraDictionary string
--- @return boolean
function CAM._IS_CAMERA_AVAILABLE(cameraDictionary) end
--- @param p0 number
--- @param p1 number
--- @return number
function CAM._0x4138EE36BC3DC0A7(p0, p1) end
--- @param p0 number
--- @param p1 number
function CAM._0xFEB8646818294C75(p0, p1) end
--- @param p0 number
function CAM._0x29E6655DF3590B0D(p0) end
--- @param cameraDictionary string
function CAM._0xAC77757C05DE9E5A(cameraDictionary) end
--- @param p0 number
function CAM._0x8E036B41C37D0E5F(p0) end
--- @param p0 number
function CAM._0x1D9F72DD4FD9A9D7(p0) end
--- @param cameraDictionary string
function CAM._CAM_CREATE_2(cameraDictionary) end
--- @param p0 number
function CAM._0x728491FB3DFFEF99(p0) end
--- @return number
function CAM._0x14C4A49E36C29E49() end
--- @return number
function CAM._0xF824530B612FE0CE() end
--- @return number
function CAM._0xEF9A3132A0AA6B19() end
--- @return number
function CAM._0x5060FA977CEA4455() end
--- @return number
function CAM._GET_PHOTO_MODE_FOCAL_LENGTH() end
--- @return number
function CAM._GET_PHOTO_MODE_FOCUS_DISTANCE() end
--- @return number
function CAM._GET_PHOTO_MODE_DOF() end
--- @return number
function CAM._0x2AB7C81B3F70570C() end
--- @param p0 number
function CAM._0x8505E05FC8822843(p0) end

CLOCK = {}

--- SET_CLOCK_TIME(12, 34, 56);
--- @param hour number
--- @param minute number
--- @param second number
function CLOCK.SET_CLOCK_TIME(hour, minute, second) end
--- @param toggle boolean
--- @param unused number
function CLOCK.PAUSE_CLOCK(toggle, unused) end
--- @param toggle boolean
function CLOCK._PAUSE_CLOCK_THIS_FRAME(toggle) end
--- @param hour number
--- @param minute number
--- @param second number
function CLOCK.ADVANCE_CLOCK_TIME_TO(hour, minute, second) end
--- @param hours number
--- @param minutes number
--- @param seconds number
function CLOCK.ADD_TO_CLOCK_TIME(hours, minutes, seconds) end
--- Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9)
--- @return number
function CLOCK.GET_CLOCK_HOURS() end
--- Gets the current ingame clock minute.
--- @return number
function CLOCK.GET_CLOCK_MINUTES() end
--- Gets the current ingame clock second. Note that ingame clock seconds change really fast since a day in RDR is only 48 minutes in real life.
--- @return number
function CLOCK.GET_CLOCK_SECONDS() end
--- @param ms number
function CLOCK._SET_MILLISECONDS_PER_GAME_MINUTE(ms) end
--- Base year is 1898.
--- @return number
function CLOCK._GET_SECONDS_SINCE_BASE_YEAR() end
--- @param day number
--- @param month number
--- @param year number
function CLOCK.SET_CLOCK_DATE(day, month, year) end
--- Gets the current day of the week.
--- 
--- 0: Sunday
--- 1: Monday
--- 2: Tuesday
--- 3: Wednesday
--- 4: Thursday
--- 5: Friday
--- 6: Saturday
--- @return number
function CLOCK.GET_CLOCK_DAY_OF_WEEK() end
--- @return number
function CLOCK.GET_CLOCK_DAY_OF_MONTH() end
--- @return number
function CLOCK.GET_CLOCK_MONTH() end
--- @return number
function CLOCK.GET_CLOCK_YEAR() end
--- @return number
function CLOCK.GET_MILLISECONDS_PER_GAME_MINUTE() end
--- @param year any
--- @param month any
--- @param day any
--- @param hour any
--- @param minute any
--- @param second any
function CLOCK.GET_POSIX_TIME(year, month, day, hour, minute, second) end
--- Same as GET_POSIX_TIME except that it takes a single pointer to a struct.
--- @param outTime number
function CLOCK._GET_POSIX_TIME_STRUCT(outTime) end
--- @param inDateTime number
--- @param timeToAdd number
--- @param outDateTime number
function CLOCK._ADD_TIME_TO_DATE_TIME(inDateTime, timeToAdd, outDateTime) end

COLLECTION = {}

--- Used in Script Function NET_COLLECTABLES_HANDLE_ITEM_ADDED
--- Returns collectableCategory Hash
--- @param collectableItem number
--- @return number
function COLLECTION._COLLECTABLE_GET_CATEGORY(collectableItem) end
--- @param collectableItem number
--- @return number
function COLLECTION._COLLECTABLE_GET_SUBCATEGORY(collectableItem) end
--- @param collectableItem number
--- @return number
function COLLECTION._COLLECTABLE_GET_IPL(collectableItem) end
--- @param collectableItem number
--- @return { x: number, y: number, z: number }
function COLLECTION._COLLECTABLE_GET_PLACEMENT_LOCATION(collectableItem) end
--- @param collectableItem number
--- @return number
function COLLECTION._COLLECTABLE_GET_NUM_FOUND(collectableItem) end
--- @param collectableItem number
--- @return number
function COLLECTION._COLLECTABLE_GET_NUM_TURNED_IN(collectableItem) end
--- @param collectableItem number
--- @param amount number
function COLLECTION._COLLECTABLE_INCREMENT_NUM_FOUND(collectableItem, amount) end
--- @param collectableItem number
--- @param amount number
function COLLECTION._COLLECTABLE_INCREMENT_NUM_TURNED_IN(collectableItem, amount) end
--- @param collectableCategory number
--- @param collectableSubcategory number
--- @return number
function COLLECTION._COLLECTABLE_CATEGORY_GET_NUM_COLLECTABLES(collectableCategory, collectableSubcategory) end
--- @param index number
--- @param collectableCategory number
--- @param collectableSubcategory number
--- @return number
function COLLECTION._COLLECTABLE_GET_COLLECTABLE_ITEM_HASH(index, collectableCategory, collectableSubcategory) end
--- @param collectableCategory number
--- @param collectableSubcategory number
--- @return number
function COLLECTION._COLLECTABLE_CATEGORY_GET_NUM_FOUND(collectableCategory, collectableSubcategory) end
--- @param collectableCategory number
--- @param collectableSubcategory number
--- @return number
function COLLECTION._COLLECTABLE_CATEGORY_GET_NUM_TURNED_IN(collectableCategory, collectableSubcategory) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0x33825A7388A6B9F6(collectableCategory, p1) end
--- Returns p2 (index?) for 0xB9020EC89C07DF04
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0x755901C7598B97BC(collectableCategory, p1) end
--- Accepts more hashes than 0xCC644BC1DD655269
--- Such as: CAROLINA_PARAKEETS, DINO_BONES, EGRET_FEATHERS, ...
--- @param collectableCategory number
--- @param p1 number
--- @param index number
--- @return number
function COLLECTION._0xB9020EC89C07DF04(collectableCategory, p1, index) end
--- @param collectableCategory number
--- @param p1 number
--- @return boolean
function COLLECTION._0xFC832B06127D8E99(collectableCategory, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function COLLECTION.COLLECTABLE_CATEGORY_SET_HAS_RECEIVED_LIST(p0, p1, p2) end
--- Params: collectableCategory = WEEKLY_COLLECTABLES
--- @param collectableCategory number
--- @param p1 number
--- @return boolean
function COLLECTION._0x6BAB7ACED1017204(collectableCategory, p1) end
--- Params: collectableCategory = WEEKLY_COLLECTABLES
--- @param collectableCategory number
--- @param p1 number
--- @return boolean
function COLLECTION._0x61BEFBA3CE7A3BC8(collectableCategory, p1) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0xC4AC39719C1BB559(collectableCategory, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function COLLECTION._0x93F2E7B5DB85657B(p0, p1) end
--- collectableCategory: ANTIQUE_BOTTLES, BIRD_EGGS, ARROWHEADS, FAMILY_HEIRLOOMS, WILD_FLOWERS, COINS, LOST_JEWELRY_RINGS, LOST_JEWELRY_BRACELETS, LOST_JEWELRY_EARRINGS, LOST_JEWELRY_NECKLACES, TAROT_CARDS_CUPS, TAROT_CARDS_PENTACLES, TAROT_CARDS_SWORDS, TAROT_CARDS_WANDS, FOSSILS_COMMON, FOSSILS_UNCOMMON, FOSSILS_RARE
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION.COLLECTABLE_GET_CATEGORY_ITEM_SET_BUY_AWARD(collectableCategory, p1) end
--- Params: collectableCategory = WEEKLY_COLLECTABLES
--- @param collectableCategory number
--- @return number
function COLLECTION._0x9ADEE485726025D4(collectableCategory) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0xD1806FB3EDED6D11(collectableCategory, p1) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0x3FD91F1A148A0468(collectableCategory, p1) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0xC3CA424E1F12ED0C(collectableCategory, p1) end
--- @param collectableCategory number
--- @param collectableSubcategory number
--- @return number
function COLLECTION._COLLECTABLE_CATEGORY_GET_TOAST_TEXTURE_NAME(collectableCategory, collectableSubcategory) end
--- @param collectableCategory number
--- @param collectableSubcategory number
--- @return number
function COLLECTION._COLLECTABLE_CATEGORY_GET_TOAST_TEXTURE_DICTIONARY(collectableCategory, collectableSubcategory) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0xD297F68928A58130(collectableCategory, p1) end
--- @param collectableCategory number
--- @param p1 number
--- @return number
function COLLECTION._0x775FA1FC87666847(collectableCategory, p1) end
--- Returns discoveredItemHash
--- _COLLECTABLE_C* - _COLLECTABLE_G*
--- @param collectableItem number
--- @return number
function COLLECTION._COLLECTABLE_SET_ITEM_HASH_DISCOVERED(collectableItem) end

COMPANION = {}

--- @param ped number
--- @param p1 number
function COMPANION._0xD730281E496621FB(ped, p1) end
--- @param p0 number
--- @param p1 number
function COMPANION._0xBF6583E926D13890(p0, p1) end
--- @param p0 number
--- @param p1 number
function COMPANION._0x0A8FD91EDE7B328A(p0, p1) end
--- @param p0 number
--- @param p1 number
function COMPANION._0x991E3346D788F20F(p0, p1) end
--- @param p0 number
--- @param p1 number
function COMPANION._0xCE27824B5968B79A(p0, p1) end
--- @param p0 number
--- @param p1 number
function COMPANION._0xF06CBB8CCCA823C0(p0, p1) end
--- @param ped number
--- @param p1 number
function COMPANION._0x2917E634206B9E17(ped, p1) end
--- @param ped number
--- @param p1 string
function COMPANION._0xD428C3F92FC3F6F8(ped, p1) end
--- Used for Script Function NET_FETCH_CLIENT_ACTIVATE_COMAPNION_ANALYSIS: Hiding! Ped
--- @param ped number
--- @param p1 number
function COMPANION._ADD_COMPANION_FLAG(ped, p1) end
--- @param ped number
--- @param p1 number
function COMPANION._REMOVE_COMPANION_FLAG(ped, p1) end
--- @param ped number
--- @param p1 number
function COMPANION._0x0DE02DA3C0F66955(ped, p1) end
--- enum _0x18F77396
--- @param groupId number
--- @param activity number
function COMPANION._SET_COMPANION_ACTIVITY(groupId, activity) end
--- enum _0x18F77396
--- @param groupId number
--- @return number
function COMPANION._GET_COMPANION_ACTIVITY(groupId) end
--- @param p0 number
--- @param p1 number
function COMPANION._0xA079FF7CFB9AC8BD(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function COMPANION._0x61BDA07407754A5C(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function COMPANION._0xD55A871E1CE3481B(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function COMPANION._0x0C6A00DAE896614C(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function COMPANION._0x8FB98B719AA0075A(p0, p1, p2, p3, p4) end
--- @param p0 number
function COMPANION._0x9C902084F48D2E6C(p0) end
--- @param p0 number
function COMPANION._0xD747979C053EFA7A(p0) end
--- @param volume number
--- @param p1 number
--- @param p2 number
function COMPANION._0x3CAAD93FA5B9579A(volume, p1, p2) end
--- @param p0 number
function COMPANION._0x7274F84B1501B523(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function COMPANION._0x722FBE08EF5B87BD(p0, p1, p2, p3, p4) end
--- @param groupId number
function COMPANION._ACTIVATE_COMPANION_ANALYSIS(groupId) end
--- @param groupId number
function COMPANION._DEACTIVATE_COMPANION_ANALYSIS(groupId) end

COMPENDIUM = {}

--- Only used in R* SP Scripts, category = GANGS
--- _COMPENDIUM_GET_*
--- @param category number
--- @return number
function COMPENDIUM._0x725D52F21A5E9E22(category) end
--- @param category number
--- @return number
function COMPENDIUM._COMPENDIUM_GET_NUM_OF_ENTRIES_IN_CATEGORY(category) end
--- Only used in R* SP Scripts, category = GANGS
--- _COMPENDIUM_GET_NUM_OF_ENTRIES_IN_*
--- @param category number
--- @return number
function COMPENDIUM._0x729D52461AEA9E22(category) end
--- @param ped number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_SHORT_DESCRIPTION_FROM_PED(ped) end
--- @param category number
--- @param ped number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_SUBCATEGORY_PED_IS_IN(category, ped) end
--- @param category number
--- @param animalType number
--- @return number
function COMPENDIUM._COMPENDIUM_GET_SUBCATEGORY_HASH_FROM_ANIMAL_TYPE(category, animalType) end
--- @param category number
--- @param subcategory number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_NUM_ENTRIES_IN_SUBCATEGORY(category, subcategory) end
--- @param category number
--- @param subcategory number
--- @param count number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_ENTRY_BY_INDEX_IN_SUBCATEGORY(category, subcategory, count) end
--- @param category number
--- @param ped number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_ENTRY_BY_PED_INDEX(category, ped) end
--- @param category number
--- @param animalType number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_ENTRY_BY_STAT_ITEM(category, animalType) end
--- @param category number
--- @param subcategory number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_SUBCATEGORY_TOAST_APP_ID(category, subcategory) end
--- @param animalStatItem number
--- @param x number
--- @param y number
--- @param z number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_MAP_DISCOVERABLE_FROM_STAT_ITEM(animalStatItem, x, y, z) end
--- @param animalType number
--- @param disableCompendiumToast boolean
function COMPENDIUM.COMPENDIUM_ANIMAL_OBSERVED_BY_STAT_NAME(animalType, disableCompendiumToast) end
--- @param ped number
--- @return boolean
function COMPENDIUM.COMPENDIUM_WAS_ANIMAL_OBSERVED(ped) end
--- @param compendiumEntry number
function COMPENDIUM.COMPENDIUM_ANIMAL_SET_DISCOVERED(compendiumEntry) end
--- @param ped number
--- @return number
function COMPENDIUM.COMPENDIUM_GET_STUDY_AWARD_ID(ped) end
--- @param compendiumEntry number
--- @return number
function COMPENDIUM.COMPENDIUM_ANIMAL_GET_SAMPLE_INVENTORY_ITEM(compendiumEntry) end
--- @param compendiumEntry number
--- @return boolean
function COMPENDIUM.COMPENDIUM_ANIMAL_HAS_SAMPLE(compendiumEntry) end
--- @param compendiumEntry number
--- @return boolean
function COMPENDIUM.COMPENDIUM_ANIMAL_HAS_STAMP(compendiumEntry) end
--- @param category number
--- @param subcategory number
--- @return string
function COMPENDIUM.COMPENDIUM_GET_SUBCATEGORY_SAMPLE_TOAST_TITLE(category, subcategory) end
--- @param category number
--- @param subcategory number
--- @return string
function COMPENDIUM.COMPENDIUM_GET_SUBCATEGORY_SAMPLE_TOAST_DESC_PROGRESS(category, subcategory) end
--- @param category number
--- @param subcategory number
--- @return string
function COMPENDIUM.COMPENDIUM_GET_SUBCATEGORY_SAMPLE_TOAST_DESC_COMPLETE(category, subcategory) end
--- @param ped number
--- @param category number
function COMPENDIUM.COMPENDIUM_FISH_CAUGHT(ped, category) end
--- @param animalType number
--- @param baitType number
--- @return number
function COMPENDIUM.COMPENDIUM_FISH_GET_LURE_SUITABILITY_BY_STAT_ITEM(animalType, baitType) end
--- @param p0 number
--- @param p1 number
function COMPENDIUM.COMPENDIUM_GANG_CAMP_FOUND(p0, p1) end
--- @param p0 number
function COMPENDIUM.COMPENDIUM_GANG_AMBUSH_SURVIVED(p0) end
--- @param p0 number
function COMPENDIUM.COMPENDIUM_GANG_ENCOUNTERED(p0) end
--- @param p0 number
function COMPENDIUM.COMPENDIUM_GANG_BOUNTY_CAPTURED(p0) end
--- @param p0 number
function COMPENDIUM.COMPENDIUM_GANG_MEMBER_KILLED(p0) end
--- @param p0 number
--- @param p1 number
function COMPENDIUM.COMPENDIUM_GANG_HIDEOUT_FOUND(p0, p1) end
--- herbType: https://alloc8or.re/rdr3/doc/enums/eHerbType.txt
--- Vector3: Player Location
--- @param herbType number
--- @param x number
--- @param y number
--- @param z number
function COMPENDIUM.COMPENDIUM_HERB_PICKED(herbType, x, y, z) end
--- @param ped number
--- @param bondingLevel number
function COMPENDIUM.COMPENDIUM_HORSE_BONDING(ped, bondingLevel) end
--- NET_PLAYER_HORSE_PROCESS_EVENT_HORSE_BREAKING
--- @param ped number
function COMPENDIUM.COMPENDIUM_HORSE_WILD_BROKEN(ped) end
--- Only gets called if bSetObserved is true and animalType is matching
--- @param ped number
--- @param disableCompendiumToast boolean
function COMPENDIUM.COMPENDIUM_HORSE_OBSERVED(ped, disableCompendiumToast) end

CRASHLOG = {}

--- @param p0 string
function CRASHLOG._0x0FD3ECF9D0C8655F(p0) end
--- @param p0 string
function CRASHLOG._0xCA0BAC376C541978(p0) end
--- @param p0 string
--- @return boolean
function CRASHLOG._0x3A66F1963B223F61(p0) end
--- @return boolean
function CRASHLOG._0x7C680FF55617F82F() end
--- @param p0 string
--- @return boolean
function CRASHLOG._0xD8E3D22AA4F0E0A5(p0) end
--- @param p0 boolean
--- @return boolean
function CRASHLOG._0xA67F0B039D9CD513(p0) end
--- @param p0 number
--- @return boolean
function CRASHLOG._0xE72E234B30DA7B7A(p0) end
--- @param p0 number
--- @return boolean
function CRASHLOG._0x87F005C969EF1563(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function CRASHLOG._0x23CCAB8F40B9CBEE(x, y, z) end
--- @return boolean
function CRASHLOG._0xF0D545C1EEAD614A() end
--- @param p0 string
--- @return boolean
function CRASHLOG._0x33C1D63E55FA4284(p0) end
function CRASHLOG._0x4E42CA5BCD45444A() end
--- unused = true
--- @param p0 string
--- @param p1 string
function CRASHLOG._0xDA05310EA94DC8C6(p0, p1) end

CREW = {}

--- @param crewId number
--- @return boolean
function CREW.NETWORK_FIND_GAMERS_IN_CREW(crewId) end
--- @return boolean
function CREW.NETWORK_CLAN_SERVICE_IS_VALID() end
--- @param gamerHandle number
--- @return boolean
function CREW.NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle) end
--- @param clanDesc number
--- @param bufferSize number
--- @param gamerHandle number
--- @return boolean
function CREW.NETWORK_CLAN_PLAYER_GET_DESC(clanDesc, bufferSize, gamerHandle) end
--- @return number
function CREW.NETWORK_CLAN_GET_LOCAL_MEMBERSHIPS_COUNT() end
--- @param memberDesc number
--- @param p1 number
--- @return boolean
function CREW.NETWORK_CLAN_GET_MEMBERSHIP_DESC(memberDesc, p1) end
--- @param p0 number
--- @return boolean
function CREW._0x58D378AF2C8765B7(p0) end
--- @param p0 number
--- @return boolean
function CREW._NETWORK_CLAN_INVITE_PLAYER(p0) end
--- @param crewInviteIndex number
--- @return boolean
function CREW._NETWORK_ACCEPT_CLAN_INVITE(crewInviteIndex) end
--- @param p0 number
--- @return boolean
function CREW.NETWORK_CLAN_REQUEST_EMBLEM(p0) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function CREW.NETWORK_CLAN_IS_EMBLEM_READY(p0, p1) end
--- @param p0 number
function CREW.NETWORK_CLAN_RELEASE_EMBLEM(p0) end
--- @return number
function CREW.NETWORK_GET_PRIMARY_CLAN_DATA_CLEAR() end
--- @param p0 number
--- @param p1 number
--- @return boolean
function CREW.NETWORK_GET_PRIMARY_CLAN_DATA_START(p0, p1) end
--- @return number
function CREW.NETWORK_GET_PRIMARY_CLAN_DATA_PENDING() end
--- @return number
function CREW.NETWORK_GET_PRIMARY_CLAN_DATA_SUCCESS() end
--- @param p0 number
--- @param p1 number
--- @return boolean
function CREW.NETWORK_GET_PRIMARY_CLAN_DATA_NEW(p0, p1) end
--- @param p0 number
--- @return number
function CREW._NETWORK_CLAN_SET_ACTIVE(p0) end

DATABINDING = {}

--- @param p0 string
--- @return number
function DATABINDING._DATABINDING_GET_DATA_CONTAINER_FROM_PATH(p0) end
--- @param entryId number
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_GET_DATA_CONTAINER_FROM_CHILD_INDEX(entryId, p1) end
--- @param p0 string
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_CONTAINER_FROM_PATH_BY_HASH(p0, p1) end
--- @param p0 string
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_CONTAINER_FROM_PATH(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_CONTAINER_BY_HASH(p0, p1) end
--- Returns entryId Hash
--- @param entryId number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_CONTAINER(entryId, p1) end
--- @param p0 string
--- @param p1 string
--- @param p2 boolean
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_BOOL_FROM_PATH(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_BOOL_BY_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 boolean
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_BOOL(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_INT_BY_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_INT(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_FLOAT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_HASH_BY_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_HASH(p0, p1, p2) end
--- @param p0 string
--- @param p1 string
--- @param p2 string
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_STRING_FROM_PATH(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 string
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_STRING_BY_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 string
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_STRING(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param gangId number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_GANG_ID(p0, p1, gangId) end
--- @param p0 number
--- @param p1 string
--- @param posseId number
--- @return number
function DATABINDING._DATABINDING_ADD_DATA_POSSE_ID(p0, p1, posseId) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
--- @return number
function DATABINDING._0x294AF5323F44B053(p0, p1, p2) end
--- @param p0 string
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_ADD_UI_ITEM_LIST_FROM_PATH(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_ADD_UI_ITEM_LIST_BY_HASH(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_ADD_UI_ITEM_LIST(p0, p1) end
--- @param p0 number
--- @param index number
--- @param p2 string
--- @param p3 number
function DATABINDING._DATABINDING_INSERT_UI_ITEM_TO_LIST_FROM_CONTEXT_STRING_ALIAS(p0, index, p2, p3) end
--- @param p0 number
--- @param index number
--- @param p2 number
--- @param p3 number
function DATABINDING._DATABINDING_INSERT_UI_ITEM_TO_LIST_FROM_CONTEXT_HASH_ALIAS(p0, index, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 string
--- @param p3 number
function DATABINDING._DATABINDING_INSERT_UI_ITEM_TO_LIST_FROM_PATH_STRING_ALIAS(p0, p1, p2, p3) end
--- @param entryId number
--- @param index number
function DATABINDING._0x6318FB3BE37E11B3(entryId, index) end
--- @param p0 number
--- @param entryId number
function DATABINDING._DATABINDING_REMOVE_BINDING_ARRAY_ITEM_BY_DATA_CONTEXT_ID(p0, entryId) end
--- @param entryId number
function DATABINDING._DATABINDING_CLEAR_BINDING_ARRAY(entryId) end
--- @param p0 number
--- @param index number
--- @return number
function DATABINDING._DATABINDING_GET_ITEM_CONTEXT_BY_INDEX(p0, index) end
--- @param p0 number
--- @param p1 number
function DATABINDING._DATABINDING_SET_TEMPLATED_UI_ITEM_LIST_SIZE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATABINDING._DATABINDING_SET_TEMPLATED_UI_ITEM_HASH_ALIAS(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._0xD48993A61938C64D(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_ADD_HASH_ARRAY(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_ADD_STRING_ARRAY(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATABINDING._0x1919D59E60FD516E(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATABINDING._0x7FC60C94C83C5CD7(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
function DATABINDING._0xC900CEC8A172375B(p0, p1, p2) end
--- @param entryId number
--- @param p1 number
--- @return number
function DATABINDING._0x02B21B6BEEDD83CC(entryId, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._0xF47E33F8D2523825(p0, p1) end
--- @param entryId number
function DATABINDING._0x3BF0767CF33FCC88(entryId) end
--- @param entryId number
--- @return number
function DATABINDING._DATABINDING_GET_ARRAY_COUNT(entryId) end
--- @param p0 number
--- @param p1 boolean
function DATABINDING._DATABINDING_WRITE_DATA_BOOL(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @param p2 boolean
function DATABINDING._DATABINDING_WRITE_DATA_BOOL_FROM_PARENT(p0, p1, p2) end
--- _DATABINDING_WRITE_DATA_*
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATABINDING._0xBFC83DA249BEFCC9(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function DATABINDING._DATABINDING_WRITE_DATA_INT(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
function DATABINDING._DATABINDING_WRITE_DATA_INT_FROM_PARENT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATABINDING._DATABINDING_WRITE_DATA_INT_FROM_PARENT_BY_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function DATABINDING._DATABINDING_WRITE_DATA_FLOAT(p0, p1) end
--- _DATABINDING_WRITE_DATA_*
--- @param p0 number
--- @param p1 string
--- @param p2 number
function DATABINDING._0x05AC9E1E02975AFB(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function DATABINDING._DATABINDING_WRITE_DATA_HASH_STRING(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
function DATABINDING._DATABINDING_WRITE_DATA_HASH_STRING_FROM_PARENT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATABINDING._DATABINDING_WRITE_DATA_HASH_STRING_FROM_PARENT_BY_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
function DATABINDING._DATABINDING_WRITE_DATA_STRING(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @param p2 string
function DATABINDING.DATABINDING_WRITE_STRING_FROM_PARENT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 string
function DATABINDING._DATABINDING_WRITE_STRING_FROM_HASH(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param gangId number
function DATABINDING._DATABINDING_WRITE_DATA_GANG_ID(p0, p1, gangId) end
--- @param p0 number
--- @param p1 string
--- @param posseId number
function DATABINDING._DATABINDING_WRITE_DATA_POSSE_ID(p0, p1, posseId) end
--- @param p0 number
--- @param gamerHandle number
function DATABINDING._0x422179C7F6AD9304(p0, gamerHandle) end
--- @param p0 number
--- @return number
function DATABINDING._DATABINDING_READ_DATA_BOOL(p0) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_READ_DATA_BOOL_FROM_PARENT(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_READ_DATA_BOOL_FROM_PARENT_BY_HASH(p0, p1) end
--- @param p0 number
--- @return number
function DATABINDING.DATABINDING_READ_INT(p0) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_READ_DATA_INT_FROM_PARENT(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_READ_DATA_INT_FROM_PARENT_BY_HASH(p0, p1) end
--- @param entryId number
--- @return number
function DATABINDING._DATABINDING_READ_FLOAT(entryId) end
--- @param entryId number
--- @return number
function DATABINDING._DATABINDING_READ_HASH(entryId) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_READ_DATA_HASH_STRING_FROM_PARENT(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._DATABINDING_READ_DATA_HASH_STRING_FROM_PARENT_BY_HASH(p0, p1) end
--- @param p0 number
--- @return number
function DATABINDING._DATABINDING_READ_DATA_STRING(p0) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._DATABINDING_READ_DATA_STRING_FROM_PARENT(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATABINDING._0x6329C34BEE5BFF4B(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @return number
function DATABINDING._0xE6AAB897120492D6(p0, p1) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
function DATABINDING._0xE6AAB897120492D7(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 number
function DATABINDING._0xB138CA787F3DD858(p0, p1, p2) end
--- @param entryId number
--- @return boolean
function DATABINDING.DATABINDING_IS_ENTRY_VALID(entryId) end
--- @param entryId number
function DATABINDING._DATABINDING_REMOVE_DATA_ENTRY(entryId) end
--- @param p0 number
--- @param size number
function DATABINDING._VIRTUAL_COLLECTION_SET_SIZE(p0, size) end
--- @param p0 number
--- @param interestIndex number
function DATABINDING._VIRTUAL_COLLECTION_SET_INTEREST_INDEX(p0, interestIndex) end
--- @param p0 number
--- @param index number
--- @param p2 number
--- @param p3 number
function DATABINDING._VIRTUAL_COLLECTION_ITEM_ADD(p0, index, p2, p3) end
--- @param p0 number
function DATABINDING._VIRTUAL_COLLECTION_RESET(p0) end
--- @param p0 number
--- @return number
function DATABINDING._VIRTUAL_COLLECTION_EXISTS(p0) end

DATAFILE = {}

--- Adds the given request ID to the watch list.
--- @param id number
function DATAFILE.DATAFILE_WATCH_REQUEST_ID(id) end
--- @param p0 number
--- @return boolean
function DATAFILE.DATAFILE_HAS_LOADED_FILE_DATA(p0) end
--- @param p0 number
--- @return boolean
function DATAFILE.DATAFILE_HAS_VALID_FILE_DATA(p0) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function DATAFILE.DATAFILE_SELECT_ACTIVE_FILE(p0, p1) end
--- @param p0 number
--- @return boolean
function DATAFILE.DATAFILE_DELETE_REQUESTED_FILE(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function DATAFILE.UGC2_SET_PLAYER_DATA(p0, p1, p2, p3) end
--- Reloops value returned by UGC_QUERY_GET_CONTENT_NUM
--- @param ugcRequestId number
--- @param index number
--- @param p2 number
--- @return number
function DATAFILE.DATAFILE_UGC_SELECT_DATA(ugcRequestId, index, p2) end
--- @param index number
function DATAFILE.DATAFILE_CREATE(index) end
--- @param index number
function DATAFILE.DATAFILE_DELETE(index) end
--- @param index number
--- @return number
function DATAFILE.DATAFILE_GET_FILE_DICT(index) end
--- @param fileDict number
--- @return boolean
function DATAFILE.DATADICT_IS_DICT_VALID(fileDict) end
--- @param fileDict number
--- @return boolean
function DATAFILE.DATADICT_IS_ARRAY_VALID(fileDict) end
--- @param objectData number
--- @param key string
--- @param value number
function DATAFILE.DATADICT_SET_INT(objectData, key, value) end
--- @param objectData number
--- @param key string
--- @return boolean
function DATAFILE.DATADICT_GET_BOOL(objectData, key) end
--- @param objectData number
--- @param key string
--- @return number
function DATAFILE.DATADICT_GET_INT(objectData, key) end
--- @param objectData number
--- @param key string
--- @return number
function DATAFILE.DATADICT_GET_FLOAT(objectData, key) end
--- @param objectData number
--- @param key string
--- @return string
function DATAFILE.DATADICT_GET_STRING(objectData, key) end
--- @param objectData number
--- @param key string
--- @return { x: number, y: number, z: number }
function DATAFILE.DATADICT_GET_VECTOR(objectData, key) end
--- @param objectData number
--- @param key string
--- @return number
function DATAFILE.DATADICT_GET_DICT(objectData, key) end
--- @param objectData number
--- @param key string
--- @return number
function DATAFILE.DATADICT_GET_ARRAY(objectData, key) end
--- Types:
--- 1 = Boolean
--- 2 = Integer
--- 3 = Float
--- 4 = String
--- 5 = Vector3
--- 6 = Object
--- 7 = Array
--- @param objectData number
--- @param key string
--- @return number
function DATAFILE.DATADICT_GET_TYPE(objectData, key) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATAFILE._0xBC0DF006A4952C68(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATAFILE._0x9F130129EBC31B34(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATAFILE._0x277251C161B4C3F4(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function DATAFILE._0x1C65CC931C0F946F(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function DATAFILE._0x7681B677400C7071(p0, p1, p2, p3, p4) end
--- @param arrayData number
--- @param arrayIndex number
--- @return boolean
function DATAFILE.DATAARRAY_GET_BOOL(arrayData, arrayIndex) end
--- @param arrayData number
--- @param arrayIndex number
--- @return number
function DATAFILE.DATAARRAY_GET_INT(arrayData, arrayIndex) end
--- @param arrayData number
--- @param arrayIndex number
--- @return number
function DATAFILE.DATAARRAY_GET_FLOAT(arrayData, arrayIndex) end
--- @param arrayData number
--- @param arrayIndex number
--- @return string
function DATAFILE.DATAARRAY_GET_STRING(arrayData, arrayIndex) end
--- @param arrayData number
--- @param arrayIndex number
--- @return { x: number, y: number, z: number }
function DATAFILE.DATAARRAY_GET_VECTOR(arrayData, arrayIndex) end
--- @param arrayData number
--- @param arrayIndex number
--- @return number
function DATAFILE.DATAARRAY_GET_DICT(arrayData, arrayIndex) end
--- @param arrayData number
--- @return number
function DATAFILE.DATAARRAY_GET_COUNT(arrayData) end
--- Types:
--- 1 = Boolean
--- 2 = Integer
--- 3 = Float
--- 4 = String
--- 5 = Vector3
--- 6 = Object
--- 7 = Array
--- @param arrayData number
--- @param arrayIndex number
--- @return number
function DATAFILE.DATAARRAY_GET_TYPE(arrayData, arrayIndex) end
--- @param p0 number
--- @return number
function DATAFILE._0x4F9E3ED7617123AC(p0) end
--- @param p0 number
--- @return number
function DATAFILE._0xCA56DD6AB7A39F64(p0) end
--- LOAD_PARSEDDATA_FILE_FAILSAFE_HASH
--- Returns parseddata script fileHandle
--- @param p0 number
--- @return number
function DATAFILE._PARSEDDATA_LOAD_FILE_HASH(p0) end
--- @param fileHandle number
function DATAFILE._PARSEDDATA_UNLOAD_FILE(fileHandle) end
--- @param fileHandle number
--- @return boolean
function DATAFILE.PARSEDDATA_IS_FILE_VALID(fileHandle) end
--- @param fileHandle number
--- @return boolean
function DATAFILE.PARSEDDATA_IS_FILE_LOADED(fileHandle) end
--- nullsub, doesn't do anything
function DATAFILE._0x3168BA5D6DECE323() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function DATAFILE._PARSEDDATA_REGISTER_QUERY(p0, p1, p2) end
--- Old name: _DATAFILE_GET_DATA_NODE_INDEX
--- @param p0 any
--- @param p1 number
--- @return boolean
function DATAFILE.PARSEDDATA_RQ_FILLOUT_NODE(p0, p1) end
--- @param p0 number
--- @return number
function DATAFILE._PARSEDDATA_RQ_GET_NUM_NODES(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATAFILE._0xE13634BB6BAF0734(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function DATAFILE._PARSEDDATA_GET_NUM_CHILDREN(p0, p1) end
--- Old name: _DATAFILE_GET_HASH
--- @param p0 any
--- @param p1 number
--- @return boolean
function DATAFILE.PARSEDDATA_RQ_FILLOUT_HASH(p0, p1) end
--- Old name: _DATAFILE_GET_STRING
--- @param p0 string
--- @param p1 number
--- @return boolean
function DATAFILE._PARSEDDATA_RQ_FILLOUT_STRING_63(p0, p1) end
--- @param p0 string
--- @param p1 number
--- @return boolean
function DATAFILE.PARSEDDATA_RQ_FILLOUT_STRING_127(p0, p1) end
--- Old name: _DATAFILE_GET_VECTOR
--- @param p0 number
--- @param p1 number
--- @return boolean
function DATAFILE._PARSEDDATA_RQ_FILLOUT_VECTOR(p0, p1) end
--- Old name: _DATAFILE_GET_FLOAT
--- @param p0 any
--- @param p1 number
--- @return boolean
function DATAFILE._PARSEDDATA_RQ_FILLOUT_FLOAT(p0, p1) end
--- Old name: _DATAFILE_GET_INT
--- @param p0 any
--- @param p1 number
--- @return boolean
function DATAFILE._PARSEDDATA_RQ_FILLOUT_INT(p0, p1) end
--- Old name: _DATAFILE_GET_BOOL
--- @param p0 any
--- @param p1 number
--- @return boolean
function DATAFILE._PARSEDDATA_RQ_FILLOUT_BOOL(p0, p1) end
--- Opens file.
--- @param p0 number
function DATAFILE._PARSEDDATA_GET_FILE(p0) end
--- Returns false when there are no entries.
--- @param p0 number
--- @return boolean
function DATAFILE._PARSEDDATA_GET_ENTRIES(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function DATAFILE._PARSEDDATA_GET_FLOAT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function DATAFILE._PARSEDDATA_GET_INT(p0, p1, p2) end
--- @param p0 any
--- @param p1 number
--- @param section number
--- @return boolean
function DATAFILE._PARSEDDATA_GET_SECTION(p0, p1, section) end
--- @param p0 any
--- @param p1 number
--- @param p2 number
--- @return boolean
function DATAFILE._PARSEDDATA_GET_BOOL(p0, p1, p2) end

DEBUG = {}

--- nullsub, doesn't do anything
--- @return number
function DEBUG._0xACF9CB705BEFA8CB() end
--- nullsub, doesn't do anything
--- @return number
function DEBUG._0xA8D970D8A72640A6() end
--- Return example: 1207.69_dev_pc, 1436.28_dev_live_tu
--- 
--- Old name: _GET_GAME_BUILD_STRING
--- @return string
function DEBUG.GET_GAME_VERSION_NAME() end

DECORATOR = {}

--- This function sets metadata of type bool to specified entity.
--- @param entity number
--- @param propertyName string
--- @param value boolean
--- @return boolean
function DECORATOR.DECOR_SET_BOOL(entity, propertyName, value) end
--- @param entity number
--- @param propertyName string
--- @param value number
--- @return boolean
function DECORATOR.DECOR_SET_FLOAT(entity, propertyName, value) end
--- Sets property to int.
--- @param entity number
--- @param propertyName string
--- @param value number
--- @return boolean
function DECORATOR.DECOR_SET_INT(entity, propertyName, value) end
--- @param entity number
--- @param propertyName string
--- @param value number
--- @return boolean
function DECORATOR._DECOR_SET_UINT8(entity, propertyName, value) end
--- @param entity number
--- @param propertyName string
--- @param value string
--- @return boolean
function DECORATOR.DECOR_SET_STRING(entity, propertyName, value) end
--- @param entity number
--- @param propertyName string
--- @return boolean
function DECORATOR.DECOR_GET_BOOL(entity, propertyName) end
--- @param entity number
--- @param propertyName string
--- @return number
function DECORATOR.DECOR_GET_FLOAT(entity, propertyName) end
--- @param entity number
--- @param propertyName string
--- @return number
function DECORATOR.DECOR_GET_INT(entity, propertyName) end
--- @param entity number
--- @param propertyName string
--- @return number
function DECORATOR._DECOR_GET_UINT8(entity, propertyName) end
--- Returns whether or not the specified property is set for the entity.
--- @param entity number
--- @param propertyName string
--- @return boolean
function DECORATOR.DECOR_EXIST_ON(entity, propertyName) end
--- @param entity number
--- @param propertyName string
--- @return boolean
function DECORATOR.DECOR_REMOVE(entity, propertyName) end
--- @param entity number
--- @return boolean
function DECORATOR.DECOR_REMOVE_ALL(entity) end
--- @param propertyName string
--- @param type number
function DECORATOR.DECOR_REGISTER(propertyName, type) end
--- @param propertyName string
--- @param type number
--- @param p2 boolean
function DECORATOR._DECOR_REGISTER_2(propertyName, type, p2) end
--- type: see DECOR_REGISTER
--- @param propertyName string
--- @param type number
--- @return boolean
function DECORATOR.DECOR_IS_REGISTERED_AS_TYPE(propertyName, type) end

DLC = {}

--- @param dlcHash number
--- @return boolean
function DLC.IS_DLC_PRESENT(dlcHash) end
--- @return boolean
function DLC.GET_IS_LOADING_SCREEN_ACTIVE() end
--- @return boolean
function DLC._GET_SPECIAL_EDITION_CORE_STATS_BONUS_ENABLED() end
--- @return boolean
function DLC._GET_SPECIAL_EDITION_CASH_CAMP_BONUS_ENABLED() end

ENTITY = {}

--- Checks if the Entity exists
--- @param entity number
--- @return boolean
function ENTITY.DOES_ENTITY_EXIST(entity) end
--- @param entity number
--- @param p1 boolean
--- @return boolean
function ENTITY.DOES_ENTITY_BELONG_TO_THIS_SCRIPT(entity, p1) end
--- @param entity number
--- @return boolean
function ENTITY.DOES_ENTITY_HAVE_DRAWABLE(entity) end
--- @param entity number
--- @return boolean
function ENTITY.DOES_ENTITY_HAVE_PHYSICS(entity) end
--- @param entity number
--- @return boolean
function ENTITY.HAS_ENTITY_BEEN_DAMAGED_BY_ANY_OBJECT(entity) end
--- @param entity number
--- @return boolean
function ENTITY.HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED(entity) end
--- @param entity number
--- @return boolean
function ENTITY.HAS_ENTITY_BEEN_DAMAGED_BY_ANY_VEHICLE(entity) end
--- @param entity1 number
--- @param entity2 number
--- @param p2 boolean
--- @param p3 boolean
--- @return boolean
function ENTITY.HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY(entity1, entity2, p2, p3) end
--- Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
--- @param entity1 number
--- @param entity2 number
--- @param p2 number
--- @param p3 number
--- @return boolean
function ENTITY._0x3EC28DA1FFAC9DDD(entity1, entity2, p2, p3) end
--- @param entity number
--- @return number
function ENTITY._0xAF72EC7E1B54539B(entity) end
--- @param entity1 number
--- @param entity2 number
--- @param traceType number
--- @return boolean
function ENTITY.HAS_ENTITY_CLEAR_LOS_TO_ENTITY(entity1, entity2, traceType) end
--- @param entity number
--- @param x number
--- @param y number
--- @param z number
--- @param flags number
--- @return boolean
function ENTITY.HAS_ENTITY_CLEAR_LOS_TO_COORD(entity, x, y, z, flags) end
--- Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.
--- @param entity1 number
--- @param entity2 number
--- @param traceType number
--- @return boolean
function ENTITY.HAS_ENTITY_CLEAR_LOS_TO_ENTITY_IN_FRONT(entity1, entity2, traceType) end
--- @param entity number
--- @return boolean
function ENTITY.HAS_ENTITY_COLLIDED_WITH_ANYTHING(entity) end
--- @param vehicle number
--- @return number
function ENTITY._0x6D58167F62238284(vehicle) end
--- @param p0 number
--- @param p1 number
--- @return number
function ENTITY._0xDFC2B226D56D85F6(p0, p1) end
--- @param animDict string
--- @param animName string
--- @return number
function ENTITY.GET_ANIM_DURATION(animDict, animName) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_ATTACHED_TO(entity) end
--- 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.
--- @param entity number
--- @param alive boolean
--- @param realCoords boolean
--- @return { x: number, y: number, z: number }
function ENTITY.GET_ENTITY_COORDS(entity, alive, realCoords) end
--- Gets the entity's forward vector in XY(Z) eulers.
--- @param entity number
--- @return { x: number, y: number, z: number }
function ENTITY.GET_ENTITY_FORWARD_VECTOR(entity) end
--- Gets the X-component of the entity's forward vector.
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_FORWARD_X(entity) end
--- Gets the Y-component of the entity's forward vector.
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_FORWARD_Y(entity) end
--- Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
--- @param entity number
--- @return { x: number, y: number, z: number }
function ENTITY._GET_ENTITY_FORWARD_VECTOR_YX(entity) end
--- Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_HEADING(entity) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_HEALTH(entity) end
--- Returns (CUR_HEALTH / MAX_HEALTH)
--- @param entity number
--- @return number
function ENTITY._GET_ENTITY_HEALTH_FLOAT(entity) end
--- Alters entity's health by 'amount'. Can be negative (to drain health).
--- In the scripts entity2 and weaponHash are unused (zero).
--- @param entity number
--- @param amount number
--- @param entity2 number
--- @param weaponHash number
--- @return boolean
function ENTITY._CHANGE_ENTITY_HEALTH(entity, amount, entity2, weaponHash) end
--- @param entity number
--- @param p1 boolean
--- @return number
function ENTITY.GET_ENTITY_MAX_HEALTH(entity, p1) end
--- @param entity number
--- @param value number
function ENTITY.SET_ENTITY_MAX_HEALTH(entity, value) end
--- @param entity number
--- @param X number
--- @param Y number
--- @param Z number
--- @param atTop boolean
--- @param inWorldCoords boolean
--- @return number
function ENTITY.GET_ENTITY_HEIGHT(entity, X, Y, Z, atTop, inWorldCoords) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_HEIGHT_ABOVE_GROUND(entity) end
--- @param entity number
--- @param minimum number
--- @param maximum number
function ENTITY._GET_ENTITY_WORLD_POSITION_OF_DIMENSIONS(entity, minimum, maximum) end
--- @param entity number
--- @param rightVector number
--- @param forwardVector number
--- @param upVector number
--- @param position number
function ENTITY.GET_ENTITY_MATRIX(entity, rightVector, forwardVector, upVector, position) end
--- Returns the model hash from the entity
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_MODEL(entity) end
--- 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
--- @param ped number
--- @return number
function ENTITY._GET_PED_ANIMAL_TYPE(ped) end
--- @param entity number
--- @return boolean
function ENTITY.GET_IS_ANIMAL(entity) end
--- @param entity number
--- @return boolean
function ENTITY._GET_IS_BIRD(entity) end
--- @param entity number
--- @return boolean
function ENTITY._GET_IS_PREDATOR(entity) end
--- @param entity number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @return { x: number, y: number, z: number }
function ENTITY.GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(entity, posX, posY, posZ) end
--- Offset values are relative to the entity.
--- 
--- x = left/right
--- y = forward/backward
--- z = up/down
--- @param entity number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @return { x: number, y: number, z: number }
function ENTITY.GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(entity, offsetX, offsetY, offsetZ) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_PITCH(entity) end
--- Displays the current ROLL axis of the entity [-180.0000/180.0000+]
--- (Sideways Roll) such as a vehicle tipped on its side
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_ROLL(entity) end
--- @param entity number
--- @param rotationOrder number
--- @return { x: number, y: number, z: number }
function ENTITY.GET_ENTITY_ROTATION(entity, rotationOrder) end
--- @param entity number
--- @param argStruct number
--- @return number
function ENTITY._GET_ENTITY_SCRIPT(entity, argStruct) end
--- Result is in meters per second (m/s)
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_SPEED(entity) end
--- @param entity number
--- @param relative boolean
--- @return { x: number, y: number, z: number }
function ENTITY.GET_ENTITY_SPEED_VECTOR(entity, relative) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_UPRIGHT_VALUE(entity) end
--- @param entity number
--- @param p1 number
--- @return { x: number, y: number, z: number }
function ENTITY.GET_ENTITY_VELOCITY(entity, p1) end
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
--- @param entity number
--- @return number
function ENTITY.GET_OBJECT_INDEX_FROM_ENTITY_INDEX(entity) end
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
--- @param entity number
--- @return number
function ENTITY.GET_PED_INDEX_FROM_ENTITY_INDEX(entity) end
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
--- @param entity number
--- @return number
function ENTITY.GET_VEHICLE_INDEX_FROM_ENTITY_INDEX(entity) end
--- Returns the coordinates of an entity-bone.
--- https://github.com/femga/rdr3_discoveries/tree/master/boneNames
--- @param entity number
--- @param boneIndex number
--- @return { x: number, y: number, z: number }
function ENTITY.GET_WORLD_POSITION_OF_ENTITY_BONE(entity, boneIndex) end
--- Attaches scenario to bone with an offset
--- _GET_I* - _GET_M*
--- @param entity number
--- @param boneIndex number
--- @return { x: number, y: number, z: number }
function ENTITY._0x5E214112806591EA(entity, boneIndex) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return { x: number, y: number, z: number }
function ENTITY._0x3AB3A77672F6473F(p0, p1, p2, p3) end
--- @param entity number
--- @param playerPedToIgnore number
--- @param flags number
--- @return number
function ENTITY.GET_NEAREST_PLAYER_TO_ENTITY(entity, playerPedToIgnore, flags) end
--- @param entity number
--- @param team number
--- @param playerPedToIgnore number
--- @param flags number
--- @return number
function ENTITY.GET_NEAREST_PLAYER_TO_ENTITY_ON_TEAM(entity, team, playerPedToIgnore, flags) end
--- @param entity number
--- @return number
function ENTITY.GET_NEAREST_PARTICIPANT_TO_ENTITY(entity) end
--- @param entity number
--- @param p1 boolean
--- @return boolean
function ENTITY.PLACE_ENTITY_ON_GROUND_PROPERLY(entity, p1) end
--- Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_TYPE(entity) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_POPULATION_TYPE(entity) end
--- @param handle number
--- @return boolean
function ENTITY.IS_AN_ENTITY(handle) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_A_PED(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_A_MISSION_ENTITY(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_A_VEHICLE(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_AN_OBJECT(entity) end
--- 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
--- @param entity number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xSize number
--- @param ySize number
--- @param zSize number
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 number
--- @return boolean
function ENTITY.IS_ENTITY_AT_COORD(entity, xPos, yPos, zPos, xSize, ySize, zSize, p7, p8, p9) end
--- 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
--- @param entity1 number
--- @param entity2 number
--- @param xSize number
--- @param ySize number
--- @param zSize number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 number
--- @return boolean
function ENTITY.IS_ENTITY_AT_ENTITY(entity1, entity2, xSize, ySize, zSize, p5, p6, p7) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_ATTACHED(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_ATTACHED_TO_ANY_OBJECT(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_ATTACHED_TO_ANY_PED(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_ATTACHED_TO_ANY_VEHICLE(entity) end
--- @param from number
--- @param to number
--- @return boolean
function ENTITY.IS_ENTITY_ATTACHED_TO_ENTITY(from, to) end
--- @param entity number
--- @return boolean
function ENTITY._IS_ENTITY_OWNED_BY_PERSISTENCE_SYSTEM(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_DEAD(entity) end
--- @param entity number
--- @param p1 number
--- @return boolean
function ENTITY.IS_ENTITY_IN_AIR(entity, p1) end
--- 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.
--- @param entity number
--- @param originX number
--- @param originY number
--- @param originZ number
--- @param edgeX number
--- @param edgeY number
--- @param edgeZ number
--- @param angle number
--- @param p8 boolean
--- @param p9 boolean
--- @param p10 number
--- @return boolean
function ENTITY.IS_ENTITY_IN_ANGLED_AREA(entity, originX, originY, originZ, edgeX, edgeY, edgeZ, angle, p8, p9, p10) end
--- @param entity number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 number
--- @return boolean
function ENTITY.IS_ENTITY_IN_AREA(entity, x1, y1, z1, x2, y2, z2, p7, p8, p9) end
--- @param entity number
--- @param volume number
--- @param p2 boolean
--- @param p3 number
--- @return boolean
function ENTITY.IS_ENTITY_IN_VOLUME(entity, volume, p2, p3) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_IN_WATER(entity) end
--- @param entity number
--- @param p1 boolean
--- @return boolean
function ENTITY._IS_ENTITY_UNDERWATER(entity, p1) end
--- Get how much of the entity is submerged.  1.0f is whole entity.
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_SUBMERGED_LEVEL(entity) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_REQUIRES_MORE_EXPENSIVE_RIVER_CHECK(entity, toggle) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x7A49D40DE437BC8D(p0, p1) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x978AA2323ED32209(p0, p1) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x002AAC783ED323ED(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function ENTITY._0x007AAC783ED323ED(p0, p1, p2) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_ON_SCREEN(entity) end
--- @param entity number
--- @param animDict string
--- @param animName string
--- @param animType number
--- @return boolean
function ENTITY.IS_ENTITY_PLAYING_ANIM(entity, animDict, animName, animType) end
--- Params: p1 (probably animType) = 1, 0
--- @param entity number
--- @param p1 number
--- @return boolean
function ENTITY._IS_ENTITY_PLAYING_ANY_ANIM(entity, p1) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_STATIC(entity) end
--- @param entity number
--- @param targetEntity number
--- @return boolean
function ENTITY.IS_ENTITY_TOUCHING_ENTITY(entity, targetEntity) end
--- @param entity number
--- @param modelHash number
--- @return boolean
function ENTITY.IS_ENTITY_TOUCHING_MODEL(entity, modelHash) end
--- @param entity number
--- @param angle number
--- @return boolean
function ENTITY.IS_ENTITY_UPRIGHT(entity, angle) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_UPSIDEDOWN(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_VISIBLE(entity) end
--- SET_ENTITY_LO*
--- @param entity number
--- @param toggle boolean
function ENTITY._0xFF9965C47FA404DA(entity, toggle) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_VISIBLE_TO_SCRIPT(entity) end
--- @param p0 number
function ENTITY._0x3F08C6163A4AB1D6(p0) end
--- @param p0 number
function ENTITY._0x0DB41D59E0F1502B(p0) end
--- @param entity number
--- @return boolean
function ENTITY._IS_TRACKED_ENTITY_VISIBLE(entity) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_OCCLUDED(entity) end
--- @param entityModelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 boolean
--- @return boolean
function ENTITY.WOULD_ENTITY_BE_OCCLUDED(entityModelHash, x, y, z, p4) end
--- @param entity number
--- @return boolean
function ENTITY.IS_ENTITY_WAITING_FOR_WORLD_COLLISION(entity) end
--- @param entity number
--- @return boolean
function ENTITY._IS_ENTITY_ON_TRAIN_TRACK(entity) end
--- @param entity number
--- @param p1 number
function ENTITY._0xCDB682BB47C02F0A(entity, p1) end
--- @param p0 number
--- @param p1 number
function ENTITY._0xE19035EB65AB2932(p0, p1) end
--- 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
--- @param entity number
--- @param lootTable number
--- @return boolean
function ENTITY.SCRIPT_OVERRIDE_ENTITY_LOOT_TABLE_PERMANENT(entity, lootTable) end
--- Returns false if entity is not a ped or object.
--- @param entity number
--- @param lootTable any
--- @return boolean
function ENTITY._GET_SCRIPT_OVERRIDE_ENTITY_LOOT_TABLE_PERMANENT(entity, lootTable) end
--- @param mount number
--- @param argStruct number
--- @param visiblelootslotrequestType number
--- @param flag number
--- @param p4 number
--- @param p5 boolean
--- @return boolean
function ENTITY._REQUEST_ENTITY_LOOT_LIST(mount, argStruct, visiblelootslotrequestType, flag, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function ENTITY._0xE31FC20319874CB3(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function ENTITY._0x582F73ACFE969571(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function ENTITY._0xBA2A089E60ED1163(p0, p1, p2, p3, p4) end
--- 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
--- };
--- @param entity number
--- @return number
function ENTITY.GET_CARRIABLE_ENTITY_STATE(entity) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function ENTITY._0xD46BF94C4C66FAB0(p0, p1, p2, p3) end
--- 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.
--- @param entity number
--- @param index number
--- @return number
function ENTITY._GET_OPTIMAL_CARRY_CONFIG(entity, index) end
--- @param p0 number
--- @return number
function ENTITY._0xD21C7418C590BB40(p0) end
--- Returns zero if the entity is not a carriable
--- @param entity number
--- @return number
function ENTITY._GET_ENTITY_CARRY_CONFIG(entity) end
--- @param model number
--- @return boolean
function ENTITY._IS_CARRIABLE_MODEL(model) end
--- Returns a hash of an entity's name. (Alternative Name: _GET_ENTITY_PROMPT_NAME_HASH)
--- @param entity number
--- @return number
function ENTITY._GET_CARRIABLE_FROM_ENTITY(entity) end
--- Changes type and quality of skins
--- type hashes: https://pastebin.com/C1WvQjCy
--- @param entity number
--- @param type number
function ENTITY._SET_ENTITY_CARCASS_TYPE(entity, type) end
--- @param p0 number
--- @return number
function ENTITY._0x2A77EF9BEC8518F4(p0) end
--- @param entity number
function ENTITY._DELETE_CARRIABLE(entity) end
--- @param entity number
--- @return boolean
function ENTITY._IS_ENTITY_FULLY_LOOTED(entity) end
--- @param entity number
--- @param looted boolean
function ENTITY._SET_ENTITY_FULLY_LOOTED(entity, looted) end
--- Returns the ped which is currently looting another ped. Returns null if no one is looting the ped.
--- @param entity number
--- @return number
function ENTITY._FIND_ENTITY_LOOTING_PED(entity) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function ENTITY._0x0CCEFC6C2C95DA2A(p0, p1, p2, p3) end
--- Used when checking if ped is in water
--- @param p0 any
--- @param entity number
--- @param p2 number
--- @param ped number
--- @param p4 number
--- @param p5 number
--- @return boolean
function ENTITY._0x383F64263F946E45(p0, entity, p2, ped, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function ENTITY._0x8E10DF0FFA63FB65(p0, p1, p2, p3, p4) end
--- flagId: see _SET_ENTITY_CARRYING_FLAG
--- @param entity number
--- @param flagId number
--- @return boolean
function ENTITY._GET_ENTITY_CARRYING_FLAG(entity, flagId) end
--- flagId: https://github.com/femga/rdr3_discoveries/tree/master/AI/CARRYING_FLAGS
--- https://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,
--- };
--- @param entity number
--- @param flagId number
--- @param value boolean
function ENTITY._SET_ENTITY_CARRYING_FLAG(entity, flagId, value) end
--- Returns BOOL in ida
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function ENTITY._0xC3ABCFBC7D74AFA5(ped, p1, p2) end
--- 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.
--- @param entity number
function ENTITY._0x371D179701D9C082(entity) end
--- @param entity number
--- @param p1 boolean
function ENTITY._0xA48E4801DEBDF7E4(entity, p1) end
--- @param entity number
--- @return boolean
function ENTITY._GET_IS_CARRIABLE_PELT(entity) end
--- @param p0 number
--- @return number
function ENTITY._0xF59FDE7B4D31A630(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function ENTITY._0x120376C23F019C6C(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function ENTITY._0x5744562E973E33CD(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function ENTITY._0xDD03FC2089AD093C(p0, p1, p2, p3) end
--- @param p0 number
--- @return number
function ENTITY._0xB16C780C51E51E2B(p0) end
--- @param entity number
--- @param p1 number
function ENTITY._0xEF259AA1E097E0AD(entity, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function ENTITY._0xBD94CECFB2D65119(p0, p1, p2, p3, p4, p5) end
--- @param entity number
--- @param radius number
function ENTITY._SET_ENTITY_CUSTOM_PICKUP_RADIUS(entity, radius) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function ENTITY._0xE75EEA8DB59A9F39(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @return number
function ENTITY._0x188736456D1DEDE6(p0, p1) end
--- @param p0 number
--- @param p1 number
function ENTITY._0xC6A1A3D63F122DE7(p0, p1) end
--- 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
--- @param entity number
--- @param forceType number
--- @param x number
--- @param y number
--- @param z number
--- @param component number
--- @param isDirectionRel boolean
--- @param isForceRel boolean
--- @param p8 boolean
function ENTITY.APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS(entity, forceType, x, y, z, component, isDirectionRel, isForceRel, p8) end
--- @param entity number
--- @param forceFlags number
--- @param x number
--- @param y number
--- @param z number
--- @param offX number
--- @param offY number
--- @param offZ number
--- @param boneIndex number
--- @param isDirectionRel boolean
--- @param ignoreUpVec boolean
--- @param isForceRel boolean
--- @param p12 boolean
--- @param p13 boolean
function ENTITY.APPLY_FORCE_TO_ENTITY(entity, forceFlags, x, y, z, offX, offY, offZ, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13) end
--- 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
--- @param entity1 number
--- @param entity2 number
--- @param boneIndex number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param p9 boolean
--- @param useSoftPinning boolean
--- @param collision boolean
--- @param isPed boolean
--- @param vertexIndex number
--- @param fixedRot boolean
--- @param p15 boolean
--- @param p16 boolean
function ENTITY.ATTACH_ENTITY_TO_ENTITY(entity1, entity2, boneIndex, xPos, yPos, zPos, xRot, yRot, zRot, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16) end
--- @param entity1 number
--- @param entity2 number
--- @param p2 number
--- @param boneIndex number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 boolean
--- @param p15 boolean
--- @param p16 boolean
--- @param p17 boolean
--- @param p18 number
--- @param p19 boolean
--- @param p20 number
--- @param p21 number
function ENTITY.ATTACH_ENTITY_TO_ENTITY_PHYSICALLY(entity1, entity2, p2, boneIndex, offsetX, offsetY, offsetZ, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) end
--- @param entity number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param timer number
--- @param p9 boolean
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @param p15 number
function ENTITY._ATTACH_ENTITY_TO_COORDS_PHYSICALLY(entity, p1, x, y, z, offsetX, offsetY, offsetZ, timer, p9, p10, p11, p12, p13, p14, p15) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function ENTITY._0x16908E859C3AB698(p0, p1, p2, p3, p4) end
--- @param entity number
--- @param boneName string
--- @return number
function ENTITY.GET_ENTITY_BONE_INDEX_BY_NAME(entity, boneName) end
--- @param entity number
function ENTITY.CLEAR_ENTITY_LAST_DAMAGE_ENTITY(entity) end
--- Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
--- @param entity number
function ENTITY.DELETE_ENTITY(entity) end
--- Must be called from a background script, otherwise it will do nothing.
--- @param entity number
function ENTITY._DELETE_ENTITY_2(entity) end
--- @param entity number
--- @param p1 boolean
--- @param collision boolean
function ENTITY.DETACH_ENTITY(entity, p1, collision) end
--- Getter for FREEZE_ENTITY_POSITION
--- @param entity number
--- @return boolean
function ENTITY._IS_ENTITY_FROZEN(entity) end
--- @param entity number
--- @param toggle boolean
function ENTITY.FREEZE_ENTITY_POSITION(entity, toggle) end
--- Old name: _SET_ENTITY_CLEANUP_BY_ENGINE
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_SHOULD_FREEZE_WAITING_ON_COLLISION(entity, toggle) end
--- Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine.
--- @param entity number
--- @param scriptHostObject boolean
--- @param grabFromOtherScript boolean
function ENTITY.SET_ENTITY_AS_MISSION_ENTITY(entity, scriptHostObject, grabFromOtherScript) end
--- 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.
--- @param entity number
function ENTITY.SET_ENTITY_AS_NO_LONGER_NEEDED(entity) end
--- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
--- @param ped number
function ENTITY.SET_PED_AS_NO_LONGER_NEEDED(ped) end
--- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
--- @param vehicle number
function ENTITY.SET_VEHICLE_AS_NO_LONGER_NEEDED(vehicle) end
--- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
--- @param object number
function ENTITY.SET_OBJECT_AS_NO_LONGER_NEEDED(object) end
function ENTITY._0x20FAEE47427A4497() end
--- Returns true if calling script owns specified entity
--- @param entity number
--- @return boolean
function ENTITY._DOES_THREAD_OWN_THIS_ENTITY(entity) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x56E0735D6273B227(p0, p1) end
--- SET_ENTITY_A*
--- @param entity number
--- @param p1 number
function ENTITY._0xC0EDEF16D90661EE(entity, p1) end
--- @param p0 number
function ENTITY._0x0FD7D7C232876E72(p0) end
function ENTITY._0x0939E773925C4719() end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_CAN_BE_DAMAGED(entity, toggle) end
--- @param entity number
--- @return boolean
function ENTITY._GET_ENTITY_CAN_BE_DAMAGED(entity) end
--- @param entity number
--- @param bCanBeDamaged boolean
--- @param relGroup number
function ENTITY.SET_ENTITY_CAN_BE_DAMAGED_BY_RELATIONSHIP_GROUP(entity, bCanBeDamaged, relGroup) end
--- @param p0 number
--- @param p1 number
function ENTITY._0xFF83AF534156B399(p0, p1) end
--- Sets whether the entity can be targeted without being in line-of-sight.
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_CAN_BE_TARGETED_WITHOUT_LOS(entity, toggle) end
--- @param entity number
--- @return boolean
function ENTITY.GET_ENTITY_COLLISION_DISABLED(entity) end
--- @param entity number
--- @param toggle boolean
--- @param keepPhysics boolean
function ENTITY.SET_ENTITY_COLLISION(entity, toggle, keepPhysics) end
--- @param entity number
--- @param toggle boolean
--- @param keepPhysics boolean
function ENTITY.SET_ENTITY_COMPLETELY_DISABLE_COLLISION(entity, toggle, keepPhysics) end
--- @param entity number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @param clearArea boolean
function ENTITY.SET_ENTITY_COORDS(entity, xPos, yPos, zPos, xAxis, yAxis, zAxis, clearArea) end
--- Axis - Invert Axis Flags
--- @param entity number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
function ENTITY.SET_ENTITY_COORDS_NO_OFFSET(entity, xPos, yPos, zPos, xAxis, yAxis, zAxis) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_DYNAMIC(entity, toggle) end
--- @param entity number
--- @param heading number
function ENTITY.SET_ENTITY_HEADING(entity, heading) end
--- @param entity number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param heading number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
function ENTITY._SET_ENTITY_COORDS_AND_HEADING(entity, xPos, yPos, zPos, heading, xAxis, yAxis, zAxis) end
--- @param entity number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param heading number
--- @param p5 boolean
--- @param p6 boolean
function ENTITY._SET_ENTITY_COORDS_AND_HEADING_NO_OFFSET(entity, xPos, yPos, zPos, heading, p5, p6) end
--- 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
--- @param entity number
--- @param healthAmount number
--- @param entityKilledBy number
function ENTITY.SET_ENTITY_HEALTH(entity, healthAmount, entityKilledBy) end
--- Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_INVINCIBLE(entity, toggle) end
--- SET_ENTITY_LO*
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function ENTITY._0xAF7F3099B9FEB535(entity, p1, p2, p3) end
--- @param entity number
--- @param p1 boolean
--- @param p2 number
function ENTITY.SET_ENTITY_IS_TARGET_PRIORITY(entity, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function ENTITY._0xB38A29CCD5447783(p0, p1, p2) end
--- tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
--- @param entity number
--- @param tier number
--- @param p2 boolean
function ENTITY._SET_ENTITY_THREAT_TIER(entity, tier, p2) end
--- @param entity number
--- @return number
function ENTITY._GET_ENTITY_THREAT_TIER(entity) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x2D40BCBFE9305DEA(p0, p1) end
--- @param entity number
--- @param enabled boolean
function ENTITY._SET_ENTITY_LIGHTS_ENABLED(entity, enabled) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_LOAD_COLLISION_FLAG(entity, toggle) end
--- @param entity number
--- @return boolean
function ENTITY.HAS_COLLISION_LOADED_AROUND_ENTITY(entity) end
--- Old name: _HAS_COLLISION_LOADED_AT_COORDS
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @return boolean
function ENTITY.HAS_COLLISION_LOADED_AROUND_POSITION(xPos, yPos, zPos) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_ONLY_DAMAGED_BY_PLAYER(entity, toggle) end
--- @param entity number
--- @param p1 boolean
--- @param relationshipGroup number
function ENTITY.SET_ENTITY_ONLY_DAMAGED_BY_RELATIONSHIP_GROUP(entity, p1, relationshipGroup) end
--- 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
--- @param entity number
--- @param proofsBitset number
--- @param specialFlag boolean
function ENTITY.SET_ENTITY_PROOFS(entity, proofsBitset, specialFlag) end
--- Note: this native was removed in 1232 but added back in 1311
--- @param entity number
--- @return number
function ENTITY._GET_ENTITY_PROOFS(entity) end
--- @param entity number
--- @param x number
--- @param y number
--- @param z number
--- @param w number
function ENTITY.SET_ENTITY_QUATERNION(entity, x, y, z, w) end
--- @param entity number
--- @param pitch number
--- @param roll number
--- @param yaw number
--- @param rotationOrder number
--- @param p5 boolean
function ENTITY.SET_ENTITY_ROTATION(entity, pitch, roll, yaw, rotationOrder, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function ENTITY._0xD45BB89B53FC0CFD(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_VISIBLE(entity, toggle) end
--- @param entity number
--- @param p1 boolean
function ENTITY._0x80FDEB3A9E9AA578(entity, p1) end
--- @param entity number
function ENTITY._0x9C6906EF8CB20C5F(entity) end
--- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
--- @param entity number
--- @param x number
--- @param y number
--- @param z number
function ENTITY.SET_ENTITY_VELOCITY(entity, x, y, z) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_HAS_GRAVITY(entity, toggle) end
--- 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).
--- @param entity number
--- @param value number
function ENTITY.SET_ENTITY_LOD_DIST(entity, value) end
--- Returns the LOD distance of an entity.
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_LOD_DIST(entity) end
--- skin - everything alpha except skin
--- Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).
--- @param entity number
--- @param alphaLevel number
--- @param skin boolean
function ENTITY.SET_ENTITY_ALPHA(entity, alphaLevel, skin) end
--- @param entity number
--- @return number
function ENTITY.GET_ENTITY_ALPHA(entity) end
--- @param entity number
function ENTITY.RESET_ENTITY_ALPHA(entity) end
--- @param entity number
function ENTITY._SET_ENTITY_FADE_IN(entity) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_ALWAYS_PRERENDER(entity, toggle) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_RENDER_SCORCHED(entity, toggle) end
--- Seems to return true if entity is burned / scorched
--- _GET_ENTITY_*
--- @param entity number
--- @return number
function ENTITY._0x37B01666BAE8F7EF(entity) end
--- @param p0 number
--- @param p1 number
function ENTITY._0xA9E6D8F2DDFC4DB9(p0, p1) end
--- Only works with objects!
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param originalModel number
--- @param newModel number
--- @param p6 boolean
function ENTITY.CREATE_MODEL_SWAP(x, y, z, radius, originalModel, newModel, p6) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param originalModel number
--- @param newModel number
--- @param p6 boolean
function ENTITY.REMOVE_MODEL_SWAP(x, y, z, radius, originalModel, newModel, p6) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param model number
--- @param p5 boolean
function ENTITY.CREATE_MODEL_HIDE(x, y, z, radius, model, p5) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param model number
--- @param p5 boolean
function ENTITY.CREATE_MODEL_HIDE_EXCLUDING_SCRIPT_OBJECTS(x, y, z, radius, model, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function ENTITY.REMOVE_MODEL_HIDE(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @return number
function ENTITY._0xD4636C2EDB0DEA8A(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param modelHash number
--- @param p5 boolean
function ENTITY.CREATE_FORCED_OBJECT(x, y, z, p3, modelHash, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function ENTITY.REMOVE_FORCED_OBJECT(p0, p1, p2, p3, p4) end
--- @param entity1 number
--- @param entity2 number
--- @param thisFrameOnly boolean
function ENTITY.SET_ENTITY_NO_COLLISION_ENTITY(entity1, entity2, thisFrameOnly) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_MOTION_BLUR(entity, toggle) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_CAN_AUTO_VAULT_ON_ENTITY(entity, toggle) end
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_CAN_CLIMB_ON_ENTITY(entity, toggle) end
--- Old name: _SET_ENTITY_DECALS_DISABLED
--- @param entity number
--- @param toggle boolean
function ENTITY.SET_ENTITY_NOWEAPONDECALS(entity, toggle) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param itemSet number
--- @param p5 number
--- @return number
function ENTITY._GET_ENTITIES_NEAR_POINT(x, y, z, radius, itemSet, p5) end
--- @param volume number
--- @param itemSet number
--- @param entityType number
--- @param p3 number
--- @param p4 number
--- @param p5 string
--- @return number
function ENTITY.GET_MATCHING_ENTITIES(volume, itemSet, entityType, p3, p4, p5) end
--- @param volume number
--- @param itemSet number
--- @param entityType number
--- @return number
function ENTITY._GET_ENTITIES_IN_VOLUME(volume, itemSet, entityType) end
--- Alternative Name: _GET_ENTITY_FROM_MAP_OBJECT; You can get existing objects and manipulate them using this native.
--- @param modelHash number
--- @return number
function ENTITY._SEARCH_BUILDING_POOL_FOR_ENTITY_WITH_THIS_MODEL(modelHash) end
--- @param p0 number
--- @return number
function ENTITY._0xC2E71D7E0A7B4C89(p0) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x6C31B06E91518269(p0, p1) end
--- @param p0 number
--- @param p1 number
function ENTITY._0x119A5714578F4E05(p0, p1) end
--- Params: p1 = 0 in R* Scripts (GET_DOOR_ENTITY_FROM_ID)
--- https://github.com/femga/rdr3_discoveries/blob/master/doorHashes/doorhashes.lua
--- @param doorHash number
--- @param p1 number
--- @return number
function ENTITY._GET_ENTITY_BY_DOORHASH(doorHash, p1) end
--- @param animDictionary string
--- @param animName string
--- @param p2 string
--- @param p3 number
--- @param p4 number
--- @return boolean
function ENTITY.FIND_ANIM_EVENT_PHASE(animDictionary, animName, p2, p3, p4) end
--- @param entity number
--- @param p1 boolean
function ENTITY.FORCE_ENTITY_AI_AND_ANIMATION_UPDATE(entity, p1) end
--- Returns a normalized value between 0.0f and 1.0f. You can get the actual anim time by multiplying this by GET_ANIM_DURATION
--- @param entity number
--- @param animDict string
--- @param animName string
--- @return number
function ENTITY._GET_ENTITY_ANIM_CURRENT_TIME(entity, animDict, animName) end
--- Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
--- _GET_ENTITY_*
--- @param entity number
--- @param animDict string
--- @param animClip string
--- @return number
function ENTITY._0x8E46E18AA828334F(entity, animDict, animClip) end
--- Hardcoded to return zero/false.
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function ENTITY._0xDF8E49EA89A01DB1(p0, p1, p2) end
--- @param entity number
--- @param actionHash number
--- @return boolean
function ENTITY.HAS_ANIM_EVENT_FIRED(entity, actionHash) end
--- @param entity number
--- @param animDict string
--- @param animName string
--- @param p3 number
--- @return boolean
function ENTITY.HAS_ENTITY_ANIM_FINISHED(entity, animDict, animName, p3) end
--- https://github.com/femga/rdr3_discoveries/tree/master/animations
--- @param entity number
--- @param animName string
--- @param animDict string
--- @param p3 number
--- @param loop boolean
--- @param stayInAnim boolean
--- @param p6 boolean
--- @param delta number
--- @param bitset number
--- @return boolean
function ENTITY.PLAY_ENTITY_ANIM(entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset) end
--- https://gfycat.com/amazingmiserlyamericanquarterhorse
--- @param entity number
--- @param animDict string
--- @param animName string
--- @param time number
function ENTITY._SET_ENTITY_ANIM_CURRENT_TIME(entity, animDict, animName, time) end
--- @param entity number
--- @param animDict string
--- @param animName string
--- @param speedMultiplier number
function ENTITY._SET_ENTITY_ANIM_SPEED(entity, animDict, animName, speedMultiplier) end
--- Doesn't actually return anything.
--- @param entity number
--- @param animation string
--- @param animGroup string
--- @param p3 number
--- @return boolean
function ENTITY.STOP_ENTITY_ANIM(entity, animation, animGroup, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function ENTITY._0x669655FFB29EF1A9(p0, p1, p2, p3) end
--- @param entity number
function ENTITY._ADD_ENTITY_TRACKING_TRAILS(entity) end
--- _REMOVE_DECALS_* - _REMOVE_FORCED*
--- @param entity number
function ENTITY._0x5826EFD6D73C4DE5(entity) end
--- @param entity number
--- @param pause boolean
function ENTITY._PAUSE_ENTITY_TRACKING(entity, pause) end
--- @param p0 number
--- @param waypointRecord string
--- @param bUseSnowOffset boolean
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param bInit boolean
--- @return number
function ENTITY._CREATE_FOOTPATH_TRAIL(p0, waypointRecord, bUseSnowOffset, p3, p4, p5, p6, p7, p8, p9, p10, bInit) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function ENTITY._0xC76E94A78127412B(p0, p1, p2) end
--- @param p0 number
function ENTITY._0x7F20092547B4DDEA(p0) end
--- @param p0 number
function ENTITY._0xF41E2979D5BC5370(p0) end
--- @param p0 number
--- @return number
function ENTITY._0xAAACB74442C1BED3(p0) end
--- @param modelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param flags number
--- @return number
function ENTITY.PIN_CLOSEST_MAP_ENTITY(modelHash, x, y, z, flags) end
--- @param entity number
function ENTITY._UNPIN_MAP_ENTITY(entity) end
--- @param p0 number
--- @return boolean
function ENTITY.IS_MAP_ENTITY_PINNED(p0) end
--- @param p0 number
--- @return number
function ENTITY._GET_PINNED_MAP_ENTITY(p0) end
--- @param p0 number
function ENTITY._0xEAB3D91D30A344F1(p0) end
--- @param p0 number
function ENTITY._0x37CEB637BA3B1A47(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function ENTITY._0x350E9211074955AF(p0, p1) end
--- @param ped number
function ENTITY._0x898586729DB5221D(ped) end
--- @param p0 number
--- @param p1 number
function ENTITY._0xE9E7A0BAC7F57746(p0, p1) end

EVENT = {}

--- @param ped number
--- @param name number
function EVENT.SET_DECISION_MAKER(ped, name) end
--- @param ped number
function EVENT.SET_DECISION_MAKER_TO_DEFAULT(ped) end
--- @param args number
--- @return number
function EVENT._CREATE_SHOCKING_EVENT(args) end
--- eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS
--- @param eventType number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @return number
function EVENT.ADD_SHOCKING_EVENT_AT_POSITION(eventType, x, y, z, p4, p5, p6, p7, p8, p9, p10) end
--- eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- @param eventType number
--- @param entity number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 boolean
--- @param p9 boolean
--- @param p10 number
--- @param p11 number
--- @return number
function EVENT.ADD_SHOCKING_EVENT_FOR_ENTITY(eventType, entity, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) end
--- eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- @param eventType number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function EVENT.IS_SHOCKING_EVENT_IN_SPHERE(eventType, x, y, z, radius) end
--- @param event number
--- @return boolean
function EVENT.REMOVE_SHOCKING_EVENT(event) end
--- @param p0 boolean
function EVENT.REMOVE_ALL_SHOCKING_EVENTS(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 boolean
function EVENT._REMOVE_ALL_SHOCKING_EVENTS_IN_AREA(x, y, z, radius, p4) end
--- eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- @param eventType number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p5 boolean
function EVENT._REMOVE_ALL_SHOCKING_EVENTS_OF_TYPE_IN_AREA(eventType, x, y, z, radius, p5) end
--- eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- @param eventType number
--- @param p1 boolean
function EVENT.REMOVE_ALL_SHOCKING_EVENTS_OF_TYPE(eventType, p1) end
function EVENT.REMOVE_SHOCKING_EVENT_SPAWN_BLOCKING_AREAS() end
--- _ADD* (_ADD_SHOCKING_EVENT_* ?)
--- @param entity number
--- @param p1 number
--- @return number
function EVENT._0x36D0F2BA2C0D9BDE(entity, p1) end
--- Only used in R* SP Scripts
--- Hash only used in R* Script mob3.ysc: ROBBERY
--- _ADD_PED*
--- @param ped1 number
--- @param ped2 number
--- @param p2 number
--- @param p3 number
function EVENT._0x7C511E91738A0828(ped1, ped2, p2, p3) end
function EVENT.SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME() end
--- _S* (_SUPPRESS_EVENTS_NEXT_FRAME?)
function EVENT._0xB6F4825153920582() end
--- Only used in R* SP Script coachrobberies
--- _SET_S*
--- @param p0 number
function EVENT._0x4B2B1A891D437CA7(p0) end
--- _SET_P*
--- @param ped number
--- @param p1 boolean
function EVENT._0x9520175B35E2268D(ped, p1) end
--- Only used in R* SP Script beat_rat_infestation and homeinvasion
--- @param volume number
--- @param p1 boolean
--- @param p2 boolean
--- @return number
function EVENT._0x18E93EBFC1FCFA48(volume, p1, p2) end
--- Only used in R* SP Script beat_rat_infestation
--- Params: p0 = value returned by 0x18E93EBFC1FCFA48
--- @param p0 number
function EVENT._0x56B3410626A473E7(p0) end
--- Models used in the scripts: P_REGISTER05X, P_REGISTER06X, P_REGISTER03X, PLAYER_ZERO, PLAYER_THREE, A_C_HORSE_MORGAN_FLAXENCHESTNUT
--- @param model number
--- @param p1 boolean
--- @param p2 boolean
function EVENT._ADD_MODEL_TO_EVENT_MONITOR(model, p1, p2) end
--- @param model number
function EVENT._0x4465C3D1475BD3FD(model) end
--- @param object number
--- @param p1 boolean
--- @param p2 boolean
--- @return number
function EVENT._0x2DD42FAD06E6F19E(object, p1, p2) end
--- @param object number
function EVENT._0xA86B0EE9B39D15D6(object) end
--- @param object number
--- @return boolean
function EVENT._0x26054EB81AC0893B(object) end
--- @param ped number
--- @param eventName string
--- @param p2 number
function EVENT._SET_EVENT_TRACKER_FOR_PED(ped, eventName, p2) end
--- Might return time since some (?) event.
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @return number
function EVENT._0xAD17A18215DD23D6(entity, p1, p2) end
--- @param entity number
--- @param eventType number
--- @param p2 number
--- @param p3 number
--- @return number
function EVENT._EVENT_GET_TIME_SINCE_EVENT(entity, eventType, p2, p3) end
--- Returns eventType
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @return number
function EVENT._EVENT_GET_RECENT_EVENT(entity, p1, p2) end
--- @param eventName string
--- @param shockingEvent number
--- @return boolean
function EVENT._IS_EVENT_TRACKER_ACTIVE(eventName, shockingEvent) end
--- @param entity number
--- @param eventType number
--- @param p2 number
--- @param p3 number
--- @return number
function EVENT._EVENT_GET_SOURCE_ENTITY_FROM_EVENT(entity, eventType, p2, p3) end
--- @param entity number
--- @param eventType number
--- @param p2 number
--- @param p3 number
--- @return number
function EVENT._EVENT_GET_TARGET_ENTITY_FROM_EVENT(entity, eventType, p2, p3) end
--- _GET*
--- @param ped number
--- @return number
function EVENT._0x1D1B448D719415AB(ped) end
--- _GET*
--- @param entity number
--- @param p1 number
--- @return number
function EVENT._0x83D43F0FD5276E4D(entity, p1) end
--- HAS_ACTOR_RECEIVED_TRACKED_EVENT_THAT_SHOULD_ALERT - iTimeSinceEvent >= iTimeLimitMS
--- @param entity number
--- @param eventType number
--- @param p2 number
function EVENT._0xE28D7FC9FD32ABEB(entity, eventType, p2) end
--- AGGRO_CHECK_PROPERTY_DAMAGE: Property damage found with event
--- @param ped number
--- @param p1 number
function EVENT._0x1A5C5D350068A673(ped, p1) end
--- @param ped number
function EVENT._EVENT_FLUSH_ALL_EVENT_TRACKERS(ped) end
function EVENT._0xE2C2FBB7825FFC66() end

FIRE = {}

--- Starts a fire:
--- 
--- xyz: Location of fire
--- maxChildren: The max amount of times a fire can spread to other objects. Must be 25 or less, or the function will do nothing.
--- isGasFire: Whether or not the fire is powered by gasoline.
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
--- @param soundsetName string
--- @param p7 number
--- @param p8 number
--- @return number
function FIRE.START_SCRIPT_FIRE(x, y, z, p3, p4, p5, soundsetName, p7, p8) end
--- @param fireHandle number
function FIRE.REMOVE_SCRIPT_FIRE(fireHandle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function FIRE.START_ENTITY_FIRE(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function FIRE.STOP_ENTITY_FIRE(p0, p1) end
--- @param entity number
--- @return boolean
function FIRE.IS_ENTITY_ON_FIRE(entity) end
--- @param p0 number
function FIRE._0x754937C28271BC65(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return number
function FIRE.GET_NUMBER_OF_FIRES_IN_RANGE(x, y, z, radius) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
function FIRE.STOP_FIRE_IN_RANGE(x, y, z, radius) end
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
function FIRE._STOP_FIRE_IN_BOX(posX, posY, posZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param outPosition number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function FIRE.GET_CLOSEST_FIRE_POS(outPosition, x, y, z) end
--- @param outPosition number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return boolean
function FIRE._GET_CLOSEST_FIRE_POS_IN_VOLUME(outPosition, posX, posY, posZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @return number
function FIRE._0x41B87A6495EE13DD(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- Returns true if entity is being damaged by fire, once damage caused to entity by fire (like burned appearance) has cleared over time, the native returns false.
--- @param entity number
--- @return boolean
function FIRE._IS_ENTITY_BEING_DAMAGED_BY_FIRE(entity) end
--- @param entity number
--- @return boolean
function FIRE._IS_ENTITY_CONSUMED_BY_FIRE(entity) end
--- https://github.com/femga/rdr3_discoveries/tree/master/graphics/explosions
--- 
--- explosionType:
--- enum eExplosionTag
--- {
--- EXP_TAG_DONTCARE = -1,
--- EXP_TAG_GRENADE,
--- EXP_TAG_STICKYBOMB,
--- EXP_TAG_MOLOTOV,
--- EXP_TAG_MOLOTOV_VOLATILE,
--- EXP_TAG_HI_OCTANE,
--- EXP_TAG_CAR,
--- EXP_TAG_PLANE,
--- EXP_TAG_PETROL_PUMP,
--- EXP_TAG_DIR_STEAM,
--- EXP_TAG_DIR_FLAME,
--- EXP_TAG_DIR_WATER_HYDRANT,
--- EXP_TAG_BOAT,
--- EXP_TAG_BULLET,
--- EXP_TAG_SMOKEGRENADE,
--- EXP_TAG_BZGAS,
--- EXP_TAG_GAS_CANISTER,
--- EXP_TAG_EXTINGUISHER,
--- EXP_TAG_TRAIN,
--- EXP_TAG_DIR_FLAME_EXPLODE,
--- EXP_TAG_VEHICLE_BULLET,
--- EXP_TAG_BIRD_CRAP,
--- EXP_TAG_FIREWORK,
--- EXP_TAG_TORPEDO,
--- EXP_TAG_TORPEDO_UNDERWATER,
--- EXP_TAG_LANTERN,
--- EXP_TAG_DYNAMITE,
--- EXP_TAG_DYNAMITESTACK,
--- EXP_TAG_DYNAMITE_VOLATILE,
--- EXP_TAG_RIVER_BLAST,
--- EXP_TAG_PLACED_DYNAMITE,
--- EXP_TAG_FIRE_ARROW,
--- EXP_TAG_DYNAMITE_ARROW,
--- EXP_TAG_PHOSPHOROUS_BULLET,
--- EXP_TAG_LIGHTNING_STRIKE,
--- EXP_TAG_TRACKING_ARROW,
--- EXP_TAG_POISON_BOTTLE
--- };
--- @param x number
--- @param y number
--- @param z number
--- @param explosionType number
--- @param damageScale number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param cameraShake number
function FIRE.ADD_EXPLOSION(x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake) end
--- explosionType: see ADD_EXPLOSION
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param explosionType number
--- @param damageScale number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param cameraShake number
function FIRE.ADD_OWNED_EXPLOSION(ped, x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake) end
--- Adds an explosion with entity as damage causer.
--- explosionType: see ADD_EXPLOSION
--- _A* - _ADD_D*
--- @param entity number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param explosionType number
--- @param damageScale number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param cameraShake number
function FIRE._ADD_EXPLOSION_WITH_DAMAGE_CAUSER(entity, p1, x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake) end
--- Changes explosionFx (Visual Effect) for specified explosionType
--- explosionType: see ADD_EXPLOSION
--- explosionFx: https://github.com/femga/rdr3_discoveries/blob/master/graphics/explosions/explosion_vfxTags.lua
--- @param x number
--- @param y number
--- @param z number
--- @param explosionType number
--- @param explosionFx number
--- @param damageScale number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param cameraShake number
function FIRE.ADD_EXPLOSION_WITH_USER_VFX(x, y, z, explosionType, explosionFx, damageScale, isAudible, isInvisible, cameraShake) end
--- Adds an explosion with vfx and entity as damage causer.
--- explosionFx: see ADD_EXPLOSION_WITH_USER_VFX
--- _A* - _ADD_D*
--- @param entity number
--- @param p1 boolean
--- @param x number
--- @param y number
--- @param z number
--- @param explosionType number
--- @param explosionFx number
--- @param damageScale number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param cameraShake number
function FIRE._ADD_EXPLOSION_WITH_USER_VFX_AND_DAMAGE_CAUSER(entity, p1, x, y, z, explosionType, explosionFx, damageScale, isAudible, isInvisible, cameraShake) end
--- explosionType: see ADD_EXPLOSION
--- @param explosionType number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @return boolean
function FIRE.IS_EXPLOSION_IN_AREA(explosionType, x1, y1, z1, x2, y2, z2) end
--- explosionType: see ADD_EXPLOSION
--- @param explosionType number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @return boolean
function FIRE.IS_EXPLOSION_ACTIVE_IN_AREA(explosionType, x1, y1, z1, x2, y2, z2) end
--- explosionType: see ADD_EXPLOSION
--- @param explosionType number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function FIRE.IS_EXPLOSION_IN_SPHERE(explosionType, x, y, z, radius) end
--- explosionType: see ADD_EXPLOSION
--- @param explosionType number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param angle number
--- @return boolean
function FIRE.IS_EXPLOSION_IN_ANGLED_AREA(explosionType, x1, y1, z1, x2, y2, z2, angle) end
--- explosionType: see ADD_EXPLOSION
--- @param explosionType number
--- @param volume number
--- @return boolean
function FIRE._IS_EXPLOSION_IN_VOLUME(explosionType, volume) end
--- explosionType: see ADD_EXPLOSION
--- @param explosionType number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param radius number
--- @return number
function FIRE.GET_OWNER_OF_EXPLOSION_IN_ANGLED_AREA(explosionType, x1, y1, z1, x2, y2, z2, radius) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
function FIRE._0x68F6A75FDF5A70D6(x, y, z, p3) end
--- Only used in R* SP Related Camp Scripts
--- @param p0 number
function FIRE._0x24DB6B9F2B719043(p0) end
--- Tested with fire & dynamite. Only returns true using value p1 = 1 and when the ped is affected by fire.
--- @param ped number
--- @param p1 number
--- @return boolean
function FIRE._IS_PED_SHOCKING_EVENT_ACTIVE(ped, p1) end

FLOCK = {}

--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function FLOCK.GET_SPECIES_TUNING_FLOAT_PARAM(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function FLOCK.SET_SPECIES_TUNING_FLOAT_PARAM(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 boolean
function FLOCK.SET_SPECIES_TUNING_BOOL_PARAM(p0, p1, p2, p3) end
--- index: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimalTuningFloats
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/ANIMAL_TUNING_FLOAT_PARAMS
--- @param animal number
--- @param index number
--- @return number
function FLOCK.GET_ANIMAL_TUNING_FLOAT_PARAM(animal, index) end
--- @param animal number
--- @param index number
--- @param value number
function FLOCK.SET_ANIMAL_TUNING_FLOAT_PARAM(animal, index, value) end
--- @param animal number
--- @param index number
function FLOCK.RESET_ANIMAL_TUNING_FLOAT_PARAM(animal, index) end
--- index: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimalTuningBools
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/ANIMAL_TUNING_BOOL_PARAMS
--- @param animal number
--- @param index number
--- @return boolean
function FLOCK.GET_ANIMAL_TUNING_BOOL_PARAM(animal, index) end
--- @param animal number
--- @param index number
--- @param value boolean
function FLOCK.SET_ANIMAL_TUNING_BOOL_PARAM(animal, index, value) end
--- @param animal number
--- @param index number
function FLOCK.RESET_ANIMAL_TUNING_BOOL_PARAM(animal, index) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function FLOCK._0x8049B17BEC937662(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @return number
function FLOCK._0xE93415B3307208E5(p0, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param p0 number
--- @param p1 number
--- @return number
function FLOCK._0x19870C40C7EE15BE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function FLOCK._0x0816C31480764AB0(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function FLOCK._0xC3D581A34BC0A1F0(p0, p1) end
--- species: SPECIES_BIRD_CROW
--- @param species number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param x3 number
--- @param y3 number
--- @param z3 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
function FLOCK._0xF2CCA7B68CFAB2B9(species, x1, y1, z1, x2, y2, z2, x3, y3, z3, p10, p11, p12, p13) end
--- @param p0 number
function FLOCK._0xFB16F08F47B83B4C(p0) end
--- Ped (horse) will run away from players and mounting will trigger them to buck until disabled.
--- Used for: REL_DOMESTICATED_ANIMAL
--- @param ped number
--- @return boolean
function FLOCK._GET_ANIMAL_IS_WILD(ped) end
--- @param ped number
--- @param toggle boolean
function FLOCK._SET_ANIMAL_IS_WILD(ped, toggle) end
--- enum eAnimalRarityLevel
--- {
--- ARL_COMMON,
--- ARL_RARE,
--- ARL_LEGENDARY,
--- ARL_NUMRARITYLEVELS
--- };
--- @param ped number
--- @return number
function FLOCK._GET_ANIMAL_RARITY(ped) end
--- rarityLevel: see _GET_ANIMAL_RARITY
--- @param ped number
--- @param rarityLevel number
function FLOCK._SET_ANIMAL_RARITY(ped, rarityLevel) end
--- @param p0 number
--- @param p1 number
function FLOCK._0xFF1E339CE40EAAAF(p0, p1) end
--- @param herdHandle number
--- @return boolean
function FLOCK._IS_HERD_VALID(herdHandle) end
--- @return number
function FLOCK._CREATE_HERD() end
--- @param p0 number
function FLOCK._0xE0961AED72642B80(p0) end
--- @param p0 number
--- @param ped number
function FLOCK._ADD_PED_TO_FLOCK(p0, ped) end
--- @param p0 number
--- @param p1 number
function FLOCK._0x408D1149C5E39C1E(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function FLOCK._0x9E13ACC38BA8F9C3(p0, p1) end
--- @param p0 number
--- @return number
function FLOCK._0x34B9C4D86DF2C2F3(p0) end
--- @param p0 number
--- @return { x: number, y: number, z: number }
function FLOCK._0x1DA6CB02071055D5(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function FLOCK._0xC95611869E14F8AF(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function FLOCK._0x09EE00B8F858E0BE(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function FLOCK._0xE36D2CB540597EF7(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @return number
function FLOCK._0xD95F04A4E73BE85E(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function FLOCK._0x17E3E5C46ECCD308(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function FLOCK._0xC72CE37081DAE625(p0, p1, p2, p3) end
--- @param p0 number
function FLOCK._0x67A43EA3F6FE0076(p0) end
--- @param p0 number
--- @return number
function FLOCK._0x36486AF7DA93A464(p0) end
--- @param p0 number
--- @param p1 number
function FLOCK._0x6C57BEA886A20C6B(p0, p1) end
--- @param p0 number
--- @param p1 number
function FLOCK._0x1520626FFAFFFA8F(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function FLOCK._0xFA821997794F48E7(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function FLOCK._0xCC6B5AAFC87BFC7B(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function FLOCK._0xFDB008B3BCF5992F(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function FLOCK._0x2DF3D457D86F8E57(p0, p1) end
--- @param p0 number
function FLOCK._0x706B434FEFAD6A24(p0) end
--- @param p0 number
function FLOCK._0xA881F5C77A560906(p0) end
--- @param p0 number
--- @return number
function FLOCK._0x53187E563F938E76(p0) end

GRAPHICS = {}

function GRAPHICS.FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return boolean
function GRAPHICS.LOAD_MISSION_CREATOR_PHOTO(p0, p1, p2, p3) end
--- contentId: returned by NETWORK::_UGC_QUERY_GET_CREATOR_PHOTO(uVar0, 0, sParam3)
--- @param contentId string
--- @return number
function GRAPHICS.GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO(contentId) end
--- @return boolean
function GRAPHICS.BEGIN_TAKE_HIGH_QUALITY_PHOTO() end
--- @return number
function GRAPHICS.GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO() end
function GRAPHICS.FREE_MEMORY_FOR_HIGH_QUALITY_PHOTO() end
--- @param p0 boolean
function GRAPHICS._SET_PHOTO_SELF_STAT(p0) end
--- @param p0 number
function GRAPHICS._SET_PHOTO_STUDIO_STAT(p0) end
--- @param posseId number
function GRAPHICS._SET_POSSE_ID_FOR_PHOTO(posseId) end
--- @param p0 boolean
--- @param p1 boolean
function GRAPHICS._0x9F6D859C80708B26(p0, p1) end
--- @return boolean
function GRAPHICS.IS_PHOTO_FRAME() end
--- @param p0 boolean
function GRAPHICS._SET_PHOTO_IN_PHOTOMODE_STAT(p0) end
--- @param p0 number
function GRAPHICS._SET_PHOTO_OVERLAY_EFFECT_STAT(p0) end
--- Gets set to 1 when GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO = PHOTO_OPERATION_SUCCEEDED
--- @param p0 number
function GRAPHICS._0x0D5B19C34068FEE7(p0) end
--- @param player number
function GRAPHICS._SET_PLAYER_APPEAR_IN_PHOTO(player) end
--- @param p0 string
function GRAPHICS._SET_REGION_PHOTO_TAKEN_STAT(p0) end
--- @param p0 string
function GRAPHICS._SET_DISTRICT_PHOTO_TAKEN_STAT(p0) end
--- @param p0 string
function GRAPHICS._SET_STATE_PHOTO_TAKEN_STAT(p0) end
--- @param unused number
--- @return boolean
function GRAPHICS.SAVE_HIGH_QUALITY_PHOTO(unused) end
--- 0 = succeeded
--- 1 = getting status
--- 2 = failed
--- @return number
function GRAPHICS.GET_STATUS_OF_SAVE_HIGH_QUALITY_PHOTO() end
--- Called together with FREE_MEMORY_FOR_LOW_QUALITY_PHOTO
--- @param p0 number
--- @return boolean
function GRAPHICS.BEGIN_CREATE_LOW_QUALITY_COPY_OF_PHOTO(p0) end
--- Old name: _GET_STATUS_OF_DRAW_LOW_QUALITY_PHOTO
--- @param p0 number
--- @return number
function GRAPHICS.GET_STATUS_OF_CREATE_LOW_QUALITY_COPY_OF_PHOTO(p0) end
function GRAPHICS.FREE_MEMORY_FOR_LOW_QUALITY_PHOTO() end
--- nullsub, doesn't do anything (GTA5 leftover, there is no phone in RDR3)
--- @param p0 boolean
--- @param photoRotation number
function GRAPHICS.DRAW_LOW_QUALITY_PHOTO_TO_PHONE(p0, photoRotation) end
--- Always returns 200.
--- @return number
function GRAPHICS._GET_MAX_NUMBER_OF_LOCAL_PHOTOS() end
--- @return number
function GRAPHICS._GET_CURRENT_NUMBER_OF_LOCAL_PHOTOS() end
--- @return boolean
function GRAPHICS.QUEUE_OPERATION_TO_CREATE_SORTED_LIST_OF_PHOTOS() end
--- 0 = succeeded
--- 1 = getting status
--- 2 = failed
--- @return number
function GRAPHICS.GET_STATUS_OF_SORTED_LIST_OPERATION() end
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param colorR number
--- @param colorG number
--- @param colorB number
--- @param range number
--- @param intensity number
function GRAPHICS.DRAW_LIGHT_WITH_RANGE(posX, posY, posZ, colorR, colorG, colorB, range, intensity) end
--- @param entity number
function GRAPHICS.UPDATE_LIGHTS_ON_ENTITY(entity) end
--- https://gfycat.com/meagerfaireyra
--- @param entity number
--- @param red number
--- @param green number
--- @param blue number
function GRAPHICS._SET_LIGHTS_COLOR_FOR_ENTITY(entity, red, green, blue) end
--- @param entity number
--- @param intensity number
function GRAPHICS._SET_LIGHTS_INTENSITY_FOR_ENTITY(entity, intensity) end
--- type must be less than or equal to 20
--- @param entity number
--- @param type number
function GRAPHICS._SET_LIGHTS_TYPE_FOR_ENTITY(entity, type) end
--- https://github.com/femga/rdr3_discoveries/blob/master/graphics/markers/marker_types.lua
--- @param type number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param dirX number
--- @param dirY number
--- @param dirZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
--- @param bobUpAndDown boolean
--- @param faceCamera boolean
--- @param p19 number
--- @param rotate boolean
--- @param textureDict string
--- @param textureName string
--- @param drawOnEnts boolean
function GRAPHICS._DRAW_MARKER(type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts) end
--- @param typeHash number
--- @param posX1 number
--- @param posY1 number
--- @param posZ1 number
--- @param posX2 number
--- @param posY2 number
--- @param posZ2 number
--- @param radius number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
--- @param reserved number
--- @return number
function GRAPHICS.CREATE_CHECKPOINT_WITH_NAMEHASH(typeHash, posX1, posY1, posZ1, posX2, posY2, posZ2, radius, red, green, blue, alpha, reserved) end
--- @param checkpoint number
--- @return boolean
function GRAPHICS._DOES_CHECKPOINT_HAVE_FX(checkpoint) end
--- Sets the checkpoint color.
--- @param checkpoint number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
function GRAPHICS.SET_CHECKPOINT_RGBA(checkpoint, red, green, blue, alpha) end
--- Sets the checkpoint icon color.
--- @param checkpoint number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
function GRAPHICS.SET_CHECKPOINT_RGBA2(checkpoint, red, green, blue, alpha) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function GRAPHICS._0xCC3B787E73E64160(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function GRAPHICS._0x171C18E994C1A395(p0, p1, p2, p3, p4) end
--- @param checkpoint number
function GRAPHICS.DELETE_CHECKPOINT(checkpoint) end
--- Draws a rectangle on the screen.
--- 
--- -x: The relative X point of the center of the rectangle. (0.0-1.0, 0.0 is the left edge of the screen, 1.0 is the right edge of the screen)
--- 
--- -y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen)
--- 
--- -width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width)
--- 
--- -height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height)
--- 
--- -R: Red part of the color. (0-255)
--- 
--- -G: Green part of the color. (0-255)
--- 
--- -B: Blue part of the color. (0-255)
--- 
--- -A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque)
--- @param x number
--- @param y number
--- @param width number
--- @param height number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
--- @param p8 boolean
--- @param p9 boolean
function GRAPHICS.DRAW_RECT(x, y, width, height, red, green, blue, alpha, p8, p9) end
--- Sets a flag defining whether or not script draw commands should continue being drawn behind the pause menu. This is usually used for draw commands that are used with a world render target.
--- @param toggle boolean
function GRAPHICS.SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU(toggle) end
--- Sets the draw order for script draw commands.
--- @param drawOrder number
function GRAPHICS.SET_SCRIPT_GFX_DRAW_ORDER(drawOrder) end
--- Draws a 2D sprite on the screen.
--- 
--- Parameters:
--- textureDict - Name of texture dictionary to load texture from
--- 
--- textureName - Name of texture to load from texture dictionary
--- 
--- screenX/Y - Screen offset (0.5 = center)
--- scaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half)
--- 
--- heading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees
--- 
--- red,green,blue - Sprite color (default = 255/255/255)
--- 
--- alpha - opacity level
--- 
--- https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures
--- @param textureDict string
--- @param textureName string
--- @param screenX number
--- @param screenY number
--- @param width number
--- @param height number
--- @param heading number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
--- @param p11 boolean
function GRAPHICS.DRAW_SPRITE(textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha, p11) end
--- @param entity number
function GRAPHICS.ATTACH_TV_AUDIO_TO_ENTITY(entity) end
--- Probably changes tvs from being a 3d audio to being "global" audio
--- @param toggle boolean
function GRAPHICS.SET_TV_AUDIO_FRONTEND(toggle) end
--- Hardcoded to always set x to 1280 and y to 720.
--- @param x any
--- @param y any
function GRAPHICS.GET_SCREEN_RESOLUTION(x, y) end
--- @param p0 number
--- @param p1 number
function GRAPHICS._0xA04EF43030593ABC(p0, p1) end
function GRAPHICS._0xA21AF60C9F99CCC5() end
--- @return number
function GRAPHICS._0xC28F62AC9774FC1B() end
--- @param p0 number
function GRAPHICS._0xEB48CE48EEC41FD4(p0) end
--- @param worldX number
--- @param worldY number
--- @param worldZ number
--- @param screenX any
--- @param screenY any
--- @return boolean
function GRAPHICS.GET_SCREEN_COORD_FROM_WORLD_COORD(worldX, worldY, worldZ, screenX, screenY) end
--- @param txdHash number
--- @param dict number
--- @return boolean
function GRAPHICS._IS_TEXTURE_IN_DICT(txdHash, dict) end
--- Does not affect weapons, particles, fire/explosions, flashlights or the sun.
--- When set to true, all emissive textures (including ped components that have light effects), street lights, building lights, vehicle lights, etc will all be turned off.
--- 
--- state: True turns off all artificial light sources in the map: buildings, street lights, car lights, etc. False turns them back on.
--- @param state boolean
function GRAPHICS.SET_ARTIFICIAL_LIGHTS_STATE(state) end
function GRAPHICS.DISABLE_HDTEX_THIS_FRAME() end
--- Used in shop scripts for CATALOG_BOOK
--- false = Normal -> [CATALOG_BOOK_SHUTDOWN]
--- true = Trees flickering? -> [CATALOG_BOOK_OPEN]
--- @param p0 boolean
function GRAPHICS._0x1A9F09AB458D49C6(p0) end
--- Creates a tracked point, useful for checking the visibility of a 3D point on screen.
--- @return number
function GRAPHICS.CREATE_TRACKED_POINT() end
--- @param point number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
function GRAPHICS.SET_TRACKED_POINT_INFO(point, x, y, z, radius) end
--- @param point number
--- @return boolean
function GRAPHICS.IS_TRACKED_POINT_VISIBLE(point) end
--- Returns iNumPixels, iPixelsVisible
--- @param iTrackedPoint number
--- @return number
function GRAPHICS._0xDFE332A5DA6FE7C9(iTrackedPoint) end
--- @param point number
function GRAPHICS.DESTROY_TRACKED_POINT(point) end
--- @param point number
--- @return boolean
function GRAPHICS._IS_TRACKED_POINT_VALID(point) end
--- Returns handle to be used with REMOVE_GRASS_CULL_SPHERE
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param p4 number
--- @return number
function GRAPHICS.SET_GRASS_CULL_SPHERE(x, y, z, p3, p4) end
--- @param handle number
function GRAPHICS.REMOVE_GRASS_CULL_SPHERE(handle) end
--- Adds Vegetation Blocking Zone, Added Snow Flattening veg mod Zone
--- Returns veg modifier handle
--- @param volume number
--- @param p1 number
--- @param flags number
--- @param p3 number
--- @return number
function GRAPHICS._ADD_VEG_MODIFIER_ZONE(volume, p1, flags, p3) end
--- Returns veg modifier handle
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param modType number
--- @param flags number
--- @param p6 number
--- @return number
function GRAPHICS.ADD_VEG_MODIFIER_SPHERE(x, y, z, radius, modType, flags, p6) end
--- @param vegModifierHandle number
--- @param p1 number
function GRAPHICS.REMOVE_VEG_MODIFIER_SPHERE(vegModifierHandle, p1) end
--- @param p0 number
function GRAPHICS._ENABLE_STATIC_VEG_MODIFIER(p0) end
--- @param p0 number
function GRAPHICS._DISABLE_STATIC_VEG_MODIFIER(p0) end
--- @param p0 number
--- @return boolean
function GRAPHICS._IS_STATIC_VEG_MODIFIER_ENABLED(p0) end
function GRAPHICS._0xEC3F7F24EEEB3BA3() end
--- @param p0 number
function GRAPHICS._0x9F158A49B0D84C3C(p0) end
function GRAPHICS._0x910E260AEAD855DE() end
--- @param slots number
--- @return boolean
function GRAPHICS._CREATE_SWATCH_TEXTURE_DICT(slots) end
function GRAPHICS._DESTROY_SWATCH_TEXTURE_DICT() end
--- Example: https://pastebin.com/tTgpER9A
--- @param slot number
--- @param p1 number
function GRAPHICS._GENERATE_SWATCH_TEXTURE_DIRECTLY(slot, p1) end
--- Example:
--- local hash = GetHashKey("CLOTHING_ITEM_M_EYES_001_TINT_001")
--- _GENERATE_SWATCH_TEXTURE(0, hash, 0, true)
--- metapedType: see 0xEC9A1261BF0CE510
--- @param slotId number
--- @param componentHash number
--- @param metapedType number
--- @param p3 boolean
function GRAPHICS._GENERATE_SWATCH_TEXTURE(slotId, componentHash, metapedType, p3) end
--- @param p0 number
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 boolean
--- @param p7 number
function GRAPHICS.CASCADE_SHADOWS_SET_CASCADE_BOUNDS(p0, p1, p2, p3, p4, p5, p6, p7) end
--- When this is set to ON, shadows only draw as you get nearer.
--- 
--- When OFF, they draw from a further distance.
--- @param toggle boolean
function GRAPHICS.CASCADE_SHADOWS_ENABLE_ENTITY_TRACKER(toggle) end
--- Possible values:
--- "CSM_ST_POINT"
--- "CSM_ST_LINEAR"
--- "CSM_ST_BOX3x3"
--- "CSM_ST_BOX4x4"
--- "CSM_ST_DITHER2_LINEAR"
--- "CSM_ST_CUBIC"
--- "CSM_ST_POISSON16"
--- "CSM_ST_SOFT8"
--- "CSM_ST_SOFT16"
--- "CSM_ST_SOFT32"
--- "CSM_ST_DITHER16_RPDB"
--- "CSM_ST_POISSON16_RPDB_GNORM"
--- "CSM_ST_HIGHRES_BOX4x4"
--- "CSM_ST_ESM"
--- @param type string
function GRAPHICS.CASCADE_SHADOWS_SET_SHADOW_SAMPLE_TYPE(type) end
function GRAPHICS.CASCADE_SHADOWS_CLEAR_SHADOW_SAMPLE_TYPE() end
--- @param p0 number
function GRAPHICS._0x503941F65DBA24EC(p0) end
function GRAPHICS._0x815653A42C5ABE76() end
--- @param p0 number
function GRAPHICS._0xFF8018C778349234(p0) end
--- Sets an unknown value related to timecycles.
--- @param unk number
function GRAPHICS.RESET_ADAPTATION(unk) end
--- @param toggle boolean
function GRAPHICS.TOGGLE_PAUSED_RENDERPHASES(toggle) end
--- @return boolean
function GRAPHICS.GET_TOGGLE_PAUSED_RENDERPHASES_STATUS() end
function GRAPHICS.RESET_PAUSED_RENDERPHASES() end
--- Old name: _SET_HIDOF_ENV_BLUR_PARAMS
--- @param p0 boolean
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function GRAPHICS.SET_HIDOF_OVERRIDE(p0, p1, p2, p3, p4, p5) end
--- Params: component - used in odriscolls1 and sean1 R* SP Script: COMPONENT_BINOCULARS_SCOPE01
--- Triggers the binocular scaleform
--- @param component string
function GRAPHICS._0x21F00E08CBB5F37B(component) end
--- Closes the the binocular scaleform
function GRAPHICS._0x5AC6E0FA028369DE() end
--- @param p0 boolean
--- @return boolean
function GRAPHICS._0xEC3D8C228FE553D7(p0) end
--- @param p0 number
function GRAPHICS._0xF5793BB386E1FF9C(p0) end
--- @param locked boolean
function GRAPHICS._SET_PHOTO_MODE_EXPOSURE_LOCKED(locked) end
--- @param value number
function GRAPHICS._CHANGE_PHOTO_MODE_EXPOSURE(value) end
--- @return number
function GRAPHICS._GET_PHOTO_MODE_EXPOSURE() end
--- @param value number
function GRAPHICS._CHANGE_PHOTO_MODE_CONTRAST(value) end
--- @return number
function GRAPHICS._GET_PHOTO_MODE_CONTRAST() end
--- Resets the exposure to the value when exposure lock was enabled
function GRAPHICS._UPDATE_PHOTO_MODE_EXPOSURE() end
--- https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_non_looped.lua
--- @param effectName string
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return boolean
function GRAPHICS.START_PARTICLE_FX_NON_LOOPED_AT_COORD(effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) end
--- @param effectName string
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return boolean
function GRAPHICS.START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD(effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) end
--- @param effectName string
--- @param ped number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param boneIndex number
--- @param scale number
--- @param axisX boolean
--- @param axisY boolean
--- @param axisZ boolean
--- @return boolean
function GRAPHICS.START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE(effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ) end
--- @param effectName string
--- @param entity number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scale number
--- @param axisX boolean
--- @param axisY boolean
--- @param axisZ boolean
--- @return boolean
function GRAPHICS.START_PARTICLE_FX_NON_LOOPED_ON_ENTITY(effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ) end
--- @param effectName string
--- @param entity number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scale number
--- @param axisX boolean
--- @param axisY boolean
--- @param axisZ boolean
--- @return boolean
function GRAPHICS.START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY(effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ) end
--- @param effectName string
--- @param ped number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param boneIndex number
--- @param scale number
--- @param axisX boolean
--- @param axisY boolean
--- @param axisZ boolean
--- @return boolean
function GRAPHICS._START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE_2(effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ) end
--- @param r number
--- @param g number
--- @param b number
function GRAPHICS.SET_PARTICLE_FX_NON_LOOPED_COLOUR(r, g, b) end
--- @param alpha number
function GRAPHICS.SET_PARTICLE_FX_NON_LOOPED_ALPHA(alpha) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function GRAPHICS._SET_PARTICLE_FX_NON_LOOPED_EMITTER_SCALE(p0, p1, p2) end
--- https://github.com/femga/rdr3_discoveries/blob/master/graphics/ptfx/ptfx_assets_looped.lua
--- @param effectName string
--- @param x number
--- @param y number
--- @param z number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @param p11 boolean
--- @return number
function GRAPHICS.START_PARTICLE_FX_LOOPED_AT_COORD(effectName, x, y, z, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11) end
--- @param effectName string
--- @param ped number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param boneIndex number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return number
function GRAPHICS.START_PARTICLE_FX_LOOPED_ON_PED_BONE(effectName, ped, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis) end
--- @param effectName string
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return number
function GRAPHICS.START_PARTICLE_FX_LOOPED_ON_ENTITY(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) end
--- @param effectName string
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param boneIndex number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return number
function GRAPHICS.START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis) end
--- @param effectName string
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return number
function GRAPHICS.START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis) end
--- @param effectName string
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param boneIndex number
--- @param scale number
--- @param xAxis boolean
--- @param yAxis boolean
--- @param zAxis boolean
--- @return number
function GRAPHICS.START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY_BONE(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis) end
--- @param ptfxHandle number
--- @param p1 boolean
function GRAPHICS.STOP_PARTICLE_FX_LOOPED(ptfxHandle, p1) end
--- @param ptfxHandle number
--- @return boolean
function GRAPHICS.DOES_PARTICLE_FX_LOOPED_EXIST(ptfxHandle) end
--- @param ptfxHandle number
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
function GRAPHICS.SET_PARTICLE_FX_LOOPED_OFFSETS(ptfxHandle, x, y, z, rotX, rotY, rotZ) end
--- @param ptfxHandle number
--- @param propertyName string
--- @param amount number
--- @param noNetwork boolean
function GRAPHICS.SET_PARTICLE_FX_LOOPED_EVOLUTION(ptfxHandle, propertyName, amount, noNetwork) end
--- @param ptfxHandle number
--- @param r number
--- @param g number
--- @param b number
--- @param p4 boolean
function GRAPHICS.SET_PARTICLE_FX_LOOPED_COLOUR(ptfxHandle, r, g, b, p4) end
--- @param ptfxHandle number
--- @param alpha number
function GRAPHICS.SET_PARTICLE_FX_LOOPED_ALPHA(ptfxHandle, alpha) end
--- @param ptfxHandle number
--- @param scale number
function GRAPHICS.SET_PARTICLE_FX_LOOPED_SCALE(ptfxHandle, scale) end
--- @param ptfxHandle number
--- @param range number
function GRAPHICS.SET_PARTICLE_FX_LOOPED_FAR_CLIP_DIST(ptfxHandle, range) end
--- _SET_PARTICLE_FX_LOOPED_FA* - _SET_PARTICLE_FX_LOOPED_OF*
--- @param ptfxHandle number
--- @param scalar number
function GRAPHICS._SET_PARTICLE_FX_LOOPED_UPDATE_DISTANT_SMOKE(ptfxHandle, scalar) end
--- @param ptfxHandle number
--- @param p1 boolean
function GRAPHICS.REMOVE_PARTICLE_FX(ptfxHandle, p1) end
--- @param entity number
function GRAPHICS.REMOVE_PARTICLE_FX_FROM_ENTITY(entity) end
--- @param X number
--- @param Y number
--- @param Z number
--- @param radius number
function GRAPHICS.REMOVE_PARTICLE_FX_IN_RANGE(X, Y, Z, radius) end
--- fxName: see data_0/data/effects/ptfx/fxlists/
--- @param fxName string
function GRAPHICS.USE_PARTICLE_FX_ASSET(fxName) end
--- @param oldAsset string
--- @param newAsset string
function GRAPHICS.SET_PARTICLE_FX_OVERRIDE(oldAsset, newAsset) end
--- Resets the effect of SET_PARTICLE_FX_OVERRIDE
--- @param name string
function GRAPHICS.RESET_PARTICLE_FX_OVERRIDE(name) end
--- p1: AMB_ANN_COAL_CHUTE_DIVE, AMB_ANN_COAL_CHUTE
--- p2: EMIT
--- p3: either 0.0f or 1.0f
--- @param entity number
--- @param p1 string
--- @param p2 string
--- @param p3 number
function GRAPHICS._0x4FB67D172C4476F3(entity, p1, p2, p3) end
--- Related to Campfires.
--- p1: AMB_BONFIRE_MP, AMB_CAMPFIRE_LRG_MP
--- @param entity number
--- @param p1 string
--- @param r number
--- @param g number
--- @param b number
function GRAPHICS.SET_PARTICLE_FX_AMBIENT_COLOUR(entity, p1, r, g, b) end
--- Only used in R* Script nb_stalking_hunter
--- @param p0 number
function GRAPHICS._0xD1472AFF30C103D6(p0) end
--- @param scale number
function GRAPHICS.SET_PARTICLE_FX_BULLET_IMPACT_SCALE(scale) end
--- @param p0 number
function GRAPHICS.SET_PARTICLE_FX_BULLET_IMPACT_LODRANGE_SCALE(p0) end
--- @param enabled boolean
function GRAPHICS._SET_SNIPER_GLINTS_ENABLED(enabled) end
--- @param p0 number
function GRAPHICS.SET_PARTICLE_FX_FOOT_LODRANGE_SCALE(p0) end
--- _DISABLE_*
function GRAPHICS._0x4046493D2EEACA0E() end
--- https://imgur.com/a/I2swSDJ
--- 
--- Old name: _SET_PICKUP_OBJECT_GLOW_ENABLED
--- @param object number
--- @param toggle boolean
function GRAPHICS.SET_PICKUP_LIGHT(object, toggle) end
--- @param pickupObject number
--- @param toggle boolean
function GRAPHICS._BLOCK_PICKUP_OBJECT_LIGHT(pickupObject, toggle) end
--- @param pickup number
--- @param toggle boolean
function GRAPHICS.BLOCK_PICKUP_PLACEMENT_LIGHT(pickup, toggle) end
--- @param pickupObject number
--- @param allow boolean
function GRAPHICS.ALLOW_PICKUP_LIGHT_SYNC(pickupObject, allow) end
--- Enables/disables a kind of 'shiny' effect on metals.
--- @param object number
--- @param toggle boolean
function GRAPHICS._SET_PEARLESCENT_FX_ENABLED(object, toggle) end
--- Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...
--- @param x number
--- @param y number
--- @param z number
--- @param range number
function GRAPHICS.REMOVE_DECALS_IN_RANGE(x, y, z, range) end
--- @param obj number
function GRAPHICS.REMOVE_DECALS_FROM_OBJECT(obj) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @param p15 number
--- @param p16 number
--- @param p17 number
--- @param p18 number
--- @param p19 number
--- @param p20 number
--- @param p21 number
--- @return number
function GRAPHICS.ADD_DECAL(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21) end
--- https://i.imgur.com/ULQU9US.jpg
--- More rounded and small puddle
--- @param x number
--- @param y number
--- @param z number
--- @param unused boolean
function GRAPHICS._ADD_BLOOD_POOL(x, y, z, unused) end
--- https://i.imgur.com/rPITUCV.jpg
--- More customizable and more like quadrants
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param size number
--- @param p5 number
--- @param permanent boolean
--- @param p7 number
--- @param p8 boolean
function GRAPHICS._ADD_BLOOD_POOL_2(x, y, z, p3, size, p5, permanent, p7, p8) end
--- Creates blood pools for the given ped in some interval for a few seconds.
--- @param ped number
function GRAPHICS._ADD_BLOOD_POOLS_FOR_PED(ped) end
--- @param ped number
--- @param p1 number
--- @param size number
--- @param p3 number
function GRAPHICS._ADD_BLOOD_POOLS_FOR_PED_WITH_PARAMS(ped, p1, size, p3) end
--- @param p0 number
--- @param p1 number
function GRAPHICS.START_PETROL_TRAIL_DECALS(p0, p1) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
function GRAPHICS.ADD_PETROL_TRAIL_DECAL_INFO(x, y, z, p3) end
function GRAPHICS.END_PETROL_TRAIL_DECALS() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function GRAPHICS._0xE63D68F455CA0B47(p0, p1, p2, p3, p4, p5, p6) end
--- @param decal number
function GRAPHICS.REMOVE_DECAL(decal) end
--- @param decal number
--- @return boolean
function GRAPHICS.IS_DECAL_ALIVE(decal) end
function GRAPHICS.SET_DISABLE_PETROL_DECALS_IGNITING_THIS_FRAME() end
--- _SET_D* or _SET_E*
function GRAPHICS._0xB032C085D9A03907() end
--- _DISABLE_*
--- @param p0 boolean
function GRAPHICS._0xFB680A9B33D0EDBE(p0) end
--- Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
--- @param p0 number
function GRAPHICS._0x41F88A85A579A61D(p0) end
--- p1: 0.3f in R* Scripts
--- @param waypointRecording string
--- @param p1 number
function GRAPHICS._BLOOD_TRAIL_FOR_WAYPOINT(waypointRecording, p1) end
--- @param x number
--- @param y number
--- @param z number
function GRAPHICS._ADD_BLOOD_TRAIL_POINT(x, y, z) end
--- Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
--- _ENABLE_*
function GRAPHICS._0x812C1563185C6FB2() end
--- Used in CREATE_BEZIER_BLOOD_TRAIL_OF_TYPE
--- @param p0 string
function GRAPHICS._0x4BD66B4E3427689B(p0) end
--- @param x number
--- @param y number
--- @param z number
function GRAPHICS._ADD_BLOOD_TRAIL_SPLAT(x, y, z) end
function GRAPHICS._0xF2F543D48F319A3A() end
--- _RESET_*
function GRAPHICS._0x1460B644397453EB() end
--- Only used in guama1 R* Script
--- Disables lod/distant lights when BOOL is set to true
--- @param disable boolean
function GRAPHICS._DISABLE_FAR_ARTIFICIAL_LIGHTS(disable) end
--- @param p0 boolean
function GRAPHICS._0x453D16D41FC51D3E(p0) end
--- Used in NET_CAMP_SPIRIT_ANIMAL_CLEAR_ANIMAL_VISIBILITY
--- @param entity number
function GRAPHICS._0xC06F2F45A73EABCD(entity) end
--- https://github.com/femga/rdr3_discoveries/blob/master/graphics/timecycles
--- @param modifierName string
function GRAPHICS.SET_TIMECYCLE_MODIFIER(modifierName) end
--- @param strength number
function GRAPHICS.SET_TIMECYCLE_MODIFIER_STRENGTH(strength) end
--- @param modifierName string
--- @param transitionBlend number
function GRAPHICS.SET_TRANSITION_TIMECYCLE_MODIFIER(modifierName, transitionBlend) end
--- @param strength number
function GRAPHICS.SET_TRANSITION_OUT_OF_TIMECYCLE_MODIFIER(strength) end
function GRAPHICS.CLEAR_TIMECYCLE_MODIFIER() end
--- @return number
function GRAPHICS.GET_TIMECYCLE_MODIFIER_INDEX() end
--- @return number
function GRAPHICS.GET_TIMECYCLE_TRANSITION_MODIFIER_INDEX() end
--- @param p0 number
function GRAPHICS._0x67B0778C62E74423(p0) end
--- @param p0 number
function GRAPHICS._0x6C03118E9E5C1A14(p0) end
--- _GET_C* - _GET_E*
--- @return number
function GRAPHICS._GET_MODIFIED_VISIBILITY_DISTANCE() end
--- Old name: _ENABLE_EXTRA_TIMECYCLE_MODIFIER_STRENGTH
--- @param strength number
function GRAPHICS.ENABLE_MOON_CYCLE_OVERRIDE(strength) end
--- @param channel number
function GRAPHICS.SET_TV_CHANNEL(channel) end
--- @return number
function GRAPHICS.GET_TV_CHANNEL() end
--- @param volume number
function GRAPHICS.SET_TV_VOLUME(volume) end
--- @param xPos number
--- @param yPos number
--- @param xScale number
--- @param yScale number
--- @param rotation number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
function GRAPHICS.DRAW_TV_CHANNEL(xPos, yPos, xScale, yScale, rotation, red, green, blue, alpha) end
--- @param tvChannel number
--- @param playlistName string
--- @param restart boolean
function GRAPHICS.SET_TV_CHANNEL_PLAYLIST(tvChannel, playlistName, restart) end
--- Old name: _IS_TV_PLAYLIST_ITEM_PLAYING
--- @param videoCliphash number
--- @return boolean
function GRAPHICS.IS_TVSHOW_CURRENTLY_PLAYING(videoCliphash) end
--- @return number
function GRAPHICS._0x5C674EB487891F6B() end
--- nullsub, doesn't do anything
--- @param toggle boolean
function GRAPHICS.ENABLE_MOVIE_SUBTITLES(toggle) end
function GRAPHICS._0x32DE2BFFDA43E62A() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function GRAPHICS._0xD543487A1F12828F(p0, p1, p2, p3) end
--- @param p0 number
function GRAPHICS._0xD9BC98B55BCFAA9B(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function GRAPHICS._0x48FE0DB54045B975(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function GRAPHICS._0x735762E8D7573E42(p0, p1, p2) end
function GRAPHICS._0x981C7D863980FA51() end
--- @param effectName string
function GRAPHICS._ANIMPOSTFX_PRELOAD_POSTFX(effectName) end
--- @param effectName string
--- @return boolean
function GRAPHICS._ANIMPOSTFX_HAS_LOADED(effectName) end
--- @param effectName string
function GRAPHICS._ANIMPOSTFX_SET_TO_UNLOAD(effectName) end
--- https://github.com/femga/rdr3_discoveries/blob/master/graphics/animpostfx
--- @param effectName string
function GRAPHICS.ANIMPOSTFX_PLAY(effectName) end
--- @param effectName string
--- @param duration number
function GRAPHICS._ANIMPOSTFX_PLAY_TIMED(effectName, duration) end
--- @param effectName string
function GRAPHICS.ANIMPOSTFX_STOP(effectName) end
--- effectName2, p2 and p3 are unused
--- 
--- ANIMPOSTFX_*
--- @param effectName string
--- @param effectName2 string
--- @param p2 number
--- @param p3 number
function GRAPHICS._0x26DD2FB0A88CC412(effectName, effectName2, p2, p3) end
--- @param effectName string
function GRAPHICS._ANIMPOSTFX_CLEAR_EFFECT(effectName) end
--- @param effectName string
--- @return boolean
function GRAPHICS.ANIMPOSTFX_IS_RUNNING(effectName) end
--- @param effectName string
--- @return boolean
function GRAPHICS._ANIMPOSTFX_IS_TAG_PLAYING(effectName) end
function GRAPHICS.ANIMPOSTFX_STOP_ALL() end
--- @param effectName string
function GRAPHICS._ANIMPOSTFX_STOP_TAG(effectName) end
--- must be called after ANIMPOSTFX_PLAY, strength 0.0f - 1.0f
--- @param effectName string
--- @param strength number
function GRAPHICS._ANIMPOSTFX_SET_STRENGTH(effectName, strength) end
--- Health Core Effect Filter Potency: p1 = 1
--- Stamina Core Effect Filter Potency: p1 = 2
--- Multiple Core Effect Filter Potency: p1 = 3
--- @param effectName string
--- @param p1 number
--- @param potency number
function GRAPHICS._ANIMPOSTFX_SET_POTENCY(effectName, p1, potency) end
--- @param effectName string
--- @param p1 number
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
function GRAPHICS._ANIMPOSTFX_SET_POSTFX_COLOR(effectName, p1, red, green, blue, alpha) end
--- ANIMPOSTFX_*
--- @param effectName string
--- @return boolean
function GRAPHICS._0xB958D97A0DFAA0C2(effectName) end
--- ANIMPOSTFX_*
--- @param effectName string
function GRAPHICS._0xA201A3D0AC087C37(effectName) end
--- ANIMPOSTFX_*
--- @param effectName string
--- @param p1 number
--- @param p2 boolean
--- @param p3 any
--- @return boolean
function GRAPHICS._0xFBF161FCFEC8589E(effectName, p1, p2, p3) end
--- Known effects: MP_Trans_SceneToPhoto
--- MP_Trans_WinLose
--- SpectateFilter
--- MP_CharacterCreatorPhoto
--- MP_Trans_PhotoToScene
--- InterrogationHit
--- @param effectName string
--- @return number
function GRAPHICS._ANIMPOSTFX_GET_STACKHASH(effectName) end
--- @param effectNameHash number
function GRAPHICS._ANIMPOSTFX_PRELOAD_POSTFX_BY_STACKHASH(effectNameHash) end
--- @param effectNameHash number
--- @return boolean
function GRAPHICS.ANIMPOSTFX_IS_PRELOADING_BY_STACKHASH(effectNameHash) end
--- ANIMPOSTFX_*
--- @param effectNameHash number
function GRAPHICS._0x38D9D50F2085E9B3(effectNameHash) end
--- @param effectNameHash number
function GRAPHICS._ANIMPOSTFX_PLAY_TAG(effectNameHash) end
--- ANIMPOSTFX_*
--- @param effectNameHash number
function GRAPHICS._0xC76FC4C2FC5F4405(effectNameHash) end
--- @param effectNameHash number
function GRAPHICS._ANIMPOSTFX_STOP_STACKHASH_POSTFX(effectNameHash) end
--- @param effectNameHash number
--- @return boolean
function GRAPHICS._ANIMPOSTFX_IS_STACKHASH_PLAYING(effectNameHash) end
--- ANIMPOSTFX_*
--- @param effectNameHash number
--- @return boolean
function GRAPHICS._0xE75CDDEBF618C8FF(effectNameHash) end
--- ANIMPOSTFX_*
--- @param effectNameHash number
function GRAPHICS._0x71845905BCCDE781(effectNameHash) end
--- @param effectNameHash number
--- @param eventType number
--- @param bPeekOnly boolean
--- @param bIsRegistered any
--- @return boolean
function GRAPHICS.ANIMPOSTFX_HAS_EVENT_TRIGGERED_BY_STACKHASH(effectNameHash, eventType, bPeekOnly, bIsRegistered) end
--- Returns whether the 'killFX' setting is enabled.
--- 
--- ANIMPOSTFX_*
--- @return boolean
function GRAPHICS._0xFF584F097C17FA8F() end
--- ANIMPOSTFX_*
--- @return boolean
function GRAPHICS._0x3DA7A10583A4BEC0() end
--- Doesn't actually return anything.
--- 
--- ANIMPOSTFX_*
--- @return number
function GRAPHICS._0xC37792A3F9C90771() end
--- @param p0 number
--- @param p1 number
function GRAPHICS._0xA0F4D12D6042F6D5(p0, p1) end
--- @param p0 number
function GRAPHICS._0x8996FA6AD9FE4E90(p0) end
--- Only used in guama1 R* SP Script while spawning the ship
--- _SET_ENTITY_QUATERNION_* - SET_ENTITY_RENDER_*
--- @param vehicle number
--- @param toggle boolean
function GRAPHICS._SET_ENTITY_RENDER_GUARMA_SHIP(vehicle, toggle) end
--- @return boolean
function GRAPHICS.PEDSHOT_IS_AVAILABLE() end
--- R* Script spd_agnesdow1: p0 = SPD_AGNES_DOWD_01
--- @param p0 string
--- @return boolean
function GRAPHICS._0xFD05B1DDE83749FA(p0) end
function GRAPHICS._PEDSHOT_FINISH_CLEANUP_DATA() end
function GRAPHICS._PEDSHOT_PREVIOUS_PERSONA_PHOTO_DATA_CLEANUP() end
function GRAPHICS._PEDSHOT_INIT_CLEANUP_DATA() end
--- @param texture string
--- @param ped number
--- @param playerSlot number
--- @return boolean
function GRAPHICS._PEDSHOT_GENERATE_PERSONA_PHOTO(texture, ped, playerSlot) end
--- @param personaPhotoLocalCacheType number
function GRAPHICS._PEDSHOT_SET_PERSONA_PHOTO_TYPE(personaPhotoLocalCacheType) end
--- @param personaPhotoLocalCacheType number
function GRAPHICS._0xA1A86055792FB249(personaPhotoLocalCacheType) end
--- Only used in R* SP Script spd_agnesdown1
--- @param p0 number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 number
--- @param heading number
--- @return boolean
function GRAPHICS._0x402E1A61D2587FCD(p0, x, y, z, p4, p5, heading) end
--- Only used in R* SP Script spd_agnesdown1
--- @param p0 number
--- @return number
function GRAPHICS._0x5C9C3A466B3296A8(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function GRAPHICS._0xA15CCAB8AD038291(p0, p1, p2, p3) end
--- @return number
function GRAPHICS._0x285438C26C732F9D() end
--- state: false disables artificial interior light sources for specific proxyInteriorIndex
--- @param proxyInteriorIndex number
--- @param state boolean
function GRAPHICS._SET_PROXY_INTERIOR_INDEX_ARTIFICIAL_LIGHTS_STATE(proxyInteriorIndex, state) end
--- @param proxyInteriorIndex number
--- @return boolean
function GRAPHICS._IS_PROXY_INTERIOR_INDEX_ARTIFICIAL_LIGHTS_ENABLED(proxyInteriorIndex) end
--- Returns proxyInteriorIndex
--- @param interiorId number
--- @return number
function GRAPHICS._GET_PROXY_INTERIOR_INDEX(interiorId) end
function GRAPHICS._0x9D1B0B5066205692() end
--- @param p0 number
--- @param p1 number
function GRAPHICS._0xC489FE31AC726512(p0, p1) end
--- @param x number
--- @param y number
--- @param p2 number
function GRAPHICS._SET_CLOUD_LAYER(x, y, p2) end
--- @param x number
--- @param y number
--- @param z number
function GRAPHICS._SET_CLOUD_NOISE(x, y, z) end
--- Only used in finale2, smuggler2, winter4
--- _SET_CLOUD_A* - _SET_CLOUD_H*
--- @param x number
--- @param y number
--- @param z number
function GRAPHICS._SET_CLOUD_POSITION(x, y, z) end
--- @param height number
function GRAPHICS._SET_CLOUD_HEIGHT(height) end
--- @param p0 number
--- @param p1 number
function GRAPHICS._0x085C5B61A0114F32(p0, p1) end
--- @param p0 number
--- @param p1 number
function GRAPHICS._0x1FF8731BE1DFC0C0(p0, p1) end
--- @return number
function GRAPHICS._0xFC9B53C072F418E0() end
--- nullsub, doesn't do anything
--- @param p0 number
function GRAPHICS._0x94B261F1F35293E1(p0) end
function GRAPHICS.ENABLE_ENTITYMASK() end
function GRAPHICS.DISABLE_ENTITYMASK() end
--- @param entity number
--- @param mask number
function GRAPHICS._ADD_ENTITY_TO_ENTITY_MASK(entity, mask) end
--- @param entity number
--- @param mask number
--- @param intensity number
function GRAPHICS._ADD_ENTITY_TO_ENTITY_MASK_WITH_INTENSITY(entity, mask, intensity) end
--- @param entity number
function GRAPHICS._REMOVE_ENTITY_FROM_ENTITY_MASK(entity) end
--- @param entity number
--- @param layer0 any
--- @param layer1 any
--- @param layer2 any
--- @param layer3 any
--- @return boolean
function GRAPHICS._GET_ENTITY_MASK_LAYERS(entity, layer0, layer1, layer2, layer3) end
--- @param entity number
--- @param layer0 any
--- @param layer1 any
--- @param layer2 any
--- @param layer3 any
function GRAPHICS._SET_ENTITY_MASK_LAYERS(entity, layer0, layer1, layer2, layer3) end
--- Used for script function RPG_GLOBAL_STATS__PRIVATE__ACTIVATE_STAT_FLAG - Quite and Inspiration Aura equip
--- Params: 0f, 2f, 2f
--- @param p0 number
--- @param p1 number
--- @param p2 number
function GRAPHICS._SET_ENTITY_AURA(p0, p1, p2) end
--- Used for script function RPG_GLOBAL_STATS__PRIVATE__DEACTIVATE_STAT_FLAG - Inspiration Aura unequip
function GRAPHICS._RESET_ENTITY_AURA() end
--- enum class eSnowCoverageType
--- {
--- Primary,
--- Secondary,
--- Xmas,
--- XmasSecondary // since b1232
--- };
--- @param type number
function GRAPHICS._SET_SNOW_COVERAGE_TYPE(type) end
--- @param p0 number
function GRAPHICS._0x519928DF02EB5101(p0) end
function GRAPHICS._0x1C6306E5BC25C29C() end

GANG = {}

--- @param gangId number
--- @return boolean
function GANG.NETWORK_IS_GANG_ID_VALID(gangId) end
--- @param gangId number
--- @return boolean
function GANG.NETWORK_IS_GANG_IN_SESSION(gangId) end
--- @param gangId number
--- @return boolean
function GANG.NETWORK_IS_GANG_ACTIVE(gangId) end
--- @param gangId number
--- @return boolean
function GANG._NETWORK_IS_GANG_OPEN(gangId) end
--- @return number
function GANG._NETWORK_GET_GANG_PRIVACY() end
--- openStatus = true -> sets privacyType = 2 (PUBLIC_ADVERTISED)
--- openStatus = false -> sets privacyType = 1 (INVITE_ONLY)
--- 
--- campSize: NET_CAMP_SIZE_SMALLEST = 4, NET_CAMP_SIZE_LARGEST = 7
--- @param openStatus boolean
--- @param campSize number
function GANG._NETWORK_START_GANG(openStatus, campSize) end
--- @param privacyType number
--- @return boolean
function GANG._NETWORK_SET_GANG_PRIVACY(privacyType) end
--- @param disband boolean
function GANG._NETWORK_LEAVE_GANG(disband) end
--- banTimeSeconds is 120 in R* Scripts
--- @param player number
--- @param banTimeSeconds number
function GANG._NETWORK_KICK_GANG_MEMBER(player, banTimeSeconds) end
--- Returns true if join succeeded, false if failed.
--- @param gangId number
--- @return boolean
function GANG._NETWORK_REQUEST_GANG_JOIN(gangId) end
--- @param player number
--- @return boolean
function GANG.NETWORK_IS_GANG_LEADER(player) end
--- @param gangId number
--- @param player number
--- @return boolean
function GANG._NETWORK_IS_GANG_MEMBER(gangId, player) end
--- @param player1 number
--- @param player2 number
--- @return boolean
function GANG.NETWORK_IS_IN_SAME_GANG(player1, player2) end
--- @param player number
--- @return boolean
function GANG._NETWORK_IS_IN_MY_GANG(player) end
--- @param gangId number
--- @return number
function GANG.NETWORK_GET_NUM_GANG_MEMBERS(gangId) end
--- @param gangId number
--- @return number
function GANG._NETWORK_GET_GANG_SIZE(gangId) end
--- @param size number
--- @return boolean
function GANG._NETWORK_SET_GANG_SIZE(size) end
--- @param player number
--- @return number
function GANG.NETWORK_GET_GANG_ID(player) end
--- @param gangId number
--- @param memberHandles number
--- @return number
function GANG._NETWORK_GET_GANG_MEMBERS(gangId, memberHandles) end
--- _NETWORK_GET_* or _NETWORK_IS_*
--- @param player number
--- @return boolean
function GANG._0xDA801F7F6A5278D3(player) end
--- @param p0 number
--- @return number
function GANG._0x2F7EB8B6F6AFE79C(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function GANG._0x53A94294FDDCF98C(p0, p1) end
--- @param gangId number
--- @return number
function GANG.NETWORK_GET_GANG_LEADER(gangId) end
--- @param gangId number
--- @param gamerHandle number
--- @return boolean
function GANG._NETWORK_GET_GANG_LEADER_HANDLE(gangId, gamerHandle) end
--- @param player number
--- @return boolean
function GANG._0x6102830F764B3DE1(player) end
function GANG._0xB38C256498748413() end
--- @param p0 number
--- @return number
function GANG._0xE4C64CD37CB176AA(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function GANG._0x7BAA30C9BBE8AEE7(p0, p1) end
--- @param p0 number
--- @return number
function GANG._0x0E5C9FB9ED5DFF1C(p0) end
--- @param p0 number
function GANG._0xB22B1D9F74095382(p0) end
function GANG._0xEE4F20004D0288B7() end
--- @param p0 number
function GANG._0xAD22AB64FA428DF3(p0) end
--- @param p0 number
--- @return number
function GANG._0x48D82C83987E18E4(p0) end
--- @param p0 number
function GANG._0xA9CEAE8D6637FBAD(p0) end
--- @return number
function GANG._0x51C5EF47086AA0D7() end
--- @param p0 number
--- @param p1 number
--- @return number
function GANG._0x644E02F24F9D4E98(p0, p1) end
--- @return number
function GANG._0x3ADC71A66356D706() end
--- @return number
function GANG._0xFA7C5B7E087A4CEB() end
--- @param p0 number
--- @param p1 number
--- @return number
function GANG._0x1F11702DDBD915C6(p0, p1) end
--- @param player number
--- @return number
function GANG._0x7933754F260B428A(player) end
--- @return number
function GANG._0xAFD3599A3CC5637D() end
--- @param p0 number
function GANG._0xC81A9E2C8EFD28D5(p0) end

GOOGLE_ANALYTICS = {}

--- @param pageName string
function GOOGLE_ANALYTICS._GOOGLE_ANALYTICS_PUSH_PAGE(pageName) end
--- @param pageName string
function GOOGLE_ANALYTICS._GOOGLE_ANALYTICS_POP_PAGE(pageName) end
--- @param eventCategory string
--- @param eventAction string
--- @param eventLabel string
--- @param eventValue number
--- @return boolean
function GOOGLE_ANALYTICS._GOOGLE_ANALYTICS_START_EVENT(eventCategory, eventAction, eventLabel, eventValue) end
--- @return boolean
function GOOGLE_ANALYTICS._GOOGLE_ANALYTICS_END_EVENT() end

HUD = {}

--- Enables reduced time scale while menus such as weapon wheel and satchel are open.
function HUD._ENABLE_REDUCED_MENU_TIME_SCALE() end
--- Disables reduced time scale while menus such as weapon wheel and satchel are open.
function HUD._DISABLE_REDUCED_MENU_TIME_SCALE() end
--- @param component number
function HUD._ENABLE_HUD_CONTEXT_THIS_FRAME(component) end
--- https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/hud_presets
--- Old name: _HIDE_HUD_COMPONENT
--- @param component number
function HUD._ENABLE_HUD_CONTEXT(component) end
--- Old name: _DISPLAY_HUD_COMPONENT
--- @param component number
function HUD._DISABLE_HUD_CONTEXT(component) end
--- @param p0 number
--- @return number
function HUD._0x7EC0D68233E391AC(p0) end
--- @param text string
function HUD._BUSYSPINNER_SET_TEXT(text) end
--- Removes the loading prompt at the bottom right of the screen.
function HUD.BUSYSPINNER_OFF() end
--- @return boolean
function HUD.BUSYSPINNER_IS_ON() end
--- Note: you must use VAR_STRING. Byte code very similar to TEXT_COMMAND_DISPLAY_TEXT in V
--- Old name: _GET_TEXT_SUBSTRING
--- @param text string
--- @param position number
--- @param length number
--- @return string
function HUD.GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME(text, position, length) end
--- Gets a string literal from a label name.
--- 
--- Old name: _GET_LABEL_TEXT
--- @param labelName string
--- @return string
function HUD.GET_FILENAME_FOR_AUDIO_CONVERSATION(labelName) end
function HUD.CLEAR_ALL_HELP_MESSAGES() end
--- @param textBlock string
--- @return boolean
function HUD.TEXT_BLOCK_IS_LOADED(textBlock) end
--- @param textBlock string
--- @return boolean
function HUD._TEXT_BLOCK_IS_STREAMED(textBlock) end
--- @param textBlock string
function HUD.TEXT_BLOCK_REQUEST(textBlock) end
--- @param textBlock string
function HUD._TEXT_BLOCK_DELETE(textBlock) end
--- @param textDatabase string
--- @return boolean
function HUD._DOES_TEXT_BLOCK_EXIST(textDatabase) end
--- Checks if the passed gxt name exists in the game files.
--- @param label string
--- @return boolean
function HUD.DOES_TEXT_LABEL_EXIST(label) end
--- _GET_FILENAME_* - _GET_FRAME*
--- @param label string
--- @return string
function HUD._GET_LABEL_TEXT_2(label) end
--- Similar to 0x9D7E12EC6A1EE4E5(GET_TEXT_SUBSTRING) but starts at the beginning of the string
--- _GET_FILE* - _GET_FRAME*
--- @param text string
--- @param length number
--- @return string
function HUD._GET_TEXT_SUBSTRING_2(text, length) end
--- _GET_BOUNTY* - _GET_CHARACTER*
--- @param text string
--- @param begin number
--- @param length number
--- @return string
function HUD._GET_TEXT_SUBSTRING_3(text, begin, length) end
--- Returns the length of the string passed (much like strlen).
--- @param string string
--- @return number
function HUD.GET_LENGTH_OF_LITERAL_STRING(string) end
--- @param string string
--- @return number
function HUD.GET_LENGTH_OF_LITERAL_STRING_IN_BYTES(string) end
--- Returns the label text given the hash.
--- 
--- Old name: _GET_LABEL_TEXT_BY_HASH
--- @param labelHash number
--- @return string
function HUD.GET_STRING_FROM_HASH_KEY(labelHash) end
--- @return boolean
function HUD.IS_RADAR_PREFERENCE_SWITCHED_ON() end
--- @return boolean
function HUD.IS_SUBTITLE_PREFERENCE_SWITCHED_ON() end
--- If Hud should be displayed
--- @param toggle boolean
function HUD.DISPLAY_HUD(toggle) end
--- @return boolean
function HUD.IS_HUD_HIDDEN() end
--- @return boolean
function HUD.IS_RADAR_HIDDEN() end
--- @return boolean
function HUD.IS_RADAR_HIDDEN_BY_SCRIPT() end
--- colorNameHash: https://alloc8or.re/rdr3/doc/enums/eColor.txt
--- @param colorNameHash number
--- @param red any
--- @param green any
--- @param blue any
--- @param alpha any
function HUD._GET_COLOR_FROM_NAME(colorNameHash, red, green, blue, alpha) end
--- nullsub, this native does nothing since build 1436, use _BG_DISPLAY_TEXT (0x16794E044C9EFB58) instead.
--- @param text string
--- @param xPos number
--- @param yPos number
function HUD._DISPLAY_TEXT(text, xPos, yPos) end
--- This native does nothing since build 1436, use _BG_SET_TEXT_COLOR (0x16FA5CE47F184F1E) instead.
--- @param r number
--- @param g number
--- @param b number
--- @param a number
function HUD._SET_TEXT_COLOR(r, g, b, a) end
--- @param renderId number
function HUD.SET_TEXT_RENDER_ID(renderId) end
--- @param name string
--- @param p1 boolean
--- @return boolean
function HUD.REGISTER_NAMED_RENDERTARGET(name, p1) end
--- @param name string
--- @return boolean
function HUD.IS_NAMED_RENDERTARGET_REGISTERED(name) end
--- @param name string
--- @return boolean
function HUD.RELEASE_NAMED_RENDERTARGET(name) end
--- @param modelHash number
function HUD.LINK_NAMED_RENDERTARGET(modelHash) end
--- @param name string
--- @return number
function HUD.GET_NAMED_RENDERTARGET_RENDER_ID(name) end
--- @param modelHash number
--- @return boolean
function HUD.IS_NAMED_RENDERTARGET_LINKED(modelHash) end
--- @param p0 number
--- @param p1 number
function HUD._0x9D37EB5003E0F2CF(p0, p1) end
function HUD.HIDE_LOADING_ON_FADE_THIS_FRAME() end
--- @param p0 number
--- @param p1 number
function HUD._0x052D4AC0922AF91A(p0, p1) end
function HUD.HIDE_HUD_AND_RADAR_THIS_FRAME() end
--- @param p0 number
--- @param p1 number
function HUD._0x8A59D44189AF2BC5(p0, p1) end
function HUD._0x160825DADF1B04B3() end
--- Returns the hash of the currently highlighted item in the weapon wheel.
--- Only works while the wheel is open.
--- 
--- Use in conjunction with IS_CONTROL_JUST_RELEASED(0, 'INPUT_OPEN_WHEEL_MENU') to detect item selection/usage.
--- @return number
function HUD._0x9C409BBC492CB5B1() end
--- Returns closest horse entity handle (about 3 meters; facing, directly riding, etc).
--- Maybe when horse hud interaction prompts are allowed to show (?)
--- 
--- Params: p0 is usually true, if its false the native returns the players ped handle (?)
--- 
--- _HIDE_* - _IGNORE_*
--- @param p0 boolean
--- @return number
function HUD._HUD_CHECK_CLOSEST_HORSE(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function HUD._0x100157D6D7FE32CA(p0, p1) end
--- @param p0 number
--- @return number
function HUD._0x28AE29D909C8FDCE(p0) end
--- nullsub, doesn't do anything
function HUD._0x2F7BB105144ACF30() end
--- nullsub, doesn't do anything
function HUD._0xBFFF81E12A745A5F() end
--- @param p0 boolean
--- @param name string
function HUD.SET_MISSION_NAME(p0, name) end
--- @param p0 boolean
--- @param name string
function HUD.SET_MISSION_NAME_FOR_UGC_MISSION(p0, name) end
--- string1 is the only string used in the scripts, the others are null (0)
--- @param active boolean
--- @param string1 string
--- @param string2 string
--- @param string3 string
--- @param string4 string
function HUD._SET_CURRENT_UGC_MISSION_DESCRIPTION(active, string1, string2, string3, string4) end
--- @param worldX number
--- @param worldY number
--- @param worldZ number
--- @param screenX any
--- @param screenY any
--- @return number
function HUD.GET_HUD_SCREEN_POSITION_FROM_WORLD_POSITION(worldX, worldY, worldZ, screenX, screenY) end
function HUD._HIDE_HUD_THIS_FRAME() end
function HUD.DISABLE_FRONTEND_THIS_FRAME() end
function HUD._0x5651516D947ABC53() end
--- Old name: _ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME
function HUD.ALLOW_PAUSE_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME() end
--- @param active boolean
function HUD.SET_FRONTEND_ACTIVE(active) end
--- Returns true when either Pause Menu, a Frontend Menu, Online Policies menu or Social Club menu is active.
--- @return boolean
function HUD.IS_PAUSE_MENU_ACTIVE() end
--- @param state boolean
function HUD._SHOW_PLAYER_CORES(state) end
--- @param state boolean
function HUD._SHOW_HORSE_CORES(state) end
--- @param p0 number
function HUD._0x3FE4FB41EF7D2196(p0) end
--- @param p0 number
function HUD._JOURNAL_WRITE_ENTRY(p0) end
--- @param p0 number
--- @return number
function HUD._JOURNAL_CAN_WRITE_ENTRY(p0) end
--- @return number
function HUD._JOURNAL_GET_ENTRY_COUNT() end
--- @param p0 number
--- @return number
function HUD._JOURNAL_GET_ENTRY_AT_INDEX(p0) end
--- @param p0 number
--- @return number
function HUD._JOURNAL_GET_GRIME_AT_INDEX(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function HUD._JOURNAL_GET_ENTRY_INFO(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function HUD._JOURNAL_GET_TEXTURE_WITH_LAYOUT(p0, p1, p2) end
--- @param p0 number
function HUD._JOURNAL_MARK_READ(p0) end
function HUD._JOURNAL_CLEAR_ALL_PROGRESS() end
--- @param p0 number
--- @param p1 number
--- @return number
function HUD.UI_REQUEST_SCENE(p0, p1) end
--- @param uiscene number
function HUD._0xF1E6979C0B779985(uiscene) end
--- @param p0 number
--- @return number
function HUD.UI_GET_SCENE_UIOBJECT(p0) end
--- @param p0 number
--- @param p1 number
function HUD.UI_MOVIEVIEW_SET_RENDER_TARGET(p0, p1) end
--- @param inputHash number
--- @param labelName string
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function HUD._UI_PROMPT_CREATE(inputHash, labelName, p2, p3, p4, p5) end
--- @return number
function HUD._UI_PROMPT_REGISTER_BEGIN() end
--- @param prompt number
function HUD._UI_PROMPT_REGISTER_END(prompt) end
--- priority: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePromptPriority
--- @param prompt number
--- @param priority number
function HUD._UI_PROMPT_SET_PRIORITY(prompt, priority) end
--- @param prompt number
--- @param action number
--- @return number
function HUD._UI_PROMPT_SET_CONTROL_ACTION(prompt, action) end
--- @param prompt number
--- @param action number
function HUD._UI_PROMPT_SET_ALLOWED_ACTION(prompt, action) end
--- @param prompt number
--- @param releaseMode boolean
function HUD._UI_PROMPT_SET_STANDARD_MODE(prompt, releaseMode) end
--- Params: p1 is 0
--- @param prompt number
--- @param p1 number
--- @return boolean
function HUD._UI_PROMPT_HAS_STANDARD_MODE_COMPLETED(prompt, p1) end
--- @param prompt number
--- @param depletionTimeMs number
function HUD._UI_PROMPT_SET_PRESSED_TIMED_MODE(prompt, depletionTimeMs) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_PRESSED_TIMED_MODE_COMPLETED(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_PRESSED_TIMED_MODE_FAILED(prompt) end
--- Params: p2 is 304000 in R* SP Script coachrobberies
--- @param prompt number
--- @param holdTimeMs number
function HUD._UI_PROMPT_SET_HOLD_MODE(prompt, holdTimeMs) end
--- holdType: SHORT_TIMED_EVENT_MP, SHORT_TIMED_EVENT, MEDIUM_TIMED_EVENT, LONG_TIMED_EVENT, RUSTLING_CALM_TIMING, PLAYER_FOCUS_TIMING, PLAYER_REACTION_TIMING
--- @param prompt number
--- @param holdType number
function HUD._UI_PROMPT_SET_STANDARDIZED_HOLD_MODE(prompt, holdType) end
--- @param prompt number
function HUD._UI_PROMPT_SET_HOLD_INDEFINITELY_MODE(prompt) end
--- @param prompt number
--- @param autoFillTimeMs number
--- @param holdTimeMs number
function HUD._UI_PROMPT_SET_HOLD_AUTO_FILL_MODE(prompt, autoFillTimeMs, holdTimeMs) end
--- @param prompt number
--- @param autoFillTimeMs number
--- @param holdTimeMs number
function HUD._UI_PROMPT_SET_HOLD_AUTO_FILL_WITH_DECAY_MODE(prompt, autoFillTimeMs, holdTimeMs) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_HOLD_AUTO_FILL_MODE(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_HOLD_MODE(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_HOLD_MODE_RUNNING(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_HOLD_MODE_COMPLETED(prompt) end
--- @param prompt number
--- @return number
function HUD._UI_PROMPT_GET_PROGRESS(prompt) end
--- @param prompt number
--- @param mashes number
function HUD._UI_PROMPT_SET_MASH_MODE(prompt, mashes) end
--- @param prompt number
function HUD._UI_PROMPT_SET_MASH_INDEFINITELY_MODE(prompt) end
--- @param prompt number
--- @param mashes number
--- @param p2 number
--- @param p3 number
function HUD._UI_PROMPT_SET_MASH_WITH_RESISTANCE_MODE(prompt, mashes, p2, p3) end
--- Sets the mode for the given prompt to mash mode.
--- decreaseSpeed: 0.0f will result in the prompt not showing the mash progress at all. 0.01f - ?.0f. At speeds around 7.0f to 8.0f the prompt basically fails immediately if you don't start mashing right away.
--- startProgress: 0.0f - 1.0f is a percentage value, so 0.5f = 50% progress. Range: 0.0f - 1.0f
--- @param prompt number
--- @param mashes number
--- @param decreaseSpeed number
--- @param startProgress number
function HUD._UI_PROMPT_SET_MASH_WITH_RESISTANCE_CAN_FAIL_MODE(prompt, mashes, decreaseSpeed, startProgress) end
--- @param prompt number
--- @param autoFillTimeMs number
--- @param mashes number
function HUD._UI_PROMPT_SET_MASH_AUTO_FILL_MODE(prompt, autoFillTimeMs, mashes) end
--- @param prompt number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function HUD._UI_PROMPT_SET_MASH_MANUAL_MODE(prompt, p1, p2, p3, p4) end
--- @param prompt number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function HUD._UI_PROMPT_SET_MASH_MANUAL_CAN_FAIL_MODE(prompt, p1, p2, p3, p4) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_MANUAL_MASH_MODE(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_MASH_MODE(prompt) end
--- @param p0 number
--- @return number
function HUD._0xB0E8599243B3F568(p0) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_MASH_MODE_COMPLETED(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_HAS_MASH_MODE_FAILED(prompt) end
--- @param prompt number
--- @return number
function HUD._UI_PROMPT_GET_MASH_MODE_PROGRESS(prompt) end
--- standard (prompt not held) rate: (1f / 128f)
--- fast (prompt held) rate: (1f / 64f)
--- punitive (been hit) rate: (1f / 128f)
--- @param prompt number
--- @param rate number
function HUD._UI_PROMPT_SET_MASH_MANUAL_MODE_INCREASE_PER_PRESS(prompt, rate) end
--- standard (prompt not held) rate: 0.035f
--- fast (prompt held) rate: 0.015f
--- punitive (been hit) rate: 0.14f
--- @param prompt number
--- @param speed number
function HUD._UI_PROMPT_SET_MASH_MANUAL_MODE_DECAY_SPEED(prompt, speed) end
--- @param prompt number
--- @param speed number
function HUD._UI_PROMPT_SET_MASH_MANUAL_MODE_PRESSED_GROWTH_SPEED(prompt, speed) end
--- Used for controllers
--- @param prompt number
--- @param p1 number
--- @param counterclockwise boolean
function HUD._UI_PROMPT_SET_ROTATE_MODE(prompt, p1, counterclockwise) end
--- @param prompt number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function HUD._UI_PROMPT_SET_TARGET_MODE(prompt, p1, p2, p3) end
--- @param prompt number
--- @param p1 number
--- @param p2 number
function HUD._UI_PROMPT_SET_TARGET_MODE_TARGET(prompt, p1, p2) end
--- @param prompt number
--- @param progress number
function HUD._UI_PROMPT_SET_TARGET_MODE_PROGRESS(prompt, progress) end
--- @param prompt number
--- @param toggle boolean
function HUD._UI_PROMPT_SET_BEAT_MODE(prompt, toggle) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_WAS_BEAT_MODE_PRESSED_IN_TIME_WINDOW(prompt) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_SET_BEAT_MODE_GRAYED_OUT(prompt, p1) end
--- @param prompt number
function HUD._UI_PROMPT_RESTART_MODES(prompt) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_SET_SPINNER_SPEED(prompt, p1) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_SET_SPINNER_POSITION(prompt, p1) end
--- @param prompt number
--- @param toggle boolean
function HUD._UI_PROMPT_SET_URGENT_PULSING_ENABLED(prompt, toggle) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_GET_URGENT_PULSING_ENABLED(prompt) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_SET_TAG(prompt, p1) end
--- @param entity number
--- @return number
function HUD._UI_PROMPT_GET_GROUP_ID_FOR_TARGET_ENTITY(entity) end
--- @param p0 number
--- @param p1 number
--- @return number
function HUD._UI_PROMPT_GET_GROUP_ID_FOR_SCENARIO_POINT(p0, p1) end
--- tabIndex: specifies tab of prompt
--- @param prompt number
--- @param groupId number
--- @param tabIndex number
function HUD._UI_PROMPT_SET_GROUP(prompt, groupId, tabIndex) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_REMOVE_GROUP(prompt, p1) end
--- Note: you must use VAR_STRING for p1 if string is not part of text database
--- tabAmount: specifies number of tabs in prompt group
--- tabDefaultIndex: specifies starting index
--- p3 if is set > 3 you can no longer press Q to change tab if there are more than one tab set in tabAmount
--- @param hash number
--- @param name string
--- @param tabAmount number
--- @param tabDefaultIndex number
--- @param p4 number
--- @param prompt number
--- @return number
function HUD._UI_PROMPT_SET_ACTIVE_GROUP_THIS_FRAME(hash, name, tabAmount, tabDefaultIndex, p4, prompt) end
--- @param hash number
--- @return number
function HUD._UI_PROMPT_GET_GROUP_ACTIVE_PAGE(hash) end
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param name string
--- @param p6 number
--- @return number
function HUD._UI_PROMPT_SET_AMBIENT_GROUP_THIS_FRAME(entity, p1, p2, p3, p4, name, p6) end
--- @param groupId number
--- @param volume number
--- @param p2 string
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function HUD._0x8B55B324A9123F6B(groupId, volume, p2, p3, p4, p5) end
--- @param hash number
--- @return boolean
function HUD._UI_PROMPT_DOES_AMBIENT_GROUP_EXIST(hash) end
--- @param p0 number
--- @param prompt number
--- @param p2 number
function HUD._UI_PROMPT_ADD_GROUP_LINK(p0, prompt, p2) end
--- @param p0 number
--- @param prompt number
function HUD._UI_PROMPT_ADD_GROUP_RETURN_LINK(p0, prompt) end
--- TM_ANY = 0,
--- TM_ON_FOOT,
--- TM_IN_VEHICLE
--- @param prompt number
--- @param mode number
function HUD._UI_PROMPT_SET_TRANSPORT_MODE(prompt, mode) end
function HUD._UI_PROMPT_DISABLE_PROMPTS_THIS_FRAME() end
--- @param prompt number
function HUD._UI_PROMPT_DELETE(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_VALID(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_ACTIVE(prompt) end
--- @param prompt number
--- @param toggle boolean
function HUD._UI_PROMPT_SET_VISIBLE(prompt, toggle) end
--- @param prompt number
--- @param toggle boolean
function HUD._UI_PROMPT_SET_ENABLED(prompt, toggle) end
--- @param prompt number
--- @param text string
function HUD._UI_PROMPT_SET_TEXT(prompt, text) end
--- attribute: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIPromptAttribute
--- @param prompt number
--- @param attribute number
--- @param enabled boolean
function HUD._UI_PROMPT_SET_ATTRIBUTE(prompt, attribute, enabled) end
--- Params: type = mostly 0, 6 (net_mission_intro_story_gvo), 7 (fm_mission_controller), 14 (net_ugc_end_flow_transition_online), 15 (net_main_[tlg_]offline)
--- @param prompt number
--- @param type number
function HUD._UI_PROMPT_SET_TYPE(prompt, type) end
--- @param prompt number
--- @param p1 boolean
function HUD._0x53CE46C01A089DA1(prompt, p1) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_SET_MANUAL_RESOLVED(prompt, p1) end
--- Attaches a Volume
--- @param prompt number
--- @param volume number
function HUD._UI_PROMPT_CONTEXT_SET_VOLUME(prompt, volume) end
--- @param prompt number
--- @param x number
--- @param y number
--- @param z number
function HUD._UI_PROMPT_CONTEXT_SET_POINT(prompt, x, y, z) end
--- @param prompt number
--- @param radius number
function HUD._UI_PROMPT_CONTEXT_SET_RADIUS(prompt, radius) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_PRESSED(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_JUST_PRESSED(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_JUST_RELEASED(prompt) end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_RELEASED(prompt) end
--- https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/prompts/prompt_types
--- @param p0 number
function HUD._UI_PROMPT_ENABLE_PROMPT_TYPE_THIS_FRAME(p0) end
--- @param p0 number
function HUD._UI_PROMPT_DISABLE_PROMPT_TYPE_THIS_FRAME(p0) end
function HUD._UI_PROMPT_FILTER_CLEAR() end
--- @param ped number
function HUD._UI_PROMPT_SET_PROMPT_PRIORITY_PREFERENCE(ped) end
function HUD._UI_PROMPT_CLEAR_PROMPT_PRIORITY_PREFERENCE() end
--- @param prompt number
--- @return boolean
function HUD._UI_PROMPT_IS_ENABLED(prompt) end
--- @param controlAction number
--- @return boolean
function HUD.UI_PROMPT_IS_CONTROL_ACTION_ACTIVE(controlAction) end
--- @param p0 number
--- @return number
function HUD._0xD6BD313CFA41E57A(p0) end
--- This returns an id that can be used with 0x6095358C4142932A.
--- @return number
function HUD._UI_PROMPT_SET_REGISTER_HORIZONTAL_ORIENTATION() end
--- id is the return value from 0xD9459157EB22C895.
--- @param id number
function HUD._UI_PROMPT_CLEAR_HORIZONTAL_ORIENTATION(id) end
--- @param prompt number
--- @param p1 number
function HUD._UI_PROMPT_SET_ORDERING_AS_INPUT_TYPE(prompt, p1) end
--- @return number
function HUD._0x066725A9D52B3641() end
--- @param p0 number
--- @param p1 number
function HUD._0x958278B97C4AFFD8(p0, p1) end
--- @param player number
--- @param username string
--- @param pointedClanTag boolean
--- @param isRockstarClan boolean
--- @param clanTag string
--- @param clanFlag number
--- @return number
function HUD._CREATE_MP_GAMER_TAG(player, username, pointedClanTag, isRockstarClan, clanTag, clanFlag) end
--- @param ped number
--- @param username string
--- @param pointedClanTag boolean
--- @param isRockstarClan boolean
--- @param clanTag string
--- @param clanFlag number
--- @return number
function HUD.CREATE_FAKE_MP_GAMER_TAG(ped, username, pointedClanTag, isRockstarClan, clanTag, clanFlag) end
--- @param entity number
--- @param text string
--- @return number
function HUD._CREATE_MP_GAMER_TAG_ON_ENTITY(entity, text) end
--- @param gamerTagId number
function HUD.REMOVE_MP_GAMER_TAG(gamerTagId) end
--- @param gamerTagId number
--- @return boolean
function HUD.IS_MP_GAMER_TAG_ACTIVE(gamerTagId) end
--- @param gamerTagId number
--- @param entity number
--- @return boolean
function HUD._IS_MP_GAMER_TAG_ACTIVE_ON_ENTITY(gamerTagId, entity) end
--- visibility:
--- enum eUIGamertagVisibility
--- {
--- UIGAMERTAGVISIBILITY_NONE,
--- UIGAMERTAGVISIBILITY_ICON,
--- UIGAMERTAGVISIBILITY_SIMPLE,
--- UIGAMERTAGVISIBILITY_COMPLEX
--- };
--- @param gamerTagId number
--- @param visibility number
function HUD._SET_MP_GAMER_TAG_VISIBILITY(gamerTagId, visibility) end
--- Found types: GENERIC_PLAYER, DEADDROP, HOTPROPERTY, MINIGAMES
--- @param gamerTagId number
--- @param type number
function HUD._SET_MP_GAMER_TAG_TYPE(gamerTagId, type) end
--- @param gamerTagId number
--- @param colour number
function HUD._SET_MP_GAMER_TAG_COLOUR(gamerTagId, colour) end
--- nullsub, doesn't do anything
--- @param gamerTagId number
--- @param allow boolean
function HUD._SET_MP_GAMER_TAG_UNK_ALLOW_LOCALIZED(gamerTagId, allow) end
--- @param gamerTagId number
--- @param string string
function HUD.SET_MP_GAMER_TAG_NAME(gamerTagId, string) end
--- @param gamerTagId number
--- @param text string
function HUD._SET_MP_GAMER_TAG_NAME_POSSE(gamerTagId, text) end
--- @param gamerTagId number
--- @param string string
function HUD.SET_MP_GAMER_TAG_BIG_TEXT(gamerTagId, string) end
--- Found icons: https://pastebin.com/xx6rEgiG
--- @param gamerTagId number
--- @param icon number
function HUD._SET_MP_GAMER_TAG_TOP_ICON(gamerTagId, icon) end
--- Found icons: SPEAKER, THROPY
--- @param gamerTagId number
--- @param icon number
function HUD._SET_MP_GAMER_TAG_SECONDARY_ICON(gamerTagId, icon) end
--- @param gamerTagId number
function HUD._MP_GAMER_TAG_ENABLE_REVIVE_TOP_ICON(gamerTagId) end
--- @param gamerTagId number
function HUD._MP_GAMER_TAG_DISABLE_REVIVE_TOP_ICON(gamerTagId) end

IK = {}

--- @param ped number
--- @param args number
function IK._INVERSE_KINEMATICS_REQUEST_LOOK_AT(ped, args) end
--- @param ped number
--- @param args number
function IK._0x0B9F7A01EC50448D(ped, args) end
--- Seems to disable IK on ped
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function IK._INVERSE_KINEMATICS_SET_DISABLED_FOR_PED(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @return boolean
function IK._0x6098139150DCC745(ped, p1) end
--- @param ped1 number
--- @param ped2 number
function IK._0x873C792E07A32C8B(ped1, ped2) end

INTERACTION = {}

--- Shows the cursor on screen for one frame.
--- 
--- Old name: _SET_MOUSE_CURSOR_ACTIVE_THIS_FRAME
function INTERACTION.SET_MOUSE_CURSOR_THIS_FRAME() end
--- Changes the mouse cursor's sprite.
--- 
--- spriteId's: https://github.com/femga/rdr3_discoveries/tree/master/graphics/HUD/cursor_sprites#readme
--- 
--- Old name: _SET_MOUSE_CURSOR_SPRITE
--- @param spriteId number
function INTERACTION.SET_MOUSE_CURSOR_STYLE(spriteId) end
--- Allows camera to be moved if middle mouse button is held while in first person
--- Must be called every frame
--- _SET*
function INTERACTION._SET_ALLOW_FIRST_PERSON_MOUSE_CAMERA_MOVEMENT() end
--- Returns true if player is moving mouse while cursor is active
--- _PI* - _PO*
--- @return boolean
function INTERACTION._POINTER_IS_BEING_MOVED() end
--- Returns true if player is holding LMB while cursor is active
--- _PI* - _PO*
--- @return boolean
function INTERACTION._POINTER_IS_LEFT_BUTTON_HELD() end
--- Returns true if player releases LMB if cursor is active
--- _PI* - _PO*
--- @return boolean
function INTERACTION._POINTER_IS_LEFT_BUTTON_JUST_RELEASED() end

INTERIOR = {}

--- @param interior number
--- @return boolean
function INTERIOR.IS_VALID_INTERIOR(interior) end
--- @param interior number
--- @param position number
--- @param nameHash any
function INTERIOR.GET_INTERIOR_LOCATION_AND_NAMEHASH(interior, position, nameHash) end
--- @param interior number
--- @return number
function INTERIOR._GET_INTERIOR_MINIMAP_HASH(interior) end
--- @param interior number
--- @return { x: number, y: number, z: number }
function INTERIOR._GET_INTERIOR_POSITION(interior) end
--- @return boolean
function INTERIOR.IS_INTERIOR_SCENE() end
--- @param entity number
function INTERIOR.CLEAR_ROOM_FOR_ENTITY(entity) end
--- @param entity number
--- @param interior number
--- @param roomHashKey number
function INTERIOR.FORCE_ROOM_FOR_ENTITY(entity, interior, roomHashKey) end
--- Gets the room hash key from the room that the specified entity is in. Each room in every interior has a unique key. Returns 0 if the entity is outside.
--- @param entity number
--- @return number
function INTERIOR.GET_ROOM_KEY_FROM_ENTITY(entity) end
--- Seems to do the exact same as INTERIOR::GET_ROOM_KEY_FROM_ENTITY
--- @param entity number
--- @return number
function INTERIOR.GET_KEY_FOR_ENTITY_IN_ROOM(entity) end
--- Returns the handle of the interior that the entity is in. Returns 0 if outside.
--- @param entity number
--- @return number
function INTERIOR.GET_INTERIOR_FROM_ENTITY(entity) end
--- @param entity number
--- @param interior number
function INTERIOR.RETAIN_ENTITY_IN_INTERIOR(entity, interior) end
--- @param interiorID number
--- @param roomHashKey number
function INTERIOR.FORCE_ROOM_FOR_GAME_VIEWPORT(interiorID, roomHashKey) end
function INTERIOR.CLEAR_ROOM_FOR_GAME_VIEWPORT() end
--- @return number
function INTERIOR.GET_INTERIOR_FROM_PRIMARY_VIEW() end
--- @param x number
--- @param y number
--- @param z number
--- @return number
function INTERIOR.GET_INTERIOR_AT_COORDS(x, y, z) end
--- @param interior number
function INTERIOR.PIN_INTERIOR_IN_MEMORY(interior) end
--- Does something similar to INTERIOR::DISABLE_INTERIOR.
--- 
--- You don't fall through the floor but everything is invisible inside and looks the same as when INTERIOR::DISABLE_INTERIOR is used. Peds behaves normally inside.
--- @param interior number
function INTERIOR.UNPIN_INTERIOR(interior) end
--- @param interior number
--- @return boolean
function INTERIOR.IS_INTERIOR_READY(interior) end
--- Actually returns void in IDA but the script header defines a BOOL return type
--- @param interior number
--- @return boolean
function INTERIOR.SET_INTERIOR_IN_USE(interior) end
--- @param x number
--- @param y number
--- @param z number
--- @param interiorType string
--- @return number
function INTERIOR.GET_INTERIOR_AT_COORDS_WITH_TYPE(x, y, z, interiorType) end
--- Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE
--- @param x number
--- @param y number
--- @param z number
--- @param typeHash number
--- @return number
function INTERIOR.GET_INTERIOR_AT_COORDS_WITH_TYPEHASH(x, y, z, typeHash) end
--- Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function INTERIOR.IS_COLLISION_MARKED_OUTSIDE(x, y, z) end
--- @param x number
--- @param y number
--- @param z number
--- @return number
function INTERIOR.GET_INTERIOR_FROM_COLLISION(x, y, z) end
--- https://github.com/femga/rdr3_discoveries/tree/master/interiors/interior_sets
--- @param interior number
--- @param entitySetName string
--- @param p2 number
function INTERIOR.ACTIVATE_INTERIOR_ENTITY_SET(interior, entitySetName, p2) end
--- @param interior number
--- @param entitySetName string
--- @param p2 boolean
function INTERIOR.DEACTIVATE_INTERIOR_ENTITY_SET(interior, entitySetName, p2) end
--- @param interior number
--- @param entitySetName string
--- @return boolean
function INTERIOR.IS_INTERIOR_ENTITY_SET_ACTIVE(interior, entitySetName) end
--- @param interior number
--- @param entitySetName string
--- @return boolean
function INTERIOR._IS_INTERIOR_ENTITY_SET_VALID(interior, entitySetName) end
--- @param interior number
--- @param toggle boolean
function INTERIOR.DISABLE_INTERIOR(interior, toggle) end
--- @param p0 number
--- @param p1 number
function INTERIOR._0x2533F2AB0EB9C6F9(p0, p1) end
--- @param p0 number
--- @param p1 number
function INTERIOR._0xFE2B3D5500B1B2E4(p0, p1) end

INVENTORY = {}

--- Returns a unique inventory ID for this ped.
--- For the local player ped, it is an eInventories value.
--- For other peds, it is the inventory address casted to unsigned int.
--- 
--- enum eInventories
--- {
--- INVENTORY_INVALID,
--- INVENTORY_SP_PLAYER,
--- INVENTORY_MP_PLAYER,
--- INVENTORY_MP_MISSION,
--- INVENTORY_SECOND_SCREEN,
--- INVENTORY_SP_BACKUP,
--- INVENTORY_SP_SNAPSHOT,
--- INVENTORY_0xDE2AE452,
--- INVENTORY_0x399D9B3A,
--- INVENTORY_0x4BD43FA7,
--- INVENTORY_0x9529D251,
--- INVENTORY_0xA75776AC,
--- INVENTORY_MAX_ID = 11,
--- INVENTORY_IDS_COUNT
--- };
--- @param ped number
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ID_FROM_PED(ped) end
--- @param inventoryId number
--- @param eRoleMaxLevel number
--- @return number
function INVENTORY._GET_ITEM_ROLE_MAX_LEVEL_COUNT(inventoryId, eRoleMaxLevel) end
--- @param provision number
--- @param slotId number
--- @return number
function INVENTORY._GET_ITEM_SLOT_MAX_COUNT(provision, slotId) end
--- Only used in R* SP Scripts
--- @param inventoryId number
--- @param p1 number
--- @param year any
--- @param month any
--- @param day any
--- @param hour any
--- @param minute any
--- @param second any
--- @return boolean
function INVENTORY._0x112BCA290D2EB53C(inventoryId, p1, year, month, day, hour, minute, second) end
--- eInventoryItem: CLOTHING_FANCY_SUIT, CLOTHING_GUNSLINGER_OUTFIT, etc.
--- Only used in R* SP Scripts
--- @param inventoryId number
--- @param eInventoryItem number
--- @param p2 boolean
function INVENTORY._INVENTORY_USE_SATCHEL_ITEM(inventoryId, eInventoryItem, p2) end
--- Only works on CClothingItem
--- @param inventoryId number
--- @param guid number
--- @param inUse boolean
function INVENTORY._INVENTORY_SET_INVENTORY_ITEM_IN_USE(inventoryId, guid, inUse) end
--- @param inventoryId number
--- @param guid number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_IN_USE(inventoryId, guid) end
--- Used with CClothingItem
--- @param inventoryId number
--- @param guid number
--- @param hidden boolean
function INVENTORY._INVENTORY_SET_INVENTORY_ITEM_HIDDEN(inventoryId, guid, hidden) end
--- Used with CSatchelItem, R* Script usage: fisihing_core
--- @param inventoryId number
--- @param guid number
--- @param hidden boolean
function INVENTORY._INVENTORY_SET_INVENTORY_ITEM_HIDDEN_2(inventoryId, guid, hidden) end
--- @param inventoryId number
--- @param guid number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_HIDDEN(inventoryId, guid) end
--- @param item number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_IS_ANIMAL_PELT(item) end
--- @param item number
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_DESCRIPTION_HASH(item) end
--- flag: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ItemDatabaseItemFlags
--- 2097152 (is item read?), 8388608 (is item sent/received/mailable?), 16777216 (is item consumable?)
--- @param item number
--- @param flag number
--- @return boolean
function INVENTORY._INVENTORY_IS_INVENTORY_ITEM_FLAG_ENABLED(item, flag) end
--- soundType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CItemInfoSoundsInterface__sSoundsInfo__eSoundType
--- @param item number
--- @param soundType number
--- @return boolean
function INVENTORY._INVENTORY_GET_IS_INVENTORY_ITEM_SOUND_VALID(item, soundType) end
--- soundType: see 0x2BAE4880DCDD560B
--- Returns item Hash to be used with _IS_SCRIPTED_AUDIO_CUSTOM and _PLAY_SOUND_FROM_ITEM (p0)
--- @param item number
--- @param soundType number
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_SOUND(item, soundType) end
--- @param item number
--- @param info number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_INSPECTION_INFO(item, info) end
--- Returns CopyID
--- @param inventoryId number
--- @param guid number
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_WEAPON_COPY_ID(inventoryId, guid) end
--- inventoryId: see _INVENTORY_GET_PED_INVENTORY_ID
--- @param inventoryId number
--- @return boolean
function INVENTORY._INVENTORY_ARE_LOCAL_CHANGES_ALLOWED(inventoryId) end
--- @param guid number
--- @return boolean
function INVENTORY._INVENTORY_IS_GUID_VALID(guid) end
--- @param guid1 number
--- @param guid2 number
--- @return boolean
function INVENTORY._INVENTORY_COMPARE_GUIDS(guid1, guid2) end
--- @param inventoryId number
--- @param guid number
--- @param p2 number
--- @param slotId number
--- @param outGuid number
--- @return boolean
function INVENTORY.INVENTORY_GET_GUID_FROM_ITEMID(inventoryId, guid, p2, slotId, outGuid) end
--- removeReason: REMOVE_REASON_DEFAULT (eRemoveItemReason)
--- Example: INVENTORY::_0x5D6182F3BCE1333B(1, joaat("REMOVE_REASON_DEFAULT")); -> clears weapon wheel
--- Only used in R* SP Scripts
--- @param inventoryId number
--- @param removeReason number
--- @return boolean
function INVENTORY._INVENTORY_REMOVE_INVENTORY_ITEMS(inventoryId, removeReason) end
--- @param inventoryId number
--- @param inData number
--- @param outData number
--- @param p3 boolean
--- @return boolean
function INVENTORY.INVENTORY_GET_INVENTORY_ITEM(inventoryId, inData, outData, p3) end
--- @param inventoryId number
--- @param guid number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return boolean
function INVENTORY._INVENTORY_GET_FULL_INVENTORY_ITEM_DATA(inventoryId, guid, p2, p3, p4) end
--- @param inventoryId number
--- @param parentGuid number
--- @param childIndex number
--- @param outInventoryItem number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_CHILD(inventoryId, parentGuid, childIndex, outInventoryItem) end
--- inventoryItemSlotHash: https://pastebin.com/P6fyr3vr
--- @param inventoryId number
--- @param guid1 number
--- @param guid2 number
--- @param item number
--- @param inventoryItemSlot number
--- @param p5 number
--- @param addReason number
--- @return boolean
function INVENTORY._INVENTORY_ADD_ITEM_WITH_GUID(inventoryId, guid1, guid2, item, inventoryItemSlot, p5, addReason) end
--- Getter: _INVENTORY_GET_FULL_INVENTORY_ITEM_DATA
--- @param inventoryId number
--- @param guid1 number
--- @param guid2 number
--- @param p3 number
--- @return boolean
function INVENTORY._INVENTORY_UPDATE_INVENTORY_ITEM(inventoryId, guid1, guid2, p3) end
--- @param inventoryId number
--- @param guid number
--- @param quantity number
--- @param removeReason number
--- @return boolean
function INVENTORY._INVENTORY_REMOVE_INVENTORY_ITEM_WITH_GUID(inventoryId, guid, quantity, removeReason) end
--- @param inventoryId number
--- @param item number
--- @param quantity number
--- @param removeReason number
--- @return boolean
function INVENTORY._INVENTORY_REMOVE_INVENTORY_ITEM_WITH_ITEMID(inventoryId, item, quantity, removeReason) end
--- guid1: old parent GUID
--- guid2: new parent GUID
--- guid3: new item GUID (out param)
--- @param inventoryId number
--- @param guid1 number
--- @param guid2 number
--- @param slotId number
--- @param quantity number
--- @param outGuid number
--- @return boolean
function INVENTORY._INVENTORY_MOVE_INVENTORY_ITEM(inventoryId, guid1, guid2, slotId, quantity, outGuid) end
--- @param inventoryId number
--- @param guid1 number
--- @param guid2 number
--- @return boolean
function INVENTORY._INVENTORY_SWAP_INVENTORY_ITEM(inventoryId, guid1, guid2) end
--- filterName (collections): "ALL", "ALL SATCHEL", "ALL HORSES", "ALL COACHES", "ALL MOUNTS", "ALL CLOTHING", "ALL WEAPONS", "ALL SATCHEL EXCLUDING CLOTHING", "ALL EXCLUDING CLOTHING"
--- slotId: -1591664384
--- p3: outCollectionSize (?)
--- Returns collectionId
--- @param inventoryId number
--- @param filterName string
--- @param slotId number
--- @param size any
--- @return number
function INVENTORY._INVENTORY_CREATE_ITEM_COLLECTION(inventoryId, filterName, slotId, size) end
--- @param inventoryId number
--- @param filter number
--- @param numInCollection any
--- @return number
function INVENTORY._INVENTORY_CREATE_ITEM_COLLECTION_WITH_FILTER(inventoryId, filter, numInCollection) end
--- collectionId is < outCollectionSize
--- @param collectionId number
--- @param itemIndex number
--- @param itemData number
--- @return boolean
function INVENTORY._INVENTORY_GET_ITEM_FROM_COLLECTION_INDEX(collectionId, itemIndex, itemData) end
--- Max num of collections is 5, so release your unused ones.
--- @param collectionId number
--- @return boolean
function INVENTORY._INVENTORY_RELEASE_ITEM_COLLECTION(collectionId) end
--- @param inventoryId number
--- @param guid number
--- @param bEquipped boolean
--- @return boolean
function INVENTORY._INVENTORY_EQUIP_ITEM_WITH_GUID(inventoryId, guid, bEquipped) end
--- @param inventoryId number
--- @param guid number
--- @param slotId number
--- @param outGuid number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_EQUIPPED_IN_SLOT_BY_REF(inventoryId, guid, slotId, outGuid) end
--- @param inventoryId number
--- @param guid number
--- @param item number
--- @return boolean
function INVENTORY._INVENTORY_DOES_ITEM_OWN_EQUIPMENT(inventoryId, guid, item) end
--- Params: p3 returns an int between 0 and 20 (?)
--- Only used in R* SP Scripts
--- @param inventoryId number
--- @param guid number
--- @param p2 any
--- @param p3 any
--- @return boolean
function INVENTORY._0xD08685BA892DBFAB(inventoryId, guid, p2, p3) end
--- Params: p0 is only 0 or 1
--- Only used in R* SP Scripts
--- @param p0 boolean
--- @param inventoryId number
--- @param guid number
function INVENTORY._0x0349404A22736740(p0, inventoryId, guid) end
--- OWE_INVALID = -1,
--- OWE_GOOD_IN_HOT
--- OWE_GOOD_IN_NONE
--- OWE_GOOD_IN_COLD
--- OWE_GOOD_IN_ALL
--- @param inventoryId number
--- @param guid number
--- @param weatherEffectiveness number
function INVENTORY._INVENTORY_SET_INVENTORY_ITEM_WEATHER_EFFECTIVENESS(inventoryId, guid, weatherEffectiveness) end
--- Example: (1, WEAPON_REVOLVER_CATTLEMAN, 0) - disables cattleman revolver on weapon wheel
--- @param inventoryId number
--- @param item number
--- @param gtxReason number
function INVENTORY._INVENTORY_DISABLE_ITEM(inventoryId, item, gtxReason) end
--- @param inventoryId number
--- @param item number
function INVENTORY._INVENTORY_ENABLE_ITEM(inventoryId, item) end
--- Alternative Name: _INVENTORY_IS_ITEM_DISABLED
--- @param inventoryId number
--- @param item number
--- @param p2 boolean
--- @return boolean
function INVENTORY._INVENTORY_IS_INVENTORY_ITEM_EQUIPPED(inventoryId, item, p2) end
--- @param inventoryId number
--- @param p1 number
--- @param enabled boolean
--- @return boolean
function INVENTORY._INVENTORY_SET_INVENTORY_ITEM_INSPECTION_ENABLED(inventoryId, p1, enabled) end
--- @param itemGUID number
--- @return boolean
function INVENTORY._INVENTORY_IS_ITEM_EXPIRED(itemGUID) end
--- @param itemGUID number
--- @return number
function INVENTORY._INVENTORY_GET_ITEM_EXPIRY_TIME(itemGUID) end
--- @param inventoryId number
--- @param guid number
--- @param p2 boolean
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_COUNT_WITH_GUID(inventoryId, guid, p2) end
--- @param inventoryId number
--- @param eInventoryItem number
--- @param p2 boolean
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_COUNT_WITH_ITEMID(inventoryId, eInventoryItem, p2) end
--- @param inventoryId number
--- @param itemGUID number
--- @return boolean
function INVENTORY._0xB1DD74A1F5536622(inventoryId, itemGUID) end
--- @param inventoryId number
--- @param parentGuid number
--- @return number
function INVENTORY._INVENTORY_GET_CHILDREN_COUNT(inventoryId, parentGuid) end
--- @param inventoryId number
--- @param guid number
--- @param slotId number
--- @return number
function INVENTORY.INVENTORY_GET_CHILDREN_IN_SLOT_COUNT(inventoryId, guid, slotId) end
--- @param inventoryId number
--- @param guid number
--- @param slotId number
--- @param p3 number
--- @param p4 number
--- @return number
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_EQUIPPED_IN_SLOT(inventoryId, guid, slotId, p3, p4) end
--- @param item number
--- @param slotId number
--- @return boolean
function INVENTORY._INVENTORY_FITS_SLOT_ID(item, slotId) end
--- p1: WARDROBE, KIT_CAMP, CHARACTER, KIT_MOONSHINER_PROPERTY
--- Returns slot hash
--- @param item number
--- @param p1 number
--- @return number
function INVENTORY._GET_DEFAULT_ITEM_SLOT_INFO(item, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function INVENTORY._INVENTORY_GET_INVENTORY_ITEM_FIT_SLOT(p0, p1, p2) end
--- p1 (out) and p2 (in) are both script arrays?
--- item: can be a component item, see SHOP_CATALOG_BUILD_LIST_OF_WEAPON_COMPONENTS
--- @param item number
--- @param p1 number
--- @param p2 number
--- @return boolean
function INVENTORY._0x9AC53CB6907B4428(item, p1, p2) end
--- data: return value of DATABINDING::_DATABINDING_ADD_DATA_CONTAINER(..., 'CatalogItemInspection');
--- name: effects
--- p2, p3: false
--- 
--- Returns databindingEntryId of 'CatalogItemInspection' container to be used with 0x75CFAC49301E134F (p0)
--- @param data number
--- @param name string
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function INVENTORY._INVENTORY_CREATE_CATALOG_ITEM_INSPECTION_EFFECTS_ENTRY(data, name, p2, p3) end
--- p0: value returned by 0x9D21B185ABC2DBC4
--- p1, p2: false
--- @param databindingEntryId number
--- @param p1 boolean
--- @param p2 boolean
function INVENTORY._0x75CFAC49301E134F(databindingEntryId, p1, p2) end
--- data: return value of DATABINDING::_DATABINDING_ADD_DATA_CONTAINER(..., 'CatalogItemInspection');
--- name: stats, compareStats
--- p2: 0
--- p3: -1
--- 
--- Returns databindingEntryId of 'CatalogItemInspection' container to be used with 0x75CFAC49301E134E (p0)
--- @param data number
--- @param name string
--- @param p2 number
--- @param p3 number
--- @return number
function INVENTORY._INVENTORY_CREATE_CATALOG_ITEM_INSPECTION_STATS_ENTRY(data, name, p2, p3) end
--- Applies weapon stats to the 'CatalogItemInspection' stats entry id.
--- p0: value returned by 0x9D21B185ABC2DBC5
--- _INVENTORY_GET*
--- @param databindingEntryId number
--- @param p1 boolean
--- @param ped number
function INVENTORY._INVENTORY_APPLY_WEAPON_STATS_TO_ENTRY(databindingEntryId, p1, ped) end
--- Returns databindingEntryId to be used with 0x951847CEF3D829FF (p0)
--- @param data number
--- @param stats string
--- @param guid number
--- @param ped number
--- @return number
function INVENTORY._0x46DB71883EE9D5AF(data, stats, guid, ped) end
--- p0: value returned by 0x46DB71883EE9D5AF
--- @param p0 number
--- @param outGuid number
--- @param ped number
function INVENTORY._0x951847CEF3D829FF(p0, outGuid, ped) end
--- Only used in R* SP Scripts
--- @param inventoryId number
--- @param guid number
--- @param p2 number
--- @param p3 number
--- @return boolean
function INVENTORY._0x6862E4D93F64CF01(inventoryId, guid, p2, p3) end
--- This native has no functionality.
--- @param toggle boolean
function INVENTORY._SET_USE_MISSION_INVENTORY(toggle) end
function INVENTORY.INVENTORY_DISABLE_MISSION_INVENTORY_PICKUPS() end
--- @param enable boolean
--- @param mirrorTransactions boolean
function INVENTORY._INVENTORY_USE_MISSION_INVENTORY(enable, mirrorTransactions) end
--- @param p0 boolean
--- @param p1 boolean
--- @param bCopySatchelItems boolean
--- @param bCopyEmotes boolean
--- @param bCopyHorse boolean
--- @param p5 boolean
function INVENTORY.INVENTORY_COPY_MP_INVENTORY_TO_MISSION_INVENTORY(p0, p1, bCopySatchelItems, bCopyEmotes, bCopyHorse, p5) end
--- @param guid number
--- @param p1 boolean
function INVENTORY._INVENTORY_COPY_ITEM_TO_MISSION_INVENTORY(guid, p1) end
--- Only used in R* SP Scripts
--- @param p0 boolean
function INVENTORY._INVENTORY_USE_BACKUP_INVENTORY(p0) end
--- @return boolean
function INVENTORY._INVENTORY_IS_USING_BACKUP_INVENTORY() end
--- @return boolean
function INVENTORY._INVENTORY_IS_PLAYER_INVENTORY_MIRRORING_TRANSACTIONS() end
--- @param inventoryId number
--- @param inventoryIdCloned number
--- @param p2 number
--- @param p3 number
function INVENTORY._INVENTORY_COPY_ITEM_TO_INVENTORY(inventoryId, inventoryIdCloned, p2, p3) end
--- @param ped number
--- @param p1 number
function INVENTORY._0x9E58207B194488AC(ped, p1) end
--- @param p0 number
function INVENTORY._SET_ITEM_PROMPT_INFO_REQUEST(p0) end
--- Used in function SET_SHOP_BEING_ROBBED and many other shop related scripts and functions.
--- INVENTORY_A*
function INVENTORY._0x9B4E793B1CB6550A() end
--- @param data number
function INVENTORY._SET_CARRIABLE_CARRY_ACTION_PROMPT_OVERRIDE(data) end
--- @param inventoryId number
function INVENTORY._INVENTORY_ENABLE_WEAPONS(inventoryId) end
--- Params: p1 = 0
--- @param inventoryId number
--- @param p1 number
function INVENTORY._INVENTORY_DISABLE_WEAPONS(inventoryId, p1) end
--- Only used in R* SP Scripts
--- @param inventoryId number
function INVENTORY._0xE1F45A67A9F0DCBC(inventoryId) end
--- Only used in R* SP Scripts
--- @param inventoryId number
function INVENTORY._0x6968CE7AC32F6788(inventoryId) end
--- Returns collectionId
--- @param collectionSize any
--- @return number
function INVENTORY._INVENTORY_CREATE_ITEM_COLLECTION_2(collectionSize) end
--- p1: 32
--- Returns collectionId
--- @param inventoryId number
--- @param p1 number
--- @param size any
--- @return number
function INVENTORY._INVENTORY_CREATE_SORTED_COLLECTION(inventoryId, p1, size) end

ITEMDATABASE = {}

--- @param key number
--- @param category number
--- @param slotId number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_CAN_EQUIP_ITEM_ON_CATEGORY(key, category, slotId) end
--- @param category number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_FITS_SLOT_COUNT(category) end
--- @param category number
--- @param index number
--- @param outSlotId any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_FITS_SLOT_INFO(category, index, outSlotId) end
--- @param category number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_HAS_SLOT_COUNT(category) end
--- @param category number
--- @param index number
--- @param outSlotId any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_HAS_SLOT_INFO(category, index, outSlotId) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE.ITEMDATABASE_FILLOUT_ITEM_BY_NAME(key, outData) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE.ITEMDATABASE_FILLOUT_ITEM_INFO(key, outData) end
--- @param key number
--- @param costtype number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_ACQUIRE_COST(key, costtype, outData) end
--- Params: sellType = SELL_SHOP_DEFAULT
--- @param key number
--- @param sellType number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_SELL_PRICE(key, sellType, outData) end
--- @param key number
--- @param outSatchelItemSize any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_SATCHEL_DATA(key, outSatchelItemSize) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_UI_DATA(key, outData) end
--- @param bundle number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_BUNDLE_UI_DATA(bundle, outData) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_ITEM_EFFECT_IDS(key, outData) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE.ITEMDATABASE_FILLOUT_ITEM_EFFECT_ID_INFO(key, outData) end
--- @param key number
--- @param outData number
--- @param outIndex any
--- @param p3 number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_TAG_DATA(key, outData, outIndex, p3) end
--- Returns the number of <Item>s <acquirecosts> has from the key in catalog_sp.ymt
--- @param key number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_ACQUIRE_COSTS_COUNT(key) end
--- @param key number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_ACQUIRE_COST(key, index, outData) end
--- @param key number
--- @param costtype number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_ACQUIRE_COSTS_COUNT_FROM_COST_TYPE(key, costtype) end
--- @param key number
--- @param costtype number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_ITEM(key, costtype, index, outData) end
--- @param key number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_AWARD_ACQUIRE_COST_COUNT(key) end
--- @param award number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_AWARD_ACQUIRE_COST(award, index, outData) end
--- @param award number
--- @param costtype number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_AWARD_ACQUIRE_COST_COUNT_FROM_COST_TYPE(award, costtype) end
--- @param award number
--- @param costtype number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_AWARD_ACQUIRE_COST(award, costtype, index, outData) end
--- Returns collectionId to be used with 0x8750F69A720C2E41 (p0) and 0xCBB7B6EDFA933ADE (p0)
--- @param data number
--- @param size any
--- @param comparisonType number
--- @return number
function ITEMDATABASE._ITEMDATABASE_CREATE_ITEM_COLLECTION(data, size, comparisonType) end
--- Returns (collection?) size/index (?)
--- _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
--- @param collectionId number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_COLLECTION_SIZE(collectionId) end
--- Params: p2 can be a component item hash
--- @param collectionId number
--- @param index number
--- @param outKey any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_COMPONENT_ITEM(collectionId, index, outKey) end
--- @param collectionId number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_RELEASE_ITEM_COLLECTION(collectionId) end
--- @param key number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_IS_INTRINSIC_ITEM(key) end
--- @param key number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_IS_OVERPOWERED_ITEM(key) end
--- Params: mode is 0
--- @param key number
--- @param mode number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_IS_KEY_VALID(key, mode) end
--- @param key number
--- @param p1 number
--- @return boolean
function ITEMDATABASE._0x537A0555F62CA01A(key, p1) end
--- @param bundle number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_BUNDLE_ID(bundle) end
--- @param bundleId number
--- @param data number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_BUNDLE_ITEM_COUNT(bundleId, data) end
--- @param bundleId number
--- @param data number
--- @param index number
--- @param outBundle any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_BUNDLE_ITEM_INFO(bundleId, data, index, outBundle) end
--- Params: mode is 0
--- @param bundle number
--- @param mode number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_IS_BUNDLE_VALID(bundle, mode) end
--- Returns Item Count
--- @param bundle number
--- @param p1 number
--- @return number
function ITEMDATABASE._0x799FCD53358ED5FA(bundle, p1) end
--- @param bundle number
--- @param p1 number
--- @param index number
--- @param p3 number
--- @return boolean
function ITEMDATABASE._0xC4146375D8A0B374(bundle, p1, index, p3) end
--- @param bundle number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_BUNDLE_ACQUIRE_COST_MODIFIERS(bundle, outData) end
--- @param p0 number
--- @return number
function ITEMDATABASE._0x7A35A72A692BE9DB(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function ITEMDATABASE._0x3A0B667ABFF87F6E(p0, p1, p2) end
--- @param bundle number
--- @param costtype number
--- @return number
function ITEMDATABASE._0x388088BFF3681189(bundle, costtype) end
--- @param bundle number
--- @param costtype number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_BUNDLE(bundle, costtype, index, outData) end
--- @param shopType number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_IS_SHOP_KEY_VALID(shopType) end
--- @param shopType number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_INVENTORIES_ITEMS_COUNT(shopType) end
--- @param shopType number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_INVENTORIES_ITEM_INFO(shopType, index, outData) end
--- Same Native Function as 0x17721003A66C72BF
--- @param shopType number
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_INVENTORIES_ITEM_INFO_BY_KEY(shopType, key, outData) end
--- @param shopType number
--- @param key number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_INVENTORIES_REQUIREMENT_GROUP_INFO(shopType, key, index, outData) end
--- @param shopType number
--- @param key number
--- @param groupIndex number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_INVENTORIES_REQUIREMENT_INFO(shopType, key, groupIndex, index, outData) end
--- @param shopType number
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE._0x17721003A66C72BF(shopType, key, outData) end
--- @param layout number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_IS_SHOP_LAYOUT_KEY_VALID(layout) end
--- @param layout number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_INFO(layout, outData) end
--- @param layout number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_ROOT_MENU_INFO(layout, index, outData) end
--- @param layout number
--- @param menu number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_MENU_INFO_BY_ID(layout, menu, outData) end
--- @param layout number
--- @param menu number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_MENU_INFO_BY_INDEX(layout, menu, index, outData) end
--- @param layout number
--- @param menu number
--- @param index number
--- @param outPageKey any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_MENU_PAGE_KEY(layout, menu, index, outPageKey) end
--- @param layout number
--- @param index number
--- @param outMenuKey any
--- @return boolean
function ITEMDATABASE._0xDBEADA0DF5F9AB9F(layout, index, outMenuKey) end
--- @param layout number
--- @param pageKey number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_INFO_BY_KEY(layout, pageKey, outData) end
--- @param layout number
--- @param pageKey number
--- @param index number
--- @param outItemKey any
--- @param outMenuId any
--- @param outLayout any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_SHOP_LAYOUT_PAGE_ITEM_KEY(layout, pageKey, index, outItemKey, outMenuId, outLayout) end
--- @param award number
--- @return boolean
function ITEMDATABASE.ITEMDATABASE_IS_BUYABLE_AWARD_VALID(award) end
--- @param award number
--- @param outData number
--- @param outUnk any
--- @param p3 number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_BUY_AWARD_ACQUIRE_COSTS(award, outData, outUnk, p3) end
--- @param award number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_BUY_AWARD_UI_DATA(award, outData) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_ITEM_PRICE_MODIFIERS(key, outData) end
--- @param key number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_PRICE_MODIFIER_BY_KEY(key, outData) end
--- @param key number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_NUMBER_OF_MODIFIED_PRICES(key) end
--- Returns an alternative cost hash to COST_SHOP_DEFAULT
--- @param key number
--- @param index number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_MODIFIED_PRICE(key, index) end
--- @param key number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_NUMBER_OF_MODIFIERS(key) end
--- @param key number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_MODIFIER(key, index, outData) end
--- _ITEMDATABASE_GET_* - _ITEMDATABASE_IS_*
--- @param award number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_PRIORITY_ACCESS_AWARD(award) end
--- Returns iAwardItemCount
--- @param award number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_AWARD_ITEM_COUNT(award) end
--- _ITEMDATABASE_GET_(A)* - _ITEMDATABASE_GET_(B)*
--- @param award number
--- @return number
function ITEMDATABASE._0x48229CE0C7938237(award) end
--- @param award number
--- @param index number
--- @param outData any
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_FILLOUT_AWARD_ITEM_INFO(award, index, outData) end
--- _ITEMDATABASE_FILLOUT_(A)* - _ITEMDATABASE_FILLOUT_(B)*
--- @param award number
--- @param index number
--- @param outData number
--- @return boolean
function ITEMDATABASE._0x8D029948CA29409B(award, index, outData) end
--- @param award number
--- @param outData number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_GET_AWARD_COST_MODIFIERS(award, outData) end
--- @param award number
--- @param outData number
--- @return boolean
function ITEMDATABASE._0xD076DB9B96FAADF1(award, outData) end
--- @param item number
--- @param tag number
--- @param tagType number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_DOES_ITEM_HAVE_TAG(item, tag, tagType) end
--- Params: tag = TAG_ITEM_PROPERTY (tagType(?))
--- @param bundle number
--- @param tag number
--- @param tagType number
--- @return boolean
function ITEMDATABASE._ITEMDATABASE_DOES_BUNDLE_HAVE_TAG(bundle, tag, tagType) end
--- @param item number
--- @param tag number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_ITEM_TAG_TYPE(item, tag) end
--- @param key number
--- @param tagType number
--- @param outData number
--- @return number
function ITEMDATABASE._0x8870895BA5ED9385(key, tagType, outData) end
--- Returns docData.iNumTotalLabelTypes
--- @param p0 number
--- @return number
function ITEMDATABASE._ITEMDATABASE_LOCALIZATION_GET_NUM_LABEL_TYPES(p0) end
--- Returns iNumValuesForType
--- @param p0 number
--- @param p1 number
--- @return number
function ITEMDATABASE._ITEMDATABASE_LOCALIZATION_GET_NUM_VALUES(p0, p1) end
--- Returns LabelType
--- @param p0 number
--- @param p1 number
--- @return number
function ITEMDATABASE._ITEMDATABASE_LOCALIZATION_GET_TYPE(p0, p1) end
--- @param p0 number
--- @param label number
--- @param p2 number
--- @return number
function ITEMDATABASE._ITEMDATABASE_LOCALIZATION_GET_VALUE(p0, label, p2) end
--- @param key number
--- @param defaultPathset number
--- @return number
function ITEMDATABASE._ITEMDATABASE_GET_ITEM_PATHSET(key, defaultPathset) end
--- Returns Pathset Hash
--- @param p0 number
--- @param p1 number
--- @return number
function ITEMDATABASE._0xAA29A5F13B2C20B2(p0, p1) end

ITEMSET = {}

--- @param p0 boolean
--- @return number
function ITEMSET.CREATE_ITEMSET(p0) end
--- @param itemset number
function ITEMSET.DESTROY_ITEMSET(itemset) end
--- @param itemset number
--- @return boolean
function ITEMSET.IS_ITEMSET_VALID(itemset) end
--- @param entity number
--- @param itemset number
--- @return boolean
function ITEMSET.ADD_TO_ITEMSET(entity, itemset) end
--- @param entity number
--- @param itemset number
function ITEMSET.REMOVE_FROM_ITEMSET(entity, itemset) end
--- @param itemset number
--- @return number
function ITEMSET.GET_ITEMSET_SIZE(itemset) end
--- @param index number
--- @param itemset number
--- @return number
function ITEMSET.GET_INDEXED_ITEM_IN_ITEMSET(index, itemset) end
--- @param index number
--- @param itemset number
--- @return number
function ITEMSET.GET_INDEXED_SCENARIO_POINT_INDEX_IN_ITEMSET(index, itemset) end
--- @param entity number
--- @param itemset number
--- @return boolean
function ITEMSET.IS_IN_ITEMSET(entity, itemset) end
--- @param itemset number
function ITEMSET.CLEAN_ITEMSET(itemset) end
--- @param itemset number
function ITEMSET._CLEAR_ITEMSET(itemset) end

LAW = {}

--- crimeType:
--- enum eCrimeType : Hash
--- {
--- CRIME_ACCOMPLICE = 0xAF074F6D,
--- CRIME_ARSON = 0x68134DC7,
--- CRIME_ASSAULT = 0x0BADC882,
--- CRIME_ASSAULT_ANIMAL = 0x18DA55EE,
--- CRIME_ASSAULT_CORPSE = 0x4E5F23F2,
--- CRIME_ASSAULT_HORSE = 0xC4736181,
--- CRIME_ASSAULT_LAW = 0xD7466D7C,
--- CRIME_ASSAULT_LIVESTOCK = 0xCCE1CCBD,
--- CRIME_BANK_ROBBERY = 0x6A1ADE3D,
--- CRIME_BURGLARY = 0xA54C77E0,
--- CRIME_CHEATING = 0xA2FF1145,
--- CRIME_DISTURBANCE = 0x5011F613,
--- CRIME_EXPLOSION = 0x3EBA7A37,
--- CRIME_EXPLOSION_POISON = 0x91D0A0E1,
--- CRIME_GRAVE_ROBBERY = 0x971EA5AF,
--- CRIME_HASSLE = 0x58488776,
--- CRIME_HIT_AND_RUN = 0xFF0A3CC4,
--- CRIME_HIT_AND_RUN_LAW = 0x064814AF,
--- CRIME_INTIMIDATION = 0x8319FBAB,
--- CRIME_JACK_HORSE = 0x82F7E4A2,
--- CRIME_JACK_VEHICLE = 0x6B981F4C,
--- CRIME_JAIL_BREAK = 0x12C1D589,
--- CRIME_KIDNAPPING = 0x98F908DB,
--- CRIME_KIDNAPPING_LAW = 0xFD72A7EA,
--- CRIME_LASSO_ASSAULT = 0x56EE5D5A,
--- CRIME_LAW_IS_THREATENED = 0x1CB91DF0,
--- CRIME_LOITERING = 0x6629D2F4,
--- CRIME_LOOTING = 0x55AD2BEB,
--- CRIME_MURDER = 0xE28ECE7E,
--- CRIME_MURDER_ANIMAL = 0x48F59A66,
--- CRIME_MURDER_HORSE = 0xC7261D79,
--- CRIME_MURDER_LAW = 0x7797FCE7,
--- CRIME_MURDER_LIVESTOCK = 0x9569C546,
--- CRIME_MURDER_PLAYER = 0xF5ABD6C9,
--- CRIME_MURDER_PLAYER_HORSE = 0xD55C6A79,
--- CRIME_PROPERTY_DESTRUCTION = 0x533B003D,
--- CRIME_RESIST_ARREST = 0xDF577BA5,
--- CRIME_ROBBERY = 0xA3BEDE4C,
--- CRIME_SELF_DEFENCE = 0xBD6A0AA3,
--- CRIME_STAGECOACH_ROBBERY = 0xFC738E61,
--- CRIME_STOLEN_GOODS = 0x9A949C79,
--- CRIME_THEFT = 0x72ADE410,
--- CRIME_THEFT_HORSE = 0xBE3A5838,
--- CRIME_THEFT_LIVESTOCK = 0x85BA08FD,
--- CRIME_THEFT_VEHICLE = 0x43A9ECA1,
--- CRIME_THREATEN = 0x941C985A,
--- CRIME_THREATEN_LAW = 0x7F908566,
--- CRIME_TRAIN_ROBBERY = 0x647D2A5A,
--- CRIME_TRAMPLE = 0x45DB39D8,
--- CRIME_TRAMPLE_LAW = 0xF00F266B,
--- CRIME_TRAMPLE_PLAYER = 0x75970C15,
--- CRIME_TRESPASSING = 0xAEDE8E35,
--- CRIME_UNARMED_ASSAULT = 0x5098CC5A,
--- CRIME_VANDALISM = 0x80FDC759,
--- CRIME_VANDALISM_VEHICLE = 0xF9E7ECE4,
--- CRIME_VEHICLE_DESTRUCTION = 0x54A85DDC,
--- CRIME_WANTED_LEVEL_UP_DEBUG_HIGH = 0x99C52FF5,
--- CRIME_WANTED_LEVEL_UP_DEBUG_LOW = 0xD891890F
--- };
--- @param player number
--- @param crimeType number
--- @param bounty number
--- @param entity number
--- @param isKnownSuspect boolean
function LAW._REPORT_CRIME(player, crimeType, bounty, entity, isKnownSuspect) end
--- crimeType: see _REPORT_CRIME
--- @param player number
--- @param crimeType number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function LAW.SUPPRESS_CRIME_THIS_FRAME(player, crimeType, p2, p3, p4) end
--- Returns amount of suppressed crimes to be used later in the function MPINTRO_CRIME_MONITOR_MAINTAIN
--- @param player number
--- @param crimeType number
--- @return number
function LAW.NUM_CRIMES_SUPPRESSED(player, crimeType) end
--- @param ped number
--- @param crimeType number
--- @param p2 boolean
--- @return number
function LAW._0xFFEBE5AA96BC2E4E(ped, crimeType, p2) end
--- Params: p0 either 0, 1 or -1 in R* Scripts
--- Set to 0 called together with _SUPPRESS_CRIME
--- @param p0 number
function LAW._0x15ABD5004CAD2D99(p0) end
--- @param crimeType number
--- @param p1 boolean
function LAW._0xF611DE44AEB36A1D(crimeType, p1) end
--- @return boolean
function LAW._0x3D2674828A4E6B3C() end
--- @param p0 boolean
function LAW._0xC5EB2755FA25F1E9(p0) end
--- @param player number
--- @return number
function LAW.GET_BOUNTY(player) end
--- @param player number
--- @param itemValueAmount number
function LAW.ADD_BOUNTY(player, itemValueAmount) end
--- @param player number
--- @param amount number
function LAW.SET_BOUNTY(player, amount) end
--- @param player number
function LAW.CLEAR_BOUNTY(player) end
--- @param player number
--- @return number
function LAW.GET_WANTED_SCORE(player) end
--- @param player number
--- @param intensity number
function LAW.SET_WANTED_SCORE(player, intensity) end
--- @param player number
function LAW.CLEAR_WANTED_SCORE(player) end
--- @param p0 number
function LAW._0x331D349E0380B097(p0) end
--- Only used in R* Script fm_mission_controller
--- _CLEAR_WANTED_*
function LAW._0x292AD61A33A7A485() end
--- Used in SP only, called together with 0x55F37F5F3F2475E1 & CLEAR_WANTED_SCORE
--- _REPORT_*
--- @param player number
function LAW._0x07E8B8B20570271C(player) end
--- Used in SP only
--- _REPORT_*
--- @param player number
--- @param lawRegionHash number
function LAW._0x22741652985C84D0(player, lawRegionHash) end
--- @param player number
--- @param dispatchResponseHash number
function LAW._REPORT_PLAYER_LAW_DISPATCH_RESPONSE_OVERRIDE(player, dispatchResponseHash) end
--- Only used in shoprobberies R* Scripts
--- @return boolean
function LAW._0x9EF07CFBB19A9733() end
--- @param toggle boolean
function LAW._SET_LAW_DISABLED(toggle) end
function LAW._FORCE_LAW_ON_LOCAL_PLAYER_IMMEDIATELY() end
--- enum eLawRegion : Hash
--- {
--- LAW_DISPATCH_REGION_NONE = 0,
--- LAW_REGION_AGUASDULCES = 0x2F573EBE,
--- LAW_REGION_ANNESBURG = 0x68CAFD50,
--- LAW_REGION_ARMADILLO = 0xF0B90756,
--- LAW_REGION_BAYOU_NWA = 0x80966B1C,
--- LAW_REGION_BEECHERS_HOPE = 0xE2544977,
--- LAW_REGION_BIG_VALLEY = 0x3DF1559A,
--- LAW_REGION_BLACKWATER = 0x60D4886D,
--- LAW_REGION_BLACKWATER_MAINGAME = 0x66553576,
--- LAW_REGION_BLUEGILL_MARSH = 0x1D6AED8E,
--- LAW_REGION_BRAITHWAITE_MANOR = 0x3D71E7FF,
--- LAW_REGION_BUTCHER_CREEK = 0x2B3E1822,
--- LAW_REGION_CALIGA_HALL = 0xF3FE5080,
--- LAW_REGION_CORNWALL = 0xCC4672FA,
--- LAW_REGION_CUMBERLAND_FOREST = 0x81A78306,
--- LAW_REGION_EMERALD_RANCH = 0x5C069DF3,
--- LAW_REGION_FORT_WALLACE = 0x0AF25192,
--- LAW_REGION_GREAT_PLAINS = 0xB20573FA,
--- LAW_REGION_GREAT_PLAINS_MAINGAME = 0x9862FF7C,
--- LAW_REGION_GRIZZLIES = 0xBB936031,
--- LAW_REGION_GUAMA = 0x200DFF42,
--- LAW_REGION_HEARTLANDS = 0xAD14DA65,
--- LAW_REGION_LAGRAS = 0xC64808D3,
--- LAW_REGION_MACFARLANES_RANCH = 0x396A7D5F,
--- LAW_REGION_MANICATO = 0x039DB6BF,
--- LAW_REGION_MANZANITA_POST = 0x895E580E,
--- LAW_REGION_MANZANITA_POST_MAINGAME = 0x9BDD6A38,
--- LAW_REGION_OCCUPIED_CARAVAN_CAMP = 0x7EBABB01,
--- LAW_REGION_OLD_MAP_WILDERNESS = 0xCBB45950,
--- LAW_REGION_OLD_MAP_WILDERNESS_MAINGAME = 0x9F839BE7,
--- LAW_REGION_OUTLAW3 = 0x97A02FC1,
--- LAW_REGION_PRONGHORN_RANCH = 0x398E4BFC,
--- LAW_REGION_RHODES = 0x89222928,
--- LAW_REGION_RHODES_LOCKDOWN = 0xB1181671,
--- LAW_REGION_RIDGEWOOD_FARM = 0x635C3028,
--- LAW_REGION_ROANOKE_RIDGE = 0x46386A9A,
--- LAW_REGION_SAINT_DENIS = 0x5CF7C268,
--- LAW_REGION_SAINT_DENIS_RURAL = 0x4FD5331A,
--- LAW_REGION_SCARLETT_MEADOWS = 0x5FDD9717,
--- LAW_REGION_SISIKA = 0x2B6BBA52,
--- LAW_REGION_STRAWBERRY = 0xDD932620,
--- LAW_REGION_TALL_TREES = 0xD939B758,
--- LAW_REGION_TALL_TREES_MAINGAME = 0x084B17DF,
--- LAW_REGION_THIEVES_LANDING = 0x3D0C2EB6,
--- LAW_REGION_THIEVES_LANDING_MAINGAME = 0x61C450F3,
--- LAW_REGION_TUMBLEWEED = 0x0EFAF8DC,
--- LAW_REGION_VALENTINE = 0xA7A3F0C3,
--- LAW_REGION_VALENTINE_LOCKDOWN = 0x123582FE,
--- LAW_REGION_VAN_HORN = 0x619B528E,
--- LAW_REGION_WAPITI = 0x7A976E02
--- };
--- @param player number
--- @param lawRegionHash number
--- @param stateHash number
function LAW._SET_LAW_REGION(player, lawRegionHash, stateHash) end
--- Only used in R* SP Scripts
--- @param player number
--- @param p1 boolean
function LAW._0x5E6F375CA101C108(player, p1) end
--- @param player number
--- @param p1 number
function LAW._SET_LAW_RBS_VOLUME(player, p1) end
--- @param player number
--- @return boolean
function LAW.IS_LAW_INCIDENT_ACTIVE(player) end
--- @param player number
--- @return number
function LAW._0x148E7AC8141C9E64(player) end
--- _SET_C* - _SET_D*
--- @param player number
--- @param crimeType number
--- @param bounty number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
--- @param p6 number
--- @param p7 number
--- @param p8 number
function LAW._0xEDFC6C1FD1C964F5(player, crimeType, bounty, p3, p4, p5, p6, p7, p8) end
--- @param pedGroup1 number
--- @param ped number
--- @param pedGroup2 number
--- @param x number
--- @param y number
--- @param z number
--- @param crimeType number
--- @return boolean
function LAW._LAW_WITNESS_RESPONSE_TASK(pedGroup1, ped, pedGroup2, x, y, z, crimeType) end
--- @param ped number
--- @param p1 number
--- @return number
function LAW._0x018F30D762E62DF8(ped, p1) end
--- Only used in R* SP Script av_amb_camp_robbery
--- @param ped number
--- @param p1 number
--- @return number
function LAW._0x318F0F9A4426CFA2(ped, p1) end
--- @param entity number
--- @param ped number
--- @param p2 boolean
--- @param x number
--- @param y number
--- @param z number
--- @param crimeType number
--- @return number
function LAW._0x95878B13E272EF1F(entity, ped, p2, x, y, z, crimeType) end
--- @param player number
--- @param crimeType number
--- @param pedGroup number
function LAW._ADD_WITNESS_RESPONSE(player, crimeType, pedGroup) end
--- Only used in R* SP Scripts
--- Params: p2 either 1 or 2
--- @param player number
--- @param crimeType number
--- @param p2 number
function LAW._0xD7494DED50C6EF52(player, crimeType, p2) end
--- @param player number
--- @return boolean
function LAW.ARE_WITNESSES_ACTIVE(player) end
--- @param player number
--- @return boolean
function LAW._ARE_WITNESSES_PENDING(player) end
--- @param player number
--- @param areInvestigatorsActive boolean
--- @param p2 number
--- @return boolean
function LAW._ARE_INVESTIGATORS_ACTIVE(player, areInvestigatorsActive, p2) end
--- @param player number
--- @param itemSet number
function LAW._0x522F74636DF10201(player, itemSet) end
--- Only used in R* SP Scripts
--- Params: p1 = true, p2 = false
--- @param itemSet number
--- @param p1 boolean
--- @param p2 boolean
function LAW._0xDA1A9ADC4E3D4B16(itemSet, p1, p2) end
--- @param toggle boolean
function LAW._ENABLE_DISPATCH_LAW(toggle) end
--- @param toggle boolean
function LAW._ENABLE_DISPATCH_LAW_2(toggle) end
--- Only used in rcm_homerob00 R* Script
--- @return boolean
function LAW._ARE_ANY_LAW_PEDS_INVESTIGATING() end
--- Only used in trainrobbery_ambient R* Script
--- @return boolean
function LAW._ARE_LAW_PEDS_ENABLED_FOR_TRAIN() end
--- Only used in rcm_gunslinger1_1 R* Script: p0 = 0
--- @param p0 number
function LAW._0x82F11E1296996574(p0) end
--- @param p0 number
function LAW._0x3852237A3D9DF145(p0) end
--- @param ped number
--- @return boolean
function LAW._0x0EAF918F751F27BA(ped) end
--- Only used in rcm_serial_killer1 R* Script
--- @param ped number
--- @return boolean
function LAW._0xC0DF161950FB101E(ped) end
--- @param player number
--- @param p1 number
--- @return number
function LAW._0xE4D6E45F491A66CB(player, p1) end
--- Returns p1 value for 0xE4D6E45F491A66CB
--- @param player number
--- @return number
function LAW._0xE9EB79CBF9C0F58A(player) end
--- @param player number
--- @param ped number
--- @param outCoords number
function LAW._0x21213B833EF4DAE7(player, ped, outCoords) end
--- @param player number
function LAW._0x61B98367D93F012F(player) end
--- @param player number
--- @param crimeType any
--- @param p2 number
function LAW._0x6ABC50979655BEE7(player, crimeType, p2) end
--- _CLEAR*
--- @param player number
--- @param p1 boolean
function LAW._0x390710D2DAFA6BFF(player, p1) end
--- Returns bounty (increment) value
--- @param crimeType number
--- @return number
function LAW._GET_CRIME_BOUNTY_AMOUNT_BY_TYPE(crimeType) end
--- crimeType: see _REPORT_CRIME
--- @param crimeType number
--- @param p1 number
--- @return number
function LAW._0xDAEFDFDB2AEECE37(crimeType, p1) end
--- See _REPORT_CRIME
--- @param player number
--- @return number
function LAW._GET_HUD_PLAYER_CRIME_TYPE(player) end
--- @param player number
--- @return number
function LAW._0xE083BEDA81709891(player) end
--- @param player number
--- @param p1 number
--- @param p2 number
--- @return boolean
function LAW._0x89E005B1662F6E48(player, p1, p2) end
--- @param player number
--- @param p1 number
--- @param p2 number
--- @return boolean
function LAW._0x3738B784DDD35CC6(player, p1, p2) end
--- Only used in net_fetch R* Script
--- @param crimeType number
--- @return number
function LAW._0x0BDFEBCF40A5F7E3(crimeType) end
--- Note: This native is only used in multiplayer scripts
--- dispatchResponseHash: see update1/common/data/dispatchresponses/..
--- @param dispatchResponseHash number
function LAW._SET_CUSTOM_LAW_DISPATCH_RESPONSE(dispatchResponseHash) end
--- dispatchResponseHash: see common/data/dispatchresponses/..
--- @param x number
--- @param y number
--- @param z number
--- @param dispatchResponseHash number
--- @return number
function LAW._CREATE_LAW_DISPATCH_RESPONSE_FOR_COORDS(x, y, z, dispatchResponseHash) end
--- Force clears local player's wanted level
function LAW._SET_BOUNTY_HUNTER_PURSUIT_CLEARED() end
--- Called together with REPORT_POLICE_SPOTTED_PLAYER
function LAW._0xBD944A3D36E992DE() end
--- @param p0 boolean
function LAW._0x987BE590FB9D41E5(p0) end
--- @param p0 boolean
function LAW._0xDCF12B89624AAC96(p0) end
--- @param enabled boolean
function LAW._SET_CANT_LOSE_LAW_THIS_RESPONSE(enabled) end
function LAW._0xDEA083C16BB91345() end
--- Only used in act_bankrobbery01 R* Script
--- @param player number
--- @param itemSet number
function LAW._0x9C8A2BF37E966464(player, itemSet) end
--- @param player number
--- @return boolean
function LAW._0x9D5C9A5A3321B128(player) end
--- @param player number
--- @return boolean
function LAW._0x0F230DE0DDBE3649(player) end
--- @param player number
--- @return boolean
function LAW._0x9945A3E2528A02E8(player) end
--- Returns the amount of time (probably in game minutes) since last seen by the law / left the wanted radius
--- @param player number
--- @return number
function LAW._GET_TIME_SINCE_LAST_SEEN_BY_LAW(player) end
--- @param p0 number
function LAW._0x9B4C564BFA7CFF37(p0) end
--- @param toggle boolean
function LAW._SET_ALLOW_DISABLED_LAW_RESPONSES(toggle) end
--- @param player number
function LAW.RESET_WANTED_FOR_NEW_INCIDENT(player) end
--- @param ped number
--- @return boolean
function LAW._0x856CE8FDE2416602(ped) end
--- Only used in shoprobberies
--- @param entity number
--- @return boolean
function LAW._0x7351DA734F989F4E(entity) end
--- p0 is always BOUNTYHUNTERSGLOBALCOOLDOWN in R* scripts
--- @param p0 number
--- @return number
function LAW._GET_BOUNTY_HUNTER_GLOBAL_COOLDOWN(p0) end
--- p0 is always BOUNTYHUNTERSGLOBALCOOLDOWN in R* scripts
--- @param p0 number
--- @param p1 number
function LAW._SET_BOUNTY_HUNTER_GLOBAL_COOLDOWN(p0, p1) end
--- Only used in resapwn_dump_body R* Script
--- @param p0 number
function LAW._0x2001687F9562FD9D(p0) end
--- p0 is always BOUNTYHUNTERSGLOBALCOOLDOWN in R* scripts
--- @param p0 number
--- @param p1 boolean
--- @param p2 number
function LAW._PAUSE_BOUNTY_HUNTER_COOLDOWN(p0, p1, p2) end
--- Only used in R* SP Scripts
--- Params: p1 = 0
--- @param p0 boolean
--- @param p1 number
function LAW._0xE9AC8466ABE484BB(p0, p1) end
--- @param ped number
--- @return boolean
function LAW._0x40851BCC33ACD9AB(ped) end
--- @return boolean
function LAW._0xF46108C50A22B029() end
function LAW._0x7803436E68C32B26() end
function LAW._0xC310239ACCCF5579() end
function LAW._0x29CD4896ECB66C12() end
--- Seems to disable lawmen guarding behaviors (like during a region lockdown). Must be called every frame.
--- Only used in R* SP Scripts, mostly used in train_fast_travel_core
function LAW._0xE94B5E938619712E() end
--- Only used in R* Script long_update
--- Returns a value thats being subtracted from GET_GAME_TIMER
--- @param player number
--- @return number
function LAW._0x7FC667F6DDFBCDCC(player) end
--- @param crimeType any
function LAW._0x9C5BD8C562565CE6(crimeType) end
--- @param player number
--- @param data number
function LAW._0xCBFB4951F2E3934C(player, data) end
--- behaviour: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CLawBehavior__Flags
--- @param ped number
--- @param behaviour number
function LAW._SET_PED_LAW_BEHAVIOUR(ped, behaviour) end
--- @param ped number
--- @param bitset number
function LAW._0x00DB0BC05E3FAA4E(ped, bitset) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param itemSet number
function LAW._0x0C392DB374655176(x, y, z, p3, itemSet) end
--- @param p0 number
--- @return number
function LAW._0xC687A23E166DCF68(p0) end
--- @param multiplier number
function LAW._SET_DISPATCH_MULTIPLIER_OVERRIDE(multiplier) end
--- @param player number
--- @return boolean
function LAW._0x26934083D3F2579C(player) end
--- @param player number
--- @param p1 number
--- @param crimeType any
--- @return boolean
function LAW.GET_PLAYER_REGISTERED_CRIME(player, p1, crimeType) end
--- @param player number
--- @param p1 number
--- @param crimeType any
--- @return boolean
function LAW._0xB527099D1E1EED49(player, p1, crimeType) end
--- @param player number
function LAW.CLEAR_PLAYER_PAST_CRIMES(player) end
--- @param player number
--- @param lawRegionHash number
function LAW.SET_PLAYER_ARRESTED_IN_REGION(player, lawRegionHash) end
--- @param player number
--- @param lawRegionHash number
function LAW.SET_PLAYER_TURNED_IN_BOUNTY_IN_REGION(player, lawRegionHash) end
--- @param player number
--- @param p1 boolean
function LAW._0xD6C0A8C7C0B2F82C(player, p1) end
--- Default range is 1.0f
--- @param player number
--- @param range number
function LAW.SET_LAW_SENSE_RANGE_MODIFIER(player, range) end
--- _SET_DISPATCH_*
--- @param flag number
--- @param p1 boolean
function LAW._0x7EF2A2FE38D74456(flag, p1) end
--- _GET_DISPATCH_*
--- @param flag number
--- @return boolean
function LAW._0xC7DC5A0A7DF608CB(flag) end
--- @param player number
--- @param p1 boolean
function LAW.SET_DISABLE_DISTURBANCE_CRIMES(player, p1) end
--- @param player number
--- @param p1 boolean
function LAW.SET_POSTPONE_DISTURBANCE_CRIMES_DURING_COMBAT(player, p1) end
--- @param name string
function LAW._CREATE_GUARD_ZONE(name) end
--- @param name string
function LAW._REMOVE_GUARD_ZONE(name) end
--- Only used in loanshark_miner1 R* Script: name = ANNESBURG_MINES
--- @param ped number
--- @param name string
function LAW._0x9772395CC73E8D1F(ped, name) end
--- @param name string
function LAW._DISABLE_GUARD_ZONE(name) end
--- Only used in sisikapenitentiary R* Script: name = SISIKA
--- _IS_G* or _IS_H*
--- @param name string
--- @return boolean
function LAW._0x0DBACA9C38C9A686(name) end
--- @param ped number
--- @return boolean
function LAW._IS_GUARD_PED_INVESTIGATING(ped) end
--- Returns true when investigation creation was successful
--- @param guardZoneName string
--- @param entity number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function LAW._CREATE_GUARD_ZONE_FOR_ENTITY(guardZoneName, entity, x, y, z) end
--- @param name string
--- @param volume number
function LAW._SET_GUARD_ZONE_VOLUME_REGISTRATION_START(name, volume) end
--- @param name string
--- @param volume number
function LAW._SET_GUARD_ZONE_VOLUME_RESTRICTED(name, volume) end
--- @param name string
--- @param volume number
function LAW._SET_GUARD_ZONE_VOLUME_THREAT(name, volume) end
--- @param name string
--- @param volume number
function LAW._SET_GUARD_ZONE_VOLUME_WARNING(name, volume) end
--- @param name string
--- @param volume number
function LAW._SET_GUARD_ZONE_VOLUME_REGISTRATION_END(name, volume) end
--- @param name string
--- @param x number
--- @param y number
--- @param z number
function LAW._SET_GUARD_ZONE_POSITION(name, x, y, z) end
--- @param name string
--- @param x number
--- @param y number
--- @param z number
function LAW._SET_GUARD_ZONE_POSITION_2(name, x, y, z) end

LOCALIZATION = {}

--- Same return values as GET_CURRENT_LANGUAGE
--- @return number
function LOCALIZATION.LOCALIZATION_GET_SYSTEM_LANGUAGE() end
--- 0 = american (en-US)
--- 1 = french (fr-FR)
--- 2 = german (de-DE)
--- 3 = italian (it-IT)
--- 4 = spanish (es-ES)
--- 5 = brazilian (pt-BR)
--- 6 = polish (pl-PL)
--- 7 = russian (ru-RU)
--- 8 = korean (ko-KR)
--- 9 = chinesetrad (zh-TW)
--- 10 = japanese (ja-JP)
--- 11 = mexican (es-MX)
--- 12 = chinesesimp (zh-CN)
--- @return number
function LOCALIZATION.GET_CURRENT_LANGUAGE() end
--- Returns true if the current language is american, french, german, italian, spanish, brazilian or mexican.
--- _DOES_*
--- @return boolean
function LOCALIZATION._DOES_CURRENT_LANGUAGE_SUPPORT_CONDENSED_STYLE() end
--- 0 = DATE_FORMAT_DMY
--- 1 = DATE_FORMAT_MDY
--- 2 = DATE_FORMAT_YMD
--- 
--- Old name: _LOCALIZATION_GET_SYSTEM_DATE_FORMAT
--- @return number
function LOCALIZATION.LOCALIZATION_GET_SYSTEM_DATE_TYPE() end

MAP = {}

--- Returns the Blip handle of given Entity.
--- @param entity number
--- @return number
function MAP.GET_BLIP_FROM_ENTITY(entity) end
--- @return number
function MAP.GET_MAIN_PLAYER_BLIP_ID() end
--- @param styleHash number
--- @return number
function MAP._BLIP_ADD_FOR_STYLE(styleHash) end
--- https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures/blips
--- https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures/blips_mp
--- @param blipHash number
--- @param x number
--- @param y number
--- @param z number
--- @return number
function MAP.BLIP_ADD_FOR_COORDS(blipHash, x, y, z) end
--- @param blipHash number
--- @param entity number
--- @return number
function MAP.BLIP_ADD_FOR_ENTITY(blipHash, entity) end
--- @param blipHash number
--- @param pickup number
--- @return number
function MAP.BLIP_ADD_FOR_PICKUP_PLACEMENT(blipHash, pickup) end
--- @param blipHash number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return number
function MAP.BLIP_ADD_FOR_RADIUS(blipHash, x, y, z, radius) end
--- @param blipHash number
--- @param x number
--- @param y number
--- @param z number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @param p7 number
--- @return number
function MAP._BLIP_ADD_FOR_AREA(blipHash, x, y, z, scaleX, scaleY, scaleZ, p7) end
--- @param blipHash number
--- @param volume number
--- @return number
function MAP._BLIP_ADD_FOR_VOLUME(blipHash, volume) end
--- https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/blip_styles
--- Removes any existing modifiers and sets the style.
--- @param blip number
--- @param styleHash number
--- @return boolean
function MAP._BLIP_SET_STYLE(blip, styleHash) end
--- @param blip number
--- @param styleHash number
--- @return boolean
function MAP._BLIP_ADD_STYLE(blip, styleHash) end
--- https://alloc8or.re/rdr3/doc/enums/eBlipModifier.txt
--- https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/blip_modifiers
--- 
--- Old name: _BLIP_SET_MODIFIER
--- @param blip number
--- @param modifierHash number
--- @return boolean
function MAP.BLIP_ADD_MODIFIER(blip, modifierHash) end
--- If modifierHash is 0, ALL modifiers will be removed.
--- @param blip number
--- @param modifierHash number
--- @return boolean
function MAP.BLIP_REMOVE_MODIFIER(blip, modifierHash) end
--- Removes blip from any entity and makes it static on the map, try it on GET_MAIN_PLAYER_BLIP_ID for a demonstration.
--- @param blip number
function MAP._SET_BLIP_FROZEN(blip) end
--- @param blip number
--- @param blipType number
--- @param blipHash number
function MAP.SET_BLIP_FLASH_TIMER(blip, blipType, blipHash) end
--- @param blip number
--- @param p1 any
--- @param p2 any
--- @return boolean
function MAP.SET_BLIP_FLASHES(blip, p1, p2) end
--- @param typeHash number
--- @param x number
--- @param y number
--- @param z number
function MAP.TRIGGER_SONAR_BLIP(typeHash, x, y, z) end
--- @param typeHash number
--- @param entity number
function MAP._TRIGGER_SONAR_BLIP_ON_ENTITY(typeHash, entity) end
--- @param toggle boolean
function MAP.ALLOW_SONAR_BLIPS(toggle) end
--- @param blip number
--- @param posX number
--- @param posY number
--- @param posZ number
function MAP.SET_BLIP_COORDS(blip, posX, posY, posZ) end
--- @param blip number
--- @return { x: number, y: number, z: number }
function MAP.GET_BLIP_COORDS(blip) end
--- @param blip number
--- @param hash number
--- @param p2 boolean
function MAP.SET_BLIP_SPRITE(blip, hash, p2) end
--- Clears blip data, must be called before REMOVE_BLIP.
--- Blips seem to be handled via databinding internally, this function should then allow you to clear blip container and therefore free up memory.
--- @param blip number
--- @return boolean
function MAP._CLEAR_BLIP(blip) end
--- @param blip number
--- @param textLabel string
function MAP.SET_BLIP_NAME_FROM_TEXT_FILE(blip, textLabel) end
--- @param blip number
--- @param name string
function MAP._SET_BLIP_NAME(blip, name) end
--- @param blip number
--- @param player number
function MAP.SET_BLIP_NAME_TO_PLAYER_NAME(blip, player) end
--- @param blip number
--- @param rotation number
function MAP.SET_BLIP_ROTATION(blip, rotation) end
--- @param blip number
--- @param scale number
function MAP.SET_BLIP_SCALE(blip, scale) end
--- @param blip any
function MAP.REMOVE_BLIP(blip) end
--- @param blip number
--- @return boolean
function MAP.DOES_BLIP_EXIST(blip) end
--- @param entity number
--- @return boolean
function MAP._DOES_ENTITY_HAVE_BLIP(entity) end
--- @param zoomLevel number
function MAP.SET_RADAR_ZOOM(zoomLevel) end
--- Not sure what exactly this does, but it calls rage::fwuiBlip::ClearScriptIdentity() internally
--- @param blip number
function MAP._ABANDON_BLIP(blip) end
--- @param blip number
--- @return boolean
function MAP._IS_BLIP_ATTACHED_TO_ANY_ENTITY(blip) end
--- @param blip number
--- @return boolean
function MAP.IS_BLIP_ON_MINIMAP(blip) end
--- Doesn't actually return anything.
--- @return number
function MAP.FORCE_SONAR_BLIPS_THIS_FRAME() end
--- https://alloc8or.re/rdr3/doc/enums/rage__eGpsFlags.txt
--- @param p0 number
--- @param p1 number
function MAP.SET_GPS_FLAGS(p0, p1) end
--- Clears the GPS flags.
function MAP.CLEAR_GPS_FLAGS() end
--- @param p0 boolean
--- @param p1 number
--- @param p2 number
function MAP.SET_GPS_CUSTOM_ROUTE_RENDER(p0, p1, p2) end
function MAP.CLEAR_GPS_CUSTOM_ROUTE() end
--- @param colorNameHash number
--- @param onFoot boolean
--- @param inVehicle boolean
function MAP.START_GPS_MULTI_ROUTE(colorNameHash, onFoot, inVehicle) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 boolean
function MAP.ADD_POINT_TO_GPS_MULTI_ROUTE(x, y, z, p3) end
--- @param toggle boolean
function MAP.SET_GPS_MULTI_ROUTE_RENDER(toggle) end
--- Does the same as SET_GPS_MULTI_ROUTE_RENDER(false);
function MAP.CLEAR_GPS_MULTI_ROUTE() end
--- @param waypointRecording string
--- @param point number
--- @param numPoints number
--- @param colorNameHash number
--- @param p4 boolean
--- @param p5 boolean
function MAP._START_GPS_CUSTOM_ROUTE_FROM_WAYPOINT_RECORDING_ROUTE(waypointRecording, point, numPoints, colorNameHash, p4, p5) end
function MAP.CLEAR_GPS_PLAYER_WAYPOINT() end
--- @param p0 number
function MAP._0xD3F58E9316B7FC2A(p0) end
function MAP.SET_WAYPOINT_OFF() end
--- @return boolean
function MAP.IS_WAYPOINT_ACTIVE() end
--- Note: Z coordinate will always be zero
--- @return { x: number, y: number, z: number }
function MAP._GET_WAYPOINT_COORDS() end
--- Unlike `GET_WAYPOINT_COORDS` (0x29B30D07C3F7873B), which returns a single value, this native returns the x and y coordinates of the waypoint separately as float pointers.
--- Image: https://i.imgur.com/tu1jnY7.png
--- @param x any
--- @param y any
--- @return boolean
function MAP._GET_WAYPOINT_POSITION(x, y) end
function MAP._HIDE_ACTIVE_POINTS_OF_INTEREST() end
function MAP._SHOW_ACTIVE_POINTS_OF_INTEREST() end
--- Checks if the GPS route to the waypoint is navigable along a road.
--- If a route exists but there is no valid road path, this function returns false.
--- @return boolean
function MAP._IS_PATH_FOR_GPS_ON_ROAD() end
--- @param x number
--- @param y number
--- @param z number
--- @param outPosition number
--- @return boolean
function MAP._FIND_CLOSEST_GPS_POSITION(x, y, z, outPosition) end
--- If Minimap / Radar should be displayed.
--- @param toggle boolean
function MAP.DISPLAY_RADAR(toggle) end
--- https://github.com/femga/rdr3_discoveries/blob/master/graphics/minimap/radar/radar_configs.lua
--- configHash: -1943724816, 347777538, -117986897, -789269373, -547506804, -1986542417, 2080113112
--- p1: usually 898171178 or 0 in R* scripts (doesn't seems to have any effect)
--- @param configHash number
--- @param p1 number
function MAP._SET_RADAR_CONFIG_TYPE(configHash, p1) end
--- list of minimap props: https://github.com/femga/rdr3_discoveries/tree/master/graphics/minimap/minimapObjects
--- @param minimapProp number
--- @param x number
--- @param y number
--- @param rotation number
--- @param p4 number
function MAP._ADD_PROP_TO_MINIMAP(minimapProp, x, y, rotation, p4) end
--- @param minimapProp number
function MAP._REMOVE_PROP_FROM_MINIMAP(minimapProp) end
function MAP.SET_RADAR_AS_EXTERIOR_THIS_FRAME() end
--- Reveals the entire minimap (FOW = Fog of War)
--- @param toggle boolean
function MAP.SET_MINIMAP_HIDE_FOW(toggle) end
--- Used for GUARMA MODE; Enabled: toggle = false, 0; Disabled: toggle = true, 0
--- Hash p1 seems to be unused, always 0
--- @param toggle boolean
--- @param p1 number
function MAP._SET_FOW_UPDATE_PLAYER_OVERRIDE(toggle, p1) end
--- @param scale number
--- @param p1 number
function MAP._SET_MINIMAP_FOW_OVERRIDE_REVEAL_SCALE(scale, p1) end
--- @param toggle boolean
--- @param p1 number
function MAP._SET_MINIMAP_FOW_SHOULD_UPDATE(toggle, p1) end
--- Up to eight coordinates may be revealed per frame
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
function MAP.SET_MINIMAP_FOW_REVEAL_COORDINATE(x, y, z, p3) end
--- @param volume number
--- @param p1 number
function MAP.SET_MINIMAP_FOW_REVEAL_VOLUME(volume, p1) end
--- @param hash number
function MAP.RESET_MINIMAP_FOW(hash) end
--- @param hash number
function MAP._REVEAL_MINIMAP_FOW(hash) end
--- hash can be the hash of "guarma" or "world".
--- @param zone number
function MAP._SET_MINIMAP_ZONE(zone) end
--- Locks the minimap to the specified angle in integer degrees.
--- 
--- angle: The angle in whole degrees. If less than 0 or greater than 360, unlocks the angle.
--- @param angle number
function MAP.LOCK_MINIMAP_ANGLE(angle) end
function MAP.UNLOCK_MINIMAP_ANGLE() end
--- regionHash: https://github.com/femga/rdr3_discoveries/tree/master/graphics/minimap/wanted_regions
--- @param regionHash number
--- @param styleHash number
function MAP._MAP_ENABLE_REGION_BLIP(regionHash, styleHash) end
--- @param regionHash number
function MAP._MAP_DISABLE_REGION_BLIP(regionHash) end
--- @param regionHash number
--- @param styleHash number
--- @return boolean
function MAP._MAP_IS_REGION_HIGHLIGHTED_WITH_STYLE(regionHash, styleHash) end
--- @param discoveryHash number
function MAP._MAP_DISCOVER_REGION(discoveryHash) end
--- @param discoveryHash number
function MAP._MAP_DISCOVERY_SET_ENABLED(discoveryHash) end
--- @param discoveryHash number
--- @return boolean
function MAP._MAP_IS_DISCOVERY_ACTIVE(discoveryHash) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
function MAP._SET_PAUSEMAP_COORDS_WITH_RADIUS(x, y, z, radius) end
--- Clears the previously set coordinates for the pause map view, removing any specified focal point and radius that were set using `_SET_PAUSEMAP_COORDS_WITH_RADIUS` (0xE0884C184728C75B). This function resets the map view, allowing it to open with the default coordinates and view instead of a specific target area.
--- Clears any previously set coordinates for the pause map view, restoring the default view when the map is opened.
--- 
--- Video: https://imgur.com/gallery/0x7c9f4cdf402ca82a-mZE3Nwj
function MAP._CLEAR_PAUSEMAP_COORDS() end
--- Removes the blip icon from the entity lockon prompt
--- @param entity number
--- @param blip number
function MAP._CLEAR_BLIP_ICON_FROM_LOCKON_ENTITY_PROMPT(entity, blip) end
--- Adds entity blip icon to the entity lockon prompt, if invalid param it will remove the icon if it had any.
--- @param entity number
--- @param blip number
function MAP._SET_DISPLAY_BLIP_ICON_TO_LOCKON_ENTITY_PROMPT(entity, blip) end
--- Removes the icon from the lockon prompt. Never executed in R* Scripts due to hardcoded 0.
--- @param entity number
--- @param p1 number
function MAP._SET_DISPLAY_BLIP_ICON_FOR_ENTITY_PROMPT_REMOVED(entity, p1) end
--- Returns true if the entity lockon prompt contains an blip icon.
--- @param entity number
--- @param blip number
--- @return boolean
function MAP._IS_DISPLAY_BLIP_ICON_ON_LOCKON_ENTITY_PROMPT(entity, blip) end
--- Sets the blip icon to lockon entity prompt.
--- @param entity number
--- @param blipIcon number
function MAP._SET_DISPLAY_BLIP_ICON_FOR_ENTITY_PROMPT_WITH_LOCKON(entity, blipIcon) end
--- Activates a blip icon prompt for a specific entity, allowing it to be displayed without requiring a lock-on. This function enables the blip to appear associated with the given entity, making it visible without the need to focus or target the entity directly.
--- Video: https://imgur.com/gallery/0x1726963e6049db53-vuuCwqe
--- @param entity number
function MAP._SET_DISPLAY_BLIP_ICON_FOR_ENTITY_PROMPT_WITHOUT_LOCKON(entity) end

MINIGAME = {}

--- @param p0 number
function MINIGAME._0x6480723D3BE535B6(p0) end
function MINIGAME._0x3DF7EE3A76185108() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MINIGAME._0xE1F365C4C8F259D8(p0, p1, p2) end
--- @return number
function MINIGAME._0xE53A308AC35877A8() end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x580F34C726387226(p0, p1) end
function MINIGAME._0x0876326238914A3F() end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x3FFE60DD8A936551(p0, p1) end
function MINIGAME._0x18A0D48DF9211C07() end
--- @param p0 number
--- @return number
function MINIGAME._MINIGAME_IS_CONNECTED_TO_SERVER(p0) end
--- @return number
function MINIGAME._0x39654E1F68B78287() end
--- @return number
function MINIGAME._0x3EECAADAB0D9FE29() end
--- @param p0 number
--- @return number
function MINIGAME._0xD39D32EB3B52DD83(p0) end
--- @param p0 number
--- @return boolean
function MINIGAME._MINIGAME_IS_SEAT_OCCUPIED(p0) end
--- @param data number
--- @return boolean
function MINIGAME._MINIGAME_REQUEST_SEAT_AT_TABLE(data) end
--- @param p0 number
--- @return number
function MINIGAME._MINIGAME_LEAVE_TABLE(p0) end
--- @return number
function MINIGAME._MINIGAME_GET_NEXT_EVENT_TYPE() end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._MINIGAME_GET_NEXT_EVENT(p0, p1) end
function MINIGAME._MINIGAME_POP_NEXT_EVENT() end
--- @return number
function MINIGAME._0x3B31732FADE5BAF3() end
--- @param p0 number
--- @return number
function MINIGAME._0x578907F59BA01B6D(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MINIGAME._0xDF728C5AE137FC14(p0, p1, p2) end
--- @param p0 number
--- @return number
function MINIGAME._MINIGAME_IS_REQUEST_PENDING(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x644439B5387EE57E(p0, p1) end
--- @return number
function MINIGAME._0x15E90B6A993017AA() end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x10342CC82E8356E9(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MINIGAME._0x32A7C216344D623B(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @return number
function MINIGAME._0xEC819D612038EF4B(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @return number
function MINIGAME._POKER_GET_GAME_SETTINGS_FOR_ID(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._POKER_BUY_IN(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._POKER_CALL(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._POKER_CHECK(p0, p1) end
--- @param p0 number
--- @return number
function MINIGAME._POKER_FOLD(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._POKER_RAISE(p0, p1) end
--- @param p0 number
--- @return number
function MINIGAME._POKER_REVEAL(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function MINIGAME._0x58521E6DCDE97D74(p0, p1, p2) end
function MINIGAME._0xF6DE98516FD3AC9B() end
--- @param p0 number
--- @return number
function MINIGAME._0x3F4FD4BED07AB8C4(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x3AE451860F03CA8A(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x012027C28F421F46(p0, p1) end
function MINIGAME._0x455ECCA0715C507F() end
--- Hardcoded to return zero/false.
--- @param p0 number
--- @return number
function MINIGAME._DOMINOES_BUY_IN(p0) end
--- Hardcoded to return zero/false.
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._DOMINOES_PLACE_DOMINO(p0, p1) end
--- Hardcoded to return zero/false.
--- @param p0 number
--- @return number
function MINIGAME._DOMINOES_REQUEST_VALID_PLACEMENTS(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0xA2DB3C6270C122E3(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MINIGAME._0x398066F893149856(p0, p1, p2) end
--- @return number
function MINIGAME._0xBEA7D3CB47E1479C() end
--- @return number
function MINIGAME._0x910B088E51A511AC() end
--- @param p0 number
--- @param p1 number
--- @return number
function MINIGAME._0x9DD95B405AB4983E(p0, p1) end

MISC = {}

--- @param stackSize number
--- @return number
function MISC.GET_NUMBER_OF_FREE_STACKS_OF_THIS_SIZE(stackSize) end
--- @return number
function MISC._GET_NUMBER_OF_INSTRUCTIONS() end
--- @return number
function MISC._GET_MAX_NUM_INSTRUCTIONS() end
--- 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.
--- @return boolean
function MISC.IS_MAG_DEMO_1_ACTIVE() end
--- @param seed number
function MISC.SET_RANDOM_SEED(seed) end
--- Maximum value is 1.0f
--- At a value of 0.0f the game will still run at a minimum time scale.
--- @param timeScale number
function MISC.SET_TIME_SCALE(timeScale) end
--- If true, the player can't save the game.
--- @param toggle boolean
function MISC.SET_MISSION_FLAG(toggle) end
--- @return boolean
function MISC.GET_MISSION_FLAG() end
--- @param p0 number
function MISC._0x5801BE2DF2AF07EC(p0) end
--- 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.
--- @param toggle boolean
function MISC.SET_RANDOM_EVENT_FLAG(toggle) end
--- @return boolean
function MISC.GET_RANDOM_EVENT_FLAG() end
--- @param p0 number
function MISC._0x9BF2C0C568C61641(p0) end
--- nullsub, doesn't do anything
--- @param p0 string
--- @param p1 string
function MISC.ACTIVITY_FEED_CREATE(p0, p1) end
--- nullsub, doesn't do anything
--- @param p0 string
function MISC.ACTIVITY_FEED_ADD_SUBSTRING_TO_CAPTION(p0) end
--- nullsub, doesn't do anything
--- @param p0 number
function MISC._0xFF252E2BAFB7330F(p0) end
--- nullsub, doesn't do anything
--- @param p0 string
--- @param p1 string
function MISC.ACTIVITY_FEED_ACTION_START_WITH_COMMAND_LINE(p0, p1) end
--- nullsub, doesn't do anything
--- @param p0 string
function MISC.ACTIVITY_FEED_ACTION_START_WITH_COMMAND_LINE_ADD(p0) end
--- Hardcoded to return one/true.
--- @param p0 number
--- @return number
function MISC._0xAF530E56505D1BD6(p0) end
--- nullsub, doesn't do anything
function MISC.ACTIVITY_FEED_POST() end
--- @return string
function MISC._0xF81C53561D15F330() end
--- _SET_MISSION_NAME_*(FOR_ACTIVITY?/MINIGAME?)
--- @param name string
function MISC._0x1096603B519C905F(name) end
--- @param p0 number
function MISC._0xCC3EDC5614B03F61(p0) end
--- @param p0 string
function MISC.INFORM_CODE_OF_CONTENT_ID_OF_CURRENT_UGC_MISSION(p0) end
--- @param p0 number
function MISC._0xDA4D8EB04E8E2928(p0) end
--- @param p0 number
function MISC._0xB08C4FA25BC29DB9(p0) end
--- @return number
function MISC._GET_PREV_WEATHER_TYPE_HASH_NAME() end
--- @return number
function MISC._GET_NEXT_WEATHER_TYPE_HASH_NAME() end
--- @param p0 number
function MISC._0x0730E518486DEEC3(p0) end
--- https://github.com/femga/rdr3_discoveries/blob/master/weather/weather_types.lua
--- @param weatherType number
--- @param p1 boolean
--- @param p2 boolean
--- @param transition boolean
--- @param transitionTime number
--- @param p5 boolean
function MISC.SET_WEATHER_TYPE(weatherType, p1, p2, transition, transitionTime, p5) end
--- @param weatherType number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
function MISC._SET_WEATHER_TYPE_2(weatherType, p1, p2, p3, p4) end
--- @return number
function MISC._GET_RANDOM_WEATHER_TYPE_INDEX() end
--- @return number
function MISC._GET_RANDOM_WEATHER_TYPE() end
--- @param p0 boolean
--- @param p1 boolean
function MISC.SET_RANDOM_WEATHER_TYPE(p0, p1) end
function MISC.CLEAR_WEATHER_TYPE_PERSIST() end
--- @param milliseconds number
function MISC._CLEAR_WEATHER_TYPE_PERSIST_OVERTIME(milliseconds) end
--- Params: percentWeather2: 0f - 0.75f in R* Scripts
--- 
--- Old name: _GET_WEATHER_TYPE_TRANSITION
--- @param weatherType1 any
--- @param weatherType2 any
--- @param percentWeather2 any
function MISC.GET_CURR_WEATHER_STATE(weatherType1, weatherType2, percentWeather2) end
--- Params: BOOL p3 is always true
--- 
--- Old name: _SET_WEATHER_TYPE_TRANSITION
--- @param weatherType1 number
--- @param weatherType2 number
--- @param percentWeather2 number
--- @param enabled boolean
function MISC.SET_CURR_WEATHER_STATE(weatherType1, weatherType2, percentWeather2, enabled) end
--- @param toggle boolean
function MISC._SET_WEATHER_TYPE_FROZEN(toggle) end
--- Returns the weather type that has been set by a script
--- @param weather any
--- @param p1 any
function MISC._GET_FORCED_WEATHER(weather, p1) end
--- @param weatherType number
function MISC._0x2916B30DC6C41179(weatherType) end
--- @param weatherType number
function MISC._0xD3F943B88F55376A(weatherType) end
function MISC._0x243CEDE8F916B994() end
--- @param weatherType number
function MISC._SET_OVERRIDE_WEATHER(weatherType) end
function MISC.CLEAR_OVERRIDE_WEATHER() end
--- https://github.com/femga/rdr3_discoveries/blob/master/weather/weather_variations.lua
--- @param weatherType string
--- @param variation string
function MISC._SET_WEATHER_VARIATION(weatherType, variation) end
--- @param weatherType string
--- @param p1 boolean
function MISC._CLEAR_WEATHER_VARIATION(weatherType, p1) end
--- Only used in smuggler2 script
--- Also see weather.xml (ShoreWaveAmplitude)
--- @param amplitude number
function MISC.WATER_OVERRIDE_SET_SHOREWAVEAMPLITUDE(amplitude) end
--- Only used in smuggler2 script
--- Also see weather.xml (OceanWaveMaxAmplitude)
--- @param maxAmplitude number
function MISC.WATER_OVERRIDE_SET_OCEANWAVEMAXAMPLITUDE(maxAmplitude) end
--- @param x number
--- @param y number
--- @param z number
--- @return number
function MISC._GET_TEMPERATURE_AT_COORDS(x, y, z) end
--- @param speed number
function MISC.SET_WIND_SPEED(speed) end
--- @return number
function MISC.GET_WIND_SPEED() end
--- @param direction number
function MISC.SET_WIND_DIRECTION(direction) end
--- @return { x: number, y: number, z: number }
function MISC.GET_WIND_DIRECTION() end
--- Old name: _SET_RAIN_LEVEL
--- @param intensity number
function MISC.SET_RAIN(intensity) end
--- @return number
function MISC.GET_RAIN_LEVEL() end
--- @param p0 number
function MISC._0x745808BB01CEC6B9(p0) end
--- @param level number
function MISC._SET_SNOW_LEVEL(level) end
--- @return number
function MISC.GET_SNOW_LEVEL() end
--- creates single lightning+thunder at random position
function MISC.FORCE_LIGHTNING_FLASH() end
--- p3 is always -1.0f in the scripts
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
function MISC._FORCE_LIGHTNING_FLASH_AT_COORDS(x, y, z, p3) end
--- nullsub, doesn't do anything
--- @param p0 number
function MISC._0xA9342743B634A462(p0) end
--- @return number
function MISC.GET_GAME_TIMER() end
--- Returns rage::fwTimer::sm_nonScaledClippedTime
--- @return number
function MISC._GET_GAME_TIMER_NON_SCALED_CLIPPED() end
--- @return number
function MISC.GET_SYSTEM_TIME() end
--- @return number
function MISC.GET_NUMBER_OF_MICROSECONDS_SINCE_LAST_CALL() end
--- @return number
function MISC.GET_SCRIPT_TIME_WITHIN_FRAME_IN_MICROSECONDS() end
function MISC.RESET_SCRIPT_TIME_WITHIN_FRAME() end
--- Also known as "delta time"
--- @return number
function MISC.GET_FRAME_TIME() end
--- Old name: _GET_BENCHMARK_TIME
--- @return number
function MISC.GET_SYSTEM_TIME_STEP() end
--- @return number
function MISC.GET_FRAME_COUNT() end
--- @param p0 number
--- @param p1 number
function MISC._0x6BED40493A1AFDB8(p0, p1) end
--- 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.
--- @param value number
--- @return number
function MISC._READ_INT_AS_FLOAT(value) end
--- @param startRange number
--- @param endRange number
--- @return number
function MISC.GET_RANDOM_FLOAT_IN_RANGE(startRange, endRange) end
--- @param startRange number
--- @param endRange number
--- @return number
function MISC.GET_RANDOM_INT_IN_RANGE(startRange, endRange) end
--- @param x number
--- @param y number
--- @param z number
--- @param groundZ any
--- @param p4 boolean
--- @return boolean
function MISC.GET_GROUND_Z_FOR_3D_COORD(x, y, z, groundZ, p4) end
--- @param x number
--- @param y number
--- @param z number
--- @param groundZ any
--- @param normal number
--- @return boolean
function MISC.GET_GROUND_Z_AND_NORMAL_FOR_3D_COORD(x, y, z, groundZ, normal) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function MISC._0xBBE5B63EFFB08E68(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @return number
function MISC.ASIN(p0) end
--- @param p0 number
--- @return number
function MISC.ACOS(p0) end
--- @param p0 number
--- @return number
function MISC.TAN(p0) end
--- @param p0 number
--- @return number
function MISC.ATAN(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MISC.ATAN2(p0, p1) end
--- 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.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param useZ boolean
--- @return number
function MISC.GET_DISTANCE_BETWEEN_COORDS(x1, y1, z1, x2, y2, z2, useZ) end
--- @param x1 number
--- @param y1 number
--- @param x2 number
--- @param y2 number
--- @return number
function MISC.GET_ANGLE_BETWEEN_2D_VECTORS(x1, y1, x2, y2) end
--- dx = x1 - x2
--- dy = y1 - y2
--- @param dx number
--- @param dy number
--- @return number
function MISC.GET_HEADING_FROM_VECTOR_2D(dx, dy) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 boolean
--- @return { x: number, y: number, z: number }
function MISC.GET_CLOSEST_POINT_ON_LINE(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 any
--- @return boolean
function MISC.GET_LINE_PLANE_INTERSECTION(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) end
--- @param address any
--- @param offset number
function MISC.SET_BIT(address, offset) end
--- @param address any
--- @param offset number
function MISC.CLEAR_BIT(address, offset) end
--- @param bitFlags number
--- @param flag number
--- @return boolean
function MISC._IS_BIT_FLAG_SET(bitFlags, flag) end
--- @param bitFlags number
--- @return boolean
function MISC._IS_ANY_BIT_FLAG_SET(bitFlags) end
--- @param bitFlags number
--- @return number
function MISC._COUNT_BIT_FLAGS(bitFlags) end
--- 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.
--- @param bitFlags number
--- @param flag number
function MISC._SET_BIT_FLAG(bitFlags, flag) end
--- @param bitFlags number
--- @param flag number
function MISC._CLEAR_BIT_FLAG(bitFlags, flag) end
--- @param bitFlags number
function MISC._CLEAR_ALL_BIT_FLAGS(bitFlags) end
--- 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.
--- @param string string
--- @return number
function MISC.GET_HASH_KEY(string) end
--- 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
--- };
--- @param t number
--- @param b number
--- @param d number
--- @param easingCurveType number
--- @return number
function MISC._GET_EASING_CURVE_VALUE(t, b, d, easingCurveType) end
--- @param x number
--- @param y number
--- @param z number
--- @param range number
--- @param p4 boolean
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 number
--- @param p10 boolean
--- @return boolean
function MISC.IS_POSITION_OCCUPIED(x, y, z, range, p4, p5, p6, p7, p8, p9, p10) end
--- Possible flag names:
--- ALL_BASE = 0,
--- PROJECTILES = 1,
--- BROADCAST = 524288,
--- AMBIENT_POPULATION = 1048576
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param flag number
function MISC.CLEAR_AREA(x, y, z, radius, flag) end
--- @param volume number
--- @param flag number
function MISC._CLEAR_VOLUME_AREA(volume, flag) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function MISC.CLEAR_ANGLED_AREA_OF_VEHICLES(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param toggle boolean
function MISC.SET_CREDITS_ACTIVE(toggle) end
function MISC.NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME() end
--- @param toggle boolean
function MISC.PAUSE_DEATH_ARREST_RESTART(toggle) end
--- @param toggle boolean
function MISC.IGNORE_NEXT_RESTART(toggle) end
--- Sets whether the game should fade in after the player dies or is arrested.
--- @param toggle boolean
function MISC.SET_FADE_IN_AFTER_DEATH_ARREST(toggle) end
--- @param toggle boolean
function MISC.SET_FADE_IN_AFTER_LOAD(toggle) end
--- @param override boolean
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param isAutosave boolean
--- @param returnCoords number
--- @param returnHeading any
--- @return boolean
function MISC.OVERRIDE_SAVE_HOUSE(override, x, y, z, heading, isAutosave, returnCoords, returnHeading) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param damage number
--- @param p7 boolean
--- @param weaponHash number
--- @param ownerPed number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param speed number
--- @param p13 boolean
function MISC.SHOOT_SINGLE_BULLET_BETWEEN_COORDS(x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed, p13) end
--- @param args number
function MISC.FIRE_SINGLE_BULLET(args) end
--- @param modelHash number
--- @param minimum number
--- @param maximum number
function MISC.GET_MODEL_DIMENSIONS(modelHash, minimum, maximum) end
--- @param address number
--- @param offset number
--- @return boolean
function MISC.IS_BIT_SET(address, offset) end
--- @param p0 number
function MISC._0x0A487CC74A517FB5(p0) end
--- @return boolean
function MISC.IS_MINIGAME_IN_PROGRESS() end
--- Returns whether the game's measurement system is set to metric.
--- @return boolean
function MISC.SHOULD_USE_METRIC_MEASUREMENTS() end
--- Same as SHOULD_USE_METRIC_MEASUREMENTS
--- @return boolean
function MISC._SHOULD_USE_METRIC_MEASUREMENTS_2() end
--- @return boolean
function MISC._SHOULD_USE_METRIC_TEMPERATURE() end
--- @return boolean
function MISC._SHOULD_USE_METRIC_WEIGHT() end
--- @return boolean
function MISC._SHOULD_USE_24_HOUR_CLOCK() end
--- @param str1 string
--- @param str2 string
--- @param matchCase boolean
--- @param maxLength number
--- @return number
function MISC.COMPARE_STRINGS(str1, str2, matchCase, maxLength) end
--- @param value number
--- @return number
function MISC.ABSI(value) end
--- @param value number
--- @return number
function MISC.ABSF(value) end
--- 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.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param ownedByPlayer boolean
--- @return boolean
function MISC.IS_PROJECTILE_IN_AREA(x1, y1, z1, x2, y2, z2, ownedByPlayer) end
--- Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a rectangle.
--- @param xMin number
--- @param yMin number
--- @param zMin number
--- @param xMax number
--- @param yMax number
--- @param zMax number
--- @param weaponType number
--- @param isPlayer boolean
--- @return boolean
function MISC.IS_PROJECTILE_TYPE_IN_AREA(xMin, yMin, zMin, xMax, yMax, zMax, weaponType, isPlayer) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 boolean
--- @return boolean
function MISC.IS_PROJECTILE_TYPE_IN_ANGLED_AREA(p0, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
--- @return boolean
function MISC.IS_PROJECTILE_TYPE_WITHIN_DISTANCE(p0, p1, p2, p3, p4, p5) end
--- @param ped number
--- @param weaponHash number
--- @param distance number
--- @param outCoords number
--- @param p4 boolean
--- @param mustBeOwnedByThisPed boolean
--- @return boolean
function MISC.GET_COORDS_OF_PROJECTILE_TYPE_WITHIN_DISTANCE(ped, weaponHash, distance, outCoords, p4, mustBeOwnedByThisPed) end
--- @param ped number
--- @param weaponHash number
--- @param distance number
--- @param outCoords number
--- @param outProjectile number
--- @param p5 boolean
--- @param mustBeOwnedByThisPed boolean
--- @return boolean
function MISC.GET_PROJECTILE_OF_PROJECTILE_TYPE_WITHIN_DISTANCE(ped, weaponHash, distance, outCoords, outProjectile, p5, mustBeOwnedByThisPed) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 boolean
--- @return boolean
function MISC.IS_BULLET_IN_ANGLED_AREA(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
--- @return boolean
function MISC.IS_BULLET_IN_AREA(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 boolean
--- @return boolean
function MISC.IS_BULLET_IN_BOX(p0, p1, p2, p3, p4, p5, p6) end
--- p3 - possibly radius?
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param p4 boolean
--- @param p5 boolean
--- @return boolean
function MISC.HAS_BULLET_IMPACTED_IN_AREA(x, y, z, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 boolean
--- @param p7 boolean
--- @return boolean
function MISC.HAS_BULLET_IMPACTED_IN_BOX(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @return number
function MISC._0x7A76104CC2CC69E8(entity, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function MISC._0xDC416CA762BC4F43(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MISC._0x970339EFA4FDE518(p0, p1, p2) end
--- Hardcoded to return false.
--- Checks for PS4 Game Build.
--- @return boolean
function MISC.IS_ORBIS_VERSION() end
--- Hardcoded to return false.
--- Checks for XBOXONE Game Build.
--- @return boolean
function MISC.IS_DURANGO_VERSION() end
--- Hardcoded to return true.
--- @return boolean
function MISC.IS_PC_VERSION() end
--- Hardcoded to return false.
--- @return boolean
function MISC.IS_STADIA_VERSION() end
--- @param string string
--- @return boolean
function MISC.IS_STRING_NULL(string) end
--- @param string string
--- @return boolean
function MISC.IS_STRING_NULL_OR_EMPTY(string) end
--- Returns true if the entire string consists only of space characters.
--- @param string string
--- @return boolean
function MISC.IS_STRING_NULL_OR_EMPTY_OR_SPACES(string) end
--- @param string1 string
--- @param string2 string
--- @return boolean
function MISC.ARE_STRINGS_EQUAL(string1, string2) end
--- @param string1 string
--- @param string2 string
--- @return boolean
function MISC._DOES_STRING_EXIST_IN_STRING(string1, string2) end
function MISC._0x3C3C7B1B5EC08764() end
--- Counts the number of segments in a string separated by specified delimiters, ignoring consecutive delimiters.
--- Example usage: int count = MISC::_STRING_SPLIT_AND_COUNT_SEGMENTS("qadr_ui-qadr_ui;qadr_ui,qadr_ui.qadr_ui;qadr_ui-", "-,;."); // Returns 6
--- @param inputString string
--- @param delimiters string
--- @return number
function MISC._STRING_SPLIT_AND_COUNT_SEGMENTS(inputString, delimiters) end
--- @param p0 number
--- @return number
function MISC._0x5B4A8121A47D844D(p0) end
--- 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.
--- @param string string
--- @param outInteger any
--- @return boolean
function MISC.STRING_TO_INT(string, outInteger) end
--- Note: the buffer should be exactly 32 bytes long
--- @param value number
--- @param format string
--- @param buffer string
function MISC._INT_TO_STRING(value, format, buffer) end
--- @param p0 number
function MISC._0x74ACA66484CEBAF0(p0) end
--- @param p0 number
function MISC._0x49C44FE78A135A1D(p0) end
--- @param p0 number
function MISC._0xF650DCF5D6F312C1(p0) end
--- @param value number
--- @param digits number
--- @return string
function MISC._GET_STRING_FROM_FLOAT(value, digits) end
--- Returns a string in the following format: <<%.4f,%.4f,%.4f>>
--- @param x number
--- @param y number
--- @param z number
--- @return string
function MISC._GET_STRING_FROM_VECTOR(x, y, z) end
--- @param value boolean
--- @return string
function MISC._GET_STRING_FROM_BOOL(value) end
--- Note: The first bit in 'flags' must not be set.
--- It is also required to pass at least one extra argument (this must be a text label string or hash).
--- When passing a hash, flags should be 0.
--- Returns a formatted string (0x%x)
--- @param rgb number
--- @return string
function MISC._CREATE_COLOR_STRING(rgb) end
--- @param var any
--- @param rangeStart number
--- @param rangeEnd number
--- @param p3 number
function MISC.SET_BITS_IN_RANGE(var, rangeStart, rangeEnd, p3) end
--- @param var number
--- @param rangeStart number
--- @param rangeEnd number
--- @return number
function MISC.GET_BITS_IN_RANGE(var, rangeStart, rangeEnd) end
--- 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.
--- @param toggle boolean
function MISC.SET_GAME_PAUSED(toggle) end
--- @param toggle boolean
function MISC.SET_THIS_SCRIPT_CAN_BE_PAUSED(toggle) end
--- @param toggle boolean
function MISC.SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT(toggle) end
--- 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.
--- @param cheatId number
function MISC.SET_CHEAT_ACTIVE(cheatId) end
--- nullsub, doesn't do anything
function MISC._0xB711EB4BC8D06013() end
--- spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called
function MISC.POPULATE_NOW() end
--- @return boolean
function MISC.IS_GAME_SESSION_STATE_MACHINE_IDLE() end
--- p0 must be < 2
--- @param p0 number
--- @return boolean
function MISC._QUEUE_SAVEGAME_OPERATION(p0) end
--- Only 0 and 1 are valid for p0, higher values causes the native to return 2.
--- @param p0 number
--- @return number
function MISC._GET_STATUS_OF_SAVEGAME_OPERATION(p0) end
--- @param p0 number
--- @return number
function MISC._0x6C7B68D3CE60E8DE(p0) end
--- @param p0 number
--- @return number
function MISC._0x627B68D9CE6EE8DE(p0) end
--- @param p0 number
--- @return number
function MISC._0x7CF96F1250EF3221(p0) end
--- Old name: _COPY_MEMORY
--- @param dst number
--- @param src number
--- @param size number
function MISC.COPY_SCRIPT_STRUCT(dst, src, size) end
--- 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
--- };
--- @param dispatchService number
--- @param toggle boolean
function MISC.ENABLE_DISPATCH_SERVICE(dispatchService, toggle) end
--- dispatchService: see ENABLE_DISPATCH_SERVICE
--- @param dispatchService number
--- @param toggle boolean
function MISC.BLOCK_DISPATCH_SERVICE_RESOURCE_CREATION(dispatchService, toggle) end
--- dispatchService: see ENABLE_DISPATCH_SERVICE
--- @param dispatchService number
--- @param x number
--- @param y number
--- @param z number
--- @param numUnits number
--- @param radius number
--- @param outIncidentID any
--- @param p7 number
--- @param p8 number
--- @return boolean
function MISC.CREATE_INCIDENT(dispatchService, x, y, z, numUnits, radius, outIncidentID, p7, p8) end
--- dispatchService: see ENABLE_DISPATCH_SERVICE
--- 
--- The entities must be added to itemSet.
--- @param dispatchService number
--- @param x number
--- @param y number
--- @param z number
--- @param itemSet number
--- @param radius number
--- @param outIncidentID any
--- @return boolean
function MISC._CREATE_INCIDENT_WITH_ENTITIES(dispatchService, x, y, z, itemSet, radius, outIncidentID) end
--- Delete an incident with a given id.
--- @param incidentId number
function MISC.DELETE_INCIDENT(incidentId) end
--- @param incidentId number
--- @return boolean
function MISC.IS_INCIDENT_VALID(incidentId) end
--- @param incidentId number
function MISC._SET_INCIDENT_UNK(incidentId) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param pedDensity number
--- @param trafficDensity number
--- @param p8 boolean
--- @param p9 boolean
--- @return number
function MISC.ADD_POP_MULTIPLIER_AREA(x1, y1, z1, x2, y2, z2, pedDensity, trafficDensity, p8, p9) end
--- @param id number
--- @return boolean
function MISC.DOES_POP_MULTIPLIER_AREA_EXIST(id) end
--- @param id number
--- @param p1 boolean
function MISC.REMOVE_POP_MULTIPLIER_AREA(id, p1) end
--- Only used in script function PROCESS_ZONE_CREATION
--- Returns Pop multiplier volume ID
--- @param volume number
--- @param pedDensity number
--- @param vehicleDensity number
--- @param p3 boolean
--- @param p4 boolean
--- @return number
function MISC._ADD_POP_MULTIPLIER_VOLUME(volume, pedDensity, vehicleDensity, p3, p4) end
--- @param volume number
--- @return boolean
function MISC._DOES_POP_MULTIPLIER_AREA_EXIST_FOR_VOLUME(volume) end
--- @param volume number
--- @param p1 number
function MISC._REMOVE_POP_MULTIPLIER_AREA_FOR_VOLUME(volume, p1) end
function MISC._0xF569E33FB72ED28E() end
function MISC.RESET_DISPATCH_IDEAL_SPAWN_DISTANCE() end
--- @param fIdealSpawnDistance number
function MISC.SET_DISPATCH_IDEAL_SPAWN_DISTANCE(fIdealSpawnDistance) end
function MISC._RESET_DISPATCH_MIN_SPAWN_DISTANCE() end
--- @param minSpawnDistance number
function MISC._SET_DISPATCH_MIN_SPAWN_DISTANCE(minSpawnDistance) end
function MISC._RESET_DISPATCH_MAX_SPAWN_DISTANCE() end
--- @param maxSpawnDistance number
function MISC._SET_DISPATCH_MAX_SPAWN_DISTANCE(maxSpawnDistance) end
function MISC._0x4B0501A468B749F8() end
--- _SET_DISPATCH_*, unused
--- @param p0 number
--- @param p1 number
--- @param p2 number
function MISC._0x6BCF7B5CD338281A(p0, p1, p2) end
--- @param volume number
--- @return number
function MISC._ADD_DISPATCH_SPAWN_BLOCKING_AREA(volume) end
--- @param p0 number
function MISC.REMOVE_DISPATCH_SPAWN_BLOCKING_AREA(p0) end
function MISC.RESET_WANTED_RESPONSE_NUM_PEDS_TO_SPAWN() end
--- Params: p3 is 0 in R* Script utopia2
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
function MISC.ADD_TACTICAL_NAV_MESH_POINT(x, y, z, p3) end
function MISC.CLEAR_TACTICAL_NAV_MESH_POINTS() end
--- enum eOnscreenKeyboardTextType
--- {
--- KTEXTTYPE_INVALID = -1,
--- KTEXTTYPE_DEFAULT,
--- KTEXTTYPE_EMAIL,
--- KTEXTTYPE_PASSWORD,
--- KTEXTTYPE_NUMERIC,
--- KTEXTTYPE_ALPHABET,
--- KTEXTTYPE_GAMERTAG,
--- KTEXTTYPE_FILENAME,
--- KTEXTTYPE_COUNT
--- };
--- @param textType number
--- @param windowTitle string
--- @param p2 string
--- @param defaultText string
--- @param defaultConcat1 string
--- @param defaultConcat2 string
--- @param defaultConcat3 string
--- @param maxInputLength number
function MISC.DISPLAY_ONSCREEN_KEYBOARD(textType, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, maxInputLength) end
--- 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
--- @return number
function MISC.UPDATE_ONSCREEN_KEYBOARD() end
--- Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick.
--- @return string
function MISC.GET_ONSCREEN_KEYBOARD_RESULT() end
--- Old name: _CANCEL_ONSCREEN_KEYBOARD
function MISC.CANCEL_ONSCREEN_KEYBOARD() end
--- @param fontBitField number
function MISC.NEXT_ONSCREEN_KEYBOARD_RESULT_WILL_DISPLAY_USING_THESE_FONTS(fontBitField) end
--- Appears to remove stealth kill action from memory (?)
--- @param hash number
--- @param enable boolean
function MISC.ACTION_MANAGER_ENABLE_ACTION(hash, enable) end
--- @param hash number
--- @return boolean
function MISC.ACTION_MANAGER_IS_ACTION_ENABLED(hash) end
--- Returns GET_GAME_TIMER() / 1000
--- Only used in rcm_pearson1.ysc
--- @return number
function MISC.GET_REAL_WORLD_TIME() end
--- @param player number
function MISC.SET_SUPER_JUMP_THIS_FRAME(player) end
--- @param numCheckpoints number
--- @param numLaps number
--- @param numPlayers number
--- @param p3 number
function MISC.SCRIPT_RACE_INIT(numCheckpoints, numLaps, numPlayers, p3) end
function MISC.SCRIPT_RACE_SHUTDOWN() end
--- @param part number
--- @param checkpoint number
--- @param lap number
--- @param time number
function MISC.SCRIPT_RACE_PLAYER_HIT_CHECKPOINT(part, checkpoint, lap, time) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function MISC.SCRIPT_RACE_GET_PLAYER_SPLIT_TIME(p0, p1, p2) end
--- Begins with START_*. Next character in the name is either D or E.
--- 
--- Old name: _START_BENCHMARK_RECORDING
function MISC.START_END_USER_BENCHMARK() end
--- Begins with STOP_*. Next character in the name is either D or E.
--- 
--- Old name: _STOP_BENCHMARK_RECORDING
function MISC.STOP_END_USER_BENCHMARK() end
--- Begins with RESET_*. Next character in the name is either D or E.
--- 
--- Old name: _RESET_BENCHMARK_RECORDING
function MISC.RESET_END_USER_BENCHMARK() end
--- Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\Red Dead Redemption 2\Benchmarks and submits some metrics.
--- 
--- Old name: _SAVE_BENCHMARK_RECORDING
function MISC.SAVE_END_USER_BENCHMARK() end
--- Hardcoded to return false.
--- 
--- Old name: _UI_IS_SINGLEPLAYER_PAUSE_MENU_ACTIVE
--- @return boolean
function MISC.UI_STARTED_END_USER_BENCHMARK() end
--- Returns value of the '-benchmarkIterations' command line option.
--- 
--- Old name: _GET_BENCHMARK_ITERATIONS_FROM_COMMAND_LINE
--- @return number
function MISC.GET_BENCHMARK_ITERATIONS() end
--- Returns value of the '-benchmarkPass' command line option.
--- 
--- Old name: _GET_BENCHMARK_PASS_FROM_COMMAND_LINE
--- @return number
function MISC.GET_BENCHMARK_PASS() end
--- Hardcoded to return one/true.
--- @return number
function MISC._0xDC057B86FC157031() end
function MISC._0x9A252AA23D7098F2() end
--- @param item number
--- @return boolean
function MISC._DOES_ITEM_HAVE_VALID_BASE(item) end
--- 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
--- @param handle number
--- @return number
function MISC._GET_ITEM_TYPE(handle) end
--- @param handle number
--- @return boolean
function MISC._IS_BASE_A_PERSISTENT_CHARACTER(handle) end
--- @param handle number
--- @return boolean
function MISC._IS_BASE_A_COVER_POINT(handle) end
--- UPDATE_PICKUP_COLLECTIBLE: set Eagle Eye fountain
--- _J*, _K*, _L*
--- @param entity number
function MISC._0x553D67295DDD2309(entity) end
--- @param item number
--- @return number
function MISC._GET_VOLUME_FROM_INDEXED_ITEM(item) end
--- @param item number
--- @return number
function MISC._GET_ENTITY_FROM_ITEM(item) end
--- @param item number
--- @return number
function MISC._GET_PED_FROM_INDEXED_ITEM(item) end
--- @param item number
--- @return number
function MISC._GET_VEHICLE_FROM_INDEXED_ITEM(item) end
--- @param item number
--- @return number
function MISC._GET_OBJECT_FROM_INDEXED_ITEM(item) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function MISC._0x33982467B1E349EF(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MISC._0x8314FC2013ECE2DA(p0, p1, p2) end
function MISC._0x4D5C9CC7E7E23E09() end
--- p3 is usually the same value of radius
--- p8 determines whether the ILO prompt is a lock on prompt with RMB
--- @param entity number
--- @param text string
--- @param radius number
--- @param p3 number
--- @param flag number
--- @param p5 number
--- @param p6 number
--- @param prompt number
--- @param p8 boolean
--- @param p9 number
--- @return boolean
function MISC.REGISTER_INTERACTION_LOCKON_PROMPT(entity, text, radius, p3, flag, p5, p6, prompt, p8, p9) end
--- @param entity number
--- @return boolean
function MISC.UNREGISTER_INTERACTION_LOCKON_PROMPT(entity) end
function MISC._0xFC6ECB9170145ECE() end
--- @return number
function MISC._0x35165C658077CD0B() end
--- @param ped number
--- @return boolean
function MISC._0x4B101DBCC9482F2D(ped) end
--- @return boolean
function MISC._IS_MISSION_CREATOR_ACTIVE() end
function MISC._0xA3A8926951471C82() end
--- aiMemoryType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/_CREATE_AI_MEMORY
--- @param args number
--- @param aiMemoryType number
function MISC._CREATE_AI_MEMORY(args, aiMemoryType) end
--- @param args number
--- @param p1 number
--- @return boolean
function MISC._GET_AI_PED_DOES_HAVE_EVENT_MEMORY(args, p1) end
--- Not implemented.
--- @param ped number
--- @param p1 number
function MISC._0xEB946B9E579729AD(ped, p1) end
--- Used in CAIConditionAmbientAIMemoryReactionsEnabled
--- @param enabled boolean
function MISC._SET_AI_MEMORY_REACTIONS_ENABLED(enabled) end
--- @param p0 number
--- @param p1 number
--- @return number
function MISC._0x8DB104CCEBCD58C5(p0, p1) end
--- @param p0 number
--- @param p1 number
function MISC._0x68319452C5064ABA(p0, p1) end
--- @param p0 number
--- @param p1 number
function MISC._0xDE2C3B74D2B3705C(p0, p1) end
--- @param p0 number
function MISC._0x49F3241C28EBBFBC(p0) end
--- @param data number
function MISC._0x183672FE838A661B(data) end
--- @param p0 number
function MISC._0x38C0C9CAE1544500(p0) end
--- @param p0 number
function MISC._0x154340E87D8CC178(p0) end
--- @param p0 number
function MISC._0x94FCADCF9F0C368E(p0) end
--- @param p0 number
--- @return boolean
function MISC._0x0D0AE5081F88CFE1(p0) end
--- @param p0 number
--- @param p1 number
function MISC._0xAF3A84C7DE6A1DC5(p0, p1) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @param lootTableKey number
--- @param p4 number
--- @param p5 number
function MISC._LOOT_TABLES_GET_INFO(ped, p1, p2, lootTableKey, p4, p5) end
--- @param p0 number
--- @return number
function MISC._0xB1F6665AA54DCD5C(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function MISC._0x8BB99B85444544D9(p0, p1) end
--- @param p0 number
--- @return number
function MISC._0x6F02B5E50511721E(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function MISC._0xCC1BAF72D571DB8D(p0, p1, p2) end
--- @param ped number
--- @return boolean
function MISC._IS_PED_DECOMPOSED(ped) end
--- @param ped number
--- @param toggle boolean
function MISC.SET_PED_DECOMPOSED(ped, toggle) end
--- @param p0 number
--- @param p1 number
function MISC._0xAB26DEEE120FD3FD(p0, p1) end
--- @param compositeId number
--- @param p1 boolean
function MISC._0x082C043C7AFC3747(compositeId, p1) end
--- @param compositeId number
--- @param p1 boolean
function MISC.DISABLE_LOOTING_COMPOSITE_LOOTABLE_THIS_FRAME(compositeId, p1) end
--- @param p0 number
--- @param p1 number
function MISC._0xBB282CF5D2333FB8(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function MISC._0xAD44856A1CD29635(p0, p1, p2) end
--- @param p0 number
--- @return number
function MISC._0x38C2BF94D15F464D(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function MISC._0x3A87FDA8F1B6CDFB(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function MISC._0x4647842FE8F31C1E(p0, p1) end
--- Event names in the scripts: MGBegin, MGEnd, ReadyForCut
--- @param ped number
--- @param eventName string
--- @return boolean
function MISC._GET_LOOTING_EVENT_HAS_FIRED(ped, eventName) end
--- @param ped number
--- @param item number
function MISC._SET_LOOT_PELT_SATCHEL_ITEM(ped, item) end
--- @param p0 number
--- @param p1 number
function MISC._0x96282005C5C6801F(p0, p1) end
--- @param entity number
--- @param string string
function MISC._0xF63FA29D4A9ACA86(entity, string) end
--- @param entity number
--- @param string string
function MISC._0x8C0F6A3D7236DEEB(entity, string) end
--- @param p0 number
--- @param p1 number
function MISC._0x7FA58CED69405F9A(p0, p1) end
--- _CLEAR*
--- @param p0 number
function MISC._0xA08111B053D84B4D(p0) end
--- @param index number
--- @return boolean
function MISC._IS_GLOBAL_BLOCK_VALID(index) end
--- @param index number
--- @param toggle boolean
function MISC._SET_GLOBAL_BLOCK_IS_LOADED(index, toggle) end
--- @param transitionMode number
--- @return boolean
function MISC.GAME_FRAMEWORK_MANAGER_INIT(transitionMode) end
function MISC._GAME_FRAMEWORK_MANAGER_SHUTDOWN() end
--- @return number
function MISC._GAME_FRAMEWORK_MANAGER_GET_MODE() end
--- @return boolean
function MISC._IS_PLAYER_OWNING_STANDALONE_SP() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function MISC._0x0358B8A41916C613(p0, p1, p2, p3) end
--- Note: this native was added in build 1232.56
function MISC._SET_GAME_LOGIC_PAUSED() end
--- nullsub, doesn't do anything
function MISC.STOP_CURRENT_LOADING_PROGRESS_TIMER() end
function MISC._0xDBDA48EC456ED908() end

MISSIONDATA = {}

--- @param p0 number
--- @return boolean
function MISSIONDATA.MISSIONDATA_IS_VALID(p0) end
--- @param missionId number
--- @return number
function MISSIONDATA.MISSIONDATA_GET_CATAGORY(missionId) end
--- @param missionId number
--- @return number
function MISSIONDATA.MISSIONDATA_GET_TEXTURE_NAME(missionId) end
--- @param missionId number
--- @return number
function MISSIONDATA.MISSIONDATA_GET_TEXTURE_TXD(missionId) end
--- see: missions.meta
--- @param missionId number
--- @return boolean
function MISSIONDATA.MISSIONDATA_WAS_COMPLETED(missionId) end
--- @param missionId number
--- @return number
function MISSIONDATA.MISSIONDATA_GET_RATING(missionId) end
--- MISSION_RATING_INCOMPLETE = 0,
--- MISSION_RATING_SKIPPED,
--- MISSION_RATING_COMPLETE,
--- MISSION_RATING_BRONZE,
--- MISSION_RATING_SILVER,
--- MISSION_RATING_GOLD,
--- @param missionId number
--- @param rating number
function MISSIONDATA._MISSIONDATA_SET_MISSION_RATING(missionId, rating) end
--- @param missionId number
--- @return boolean
function MISSIONDATA.MISSIONDATA_IS_REQUIRED_STORY_MISSION(missionId) end
--- replayState: MISSIONDATA_GET_REPLAY_STATE
--- @param missionId number
--- @param replayState number
function MISSIONDATA._MISSIONDATA_SET_REPLAY_STATE_LOCKED(missionId, replayState) end
--- @param p0 number
--- @return number
function MISSIONDATA.MISSIONDATA_GET_REPLAY_STATE(p0) end
--- @param missionId number
--- @param bronzeScore number
--- @param silverScore number
--- @param goldScore number
function MISSIONDATA.MISSIONDATA_SET_RATING_SCORES(missionId, bronzeScore, silverScore, goldScore) end
--- @param missionId number
--- @param score number
function MISSIONDATA.MISSIONDATA_SET_HIGH_SCORE(missionId, score) end
--- @param missionId number
--- @return number
function MISSIONDATA.MISSIONDATA_GET_HIGH_SCORE(missionId) end
--- @param category number
--- @return boolean
function MISSIONDATA._MISSIONDATA_IS_REPLAY_CATEGORY_LOCKED(category) end
--- @param category number
--- @param locked boolean
function MISSIONDATA.MISSIONDATA_SET_REPLAY_LOCKED_FOR_CATEGORY(category, locked) end
--- @param timecycleName string
function MISSIONDATA._MISSIONDATA_TIMECYCLE_BOX_SET_MODIFIER(timecycleName) end
function MISSIONDATA._MISSIONDATA_TIMECYCLE_BOX_DELETE() end
--- @return boolean
function MISSIONDATA._MISSIONDATA_TIMECYCLE_BOX_EXISTS() end

MONEY = {}

--- @return number
function MONEY._MONEY_GET_CASH_BALANCE() end
--- @param amount number
--- @return boolean
function MONEY._MONEY_DECREMENT_CASH_BALANCE(amount) end
--- @param amount number
--- @param addReason number
--- @return boolean
function MONEY._MONEY_INCREMENT_CASH_BALANCE(amount, addReason) end
--- @return string
function MONEY._NETWORK_GET_STRING_CASH_BALANCE() end
--- @param cashBalance number
--- @param goldBarBalance number
--- @return boolean
function MONEY._NETWORK_IS_MONEY_BALANCE_NOT_LESS_THAN(cashBalance, goldBarBalance) end
--- @return string
function MONEY._0xA46FD001D1BE896C() end
--- @param p0 number
--- @param p1 number
--- @return boolean
function MONEY._0x07AD9E43FD478527(p0, p1) end
--- @return number
function MONEY._NETWORK_GET_CASH_BALANCE() end

NETSHOPPING = {}

--- @param p0 any
--- @param p1 any
--- @return boolean
function NETSHOPPING.CASHINVENTORY_INIT_SESSION_STATUS(p0, p1) end
--- @return boolean
function NETSHOPPING._CASHINVENTORY_IS_SESSION_READY() end
--- @return boolean
function NETSHOPPING.CASHINVENTORY_IS_CONNECTION_FAULTED() end
--- @return boolean
function NETSHOPPING._CASHINVENTORY_INIT_SESSION_IS_FAULTED() end
--- @param actionHash number
--- @param id any
--- @param item number
--- @param p3 number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_FIRE_AND_FORGET_ITEM(actionHash, id, item, p3) end
--- @param id any
--- @param type number
--- @param actionHash number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_START(id, type, actionHash) end
--- @param id number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_GET_BASKET_IS_VALID(id) end
--- @param id number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_DELETE(id) end
--- @param p0 number
--- @param p1 number
--- @return number
function NETSHOPPING._CASHINVENTORY_TRANSACTION_VALIDATE_ITEM(p0, p1) end
--- @param p0 number
--- @return number
function NETSHOPPING._0x38640A8C2DEF011B(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return boolean
function NETSHOPPING._0xA3B8D31C13CB4239(p0, p1, p2, p3, p4, p5) end
--- @param id number
--- @param hash number
--- @param p2 number
--- @param p3 number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_ADD_AWARD(id, hash, p2, p3) end
--- @param id number
--- @param index number
--- @param itemInfo number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_GET_ITEM_INFO(id, index, itemInfo) end
--- @param id number
--- @return number
function NETSHOPPING._CASHINVENTORY_TRANSACTION_GET_NUM_OF_ITEMS(id) end
--- @param id number
--- @return number
function NETSHOPPING._CASHINVENTORY_TRANSACTION_GET_ACTION(id) end
--- @param id number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_CHECKOUT(id) end
--- @param id number
--- @param status any
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_CHECKOUT_STATUS(id, status) end
--- @param p0 number
--- @param p1 number
--- @return number
function NETSHOPPING._0xB6F4557060EF0FB4(p0, p1) end
--- @param id number
--- @param index number
--- @param itemInfo number
--- @return boolean
function NETSHOPPING._CASHINVENTORY_TRANSACTION_RESPONSE_GET_ITEM_INFO(id, index, itemInfo) end
--- @param p0 number
--- @return boolean
function NETSHOPPING._0xCE54C9ABE6FBC6DB(p0) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function NETSHOPPING._0xA0B7094629724974(p0, p1) end
--- @param id number
--- @param index number
--- @param p2 number
--- @return boolean
function NETSHOPPING._0x92A32BA29622763F(id, index, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return boolean
function NETSHOPPING._0x3FA09DD57B93C0DE(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return boolean
function NETSHOPPING._0xD1555FBC96C88444(p0, p1, p2, p3, p4) end

NETWORK = {}

--- @return boolean
function NETWORK.NETWORK_IS_SIGNED_ONLINE() end
--- Hardcoded to return zero.
--- 
--- ==== PS4 specific info ====
--- 
--- Returns some sort of unavailable reason:
--- -1 = REASON_INVALID
--- 0 = REASON_OTHER
--- 1 = REASON_SYSTEM_UPDATE
--- 2 = REASON_GAME_UPDATE
--- 3 = REASON_SIGNED_OUT
--- 4 = REASON_AGE
--- 5 = REASON_CONNECTION
--- 
--- =================================
--- @return number
function NETWORK.NETWORK_GET_NP_UNAVAILABLE_REASON() end
--- Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
--- @return boolean
function NETWORK.NETWORK_HAS_VALID_ROS_CREDENTIALS() end
--- @return boolean
function NETWORK.NETWORK_IS_CLOUD_AVAILABLE() end
--- @return boolean
function NETWORK.NETWORK_HAS_SOCIAL_CLUB_ACCOUNT() end
--- If you are host, returns true else returns false.
--- @return boolean
function NETWORK.NETWORK_IS_HOST() end
--- @return boolean
function NETWORK.NETWORK_HAVE_ONLINE_PRIVILEGES() end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_CHECK_USER_CONTENT_PRIVILEGES(p0) end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_CHECK_COMMUNICATION_PRIVILEGES(p0) end
--- @param gamerHandle number
--- @return boolean
function NETWORK.NETWORK_CAN_VIEW_GAMER_USER_CONTENT(gamerHandle) end
--- @param gamerHandle number
--- @return boolean
function NETWORK._0xF23A6D6C11D8EC15(gamerHandle) end
--- Stadia only; always returns -1 on other platforms. p0 may be a BOOL.
--- @param p0 number
--- @return number
function NETWORK._0x3E8CCE6769DB5F34(p0) end
--- Note: this native was added in build 1491.50
--- @param p0 number
--- @return boolean
function NETWORK._0xDBDF80673BBA3D65(p0) end
function NETWORK.NETWORK_SHOW_ACCOUNT_UPGRADE_UI() end
--- Hardcoded to return false.
--- @return boolean
function NETWORK.NETWORK_IS_PROMOTION_ENABLED() end
--- Hardcoded to return false.
--- @return boolean
function NETWORK.NETWORK_IS_CUSTOM_UPSELL_ENABLED() end
--- Hardcoded to return false.
--- @return boolean
function NETWORK.NETWORK_SHOULD_SHOW_PROMOTION_DLG() end
--- nullsub, doesn't do anything
function NETWORK._0xFC6FCF4C03F1BBF6() end
--- nullsub, doesn't do anything
--- @return number
function NETWORK._0x160F0CE6D76A39C9() end
--- Hardcoded to return zero.
--- @return number
function NETWORK.NETWORK_GET_PROMOTION_DLG_SEEN_COUNT() end
function NETWORK._0xE5FF65CFF5160752() end
--- @param loadingState any
--- @return boolean
function NETWORK.NETWORK_CAN_ACCESS_MULTIPLAYER(loadingState) end
--- @return boolean
function NETWORK.NETWORK_CHECK_ACCESS_AND_ALERT_IF_FAIL() end
--- @param entity number
--- @return number
function NETWORK._NETWORK_GET_GLOBAL_ENTITY_FLAGS(entity) end
--- @param p0 boolean
function NETWORK._0xA95470DA137587F5(p0) end
--- @param p0 boolean
--- @return number
function NETWORK._0xBB697756309D77EE(p0) end
--- @return boolean
function NETWORK._NETWORK_HAS_COMPLETED_MP_INTRO_FLOW_ON_CURRENT_SLOT() end
--- @param completed boolean
--- @return boolean
function NETWORK.NETWORK_SET_COMPLETED_MP_INTRO_FLOW_ON_CURRENT_SLOT(completed) end
--- @param p0 number
--- @return boolean
function NETWORK._0xD7D0DF27CB1765B5(p0) end
--- @param enabled boolean
--- @param flagIndex number
--- @return boolean
function NETWORK.NETWORK_SET_MP_MISSION_FLAG_ON_CURRENT_SLOT(enabled, flagIndex) end
--- @param p0 boolean
function NETWORK._0x3E74A687A73979C6(p0) end
--- Checks for session flag 'SF_PRIVATE'
--- @return boolean
function NETWORK.NETWORK_SESSION_IS_PRIVATE() end
--- Note: this native was added in build 1311.23
--- @param sessionId number
function NETWORK._NETWORK_SESSION_GET_SESSION_ID(sessionId) end
--- Note: this native was added in build 1311.23
--- @param sessionId1 number
--- @param sessionId2 number
--- @return boolean
function NETWORK._NETWORK_SESSION_ARE_SESSION_IDS_EQUAL(sessionId1, sessionId2) end
--- flags:
--- enum eSessionRequestOptionFlags
--- {
--- SESSION_REQUEST_OPTION_FLAG_INCLUDE_GANG_MEMBERS = (1 << 1),
--- SESSION_REQUEST_OPTION_FLAG_LEADER_KEEPS_GANG = (1 << 7),
--- };
--- 
--- seamlessType:
--- enum eSeamlessType
--- {
--- SEAMLESS_TYPE_NORMAL,
--- SEAMLESS_TYPE_PVE,
--- SEAMLESS_TYPE_DEV,
--- SEAMLESS_TYPE_NO_SEAMLESS
--- };
--- @param flags number
--- @param seamlessType number
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_REQUEST_SESSION_SEAMLESS(flags, seamlessType, sessionRequestId) end
--- Equivalent to NETWORK_REQUEST_SESSION_SEAMLESS if userHash == 0.
--- Otherwise it is equivalent to NETWORK_SESSION_REQUEST_SESSION_COMPETITIVE(flags, MATCHTYPE_SEAMLESS, userHash, 0, sessionRequestId);
--- 
--- p1 is unused
--- @param flags number
--- @param seamlessType number
--- @param userHash number
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_REQUEST_SESSION_SEAMLESS(flags, seamlessType, userHash, sessionRequestId) end
--- matchType:
--- enum eMatchType
--- {
--- MATCHTYPE_DEPRECATED,
--- MATCHTYPE_UGCPLAYLIST,
--- MATCHTYPE_UGCMISSION,
--- MATCHTYPE_MINIGAME,
--- MATCHTYPE_SEAMLESS,
--- MATCHTYPE_PRIVATE_DO_NOT_USE
--- };
--- @param flags number
--- @param matchType number
--- @param userHash number
--- @param p3 number
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_REQUEST_SESSION_COMPETITIVE(flags, matchType, userHash, p3, sessionRequestId) end
--- Session flag 'SF_PRIVATE' is set internally
--- p1 represents max amount of players in private session
--- @param flags number
--- @param numPlayers number
--- @param userHash number
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_REQUEST_SESSION_PRIVATE(flags, numPlayers, userHash, sessionRequestId) end
--- category:
--- enum eOnCallType
--- {
--- NETWORK_SESSION_REQUEST_ON_CALL_TYPE_STORY = 2,
--- NETWORK_SESSION_REQUEST_ON_CALL_TYPE_MATCH = 3
--- };
--- @param flags number
--- @param category number
--- @param p2 number
--- @param userHash number
--- @param sessionRequestId number
--- @return boolean
function NETWORK._NETWORK_SESSION_REQUEST_SESSION_ON_CALL(flags, category, p2, userHash, sessionRequestId) end
--- @param flags number
--- @param userHash number
--- @param p2 number
--- @param sessionRequestId number
--- @return boolean
function NETWORK._NETWORK_SESSION_REQUEST_SESSION_NOMINATED(flags, userHash, p2, sessionRequestId) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_IS_SESSION_REQUEST_ID_VALID(sessionRequestId) end
--- @return number
function NETWORK.NETWORK_SESSION_GET_SESSION_TYPE() end
--- @return number
function NETWORK._0x1413B6BF27AB7A95() end
--- @return boolean
function NETWORK.NETWORK_SESSION_IS_ANY_REQUEST_IN_PROGRESS() end
--- @param sessionRequestId number
--- @return boolean
function NETWORK._0xAFA14F98327791CE(sessionRequestId) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_IS_REQUEST_IN_PROGRESS(sessionRequestId) end
--- @param queueGroup number
--- @return boolean
function NETWORK._NETWORK_SESSION_IS_REQUEST_IN_PROGRESS_BY_QUEUE_GROUP(queueGroup) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK._NETWORK_SESSION_CANCEL_REQUEST(sessionRequestId) end
--- @param p0 number
function NETWORK._0xA6F1BAABFF6AD7B9(p0) end
--- Returns result of session request:
--- 0 - NOT_FOUND
--- 1 - IN_PROGRESS
--- 2 - TIMEOUT
--- 3 - PLAYER_OFFLINE
--- 4 - GANG_MEMBERS_CHANGED
--- 5 - PLAYER_CANCELLED
--- 6 - PLAYER_SET_TOO_LARGE
--- 7 - MATCH_ACCEPTED
--- 8 - OTHER
--- @param sessionRequestId number
--- @param p1 any
--- @return number
function NETWORK._NETWORK_SESSION_GET_SESSION_REQUEST_RESULT(sessionRequestId, p1) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_IS_REQUEST_PENDING_TRANSITION(sessionRequestId) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK._NETWORK_SESSION_TRANSITION_TO_SESSION(sessionRequestId) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK._NETWORK_SESSION_IS_NSRR_SUCCESS(sessionRequestId) end
--- @param sessionRequestId number
--- @return boolean
function NETWORK.NETWORK_SESSION_LEFT_QUEUE_OR_REQUESTED_SESSION(sessionRequestId) end
--- @return boolean
function NETWORK.NETWORK_SESSION_LEAVE_SESSION() end
--- @return boolean
function NETWORK.NETWORK_SESSION_IS_TRANSITIONING() end
--- Only used in R* Script startup_clip
function NETWORK._0xFD4272A137703449() end
--- Only used in R* Script net_rolling_playlist
function NETWORK._NETWORK_SESSION_PLAYLIST_GO_TO_NEXT_CONTENT() end
--- Only used in R* Script net_rolling_playlist
function NETWORK._NETWORK_SESSION_PLAYLIST_GET_UPCOMING_CONTENT() end
function NETWORK.NETWORK_DISABLE_REALTIME_MULTIPLAYER() end
--- Only used in R* Script fm_race_controller
--- @param p0 boolean
function NETWORK._0x71FA2D1880C48032(p0) end
--- @param hours any
--- @param minutes any
--- @param seconds any
function NETWORK.NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(hours, minutes, seconds) end
function NETWORK.NETWORK_CLEAR_CLOCK_TIME_OVERRIDE() end
--- @return boolean
function NETWORK.NETWORK_IS_CLOCK_TIME_OVERRIDDEN() end
--- @param hour any
--- @param minute any
--- @param second any
--- @return boolean
function NETWORK.NETWORK_GET_GLOBAL_CLOCK(hour, minute, second) end
--- @param hour number
--- @param minute number
--- @param second number
--- @param transitionTime number
--- @param pauseClock boolean
function NETWORK._NETWORK_CLOCK_TIME_OVERRIDE(hour, minute, second, transitionTime, pauseClock) end
--- @param hour number
--- @param minute number
--- @param second number
--- @param transitionTime number
--- @param pauseClock boolean
--- @param clockwise boolean
function NETWORK._NETWORK_CLOCK_TIME_OVERRIDE_2(hour, minute, second, transitionTime, pauseClock, clockwise) end
--- @param milliseconds number
function NETWORK._NETWORK_CLEAR_CLOCK_OVERRIDE_OVERTIME(milliseconds) end
--- @return boolean
function NETWORK._0x0E54D4DA6018FF8E() end
--- @return boolean
function NETWORK.NETWORK_IS_FINDING_GAMERS() end
--- @return boolean
function NETWORK.NETWORK_DID_FIND_GAMERS_SUCCEED() end
--- @param outData number
--- @param p1 number
--- @return number
function NETWORK._0x7BCA0A3972708436(outData, p1) end
function NETWORK.NETWORK_CLEAR_FOUND_GAMERS() end
--- @param data number
--- @param count number
--- @return boolean
function NETWORK._NETWORK_GET_GAMER_SESSION_FROM_HANDLE(data, count) end
--- @return boolean
function NETWORK._NETWORK_HAS_CURRENT_GET_GAMER_STATUS_STARTED() end
--- @return boolean
function NETWORK.NETWORK_DID_GET_GAMER_STATUS_SUCCEED() end
--- @param gamerHandle number
--- @param p1 number
--- @return number
function NETWORK._NETWORK_GET_GAMER_STATUS(gamerHandle, p1) end
function NETWORK.NETWORK_CLEAR_GET_GAMER_STATUS() end
--- @param toggle boolean
function NETWORK.NETWORK_SET_SCRIPT_READY_FOR_EVENTS(toggle) end
--- Note: this native was added in build 1311.23
--- @return boolean
function NETWORK._0x316FD416C432C761() end
--- Note: this native was added in build 1311.23
--- @return boolean
function NETWORK._0x062842D61D0D53FD() end
--- @return boolean
function NETWORK.NETWORK_IS_GAME_IN_PROGRESS() end
--- @return boolean
function NETWORK.NETWORK_IS_SESSION_ACTIVE() end
--- @return boolean
function NETWORK.NETWORK_IS_IN_SESSION() end
--- Hardcoded to return false.
--- @return boolean
function NETWORK._NETWORK_IS_IN_SESSION_LOBBY() end
--- @return boolean
function NETWORK.NETWORK_IS_SESSION_STARTED() end
--- @return boolean
function NETWORK.NETWORK_CAN_SESSION_END() end
--- @return number
function NETWORK.NETWORK_GET_GAME_MODE() end
--- enum eSessionFlags
--- {
--- SESSION_FLAG_NONE = 0,
--- SF_INSTANCE = (1 << 0),
--- SF_MATCH = (1 << 1),
--- SF_PRIVATE = (1 << 2),
--- SF_BLOCK_INVITES = (1 << 3),
--- SF_BLOCK_JOIN_VIA_PRESENCE = (1 << 4),
--- SF_BLOCK_NON_HOST_INVITES = (1 << 5),
--- SF_BLOCK_IN_PROGRESS_MATCHMAKING_BACKFILL = (1 << 6),
--- SF_BLOCK_IN_GAMEPLAY_MATCHMAKING_BACKFILL = (1 << 7),
--- SF_BLOCK_INVITES_TEMPORARY = (1 << 8),
--- SF_IN_GAMEPLAY = (1 << 9),
--- SF_COMPETITIVE = (1 << 10),
--- SF_MATCHMAKING_BACKFILL_IS_BLOCKED = (1 << 11)
--- };
--- @param flags number
--- @return boolean
function NETWORK._NETWORK_SESSION_ADD_SESSION_FLAGS(flags) end
--- See _NETWORK_SESSION_ADD_SESSION_FLAGS
--- @param flags number
--- @return boolean
function NETWORK.NETWORK_SESSION_REMOVE_SESSION_FLAGS(flags) end
--- @return number
function NETWORK.NETWORK_SESSION_GET_SESSION_FLAGS() end
--- @param flags number
--- @return boolean
function NETWORK._NETWORK_SESSION_SET_PLAYER_FLAGS(flags) end
--- @param flags number
--- @return boolean
function NETWORK._NETWORK_SESSION_REMOVE_PLAYER_FLAGS(flags) end
--- @return number
function NETWORK._NETWORK_GET_SESSION_HOST() end
--- @return number
function NETWORK._0xD3A3C8B9F3BDEF81() end
--- @return boolean
function NETWORK._0x18B94666CF610AEB() end
--- @param inviteIndex number
--- @return boolean
function NETWORK._0x981146E5C9CE9250(inviteIndex) end
--- @return number
function NETWORK._0xBF8276E51761F9DA() end
--- @param p0 number
--- @return boolean
function NETWORK._0xDCA4A74135E1DEA5(p0) end
--- @return boolean
function NETWORK.NETWORK_HAS_PENDING_INVITE_FAILURE() end
--- @param gamerHandle number
--- @return boolean
function NETWORK._NETWORK_CAN_RECEIVE_INVITE_FROM_HANDLE(gamerHandle) end
--- @param setting boolean
function NETWORK._0x704F92B3AF20D857(setting) end
--- @param p0 number
function NETWORK._0xF342F6BD0A8287D5(p0) end
function NETWORK._0xD39A72AE5EBD57E5() end
--- @param gamerHandle number
--- @param contentId string
--- @param data number
--- @param dataSize number
--- @param p4 number
--- @param flags number
--- @return boolean
function NETWORK._NETWORK_SEND_SESSION_INVITE(gamerHandle, contentId, data, dataSize, p4, flags) end
--- @param p0 number
--- @return boolean
function NETWORK._0xD1FFB246F4E088AC(p0) end
--- @param p0 number
--- @return number
function NETWORK._0x27B1AE4D8C652F08(p0) end
--- @param p0 number
--- @return number
function NETWORK._0x6C27442A225A241A(p0) end
--- @param p0 number
--- @return string
function NETWORK._0xE59F4924BD3A718D(p0) end
--- Note: this native was added in build 1436.31
--- @param p0 number
--- @return number
function NETWORK._0x78271BC02AE9AF83(p0) end
--- @param p0 number
--- @param gamerHandle number
--- @return boolean
function NETWORK._0x16EFB123C4451032(p0, gamerHandle) end
--- @param p0 number
--- @return string
function NETWORK._0xE79BA3BC265895DA(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function NETWORK._0xC0CFFDA87C2C163D(p0, p1, p2) end
--- @param p0 number
--- @return number
function NETWORK._0x5ED39DA62BEB1330(p0) end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_ACCEPT_RS_INVITE(p0) end
--- @param p0 number
--- @return boolean
function NETWORK._0x3AA0CDC63696166D(p0) end
--- @param p0 number
--- @return number
function NETWORK.NETWORK_REQUEST_JOIN(p0) end
--- @param p0 number
--- @return number
function NETWORK._0xE8E633215471BB5D(p0) end
--- @param p0 number
--- @return boolean
function NETWORK._0xA2837A5E21FB5A58(p0) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function NETWORK._0xE39600E50D608693(p0, p1) end
--- @param p0 number
--- @return boolean
function NETWORK._0xD7BAD4062074B9C1(p0) end
--- @param p0 number
--- @return number
function NETWORK._0xCA58D4FD20D70F24(p0) end
--- @param p0 number
--- @return boolean
function NETWORK._0xC028B3F52C707C49(p0) end
--- @return boolean
function NETWORK.NETWORK_IS_PLATFORM_INVITE_PENDING() end
function NETWORK._0x5B9C6AC118FD4774() end
--- @return number
function NETWORK._NETWORK_GET_PLATFORM_INVITE_ID() end
--- @return boolean
function NETWORK.NETWORK_ACTION_PLATFORM_INVITE() end
function NETWORK.NETWORK_CLEAR_PLATFORM_INVITE() end
--- @param p0 boolean
function NETWORK._0x603469298A4308AF(p0) end
--- Returns value of fwuiCachedSetting "general.onlineNotificationsInStoryMode"
--- @return boolean
function NETWORK._NETWORK_ARE_ONLINE_NOTIFICATIONS_SHOWN_IN_STORY_MODE() end
--- Hardcoded to return false.
--- @return boolean
function NETWORK.NETWORK_IS_IN_PLATFORM_PARTY() end
--- @param gamerHandle1 number
--- @param gamerHandle2 number
--- @return boolean
function NETWORK._NETWORK_ARE_PLAYERS_IN_SAME_PLATFORM_PARTY(gamerHandle1, gamerHandle2) end
--- Hardcoded to return false.
--- @return boolean
function NETWORK.NETWORK_IS_IN_PLATFORM_PARTY_CHAT() end
--- @param seed number
function NETWORK.NETWORK_SEED_RANDOM_NUMBER_GENERATOR(seed) end
--- @param rangeStart number
--- @param rangeEnd number
--- @return number
function NETWORK.NETWORK_GET_RANDOM_INT_RANGED(rangeStart, rangeEnd) end
--- @param maxNumMissionParticipants number
--- @param p1 boolean
--- @param instanceId number
function NETWORK.NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT(maxNumMissionParticipants, p1, instanceId) end
--- @return boolean
function NETWORK.NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT() end
--- Seems to always return 0, but it's used in quite a few loops.
--- 
--- for (num3 = 0; num3 < NETWORK::0xCCD8C02D(); num3++)
--- {
--- if (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::0x98F3B274(num3)) != 0)
--- {
--- var num5 = NETWORK::NETWORK_GET_PLAYER_INDEX(PLAYER::0x98F3B274(num3));
--- @return number
function NETWORK.NETWORK_GET_MAX_NUM_PARTICIPANTS() end
--- @return number
function NETWORK.NETWORK_GET_NUM_PARTICIPANTS() end
--- @return number
function NETWORK.NETWORK_GET_SCRIPT_STATUS() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function NETWORK.NETWORK_REGISTER_HOST_BROADCAST_VARIABLES(p0, p1, p2) end
--- @param p0 any
--- @return number
function NETWORK._NETWORK_GET_SIZE_OF_HOST_BROADCAST_DATA_STORAGE(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function NETWORK.NETWORK_REGISTER_PLAYER_BROADCAST_VARIABLES(p0, p1, p2) end
--- @param p0 any
--- @return number
function NETWORK._NETWORK_GET_SIZE_OF_PLAYER_BROADCAST_DATA_STORAGE(p0) end
--- @return boolean
function NETWORK.NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA() end
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_PLAYER_INDEX(player) end
--- @param index number
--- @return number
function NETWORK.NETWORK_GET_PARTICIPANT_INDEX(index) end
--- Returns the Player associated to a given Ped when in an online session.
--- @param ped number
--- @return number
function NETWORK.NETWORK_GET_PLAYER_INDEX_FROM_PED(ped) end
--- Returns the amount of players connected in the current session. Only works when connected to a session/server.
--- @return number
function NETWORK.NETWORK_GET_NUM_CONNECTED_PLAYERS() end
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_CONNECTED(player) end
--- @return number
function NETWORK.NETWORK_GET_TOTAL_NUM_PLAYERS() end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_IS_PARTICIPANT_ACTIVE(p0) end
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_ACTIVE(player) end
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_A_PARTICIPANT(player) end
--- @return boolean
function NETWORK.NETWORK_IS_HOST_OF_THIS_SCRIPT() end
--- @return number
function NETWORK.NETWORK_GET_HOST_OF_THIS_SCRIPT() end
--- @param scriptName string
--- @param p1 number
--- @param p2 number
--- @return number
function NETWORK.NETWORK_GET_HOST_OF_SCRIPT(scriptName, p1, p2) end
--- @param threadId number
--- @return number
function NETWORK.NETWORK_GET_HOST_OF_THREAD(threadId) end
function NETWORK.NETWORK_SET_MISSION_FINISHED() end
--- @param scriptName string
--- @param p1 number
--- @param p2 boolean
--- @param p3 number
--- @return boolean
function NETWORK.NETWORK_IS_SCRIPT_ACTIVE(scriptName, p1, p2, p3) end
--- @param scriptHash number
--- @param p1 number
--- @param p2 boolean
--- @param p3 number
--- @return boolean
function NETWORK.NETWORK_IS_SCRIPT_ACTIVE_BY_HASH(scriptHash, p1, p2, p3) end
--- @param threadId number
--- @return boolean
function NETWORK._NETWORK_IS_THREAD_ACTIVE(threadId) end
--- @param threadId number
--- @return number
function NETWORK._NETWORK_GET_INSTANCE_ID_OF_THREAD(threadId) end
--- @param scriptName string
--- @param instanceId number
--- @param position number
--- @return number
function NETWORK.NETWORK_GET_NUM_SCRIPT_PARTICIPANTS(scriptName, instanceId, position) end
--- @return number
function NETWORK.NETWORK_GET_INSTANCE_ID_OF_THIS_SCRIPT() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_A_PARTICIPANT_ON_SCRIPT(p0, p1, p2) end
function NETWORK.NETWORK_PREVENT_SCRIPT_HOST_MIGRATION() end
--- @param featureId number
--- @return boolean
function NETWORK.NETWORK_IS_FEATURE_SUPPORTED(featureId) end
--- Return the local Participant ID
--- @return number
function NETWORK.PARTICIPANT_ID() end
--- Return the local Participant ID.
--- 
--- This native is exactly the same as 'PARTICIPANT_ID' native.
--- @return number
function NETWORK.PARTICIPANT_ID_TO_INT() end
--- @param netId number
--- @param weaponHash any
--- @return number
function NETWORK.NETWORK_GET_DESTROYER_OF_NETWORK_ID(netId, weaponHash) end
--- _NETWORK_GET_A* - _NETWORK_GET_D*
--- @param ped number
--- @param p1 number
--- @return number
function NETWORK._0x6CF82A7F65A5AD5F(ped, p1) end
--- _NETWORK_GET_A* - _NETWORK_GET_D*
--- @param player number
--- @param ped number
--- @param p2 number
--- @return boolean
function NETWORK._0x236321F1178A5446(player, ped, p2) end
--- @param player number
--- @param entity number
--- @param p2 any
--- @return boolean
function NETWORK.NETWORK_GET_ASSISTED_DAMAGE_OF_ENTITY(player, entity, p2) end
--- @param player number
--- @param weaponHash any
--- @return number
function NETWORK.NETWORK_GET_ENTITY_KILLER_OF_PLAYER(player, weaponHash) end
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p4 number
--- @param p5 boolean
--- @param p6 number
--- @param p7 boolean
function NETWORK.NETWORK_RESURRECT_LOCAL_PLAYER(x, y, z, heading, p4, p5, p6, p7) end
--- @param args number
function NETWORK._NETWORK_RESURRECT_LOCAL_PLAYER_2(args) end
--- @param time number
function NETWORK.NETWORK_SET_LOCAL_PLAYER_INVINCIBLE_TIME(time) end
--- @param toggle boolean
function NETWORK.NETWORK_SET_LOCAL_PLAYER_SYNC_LOOK_AT(toggle) end
--- @param entity number
--- @return boolean
function NETWORK.NETWORK_HAS_ENTITY_BEEN_REGISTERED_WITH_THIS_THREAD(entity) end
--- @param entity number
--- @return number
function NETWORK.NETWORK_GET_NETWORK_ID_FROM_ENTITY(entity) end
--- @param netId number
--- @return number
function NETWORK.NETWORK_GET_ENTITY_FROM_NETWORK_ID(netId) end
--- @param entity number
--- @return boolean
function NETWORK.NETWORK_GET_ENTITY_IS_NETWORKED(entity) end
--- @param entity number
function NETWORK.NETWORK_REGISTER_ENTITY_AS_NETWORKED(entity) end
--- @param netID number
--- @return boolean
function NETWORK.NETWORK_DOES_NETWORK_ID_EXIST(netID) end
--- Related to container entity (RANSACK_ATTACHED_LOCKBOX / RANSACK_ATTACHED_CHEST)
--- @param entity number
--- @return boolean
function NETWORK._0x950ACD8F05B7B9DF(entity) end
--- @param netId number
--- @return boolean
function NETWORK.NETWORK_REQUEST_CONTROL_OF_NETWORK_ID(netId) end
--- @param netId number
--- @return boolean
function NETWORK.NETWORK_HAS_CONTROL_OF_NETWORK_ID(netId) end
--- @param entity number
--- @return boolean
function NETWORK.NETWORK_REQUEST_CONTROL_OF_ENTITY(entity) end
--- @param animScene number
--- @return boolean
function NETWORK._NETWORK_REQUEST_CONTROL_OF_ANIM_SCENE(animScene) end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_REQUEST_CONTROL_OF_PICKUP_PLACEMENT(p0) end
--- @param entity number
--- @return boolean
function NETWORK.NETWORK_HAS_CONTROL_OF_ENTITY(entity) end
--- @param pickup number
--- @return boolean
function NETWORK.NETWORK_HAS_CONTROL_OF_PICKUP(pickup) end
--- @param animScene number
--- @return boolean
function NETWORK._NETWORK_HAS_CONTROL_OF_ANIM_SCENE(animScene) end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_HAS_CONTROL_OF_PICKUP_PLACEMENT(p0) end
--- Same Native Handler as VEH_TO_NET, PED_TO_NET, OBJ_TO_NET and NETWORK_GET_NETWORK_ID_FROM_ENTITY
--- @param handle number
--- @return number
function NETWORK._0xF260AF6F43953316(handle) end
--- Returns the network ID of the given vehicle.
--- @param vehicle number
--- @return number
function NETWORK.VEH_TO_NET(vehicle) end
--- Returns the network ID of the given ped.
--- @param ped number
--- @return number
function NETWORK.PED_TO_NET(ped) end
--- Returns the network ID of the given object.
--- @param object number
--- @return number
function NETWORK.OBJ_TO_NET(object) end
--- @param animScene number
--- @return number
function NETWORK._ANIM_SCENE_TO_NET(animScene) end
--- @param netHandle number
--- @return number
function NETWORK.NET_TO_VEH(netHandle) end
--- gets the ped id of a network id
--- @param netHandle number
--- @return number
function NETWORK.NET_TO_PED(netHandle) end
--- gets the object id of a network id
--- @param netHandle number
--- @return number
function NETWORK.NET_TO_OBJ(netHandle) end
--- gets the entity id of a network id
--- @param netHandle number
--- @return number
function NETWORK.NET_TO_ENT(netHandle) end
--- @param netId number
--- @return number
function NETWORK._NET_TO_ANIM_SCENE(netId) end
--- @param propSet number
--- @return number
function NETWORK._PROPSET_TO_NET(propSet) end
--- @param netId number
--- @return number
function NETWORK._NET_TO_PROPSET(netId) end
--- nullsub, doesn't do anything
--- @param p0 number
function NETWORK._0x0CC28C08613BA9E5(p0) end
--- @param gamerHandle number
function NETWORK.NETWORK_GET_LOCAL_HANDLE(gamerHandle) end
--- @param player number
--- @param gamerHandle number
function NETWORK.NETWORK_HANDLE_FROM_PLAYER(player, gamerHandle) end
--- @param player number
--- @return number
function NETWORK.NETWORK_HASH_FROM_PLAYER_HANDLE(player) end
--- @param friendIndex number
--- @param gamerHandle number
function NETWORK.NETWORK_HANDLE_FROM_FRIEND(friendIndex, gamerHandle) end
--- Always returns a null string.
--- @param gamerHandle number
--- @return string
function NETWORK.NETWORK_GET_GAMERTAG_FROM_HANDLE(gamerHandle) end
--- Hardcoded to return -1.
--- @param p0 number
--- @param p1 number
--- @return number
function NETWORK.NETWORK_DISPLAYNAMES_FROM_HANDLES_START(p0, p1) end
--- Hardcoded to return zero.
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function NETWORK.NETWORK_GET_DISPLAYNAMES_FROM_HANDLES(p0, p1, p2) end
--- Example:
--- 
--- char displayName[64];
--- if (_NETWORK_GET_DISPLAY_NAME_FROM_HANDLE(handle, displayName))
--- {
--- // use displayName
--- }
--- @param gamerHandle number
--- @param displayName string
--- @return boolean
function NETWORK._NETWORK_GET_DISPLAY_NAME_FROM_HANDLE(gamerHandle, displayName) end
--- @param gamerHandle1 number
--- @param gamerHandle2 number
--- @return boolean
function NETWORK.NETWORK_ARE_HANDLES_THE_SAME(gamerHandle1, gamerHandle2) end
--- @param gamerHandle number
--- @return boolean
function NETWORK.NETWORK_IS_HANDLE_VALID(gamerHandle) end
--- @param gamerHandle number
--- @return number
function NETWORK.NETWORK_GET_PLAYER_FROM_GAMER_HANDLE(gamerHandle) end
--- @param gamerHandle number
--- @return boolean
function NETWORK.NETWORK_IS_GAMER_IN_MY_SESSION(gamerHandle) end
--- @param gamerHandle number
function NETWORK.NETWORK_SHOW_PROFILE_UI(gamerHandle) end
--- @param gamerHandle number
--- @param message string
function NETWORK._0x5759160AC17C13CE(gamerHandle, message) end
--- Returns the entity's network ID.
--- @param entity number
--- @return number
function NETWORK._0xF302AB9D978352EE(entity) end
--- Returns the entity associated with the given network ID.
--- @param networkId number
--- @return number
function NETWORK._0x4538EE7C321590BC(networkId) end
--- @return boolean
function NETWORK._0xA47D48D06AA5A188() end
--- @return number
function NETWORK.NETWORK_GET_TOTAL_NUM_FRIENDS() end
--- @return number
function NETWORK._0xA94ECE191D90637A() end
--- @param p0 number
function NETWORK._0x5CB8B0C846D0F30B(p0) end
--- @param p0 number
function NETWORK._0xFF36F36B07E69059(p0) end
--- @param p0 number
--- @return boolean
function NETWORK._NETWORK_GET_CURRENT_FRIEND_PAGE_DATA(p0) end
--- @return number
function NETWORK._0xB389289F031F059A() end
--- @return boolean
function NETWORK.NETWORK_CAN_REFRESH_FRIEND_PAGE() end
--- @return boolean
function NETWORK.NETWORK_REFRESH_CURRENT_FRIEND_PAGE() end
--- @return boolean
function NETWORK._0xDA1BFED8582F61F0() end
--- @return boolean
function NETWORK._0x232E1EB23CDB313C() end
--- @return boolean
function NETWORK._0x3E4A16BC669E71B3() end
--- @param gamerHandle number
--- @return boolean
function NETWORK._NETWORK_IS_FRIEND_HANDLE_ONLINE(gamerHandle) end
--- @param gamerHandle number
--- @return boolean
function NETWORK._NETWORK_IS_FRIEND_HANDLE_IN_SAME_TITLE(gamerHandle) end
--- @param gamerHandle number
--- @return string
function NETWORK._NETWORK_GET_GAMERTAG_FROM_FRIEND(gamerHandle) end
--- @param gamerHandle number
--- @return boolean
function NETWORK.NETWORK_IS_FRIEND(gamerHandle) end
--- Hardcoded to return false.
--- @param gamerHandle number
--- @return boolean
function NETWORK.NETWORK_IS_PENDING_FRIEND(gamerHandle) end
--- @param gamerHandle number
--- @param message string
--- @return boolean
function NETWORK.NETWORK_ADD_FRIEND(gamerHandle, message) end
--- @param gamerHandle number
--- @return boolean
function NETWORK._NETWORK_REMOVE_FRIEND(gamerHandle) end
--- On PC this returns true if gamerHandle is a valid handle.
--- @param gamerHandle number
--- @return boolean
function NETWORK._NETWORK_CAN_ADD_FRIEND(gamerHandle) end
--- Old name: _NETWORK_SET_PASSIVE_MODE_OPTION
--- @param toggle boolean
function NETWORK.NETWORK_SET_PLAYER_IS_PASSIVE(toggle) end
--- @param toggle boolean
function NETWORK.NETWORK_SET_FRIENDLY_FIRE_OPTION(toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function NETWORK.NETWORK_SET_RICH_PRESENCE(p0, p1, p2, p3) end
--- @return number
function NETWORK.NETWORK_GET_TIMEOUT_TIME() end
--- Only used in fm_race_controller R* Script (PROCESS_LOCAL_PLAYER_INIT)
--- @param p0 boolean
function NETWORK._0xBC7D36946D19E60E(p0) end
--- Params: p5 = 50.f, p6 = 0 in R* Script net_fetch (NET_FETCH_CLIENT_UPDATE_PED_ROLE_CLUE_IDLE)
--- @param p0 number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 number
--- @param p6 number
--- @return boolean
function NETWORK._0x880A7202301E282B(p0, p1, x, y, z, p5, p6) end
--- nullsub, doesn't do anything
--- @return number
function NETWORK._0xC964FCD3D1720697() end
--- nullsub, doesn't do anything
--- @return number
function NETWORK._0xEC089F84A9C16C62() end
--- @param netId number
function NETWORK.PREVENT_NETWORK_ID_MIGRATION(netId) end
--- @param netId number
--- @param p1 boolean
--- @param p2 number
function NETWORK.KEEP_NETWORK_ID_IN_FAST_INSTANCE(netId, p1, p2) end
--- Only used in SP R* Script dominoes_sp: p1 = 0
--- @param player number
--- @param p1 number
function NETWORK._0x02C4C6C2900D84DF(player, p1) end
--- @param player number
function NETWORK._0xD78A26024BB13E08(player) end
--- @param netId number
--- @param toggle boolean
function NETWORK.SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES(netId, toggle) end
--- @param netId number
--- @param player number
--- @param toggle boolean
function NETWORK.SET_NETWORK_ID_ALWAYS_EXISTS_FOR_PLAYER(netId, player, toggle) end
--- @param networkId number
--- @param bStopCloning boolean
function NETWORK.SET_NETWORK_ID_STOP_CLONING(networkId, bStopCloning) end
--- @param entity number
--- @param toggle boolean
function NETWORK.NETWORK_SET_ENTITY_REMAINS_WHEN_UNNETWORKED(entity, toggle) end
--- if set to true other network players can't see it
--- if set to false other network player can see it
--- =========================================
--- ^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it.
--- 
--- pc or last gen?
--- 
--- ^^ last-gen
--- 
--- Old name: _NETWORK_SET_ENTITY_INVISIBLE_TO_NETWORK
--- @param entity number
--- @param toggle boolean
function NETWORK.NETWORK_SET_ENTITY_ONLY_EXISTS_FOR_PARTICIPANTS(entity, toggle) end
--- @param entity number
function NETWORK._0xE31A04513237DC89(entity) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function NETWORK.SET_NETWORK_ID_VISIBLE_IN_CUTSCENE(p0, p1, p2, p3) end
--- @param netId number
--- @return boolean
function NETWORK.IS_NETWORK_ID_OWNED_BY_PARTICIPANT(netId) end
--- @param netId number
--- @return number
function NETWORK._NETWORK_GET_PLAYER_OWNER_OF_NETWORK_ID(netId) end
--- @param local boolean
--- @param remote boolean
--- @param instanceId number
function NETWORK.SET_LOCAL_PLAYER_VISIBLE_IN_CUTSCENE(localy, remote, instanceId) end
--- @param toggle boolean
function NETWORK.PREVENT_MIGRATION_OF_ENTITIES_IN_FAST_INSTANCE_FOR_LOCAL_PLAYER(toggle) end
--- @param p0 boolean
function NETWORK.SET_LOCAL_PLAYER_INVISIBLE_LOCALLY(p0) end
--- @param player number
--- @param toggle boolean
function NETWORK.SET_PLAYER_INVISIBLE_LOCALLY(player, toggle) end
--- @param player number
--- @param toggle boolean
function NETWORK.SET_PLAYER_VISIBLE_LOCALLY(player, toggle) end
--- @param entity number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 number
function NETWORK.SET_ENTITY_VISIBLE_IN_CUTSCENE(entity, p1, p2, p3) end
--- @param doorHash number
function NETWORK._SET_DOOR_NETWORKED(doorHash) end
--- @param p0 number
--- @param toggle boolean
function NETWORK._SET_DOOR_UNNETWORKED(p0, toggle) end
--- @param netID number
--- @return boolean
function NETWORK.IS_DAMAGE_TRACKER_ACTIVE_ON_NETWORK_ID(netID) end
--- @param netID number
--- @param toggle boolean
function NETWORK.ACTIVATE_DAMAGE_TRACKER_ON_NETWORK_ID(netID, toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return boolean
function NETWORK.IS_SPHERE_VISIBLE_TO_ANOTHER_MACHINE(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return boolean
function NETWORK.IS_SPHERE_VISIBLE_TO_PLAYER(p0, p1, p2, p3, p4, p5) end
--- @param p0 boolean
function NETWORK._0xD42C543F73233041(p0) end
--- @param amount number
function NETWORK.RESERVE_NETWORK_MISSION_OBJECTS(amount) end
--- @param amount number
function NETWORK.RESERVE_NETWORK_CLIENT_MISSION_OBJECTS(amount) end
--- @param amount number
function NETWORK.RESERVE_NETWORK_MISSION_PEDS(amount) end
--- @param amount number
function NETWORK.RESERVE_NETWORK_CLIENT_MISSION_PEDS(amount) end
--- @param amount number
function NETWORK.RESERVE_NETWORK_MISSION_VEHICLES(amount) end
--- @param amount number
function NETWORK.RESERVE_NETWORK_MISSION_PICKUPS(amount) end
--- @param amount number
--- @return boolean
function NETWORK.CAN_REGISTER_MISSION_OBJECTS(amount) end
--- @param amount number
--- @return boolean
function NETWORK.CAN_REGISTER_MISSION_PEDS(amount) end
--- @param amount number
--- @return boolean
function NETWORK.CAN_REGISTER_MISSION_VEHICLES(amount) end
--- @param amount number
--- @return boolean
function NETWORK.CAN_REGISTER_MISSION_PICKUPS(amount) end
--- @param ped_amt number
--- @param vehicle_amt number
--- @param object_amt number
--- @param pickup_amt number
--- @return boolean
function NETWORK.CAN_REGISTER_MISSION_ENTITIES(ped_amt, vehicle_amt, object_amt, pickup_amt) end
--- p0 appears to be for MP
--- @param p0 boolean
--- @return number
function NETWORK.GET_NUM_RESERVED_MISSION_OBJECTS(p0) end
--- p0 appears to be for MP
--- @param p0 boolean
--- @return number
function NETWORK.GET_NUM_RESERVED_MISSION_PEDS(p0) end
--- p0 appears to be for MP
--- @param p0 boolean
--- @return number
function NETWORK.GET_NUM_RESERVED_MISSION_VEHICLES(p0) end
--- @param p0 boolean
--- @return number
function NETWORK._GET_NUM_RESERVED_MISSION_PICKUPS(p0) end
--- @param p0 boolean
--- @return number
function NETWORK.GET_NUM_CREATED_MISSION_OBJECTS(p0) end
--- @param p0 boolean
--- @return number
function NETWORK.GET_NUM_CREATED_MISSION_PEDS(p0) end
--- @param p0 boolean
--- @return number
function NETWORK.GET_NUM_CREATED_MISSION_VEHICLES(p0) end
--- @param p0 boolean
--- @return number
function NETWORK._GET_NUM_CREATED_MISSION_PICKUPS(p0) end
--- Only used in R* Script net_stable_manager
--- @param threadId number
--- @param pedMax any
--- @param vehicleMax any
--- @param unkMax any
--- @param pedMin any
--- @param vehicleMin any
--- @param unkMin any
function NETWORK._GET_RESERVED_MISSION_ENTITIES_FOR_THREAD(threadId, pedMax, vehicleMax, unkMax, pedMin, vehicleMin, unkMin) end
--- Used in Script Function NET_ACE_CLIENT_VERIFY_ENTITY_RESERVATIONS
--- Coords: Slot world position
--- 
--- Old name: _GET_RESERVATIONS_FOR_SLOT_WORLD_POSITION
--- @param x number
--- @param y number
--- @param z number
--- @param p3 boolean
--- @param peds any
--- @param vehicles any
--- @param objects any
--- @param pickups any
function NETWORK.GET_RESERVED_MISSION_ENTITIES_IN_AREA(x, y, z, p3, peds, vehicles, objects, pickups) end
--- Note: this native was added in build 1311.23
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return boolean
function NETWORK._0x5F328FC909F0E0FF(p0, p1, p2, p3) end
--- Always returns 60
--- @return number
function NETWORK.GET_MAX_NUM_NETWORK_OBJECTS() end
--- Always returns 110
--- @return number
function NETWORK.GET_MAX_NUM_NETWORK_PEDS() end
--- Always returns 40
--- @return number
function NETWORK.GET_MAX_NUM_NETWORK_VEHICLES() end
--- Always returns 80
--- @return number
function NETWORK.GET_MAX_NUM_NETWORK_PICKUPS() end
--- @param entity number
--- @param player number
--- @param p2 number
--- @return boolean
function NETWORK._0x75FC34A2BA345BD1(entity, player, p2) end
--- Must be called from a background script, otherwise it will do nothing.
--- @param entity number
--- @param p1 boolean
function NETWORK._0x979765465A6F25FC(entity, p1) end
--- Hardcoded to return zero.
--- @return number
function NETWORK._0x5133CF81924F1129() end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x1E4E097D71D449FB(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x982D7AD755B8F62C(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x917AD74BDCF8B6E9(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0xF8DC69DC1AD19072(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x744BFBB0CA908161(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x106CBDD5077DEDE1(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0xBAF7E2979442B29F(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x039B692B3318FAB6(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 boolean
--- @return number
function NETWORK._0x4835413EA6F9C9CD(p0) end
--- @return number
function NETWORK.GET_NETWORK_TIME() end
--- @return number
function NETWORK.GET_NETWORK_TIME_ACCURATE() end
--- @return boolean
function NETWORK.HAS_NETWORK_TIME_STARTED() end
--- Adds the first argument to the second.
--- @param timeA number
--- @param timeB number
--- @return number
function NETWORK.GET_TIME_OFFSET(timeA, timeB) end
--- Subtracts the second argument from the first, then returns whether the result is negative.
--- @param timeA number
--- @param timeB number
--- @return boolean
function NETWORK.IS_TIME_LESS_THAN(timeA, timeB) end
--- Subtracts the first argument from the second, then returns whether the result is negative.
--- @param timeA number
--- @param timeB number
--- @return boolean
function NETWORK.IS_TIME_MORE_THAN(timeA, timeB) end
--- Subtracts the second argument from the first.
--- @param timeA number
--- @param timeB number
--- @return number
function NETWORK.GET_TIME_DIFFERENCE(timeA, timeB) end
--- @return number
function NETWORK.GET_CLOUD_TIME_AS_INT() end
--- Takes the specified time and writes it to the structure specified in the second argument.
--- 
--- struct date_time
--- {
--- int year;
--- int PADDING1;
--- int month;
--- int PADDING2;
--- int day;
--- int PADDING3;
--- int hour;
--- int PADDING4;
--- int minute;
--- int PADDING5;
--- int second;
--- int PADDING6;
--- };
--- @param posixTime number
--- @param timeStructure number
function NETWORK.CONVERT_POSIX_TIME(posixTime, timeStructure) end
--- @param toggle boolean
--- @param playerPed number
function NETWORK.NETWORK_SET_IN_SPECTATOR_MODE(toggle, playerPed) end
--- @param toggle boolean
--- @param x number
--- @param y number
--- @param z number
function NETWORK._NETWORK_SET_IN_STATIC_SPECTATOR_MODE(toggle, x, y, z) end
--- @return boolean
function NETWORK.NETWORK_IS_IN_SPECTATOR_MODE() end
--- @param player number
--- @return boolean
function NETWORK._NETWORK_IS_PLAYER_IN_SPECTATOR_MODE(player) end
--- @param p0 boolean
--- @param p1 boolean
--- @param p2 number
--- @param p3 boolean
function NETWORK.NETWORK_SET_IN_MP_CUTSCENE(p0, p1, p2, p3) end
--- @return boolean
function NETWORK.NETWORK_IS_IN_MP_CUTSCENE() end
--- Note: scripts seem to indicate that this was renamed to NETWORK_IS_PLAYER_IN_MP_FAST_INSTANCE
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_IN_MP_CUTSCENE(player) end
--- _NETWORK_A* - _NETWORK_C*
--- @param p0 boolean
function NETWORK._0x34BC1E79546BA543(p0) end
--- @param entity number
--- @param timer number
--- @param p2 boolean
function NETWORK._SET_NETWORK_RESPOT_TIMER(entity, timer, p2) end
--- _GET_LAUNCH_PARAM_(RESPOT?)*
--- Name is probably invalid since this native only reads data from parsed entity.
--- @param entity number
--- @return boolean
function NETWORK._0x26A867C0B7A456D1(entity) end
--- Old name: _SET_LOCAL_PLAYER_AS_GHOST
--- @param toggle boolean
function NETWORK.SET_LOCAL_PLAYER_AS_GHOST(toggle) end
--- Old name: _IS_ENTITY_GHOSTED_TO_LOCAL_PLAYER
--- @param entity number
--- @return boolean
function NETWORK.IS_ENTITY_A_GHOST(entity) end
--- _SET_PLAYER_V* - _SET_S*
--- @param player number
--- @param disabled boolean
function NETWORK._SET_PLAYER_VISIBILITY_TO_LOCAL_PLAYER_DISABLED(player, disabled) end
--- @param entity number
--- @param toggle boolean
function NETWORK._SET_ENTITY_GHOSTED_TO_LOCAL_PLAYER(entity, toggle) end
--- Note: this native was added in build 1311.16
--- @return boolean
function NETWORK.IS_OBJECT_REASSIGNMENT_IN_PROGRESS() end
--- Note: this native was added in build 1311.23
--- @return number
function NETWORK._0x039AD6B57D5179FF() end
--- Note: this native was added in build 1311.16
--- 
--- GET_NUM_*
--- @return number
function NETWORK._0x02B3CDD652B3CDD6() end
--- Note: this native was added in build 1311.16
--- @return number
function NETWORK._GET_NUM_PEER_NEGOTIATION_RESPONSES() end
--- Must be called from a background script, otherwise it will do nothing.
--- @param p0 number
function NETWORK._NETWORK_DEBUG_REQUEST_ENTITY_POSITION(p0) end
--- @param ropeId number
--- @return number
function NETWORK.NETWORK_GET_NETWORK_ID_FROM_ROPE_ID(ropeId) end
--- @param netId number
--- @return number
function NETWORK.NETWORK_GET_ROPE_ID_FROM_NETWORK_ID(netId) end
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
function NETWORK._NETWORK_SPAWN_CONFIG_ADD_SPAWN_POINT(x, y, z, heading) end
function NETWORK._0xA63E4F050F20021F() end
--- @param volume number
function NETWORK._NETWORK_SPAWN_CONFIG_ADD_EXCLUSION_VOLUME(volume) end
--- @param volume number
function NETWORK._NETWORK_SPAWN_CONFIG_REMOVE_EXCLUSION_VOLUME(volume) end
function NETWORK._0x0BF90CBB6B72977B() end
--- @param player number
function NETWORK._0x7B3FF2D193628126(player) end
function NETWORK._0x19B52C20B5C4757C() end
--- @param flags number
function NETWORK.NETWORK_SPAWN_CONFIG_SET_FLAGS(flags) end
--- _NETWORK_SPAWN_CONFIG_*
function NETWORK._0x6CEE2E30021DAEC6() end
--- @param configProperty number
--- @param include boolean
function NETWORK._NETWORK_SPAWN_CONFIG_ADD_PROPERTY_SCRIPTED(configProperty, include) end
function NETWORK._0xB131E686BD97B3F8() end
--- @param configProperty number
--- @param include boolean
--- @param weight number
function NETWORK._NETWORK_SPAWN_CONFIG_ADD_PROPERTY_PREFERENCE(configProperty, include, weight) end
--- @param volume number
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
function NETWORK._0x405DDEFB1F531B18(volume, p1, p2, p3) end
function NETWORK._0x43CF999205084B4B() end
--- @param volume number
--- @param p1 boolean
--- @param originalWeight number
--- @param p3 number
--- @param p4 number
function NETWORK._0x13F592FC3BF0EA84(volume, p1, originalWeight, p3, p4) end
--- @param p0 number
function NETWORK._0xCF23AB5BD47B384D(p0) end
--- @param p0 number
function NETWORK._0xE5634491A58C2703(p0) end
--- @param offset number
function NETWORK.NETWORK_SPAWN_CONFIG_SET_GROUND_TO_ROOT_OFFSET(offset) end
--- @param waterDepthLevel number
function NETWORK._NETWORK_SPAWN_CONFIG_SET_LEVEL_WATER_DEPTH(waterDepthLevel) end
--- @param p0 number
--- @param p1 number
function NETWORK.NETWORK_SPAWN_CONFIG_SET_TUNING_FLOAT(p0, p1) end
--- _NETWORK_SPAWN_CONFIG_*
--- @param nsctf number
function NETWORK._0x5D3C528B7A7DF836(nsctf) end
--- @param x number
--- @param y number
--- @param z number
function NETWORK._0x2686BD9566B65EDA(x, y, z) end
--- @param entity number
function NETWORK._0xBB1EC8C2EEF33BAA(entity) end
--- @return boolean
function NETWORK._0x67CCDF74C4DF7169() end
function NETWORK._0xC8B6D18E22484643() end
function NETWORK._0x97BCE4C4B3191228() end
--- @return number
function NETWORK._0x41452E8A3B9C0C4B() end
--- @return boolean
function NETWORK._NETWORK_SPAWN_CONFIG_SEARCH_IN_PROGRESS() end
function NETWORK._0x61BFBAA795E712AD() end
function NETWORK._NETWORK_SPAWN_CONFIG_SET_CANCEL_SEARCH() end
--- @param p0 number
--- @param p1 number
function NETWORK._0x691E4DE5309EAEFC(p0, p1) end
function NETWORK.NETWORK_START_SOLO_TUTORIAL_SESSION() end
function NETWORK.NETWORK_END_TUTORIAL_SESSION() end
--- @return boolean
function NETWORK.NETWORK_IS_IN_TUTORIAL_SESSION() end
--- @return boolean
function NETWORK.NETWORK_IS_TUTORIAL_SESSION_CHANGE_PENDING() end
--- Old name: _NETWORK_IS_PLAYER_EQUAL_TO_INDEX
--- @param player number
--- @param index number
--- @return boolean
function NETWORK.NETWORK_ARE_PLAYERS_IN_SAME_TUTORIAL_SESSION(player, index) end
--- @param toggle boolean
function NETWORK.NETWORK_ALLOW_ALL_ENTITY_FADING_FOR_INSTANCES(toggle) end
--- @param entity number
--- @param toggle boolean
function NETWORK.NETWORK_ALLOW_ENTITY_FADING_FOR_INSTANCES(entity, toggle) end
--- @param p0 boolean
--- @param p1 boolean
function NETWORK._0xDC6AD5C046F33AB4(p0, p1) end
function NETWORK._0x6C7E04E9DE451789() end
--- @param instanceId number
function NETWORK.NETWORK_SET_LOCAL_PLAYER_PENDING_FAST_INSTANCE_ID(instanceId) end
--- @param player number
--- @return number
function NETWORK._NETWORK_GET_PLAYER_FAST_INSTANCE_ID(player) end
--- @param player number
--- @param toggle boolean
function NETWORK.NETWORK_CONCEAL_PLAYER(player, toggle) end
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_CONCEALED(player) end
--- Note: this native was added in build 1355.30
function NETWORK._0x40FEDB13870042F1() end
--- Note: this native was added in build 1355.30
--- @param p0 number
function NETWORK._0x422F9D6D6C7BC290(p0) end
--- Note: this native was added in build 1311.23, but was only used after build 1436.25
function NETWORK.NETWORK_REQUEST_CLOUD_TUNABLES() end
--- @return boolean
function NETWORK.NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING() end
--- @return number
function NETWORK.NETWORK_GET_TUNABLE_CLOUD_CRC() end
--- @param tunableContext number
--- @param tunableName number
--- @return boolean
function NETWORK.NETWORK_DOES_TUNABLE_EXIST(tunableContext, tunableName) end
--- @param tunableContext number
--- @param tunableName number
--- @param value any
--- @return boolean
function NETWORK.NETWORK_ACCESS_TUNABLE_INT(tunableContext, tunableName, value) end
--- @param tunableContext number
--- @param tunableName number
--- @return boolean
function NETWORK.NETWORK_ACCESS_TUNABLE_BOOL(tunableContext, tunableName) end
--- @param tunableContext number
--- @param tunableName number
--- @param defaultValue number
--- @return number
function NETWORK.NETWORK_TRY_ACCESS_TUNABLE_INT_HASH(tunableContext, tunableName, defaultValue) end
--- @param tunableContext number
--- @param tunableName number
--- @param defaultValue number
--- @return number
function NETWORK.NETWORK_TRY_ACCESS_TUNABLE_FLOAT_HASH(tunableContext, tunableName, defaultValue) end
--- @param tunableContext number
--- @param tunableName number
--- @param defaultValue boolean
--- @return boolean
function NETWORK.NETWORK_TRY_ACCESS_TUNABLE_BOOL_HASH(tunableContext, tunableName, defaultValue) end
--- @param netHandle number
--- @param p1 number
function NETWORK._0x894B5ECAB45D2342(netHandle, p1) end
--- @param netID number
function NETWORK.NETWORK_DISABLE_PROXIMITY_MIGRATION(netID) end
--- @return boolean
function NETWORK._COMMERCE_STORE_IS_OPEN() end
--- @return boolean
function NETWORK._COMMERCE_STORE_IS_ENABLED() end
--- @param id number
--- @return boolean
function NETWORK.CLOUD_HAS_REQUEST_COMPLETED(id) end
--- @param id number
--- @return boolean
function NETWORK.CLOUD_DID_REQUEST_SUCCEED(id) end
--- @param paramName string
--- @return boolean
function NETWORK._GET_LAUNCH_PARAM_EXISTS(paramName) end
--- @param paramName string
--- @return string
function NETWORK.GET_LAUNCH_PARAM_VALUE(paramName) end
--- @param paramName string
--- @param value string
function NETWORK._SET_LAUNCH_PARAM_VALUE(paramName, value) end
--- @param paramName string
function NETWORK._CLEAR_LAUNCH_PARAM(paramName) end
--- @return string
function NETWORK._GET_LAUNCH_PARAM_STRING() end
--- @param params string
function NETWORK._SET_LAUNCH_PARAM_STRING(params) end
--- Old name: _CLEAR_LAUNCH_PARAMS
function NETWORK.CLEAR_SERVICE_EVENT_ARGUMENTS() end
--- @param ugcRequestId number
--- @return boolean
function NETWORK.UGC_IS_REQUEST_PENDING(ugcRequestId) end
--- @param ugcRequestId number
--- @return boolean
function NETWORK.UGC_HAS_REQUEST_FINISHED(ugcRequestId) end
--- @param ugcRequestId number
--- @return boolean
function NETWORK.UGC_DID_REQUEST_SUCCEED(ugcRequestId) end
--- @param ugcRequestId number
--- @return boolean
function NETWORK._0xCD53E6CBF609C012(ugcRequestId) end
--- Returns ugcRequestId
--- @param p0 number
--- @param maxGet number
--- @param contentTypeName string
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function NETWORK._UGC_QUERY_BY_CONTENT_TYPE(p0, maxGet, contentTypeName, p3, p4, p5) end
--- Returns ugcRequestId
--- @param categoryType number
--- @param p1 number
--- @param maxGet number
--- @param contentTypeName string
--- @param p4 number
--- @param p5 boolean
--- @return number
function NETWORK._UGC_QUERY_BY_CATEGORY(categoryType, p1, maxGet, contentTypeName, p4, p5) end
--- Returns ugcRequestId
--- @param contentId string
--- @param latestVersion boolean
--- @param contentTypeName string
--- @return number
function NETWORK._UGC_QUERY_BY_CONTENT_ID(contentId, latestVersion, contentTypeName) end
--- @param contentId string
--- @return boolean
function NETWORK._UGC_IS_BOOK_MARKED(contentId) end
--- @param ugcRequestId number
function NETWORK.UGC_CLEAR_QUERY_RESULTS(ugcRequestId) end
--- @param ugcRequestId number
--- @return boolean
function NETWORK.UGC_QUERY_WAS_FORCE_CANCELLED(ugcRequestId) end
--- @param ugcRequestId number
--- @return number
function NETWORK.UGC_QUERY_GET_CONTENT_NUM(ugcRequestId) end
--- @param p0 number
--- @param index number
--- @param gamerHandle number
--- @return number
function NETWORK._UGC_QUERY_GET_CREATOR_HANDLE(p0, index, gamerHandle) end
--- @param p0 number
--- @param index number
--- @return string
function NETWORK._UGC_QUERY_GET_OWNER_ID(p0, index) end
--- @param p0 number
--- @param index number
--- @return string
function NETWORK._UGC_QUERY_GET_NAME(p0, index) end
--- @param p0 number
--- @param index number
--- @return string
function NETWORK._UGC_QUERY_GET_ROOT_CONTENT_ID(p0, index) end
--- @param p0 number
--- @param index number
--- @return string
function NETWORK._UGC_QUERY_GET_PLAYLIST_NAME(p0, index) end
--- @param p0 number
--- @param index number
--- @return number
function NETWORK._UGC_QUERY_GET_MISSION_DESC_HASH(p0, index) end
--- Returns string for GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return string
function NETWORK._UGC_QUERY_GET_CREATOR_PHOTO(p0, p1, p2) end
--- @param p0 number
--- @param index number
--- @param p2 number
function NETWORK._UGC_QUERY_GET_DATE(p0, index, p2) end
--- @param p0 number
--- @param p1 number
--- @return number
function NETWORK._UGC_QUERY_GET_POSIX_UPDATED_DATE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function NETWORK._UGC_QUERY_GET_POSIX_PUBLISHED_DATE(p0, p1) end
--- @param p0 number
--- @param index number
--- @param p2 number
--- @return number
function NETWORK._UGC_QUERY_GET_VERSION(p0, index, p2) end
--- @param p0 number
--- @param index number
--- @return number
function NETWORK._UGC_QUERY_GET_LANGUAGE(p0, index) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function NETWORK._UGC_QUERY_GET_PUBLISHED(p0, p1) end
--- @param p0 number
--- @param index number
--- @param p2 number
--- @return number
function NETWORK._UGC_QUERY_GET_RATING(p0, index, p2) end
--- @param p0 number
--- @param index number
--- @param p2 number
--- @return number
function NETWORK._0x5F0E99071582DECA(p0, index, p2) end
--- @param p0 number
--- @param index number
--- @return boolean
function NETWORK.UGC_QUERY_GET_CONTENT_HAS_PLAYER_RECORD(p0, index) end
--- @param p0 number
--- @param index number
--- @return boolean
function NETWORK._UGC_QUERY_GET_BOOK_MARKED(p0, index) end
--- Checks if the user has ROS privilege 14.
--- @return boolean
function NETWORK._UGC_HAS_PRIVILEGE() end
--- @param contentTypeName string
--- @param contentId string
--- @param fileId number
--- @param fileVersion number
--- @param languageId number
--- @return number
function NETWORK.UGC_REQUEST_CONTENT_DATA_FROM_PARAMS(contentTypeName, contentId, fileId, fileVersion, languageId) end
--- @param description number
--- @return number
function NETWORK.UGC_REQUEST_CACHED_DESCRIPTION(description) end
--- @param description number
--- @return boolean
function NETWORK.UGC_IS_DESCRIPTION_REQUEST_IN_PROGRESS(description) end
--- @param description number
--- @return boolean
function NETWORK.UGC_HAS_DESCRIPTION_REQUEST_FINISHED(description) end
--- @param description number
--- @return boolean
function NETWORK.UGC_DID_DESCRIPTION_REQUEST_SUCCEED(description) end
--- @param description number
--- @param length number
--- @return string
function NETWORK.UGC_GET_CACHED_DESCRIPTION(description, length) end
--- @param description number
--- @return boolean
function NETWORK.UGC_RELEASE_CACHED_DESCRIPTION(description) end
function NETWORK.UGC_RELEASE_ALL_CACHED_DESCRIPTIONS() end
--- @param p0 boolean
function NETWORK.UGC_SET_QUERY_DATA_FROM_OFFLINE(p0) end
--- @param languageId number
--- @return boolean
function NETWORK.UGC_IS_LANGUAGE_SUPPORTED(languageId) end
--- @param p0 string
--- @param p1 number
--- @param p2 number
--- @return number
function NETWORK._0xD4022C7286B0DFA2(p0, p1, p2) end
--- Returns false if pedshot push failed
--- @param texture string
--- @param personaPhotoType number
--- @param formatIndex number
--- @return boolean
function NETWORK._NETWORK_PERSONA_PHOTO_WRITE_SC_PROFILE(texture, personaPhotoType, formatIndex) end
--- Returns false if pedshot push failed
--- @param texture string
--- @param playerSlot number
--- @param p2 number
--- @param personaPhotoLocalCacheType number
--- @return boolean
function NETWORK._NETWORK_PERSONA_PHOTO_WRITE_LOCAL(texture, playerSlot, p2, personaPhotoLocalCacheType) end
--- _NETWORK_IS_T* - _NETWORK_RE*
--- @return boolean
function NETWORK._NETWORK_IS_PREVIOUS_UPLOAD_PENDING() end
--- @return boolean
function NETWORK._0xCC4E72C339461ED1() end
--- Only used in R* SP Scripts
--- @param player number
--- @param personaPhotoLocalCacheType number
--- @return string
function NETWORK._REQUEST_PEDSHOT_TEXTURE_LOCAL_BACKUP_DOWNLOAD(player, personaPhotoLocalCacheType) end
--- Only used in R* SP Script map_app_event_handler
--- @param gamerHandle number
--- @param p1 number
--- @return string
function NETWORK._REQUEST_PEDSHOT_TEXTURE_LOCAL_DOWNLOAD(gamerHandle, p1) end
--- @param gamerHandle number
--- @param p1 number
--- @return string
function NETWORK._REQUEST_PEDSHOT_TEXTURE_MULTIPLAYER_DOWNLOAD(gamerHandle, p1) end
--- @param name string
--- @return boolean
function NETWORK._TEXTURE_DOWNLOAD_TEXTURE_NAME_IS_VALID(name) end
--- Returns textureDownloadId
--- @param gamerHandle number
--- @param filePath string
--- @param name string
--- @param p3 boolean
--- @return number
function NETWORK.TEXTURE_DOWNLOAD_REQUEST(gamerHandle, filePath, name, p3) end
--- Returns textureDownloadId
--- @param gamerHandle number
--- @param p1 number
--- @param name string
--- @param p3 boolean
--- @return number
function NETWORK._MUGSHOT_TEXTURE_DOWNLOAD_REQUEST(gamerHandle, p1, name, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
--- @return number
function NETWORK.UGC_TEXTURE_DOWNLOAD_REQUEST(p0, p1, p2, p3, p4, p5) end
--- @param playerSlot number
--- @param personaPhotoLocalCacheType number
--- @return number
function NETWORK._LOCAL_PLAYER_PEDSHOT_TEXTURE_DOWNLOAD_REQUEST(playerSlot, personaPhotoLocalCacheType) end
--- @param textureDownloadId number
function NETWORK.TEXTURE_DOWNLOAD_RELEASE(textureDownloadId) end
--- @param name string
function NETWORK._TEXTURE_DOWNLOAD_RELEASE_BY_NAME(name) end
--- @param textureDownloadId number
--- @return string
function NETWORK.TEXTURE_DOWNLOAD_GET_NAME(textureDownloadId) end
--- 0 = succeeded
--- 1 = pending
--- 2 = failed
--- @param textureDownloadId number
--- @return number
function NETWORK.GET_STATUS_OF_TEXTURE_DOWNLOAD(textureDownloadId) end
--- @return number
function NETWORK._PEDMUGSHOT_GET_STATUS() end
--- @return boolean
function NETWORK._PEDMUGSHOT_TAKE() end
--- @return number
function NETWORK._PEDMUGSHOT_REQUEST_SEND() end
function NETWORK._0x814729078AED6D30() end
--- @return boolean
function NETWORK.NETWORK_HAVE_ROS_BANNED_PRIV() end
--- @param index number
--- @return boolean
function NETWORK.NETWORK_HAS_ROS_PRIVILEGE(index) end
--- Always returns -1. Seems to be XB1 specific.
--- @param gamerHandle number
--- @return number
function NETWORK.NETWORK_START_USER_CONTENT_PERMISSIONS_CHECK(gamerHandle) end
--- @param toggle boolean
function NETWORK._NETWORK_AUTO_SESSION_SET_ALLOWED_TO_SPLIT(toggle) end
--- @return boolean
function NETWORK.NETWORK_AUTO_SESSION_IS_ALLOWED_TO_MERGE() end
--- @param toggle boolean
--- @param p1 number
--- @param p2 number
function NETWORK._NETWORK_AUTO_SESSION_SET_ALLOWED_TO_MERGE(toggle, p1, p2) end
--- @return boolean
function NETWORK._NETWORK_AUTO_SESSION_IS_AUTO_WARP_DISABLED() end
--- @param toggle boolean
function NETWORK._NETWORK_AUTO_SESSION_SET_AUTO_WARP_ENABLED(toggle) end
--- @param p0 any
--- @return boolean
function NETWORK.NETWORK_AUTO_SESSION_CAN_SPLIT_SESSION(p0) end
--- @param playersToTake number
--- @param maxInstancePlayers number
--- @param sessionFlags number
--- @param bucketId number
--- @return boolean
function NETWORK.NETWORK_AUTO_SESSION_SPLIT_SESSION(playersToTake, maxInstancePlayers, sessionFlags, bucketId) end
--- @return boolean
function NETWORK._NETWORK_AUTO_SESSION_IS_PROCESSING_SESSION_SPLIT() end
--- @return boolean
function NETWORK._NETWORK_AUTO_SESSION_SPLIT_SESSION_SUCCESSFUL() end
--- @return boolean
function NETWORK._NETWORK_AUTO_SESSION_IS_INSTANCED_SESSION() end
function NETWORK.NETWORK_AUTO_SESSION_FINISH_INSTANCE() end
--- Note: this native was added in build 1311.23
function NETWORK._0xFD8112109A96877C() end
--- @param player number
--- @param p1 number
function NETWORK._0x5A91BCEF74944E93(player, p1) end
--- Note: this native was added in build 1311.23
--- @return number
function NETWORK._0xFB3205788F8AFA3F() end
--- Note: this native was added in build 1311.23
--- @param p0 number
function NETWORK._0x335AF56613CA0F49(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 number
--- @return boolean
function NETWORK._0x9E5A47744C0F0376(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 number
function NETWORK._0xD3B6EBC6C3D77D44(p0) end
--- Note: this native was added in build 1311.23
--- @param p0 number
function NETWORK._0xA7670F7991099680(p0) end
--- Note: this native was added in build 1311.23
function NETWORK._0x7673C0D2C5CDAC55() end
--- Note: this native was added in build 1311.23
--- @param p0 number
--- @param p1 number
--- @param p2 number
function NETWORK._0x3CBD6565D9C3B133(p0, p1, p2) end
--- Note: this native was added in build 1311.23
--- @param p0 number
--- @param p1 number
function NETWORK._0x0D183D8490EE4366(p0, p1) end
--- Note: this native was added in build 1311.23
--- @param p0 number
function NETWORK._0xC1968045EEB563B7(p0) end
--- @return boolean
function NETWORK.NETWORK_AUTO_SESSION_IS_OBJECT_CREATION_PAUSED() end
--- @return boolean
function NETWORK._0x0B6B4507AC5EA8B8() end
--- @return boolean
function NETWORK.NETWORK_IS_RESETTING_POPULATION() end
--- @param p0 boolean
--- @param p1 number
--- @return boolean
function NETWORK.NETWORK_RESET_POPULATION(p0, p1) end
--- @param toggle boolean
function NETWORK.NETWORK_DISABLE_LEAVE_REMOTE_PED_BEHIND(toggle) end
--- @param p0 boolean
function NETWORK._0x3034C77C79A58880(p0) end
--- Old name: _NETWORK_ALLOW_LOCAL_ENTITY_ATTACHMENT
--- @param entity number
--- @param toggle boolean
function NETWORK.NETWORK_ALLOW_REMOTE_ATTACHMENT_MODIFICATION(entity, toggle) end
--- nullsub, doesn't do anything
--- @param player number
function NETWORK.NETWORK_SHOW_CHAT_RESTRICTION_MSC(player) end
--- nullsub, doesn't do anything
function NETWORK.NETWORK_SHOW_PSN_UGC_RESTRICTION() end
--- Old name: _NETWORK_IS_CONNECTION_ENDPOINT_RELAY_SERVER
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_CONNECTED_VIA_RELAY(player) end
--- Old name: _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_AVERAGE_LATENCY(player) end
--- Same as NETWORK_GET_AVERAGE_LATENCY (0xD414BE129BB81B32)
--- 
--- Old name: _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER_2
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_AVERAGE_PING(player) end
--- Old name: _NETWORK_GET_AVERAGE_PACKET_LOSS_FOR_PLAYER
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_AVERAGE_PACKET_LOSS(player) end
--- Old name: _NETWORK_GET_NUM_UNACKED_FOR_PLAYER
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_NUM_UNACKED_RELIABLES(player) end
--- Old name: _NETWORK_GET_UNRELIABLE_RESEND_COUNT_FOR_PLAYER
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_UNRELIABLE_RESEND_COUNT(player) end
--- Old name: _NETWORK_GET_OLDEST_RESEND_COUNT_FOR_PLAYER
--- @param player number
--- @return number
function NETWORK.NETWORK_GET_HIGHEST_RELIABLE_RESEND_COUNT(player) end
--- nullsub, doesn't do anything
function NETWORK.NETWORK_DUMP_NET_IF_CONFIG() end
--- nullsub, doesn't do anything
function NETWORK.NETWORK_GET_NET_STATISTICS_INFO() end
--- Returns true if the passed value is less than 32.
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_PLAYER_INDEX_VALID(player) end
--- @param player number
--- @return boolean
function NETWORK._GET_PLAYER_WAYPOINT_IS_ACTIVE(player) end
--- @param p0 boolean
function NETWORK._0x455156F47DC6B78C(p0) end
--- @param player number
--- @param damageMultiplier number
function NETWORK._SET_LOCAL_PLAYER_DAMAGE_MULTIPLIER_FOR_PLAYER(player, damageMultiplier) end
--- Old name: _NETWORK_SET_VEHICLE_WHEELS_DESTRUCTIBLE
--- @param entity number
--- @param p1 boolean
function NETWORK.NETWORK_TRIGGER_DAMAGE_EVENT_FOR_ZERO_DAMAGE(entity, p1) end
--- @param p0 number
function NETWORK._0x5CD3AAD8FF9ED121(p0) end
--- @param player number
--- @param type number
function NETWORK._0x51951DE06C0D1C40(player, type) end
--- @param setting number
function NETWORK._0xE3AB5EEFCB6671A2(setting) end
function NETWORK._0x9B39B0555CC692B5() end
--- @param player1 number
--- @param player2 number
--- @return number
function NETWORK._0xFE53B1F8D43F19BF(player1, player2) end
--- @param player1 number
--- @param player2 number
--- @return boolean
function NETWORK._0x862C5040F4888741(player1, player2) end
--- nullsub, doesn't do anything
function NETWORK._0x2CD41AC000E6F611() end
--- nullsub, doesn't do anything
function NETWORK._0xACC44768AF229042() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
function NETWORK._0x7E300B5B86AB1D1A(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- @param player number
--- @return number
function NETWORK.GET_UNIQUE_INT_FOR_PLAYER(player) end
--- @param toggle boolean
function NETWORK._0x780A13F780A13F1B(toggle) end
--- @param player number
--- @param trackedPlayer number
--- @return boolean
function NETWORK._NETWORK_IS_TRACKED_PLAYER_VISIBLE(player, trackedPlayer) end
--- @param player number
--- @return boolean
function NETWORK.NETWORK_IS_AIM_CAM_ACTIVE(player) end
--- @param ctx number
--- @param lh number
--- @param ec number
--- @param h number
function NETWORK._NETWORK_ALERT(ctx, lh, ec, h) end
--- Note: this native was added in build 1311.23
--- @param ctx number
--- @param ec number
--- @param ex boolean
--- @param ro boolean
function NETWORK._0x19447FCAE97704DC(ctx, ec, ex, ro) end
--- nullsub, doesn't do anything
--- @param p0 string
function NETWORK._0x2C4E98DDA475364F(p0) end
--- @param p0 number
--- @param p1 number
function NETWORK._0x3F0ABAE38A0515AD(p0, p1) end
--- @param p0 number
--- @return number
function NETWORK._0x3F2EE18A3E294801(p0) end
--- @param toggle boolean
function NETWORK._SET_SOCIAL_MATCHMAKING_ALLOWED(toggle) end
--- @return boolean
function NETWORK._GET_SOCIAL_MATCHMAKING_ALLOWED() end
--- @param p0 number
--- @return boolean
function NETWORK.NETWORK_AWARD_HAS_REACHED_MAXCLAIM(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function NETWORK._0x271F95E55C663B8B(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function NETWORK._0x64A36BA85CE01A81(p0, p1, p2, p3) end
--- @param p0 number
--- @return number
function NETWORK._0xE10F2D7715ABABEC(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function NETWORK._0x7A8E8DF782B47EB0(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function NETWORK._0x77B299E8799B1332(p0, p1, p2) end
--- @param p0 number
--- @return number
function NETWORK._0x923346025512DFB7(p0) end
--- @return number
function NETWORK._NETWORK_GET_XP() end
--- @return number
function NETWORK._NETWORK_GET_RANK() end
--- @param toggle boolean
function NETWORK.NETWORK_SET_RECENT_GAMERS_ENABLED(toggle) end
--- @return boolean
function NETWORK._0x273E04A3A7AD1F2D() end
--- @param player number
--- @param p1 number
function NETWORK._NETWORK_ADD_PLAYER_TO_RECENT_GAMERS_LIST(player, p1) end
--- @param p0 number
--- @param playerCount number
--- @return boolean
function NETWORK.NETWORK_REQUEST_RECENT_GAMER_NAMES(p0, playerCount) end
--- @return boolean
function NETWORK._NETWORK_IS_RECENT_GAMER_NAMES_REQUEST_IN_PROGRESS() end
--- @return boolean
function NETWORK._NETWORK_DID_RECENT_GAMER_NAMES_REQUEST_SUCCEED() end
--- @return number
function NETWORK._NETWORK_GET_NUM_RECENT_GAMERS() end
--- @param p0 number
--- @param p1 number
--- @param outData number
--- @param dataSize number
--- @return boolean
function NETWORK.NETWORK_GET_RECENT_GAMER_NAMES(p0, p1, outData, dataSize) end
function NETWORK._0x49CF17A564918E8D() end
--- @param p0 number
function NETWORK._0xD637D327080CD86E(p0) end
function NETWORK._0x564552C6AF1EEAB1() end
function NETWORK.NETWORK_ACTIVITY_RESET_TO_IDLE() end
--- @param netPlaylistActivity number
function NETWORK.NETWORK_ACTIVITY_SET_CURRENT(netPlaylistActivity) end
--- Returns CGameConfig->ConfigOnlineServices->RosTitleName (see gameconfig.xml)
--- @return string
function NETWORK._NETWORK_GET_ROS_TITLE_NAME() end
--- @param player number
--- @param reportType number
--- @param description string
--- @param horseName string
function NETWORK._REPORT_PLAYER(player, reportType, description, horseName) end

OBJECT = {}

--- @param modelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param isNetwork boolean
--- @param bScriptHostObj boolean
--- @param dynamic boolean
--- @param p7 boolean
--- @param p8 boolean
--- @return number
function OBJECT.CREATE_OBJECT(modelHash, x, y, z, isNetwork, bScriptHostObj, dynamic, p7, p8) end
--- @param modelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param isNetwork boolean
--- @param bScriptHostObj boolean
--- @param dynamic boolean
--- @param p7 boolean
--- @return number
function OBJECT.CREATE_OBJECT_NO_OFFSET(modelHash, x, y, z, isNetwork, bScriptHostObj, dynamic, p7) end
--- Deletes the specified object, then sets the handle pointed to by the pointer to NULL.
--- @param object number
function OBJECT.DELETE_OBJECT(object) end
--- @param object number
--- @param p1 boolean
--- @return boolean
function OBJECT.PLACE_OBJECT_ON_GROUND_PROPERLY(object, p1) end
--- @param object number
--- @param toX number
--- @param toY number
--- @param toZ number
--- @param speedX number
--- @param speedY number
--- @param speedZ number
--- @param collision boolean
--- @return boolean
function OBJECT.SLIDE_OBJECT(object, toX, toY, toZ, speedX, speedY, speedZ, collision) end
--- @param object number
--- @param targettable boolean
function OBJECT.SET_OBJECT_TARGETTABLE(object, targettable) end
--- @param object number
--- @param targettable boolean
function OBJECT._SET_OBJECT_TARGETTABLE_2(object, targettable) end
--- When p1 and p2 are true you can focus on the object (similar to when you focus a ped)
--- @param object number
--- @param p1 boolean
--- @param p2 boolean
function OBJECT._SET_OBJECT_TARGETTABLE_FOCUS(object, p1, p2) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xF6E88489B4E6EBE5(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xE157A8A336C7F04A(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x46CBCF0E98A4E156(p0, p1) end
--- missionScriptObject - if true won't return mission script objects
--- scriptHostObject - if true won't return script host objects
--- networkObject - if true won't return networked objects
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param modelHash number
--- @param missionScriptObject boolean
--- @param scriptHostObject boolean
--- @param networkObject boolean
--- @return number
function OBJECT.GET_CLOSEST_OBJECT_OF_TYPE(x, y, z, radius, modelHash, missionScriptObject, scriptHostObject, networkObject) end
--- @param p0 number
--- @return boolean
function OBJECT.HAS_OBJECT_BEEN_BROKEN(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param modelHash number
--- @param p5 number
--- @return boolean
function OBJECT.HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_BROKEN(p0, p1, p2, p3, modelHash, p5) end
--- Old name: _GET_OBJECT_OFFSET_FROM_COORDS
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param heading number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @return { x: number, y: number, z: number }
function OBJECT.GET_OFFSET_FROM_COORD_AND_HEADING_IN_WORLD_COORDS(xPos, yPos, zPos, heading, xOffset, yOffset, zOffset) end
--- Registers a door, hashes: https://github.com/femga/rdr3_discoveries/tree/master/doorHashes
--- @param doorHash number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param threadId number
--- @param p5 number
--- @param p6 boolean
function OBJECT._ADD_DOOR_TO_SYSTEM_NEW(doorHash, p1, p2, p3, threadId, p5, p6) end
--- @param doorHash number
--- @return boolean
function OBJECT._IS_DOOR_REGISTERED_WITH_NETWORK(doorHash) end
--- @param doorHash number
function OBJECT.REMOVE_DOOR_FROM_SYSTEM(doorHash) end
--- Door lock states:
--- enum eDoorState
--- {
--- DOORSTATE_INVALID = -1,
--- DOORSTATE_UNLOCKED,
--- DOORSTATE_LOCKED_UNBREAKABLE,
--- DOORSTATE_LOCKED_BREAKABLE,
--- DOORSTATE_HOLD_OPEN_POSITIVE,
--- DOORSTATE_HOLD_OPEN_NEGATIVE
--- };
--- @param doorHash number
--- @param state number
function OBJECT.DOOR_SYSTEM_SET_DOOR_STATE(doorHash, state) end
--- @param doorHash number
--- @return number
function OBJECT.DOOR_SYSTEM_GET_DOOR_STATE(doorHash) end
--- @param doorHash number
--- @param rate number
function OBJECT.DOOR_SYSTEM_SET_AUTOMATIC_RATE(doorHash, rate) end
--- @param doorHash number
--- @param distance number
function OBJECT.DOOR_SYSTEM_SET_AUTOMATIC_DISTANCE(doorHash, distance) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function OBJECT._0xB3B1546D23DF8DE1(p0, p1, p2, p3, p4) end
--- Sets the ajar angle of a door.
--- Ranges from -1.0 to 1.0, and 0.0 is closed / default.
--- @param doorHash number
--- @param ajar number
--- @param forceUpdate boolean
function OBJECT.DOOR_SYSTEM_SET_OPEN_RATIO(doorHash, ajar, forceUpdate) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x3A77DAE8B4FD7586(p0, p1) end
--- @param doorHash number
--- @param p1 boolean
function OBJECT._DOOR_SYSTEM_SET_ABLE_TO_CHANGE_OPEN_RATIO_WHILE_LOCKED(doorHash, p1) end
--- Returns true if door is alredy registered with owner
--- @param doorHash number
--- @return boolean
function OBJECT._IS_DOOR_REGISTERED_WITH_OWNER(doorHash) end
--- @param doorHash number
function OBJECT._DOOR_SYSTEM_CHANGE_SCRIPT_OWNER(doorHash) end
--- @param doorHash number
--- @return number
function OBJECT._DOOR_SYSTEM_GET_AUTOMATIC_RATE(doorHash) end
--- @param p0 number
--- @param p1 number
--- @return number
function OBJECT._0x6E2AA80BB0C03728(p0, p1) end
--- _ALLOW_* - _ATTACH_*
--- @param doorHash number
--- @param disable boolean
function OBJECT._DOOR_SYSTEM_SET_AUTOMATIC_STATE(doorHash, disable) end
--- @param doorHash number
--- @return number
function OBJECT.DOOR_SYSTEM_GET_OPEN_RATIO(doorHash) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x7F458B543006C8FE(p0, p1) end
--- @param p0 number
--- @return number
function OBJECT._0xACD4F9831DFAD7F5(p0) end
--- @param p0 number
function OBJECT._0x0C0A373D181BF900(p0) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xA93F925F1942E434(p0, p1) end
--- @param p0 number
--- @return number
function OBJECT._0x4D8611DFE1126478(p0) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x57C242543B7B8FB9(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x4AE07EBA3462C5D5(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x22031584496CFB70(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xC07B91B996C1DE89(p0, p1) end
--- @param doorHash number
--- @return boolean
function OBJECT.IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash) end
--- @param doorHash number
--- @return boolean
function OBJECT.IS_DOOR_CLOSED(doorHash) end
--- Params: p1 = 23 in R* Scripts
--- @param object number
--- @param p1 number
--- @return number
function OBJECT._0x0943113E02322164(object, p1) end
--- @param p0 number
--- @return number
function OBJECT._0x614D0B4533F842D3(p0) end
--- @param doorHash number
--- @param p1 boolean
function OBJECT._DOOR_SYSTEM_FORCE_SHUT(doorHash, p1) end
--- @param p0 number
--- @return number
function OBJECT._0xEBA314768FB35D58(p0) end
--- @param p0 number
function OBJECT._0x5230BF34EB0EC645(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param hash number
--- @param p5 boolean
--- @return boolean
function OBJECT.DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS(x, y, z, radius, hash, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 boolean
--- @param p11 boolean
--- @return boolean
function OBJECT.IS_POINT_IN_ANGLED_AREA(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) end
--- @param object number
--- @param toggle boolean
function OBJECT.SET_OBJECT_ALLOW_LOW_LOD_BUOYANCY(object, toggle) end
--- Adjust the physics parameters of a prop, or otherwise known as "object". This is useful for simulated gravity.
--- 
--- Other parameters seem to be unknown.
--- 
--- p2: seems to be weight and gravity related. Higher value makes the obj fall faster. Very sensitive?
--- p3: seems similar to p2
--- p4: makes obj fall slower the higher the value
--- p5: similar to p4
--- @param object number
--- @param weight number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param gravity number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param buoyancy number
function OBJECT.SET_OBJECT_PHYSICS_PARAMS(object, weight, p2, p3, p4, p5, gravity, p7, p8, p9, p10, buoyancy) end
--- @param p0 number
--- @param p1 boolean
--- @return number
function OBJECT.GET_OBJECT_FRAGMENT_DAMAGE_HEALTH(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function OBJECT._0x235C863DA77BD88D(p0, p1, p2) end
--- @param object number
--- @param toggle boolean
function OBJECT.SET_ACTIVATE_OBJECT_PHYSICS_AS_SOON_AS_IT_IS_UNFROZEN(object, toggle) end
--- @param object number
--- @param p1 number
--- @param p2 boolean
function OBJECT.BREAK_OBJECT_FRAGMENT_CHILD(object, p1, p2) end
--- @param object number
function OBJECT.BREAK_ALL_OBJECT_FRAGMENT_BONES(object) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xAAACF33CBF9B990A(p0, p1) end
--- @param object number
--- @param bone number
function OBJECT._DAMAGE_BONE_ON_PROP(object, bone) end
--- @param object number
function OBJECT.FIX_OBJECT_FRAGMENT(object) end
--- @param p0 number
--- @return number
function OBJECT._0x58DE624FA7FB0E7F(p0) end
--- @param p0 number
function OBJECT._0x491439AEF410A2FC(p0) end
--- @param object number
--- @param scale number
function OBJECT._SET_OBJECT_BREAK_SCALE(object, scale) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xCEAB54F4632C6EF6(p0, p1) end
--- @param object number
function OBJECT.TRACK_OBJECT_VISIBILITY(object) end
--- @param object number
--- @return boolean
function OBJECT.IS_OBJECT_VISIBLE(object) end
--- @param object number
--- @param enabled boolean
function OBJECT.SET_OBJECT_TAKES_DAMAGE_FROM_COLLIDING_WITH_BUILDINGS(object, enabled) end
--- @param enabled boolean
function OBJECT.ALLOW_DAMAGE_EVENTS_FOR_NON_NETWORKED_OBJECTS(enabled) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x6579860A5558524A(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xDFA1237F5228263F(p0, p1) end
--- @param object number
--- @return number
function OBJECT._GET_LIGHT_INTENSITY_FROM_OBJECT(object) end
--- @param object number
--- @param lightIntensity number
function OBJECT._SET_LIGHT_INTENSITY_FOR_OBJECT(object, lightIntensity) end
--- Params: value = 0.0 - 586.67 (?)
--- @param object number
--- @param value number
function OBJECT._SET_LIGHT_TRANSLUCENCY_FOR_OBJECT(object, value) end
--- @param object number
--- @param disable boolean
function OBJECT._SET_LIGHT_SCATTERING_DISABLED_FOR_OBJECT(object, disable) end
--- @param p0 number
--- @param p1 number
function OBJECT._0x7FCD49388BC9B775(p0, p1) end
--- @param p0 number
--- @return number
function OBJECT._0xFA99E8E575F2FEF8(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param name string
--- @return number
function OBJECT.GET_RAYFIRE_MAP_OBJECT(x, y, z, radius, name) end
--- @param object number
--- @param state number
function OBJECT.SET_STATE_OF_RAYFIRE_MAP_OBJECT(object, state) end
--- @param object number
--- @return number
function OBJECT.GET_STATE_OF_RAYFIRE_MAP_OBJECT(object) end
--- @param object number
--- @return boolean
function OBJECT.DOES_RAYFIRE_MAP_OBJECT_EXIST(object) end
--- @param object number
--- @return number
function OBJECT.GET_RAYFIRE_MAP_OBJECT_ANIM_PHASE(object) end
--- https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/Placement%20Flags
--- https://github.com/femga/rdr3_discoveries/blob/master/objects/pickup_list.lua
--- @param pickupHash number
--- @param x number
--- @param y number
--- @param z number
--- @param flags number
--- @param p5 number
--- @param p6 boolean
--- @param modelHash number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @return number
function OBJECT.CREATE_PICKUP(pickupHash, x, y, z, flags, p5, p6, modelHash, p8, p9, p10) end
--- flags: see CREATE_PICKUP
--- @param pickupHash number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param flags number
--- @param p8 number
--- @param p9 number
--- @param p10 boolean
--- @param modelHash number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @return number
function OBJECT.CREATE_PICKUP_ROTATE(pickupHash, posX, posY, posZ, rotX, rotY, rotZ, flags, p8, p9, p10, modelHash, p12, p13, p14) end
--- flags: see CREATE_PICKUP
--- @param pickupHash number
--- @param x number
--- @param y number
--- @param z number
--- @param flags number
--- @param amount number
--- @param customModel number
--- @param createAsScriptObject boolean
--- @param scriptHostObject boolean
--- @param customAmmoType number
--- @param p10 number
--- @return number
function OBJECT.CREATE_AMBIENT_PICKUP(pickupHash, x, y, z, flags, amount, customModel, createAsScriptObject, scriptHostObject, customAmmoType, p10) end
--- @param pickupHash number
--- @param x number
--- @param y number
--- @param z number
--- @param placeOnGround boolean
--- @param modelHash number
--- @return number
function OBJECT.CREATE_PORTABLE_PICKUP(pickupHash, x, y, z, placeOnGround, modelHash) end
--- @param pickupObject number
--- @param ped number
function OBJECT.ATTACH_PORTABLE_PICKUP_TO_PED(pickupObject, ped) end
--- @param pickupObject number
function OBJECT.DETACH_PORTABLE_PICKUP_FROM_PED(pickupObject) end
--- @param pickupObject number
--- @param toggle boolean
function OBJECT._HIDE_PICKUP_OBJECT(pickupObject, toggle) end
--- @param modelHash number
--- @param p1 number
function OBJECT.SET_MAX_NUM_PORTABLE_PICKUPS_CARRIED_BY_PLAYER(modelHash, p1) end
--- @param p0 number
--- @return number
function OBJECT._0x3E2616E7EA539480(p0) end
--- @param toggle boolean
function OBJECT.SET_LOCAL_PLAYER_CAN_COLLECT_PORTABLE_PICKUPS(toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return { x: number, y: number, z: number }
function OBJECT.GET_SAFE_PICKUP_COORDS(p0, p1, p2, p3, p4, p5) end
--- @param pickup number
--- @return { x: number, y: number, z: number }
function OBJECT.GET_PICKUP_COORDS(pickup) end
--- @param pickupHash number
function OBJECT.REMOVE_ALL_PICKUPS_OF_TYPE(pickupHash) end
--- @param pickup number
--- @return boolean
function OBJECT.HAS_PICKUP_BEEN_COLLECTED(pickup) end
--- @param pickup number
function OBJECT.REMOVE_PICKUP(pickup) end
--- @param pickupObject number
function OBJECT.SET_PICKUP_DO_NOT_AUTO_PLACE_ON_GROUND(pickupObject) end
--- @param pickup number
--- @return boolean
function OBJECT.DOES_PICKUP_EXIST(pickup) end
--- @param pickupObject number
--- @return boolean
function OBJECT.DOES_PICKUP_OBJECT_EXIST(pickupObject) end
--- @param pickup number
--- @return number
function OBJECT.GET_PICKUP_OBJECT(pickup) end
--- @param object number
--- @return boolean
function OBJECT.IS_OBJECT_A_PORTABLE_PICKUP(object) end
--- @param pickupHash number
--- @return boolean
function OBJECT._IS_PICKUP_TYPE_VALID(pickupHash) end
--- @param pickupHash number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function OBJECT.DOES_PICKUP_OF_TYPE_EXIST_IN_AREA(pickupHash, x, y, z, radius) end
--- @param pickup number
--- @param duration number
function OBJECT.SET_PICKUP_REGENERATION_TIME(pickup, duration) end
--- @param p0 number
function OBJECT.FORCE_PICKUP_REGENERATE(p0) end
--- Params: p2 controls whether to make pickups usable/collectable or not in networked games
--- @param player number
--- @param pickupHash number
--- @param isUsable boolean
function OBJECT._SET_NETWORK_PICKUP_USABLE_FOR_PLAYER(player, pickupHash, isUsable) end
--- Maximum amount of pickup models that can be disallowed is 10.
--- 
--- Old name: _SET_LOCAL_PLAYER_CAN_USE_PICKUPS_WITH_THIS_MODEL
--- @param modelHash number
--- @param toggle boolean
function OBJECT.SET_LOCAL_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_WITH_MODEL(modelHash, toggle) end
--- @param p0 number
--- @param p1 number
function OBJECT.BLOCK_PICKUP_FROM_PLAYER_COLLECTION(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT.SET_PICKUP_NOT_LOOTABLE(p0, p1) end
--- _SET_A(MBIENT_PICKUP_?)*
--- @param p0 boolean
function OBJECT._0x1F5E07E14A86FAFC(p0) end
--- @param object number
--- @param p1 number
--- @param p2 boolean
function OBJECT.SET_TEAM_PICKUP_OBJECT(object, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @return number
function OBJECT._0x9F52AD67D1A91BAD(p0, p1) end
--- @param object number
--- @param p1 boolean
--- @param p2 boolean
function OBJECT.PREVENT_COLLECTION_OF_PORTABLE_PICKUP(object, p1, p2) end
--- @param multiplier number
function OBJECT.SET_PICKUP_GENERATION_RANGE_MULTIPLIER(multiplier) end
--- @param p0 number
--- @param p1 number
function OBJECT.SET_PICKUP_UNCOLLECTABLE(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT.SET_PICKUP_HIDDEN_WHEN_UNCOLLECTABLE(p0, p1) end
--- @param lifetime number
function OBJECT._SET_AMBIENT_PICKUP_LIFETIME(lifetime) end
--- @param p0 number
--- @param p1 number
function OBJECT.SET_PICKUP_PARTICLE_FX_SPAWN(p0, p1) end
--- @param p0 number
--- @param p1 number
function OBJECT.SET_PICKUP_PARTICLE_FX_HIGHLIGHT(p0, p1) end
--- @param rewardType number
--- @param suppress boolean
function OBJECT.SUPPRESS_PICKUP_REWARD_TYPE(rewardType, suppress) end
--- @param p0 number
--- @return number
function OBJECT._0x20135AF9C10D2A3D(p0) end
--- @param object number
function OBJECT._SET_PICKUP_COLLECTABLE_ON_MOUNT(object) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xDE116ECFFDD4B997(p0, p1) end
--- @param pickupHash number
--- @return number
function OBJECT.GET_WEAPON_TYPE_FROM_PICKUP_TYPE(pickupHash) end
--- @param pickupHash number
--- @return number
function OBJECT._GET_AMMO_TYPE_FROM_PICKUP_TYPE(pickupHash) end
--- Alt name: _SET_OBJECT_TINT
--- 
--- Old name: _SET_OBJECT_TEXTURE_VARIATION
--- @param object number
--- @param textureVariation number
function OBJECT.SET_OBJECT_TINT_INDEX(object, textureVariation) end
--- Returns float value to be used with _SET_LIGHT_INTENSITY_FOR_OBJECT
--- @param object number
--- @return number
function OBJECT._GET_OBJECT_LIGHT_INTENSITY(object) end
--- @param object number
--- @param opacity number
function OBJECT._SET_OBJECT_BURN_OPACITY(object, opacity) end
--- @param object number
--- @param intensity number
function OBJECT._SET_OBJECT_BURN_INTENSITY(object, intensity) end
--- Seems to mostly have effect on wood-made objects https://imgur.com/a/32oQvOn
--- @param object number
--- @param burnLevel number
--- @param affectAsh boolean
function OBJECT._SET_OBJECT_BURN_LEVEL(object, burnLevel, affectAsh) end
--- @param p0 number
function OBJECT._0x9A74A9CADFA8A598(p0) end
--- @param object number
function OBJECT._RESET_OBJECT_VELOCITY(object) end
--- p2 is usually the same as speed parameter
--- @param object number
--- @param speed number
--- @param p2 number
function OBJECT._SET_OBJECT_BURN_SPEED(object, speed, p2) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xCBFBD38F2E0A263B(p0, p1) end
--- Old name: _GET_PICKUP_HASH
--- @param pickupHash number
--- @return number
function OBJECT.CONVERT_OLD_PICKUP_TYPE_TO_NEW(pickupHash) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
function OBJECT.SET_FORCE_OBJECT_THIS_FRAME(x, y, z, p3) end
--- @param p0 number
--- @param p1 number
--- @return number
function OBJECT._0xD91E55B6C005EB09(p0, p1) end
--- Old name: _MARK_OBJECT_FOR_DELETION
--- @param object number
function OBJECT.ONLY_CLEAN_UP_OBJECT_WHEN_OUT_OF_RANGE(object) end
--- _SET_OBJECT_*
--- @param object number
--- @param p1 number
function OBJECT._0xCAAF2BCCFEF37F77(object, p1) end
--- @param p0 number
--- @return number
function OBJECT._0x08C5825A2932EA7B(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function OBJECT._0x7D4411D6736CD295(p0, p1) end
--- @param p0 number
--- @return number
function OBJECT._0x250EBB11E81A10BE(p0) end
--- @param p0 number
--- @return number
function OBJECT._0x2BF1953C0C21AC88(p0) end
--- @param object number
--- @return boolean
function OBJECT.CREATE_OBJECT_SKELETON(object) end
--- _PRE* or _Q* or _RE*
--- @param object number
function OBJECT._MAKE_ITEM_CARRIABLE(object) end
--- @param p0 number
--- @param p1 number
function OBJECT._0xF65EDE5D02A7A760(p0, p1) end
--- Sets object as auto-jumpable by horse.
--- @param object number
--- @param p1 boolean
function OBJECT._SET_AUTO_JUMPABLE_BY_HORSE(object, p1) end
--- Sets object as not jumpable by horse.
--- @param object number
--- @param p1 boolean
function OBJECT._SET_NOT_JUMPABLE_BY_HORSE(object, p1) end
--- @param object number
--- @param kickable boolean
function OBJECT._SET_OBJECT_KICKABLE(object, kickable) end
--- @param object number
--- @param txdHash number
--- @param p2 number
--- @param p3 number
function OBJECT.SET_CUSTOM_TEXTURES_ON_OBJECT(object, txdHash, p2, p3) end
--- _SET_FORCE* - _SET_LOCAL*
--- @param object number
--- @param name number
function OBJECT._SET_OBJECT_PROMPT_NAME_FROM_GXT_ENTRY(object, name) end
--- _SET_FORCE* - _SET_LOCAL*
--- @param object number
--- @param name string
function OBJECT._SET_OBJECT_PROMPT_NAME(object, name) end
--- _SET_FORCE* - _SET_LOCAL*
--- @param object number
--- @param p1 boolean
function OBJECT._0x3DF1A0A58498E209(object, p1) end

PAD = {}

--- Sets the current control context. Must be called every frame.
--- 
--- context: https://alloc8or.re/rdr3/doc/misc/input_contexts.txt
--- For more information, see common:/data/control/settings.meta
--- https://github.com/femga/rdr3_discoveries/tree/master/Controls
--- @param control number
--- @param context number
function PAD._SET_CONTROL_CONTEXT(control, context) end
--- Gets the current control context. See: _SET_CONTROL_CONTEXT
--- @param control number
--- @return number
function PAD._GET_CURRENT_CONTROL_CONTEXT(control) end
--- @param action number
--- @param control number
--- @return boolean
function PAD._IS_CONTROL_ACTION_VALID(action, control) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_CONTROL_ENABLED(control, action) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_CONTROL_PRESSED(control, action) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_CONTROL_RELEASED(control, action) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_CONTROL_JUST_PRESSED(control, action) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_CONTROL_JUST_RELEASED(control, action) end
--- @param control number
--- @param action number
--- @return number
function PAD.GET_CONTROL_VALUE(control, action) end
--- @param control number
--- @param action number
--- @return number
function PAD.GET_CONTROL_NORMAL(control, action) end
--- @param control number
--- @param action number
--- @return number
function PAD.GET_CONTROL_UNBOUND_NORMAL(control, action) end
--- This is for simulating player input.
--- value is a float value from 0 - 1
--- 
--- control: see IS_CONTROL_ENABLED
--- 
--- Old name: _SET_CONTROL_NORMAL
--- @param control number
--- @param action number
--- @param value number
--- @return boolean
function PAD.SET_CONTROL_VALUE_NEXT_FRAME(control, action, value) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_DISABLED_CONTROL_PRESSED(control, action) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_DISABLED_CONTROL_JUST_PRESSED(control, action) end
--- @param control number
--- @param action number
--- @return boolean
function PAD.IS_DISABLED_CONTROL_JUST_RELEASED(control, action) end
--- @param control number
--- @param action number
--- @return number
function PAD.GET_DISABLED_CONTROL_NORMAL(control, action) end
--- @param control number
--- @param action number
--- @return number
function PAD.GET_DISABLED_CONTROL_UNBOUND_NORMAL(control, action) end
--- Returns time in ms since last input.
--- @param control number
--- @return number
function PAD.GET_CONTROL_HOW_LONG_AGO(control) end
--- @param control number
--- @return number
function PAD._GET_DISABLED_CONTROL_HOW_LONG_AGO(control) end
--- padIndex is not used
--- 
--- Old name: _IS_USING_KEYBOARD
--- @param control number
--- @return boolean
function PAD.IS_USING_KEYBOARD_AND_MOUSE(control) end
--- @param p0 number
--- @param p1 number
--- @return number
function PAD._0x43F35DDB2905D945(p0, p1) end
--- @param p0 number
--- @return number
function PAD._0xBD629C1C4F501C80(p0) end
--- @param control number
--- @return boolean
function PAD.HAVE_CONTROLS_CHANGED(control) end
--- nullsub, doesn't do anything
--- 
--- Old name: _SET_CONTROL_GROUP_COLOR
--- @param control number
--- @param red number
--- @param green number
--- @param blue number
function PAD.SET_CONTROL_LIGHT_EFFECT_COLOR(control, red, green, blue) end
--- nullsub, doesn't do anything
--- @param control number
function PAD.CLEAR_CONTROL_LIGHT_EFFECT(control) end
--- nullsub, doesn't do anything
--- @param control number
--- @param red number
--- @param green number
--- @param blue number
function PAD.SET_CONTROL_LIGHT_EFFECT_FLASHING_COLOR(control, red, green, blue) end
--- Old name: SET_PAD_SHAKE
--- @param control number
--- @param duration number
--- @param frequency number
function PAD.SET_CONTROL_SHAKE(control, duration, frequency) end
--- nullsub, doesn't do anything
--- @param control number
--- @param leftDuration number
--- @param leftFrequency number
--- @param rightDuration number
--- @param rightFrequency number
function PAD.SET_CONTROL_TRIGGER_SHAKE(control, leftDuration, leftFrequency, rightDuration, rightFrequency) end
--- Old name: STOP_PAD_SHAKE
--- @param control number
function PAD.STOP_CONTROL_SHAKE(control) end
--- Old name: SET_PAD_SHAKE_SUPPRESSED_ID
--- @param control number
--- @param uniqueId number
function PAD.SET_CONTROL_SHAKE_SUPPRESSED_ID(control, uniqueId) end
--- Old name: _CLEAR_SUPPRESSED_PAD_RUMBLE
--- @param control number
function PAD.CLEAR_CONTROL_SHAKE_SUPPRESSED_ID(control) end
--- @return boolean
function PAD.IS_LOOK_INVERTED() end
--- @param control number
--- @param action number
function PAD.SET_INPUT_EXCLUSIVE(control, action) end
--- @param control number
--- @param action number
--- @param disableRelatedActions boolean
function PAD.DISABLE_CONTROL_ACTION(control, action, disableRelatedActions) end
--- @param control number
--- @param action number
--- @param enableRelatedActions boolean
function PAD.ENABLE_CONTROL_ACTION(control, action, enableRelatedActions) end
--- @param control number
function PAD.DISABLE_ALL_CONTROL_ACTIONS(control) end
--- rumbleCurve: common_0/data/rumblecurves.meta
--- @param rumbleCurve string
--- @param p1 number
function PAD._0x5F217BC1190503D8(rumbleCurve, p1) end
function PAD._0x709BA8C08C5C008D() end
--- _IS_R* - _IS_S*
--- @return boolean
function PAD._0x1252C029FC8EBB4D() end
--- @param p0 number
function PAD._0x52C68E92D6E23ADD(p0) end

PATHFIND = {}

--- @param xMin number
--- @param yMin number
--- @param zMin number
--- @param xMax number
--- @param yMax number
--- @param zMax number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function PATHFIND.SET_ROADS_IN_AREA(xMin, yMin, zMin, xMax, yMax, zMax, p6, p7, p8) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function PATHFIND.SET_ROADS_IN_ANGLED_AREA(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param volume number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
function PATHFIND.SET_ROADS_IN_VOLUME(volume, p1, p2, p3) end
--- @param volume number
--- @param p1 boolean
function PATHFIND.RESET_ROADS_IN_VOLUME(volume, p1) end
--- @param xMin number
--- @param yMin number
--- @param zMin number
--- @param xMax number
--- @param yMax number
--- @param zMax number
--- @param p6 number
--- @param p7 number
function PATHFIND.SET_ROADS_BACK_TO_ORIGINAL(xMin, yMin, zMin, xMax, yMax, zMax, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function PATHFIND.SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA(p0, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param xMin number
--- @param yMin number
--- @param zMin number
--- @param xMax number
--- @param yMax number
--- @param zMax number
--- @param p6 number
--- @param p7 number
function PATHFIND._0xAFE2AE66F6251C66(xMin, yMin, zMin, xMax, yMax, zMax, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function PATHFIND._0x4358BCF14C91761C(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PATHFIND._0xB03944057FD735BA(p0, p1, p2) end
--- @param xMin number
--- @param yMin number
--- @param zMin number
--- @param xMax number
--- @param yMax number
--- @param zMax number
--- @param p6 number
--- @param p7 number
function PATHFIND._0x6C3F12ECEB6D2E2A(xMin, yMin, zMin, xMax, yMax, zMax, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PATHFIND._0x5A4E1A41E3A02AD0(p0, p1, p2) end
--- @param x number
--- @param y number
--- @param z number
--- @param outPosition number
--- @param nodeType number
--- @param p5 number
--- @param p6 number
--- @return boolean
function PATHFIND.GET_CLOSEST_VEHICLE_NODE(x, y, z, outPosition, nodeType, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function PATHFIND._0xCA27A86CAA4E98ED(p0, p1, p2, p3, p4, p5, p6) end
--- @param x number
--- @param y number
--- @param z number
--- @param outPosition number
--- @param outHeading any
--- @param nodeType number
--- @param p6 number
--- @param p7 number
--- @return boolean
function PATHFIND.GET_CLOSEST_VEHICLE_NODE_WITH_HEADING(x, y, z, outPosition, outHeading, nodeType, p6, p7) end
--- @param x number
--- @param y number
--- @param z number
--- @param nthClosest number
--- @param outPosition number
--- @param unknown1 number
--- @param unknown2 number
--- @param unknown3 number
--- @return boolean
function PATHFIND.GET_NTH_CLOSEST_VEHICLE_NODE(x, y, z, nthClosest, outPosition, unknown1, unknown2, unknown3) end
--- @param x number
--- @param y number
--- @param z number
--- @param nth number
--- @param nodetype number
--- @param p5 number
--- @param p6 number
--- @return number
function PATHFIND.GET_NTH_CLOSEST_VEHICLE_NODE_ID(x, y, z, nth, nodetype, p5, p6) end
--- @param x number
--- @param y number
--- @param z number
--- @param nthClosest number
--- @param outPosition number
--- @param heading any
--- @param unknown1 number
--- @param unknown2 number
--- @param unknown3 number
--- @param unknown4 number
--- @return boolean
function PATHFIND.GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING(x, y, z, nthClosest, outPosition, heading, unknown1, unknown2, unknown3, unknown4) end
--- Returns the nth closest vehicle node with a heading to a coord
--- @param x number
--- @param y number
--- @param z number
--- @param nthClosest number
--- @param returnHeading any
--- @param returnNumLanes any
--- @param nodeFlags number
--- @param zMeasureMult number
--- @param zTolerance number
--- @return number
function PATHFIND.GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING(x, y, z, nthClosest, returnHeading, returnNumLanes, nodeFlags, zMeasureMult, zTolerance) end
--- @param x number
--- @param y number
--- @param z number
--- @param desiredX number
--- @param desiredY number
--- @param desiredZ number
--- @param nthClosest number
--- @param outPosition number
--- @param outHeading any
--- @param nodetype number
--- @param p10 number
--- @param p11 number
--- @return boolean
function PATHFIND.GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION(x, y, z, desiredX, desiredY, desiredZ, nthClosest, outPosition, outHeading, nodetype, p10, p11) end
--- Returns true if the id is non zero.
--- @param vehicleNodeId number
--- @return boolean
function PATHFIND.IS_VEHICLE_NODE_ID_VALID(vehicleNodeId) end
--- @param nodeId number
--- @param outPosition number
function PATHFIND.GET_VEHICLE_NODE_POSITION(nodeId, outPosition) end
--- @param nodeID number
--- @return boolean
function PATHFIND.GET_VEHICLE_NODE_IS_SWITCHED_OFF(nodeID) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 any
--- @param p10 boolean
--- @return boolean
function PATHFIND.GET_CLOSEST_ROAD(x, y, z, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param x1 number
--- @param y1 number
--- @param x2 number
--- @param y2 number
--- @return boolean
function PATHFIND.ARE_NODES_LOADED_FOR_AREA(x1, y1, x2, y2) end
--- Old name: REQUEST_PATHS_PREFER_ACCURATE_BOUNDINGSTRUCT
--- @param x1 number
--- @param y1 number
--- @param x2 number
--- @param y2 number
--- @return boolean
function PATHFIND.REQUEST_PATH_NODES_IN_AREA_THIS_FRAME(x1, y1, x2, y2) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param minLanes number
--- @param avoidDeadEnds boolean
--- @param avoidHighways boolean
--- @param outPosition number
--- @param nodeId any
--- @return boolean
function PATHFIND.GET_RANDOM_VEHICLE_NODE(x, y, z, radius, minLanes, avoidDeadEnds, avoidHighways, outPosition, nodeId) end
--- @param nodeId number
--- @param x number
--- @param y number
--- @param z number
--- @param outCoords number
--- @param heading any
function PATHFIND._GET_SPAWN_DATA_FOR_ROAD_NODE(nodeId, x, y, z, outCoords, heading) end
--- Gets a value indicating whether the specified position is on a road.
--- @param x number
--- @param y number
--- @param z number
--- @param vehicle number
--- @return boolean
function PATHFIND.IS_POINT_ON_ROAD(x, y, z, vehicle) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param unknown boolean
--- @param p7 number
function PATHFIND.SET_PED_PATHS_IN_AREA(x1, y1, z1, x2, y2, z2, unknown, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PATHFIND._0xE5EF9DE716FF737E(p0, p1, p2) end
--- @param x number
--- @param y number
--- @param z number
--- @param onGround boolean
--- @param outPosition number
--- @param flags number
--- @return boolean
function PATHFIND.GET_SAFE_COORD_FOR_PED(x, y, z, onGround, outPosition, flags) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function PATHFIND.SET_PED_PATHS_BACK_TO_ORIGINAL(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PATHFIND._0xCF213A5FC3ABFC08(p0, p1, p2) end
--- @param x number
--- @param y number
--- @param radius number
function PATHFIND.ADD_NAVMESH_REQUIRED_REGION(x, y, radius) end
--- Returns whether navmesh for the region is loaded.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @return boolean
function PATHFIND.IS_NAVMESH_LOADED_IN_AREA(x1, y1, z1, x2, y2, z2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function PATHFIND.GET_NUM_NAVMESHES_EXISTING_IN_AREA(p0, p1, p2, p3, p4, p5) end
--- @param name string
--- @return boolean
function PATHFIND._NAVMESH_ACTIVATE_SWAP(name) end
--- @param name string
--- @return boolean
function PATHFIND._NAVMESH_DEACTIVATE_SWAP(name) end
--- @param name string
--- @return boolean
function PATHFIND._NAVMESH_IS_SWAP_ACTIVE(name) end
--- @param name string
--- @return boolean
function PATHFIND._NAVMESH_DOES_SWAP_EXIST(name) end
--- @param p0 string
--- @return number
function PATHFIND._0x5A3B54ADDF5472A3(p0) end
--- @param p0 string
--- @param p1 number
--- @return number
function PATHFIND._0xA33914B00CA55756(p0, p1) end
--- @param vehicle number
--- @param navMeshName string
--- @return boolean
function PATHFIND._NAVMESH_ASSIGN_NAVMESH_TO_VEHICLE(vehicle, navMeshName) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 boolean
--- @param p8 number
--- @return number
function PATHFIND.ADD_NAVMESH_BLOCKING_OBJECT(p0, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param object number
function PATHFIND.REMOVE_NAVMESH_BLOCKING_OBJECT(object) end
--- @param object number
--- @return boolean
function PATHFIND.DOES_NAVMESH_BLOCKING_OBJECT_EXIST(object) end
--- @param volume number
--- @param flags number
--- @return boolean
function PATHFIND._ADD_NAVMESH_BLOCKING_VOLUME(volume, flags) end
--- @param volume number
function PATHFIND._REMOVE_NAVMESH_BLOCKING_VOLUME(volume) end
--- @param volume number
--- @return boolean
function PATHFIND._DOES_NAVMESH_BLOCKING_VOLUME_EXIST(volume) end
--- @param p0 number
--- @param p1 number
function PATHFIND._0x6DAD6630AE4A74CB(p0, p1) end
--- Starts a nav mesh query for a path between coordinates with a given ped and returns a handle to be validated by _NAVMESH_REQUESTED_PATH_QUERY_STATUS and then _NAVMESH_REQUESTED_PATH_WAYPOINTS_FOUND
--- 
--- Only bit flag values used in scripts are 0, 23, and 29. 23 is used with dogs and horses. 29 with legendary animals.
--- @param ped number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param bitFlag number
--- @return number
function PATHFIND.NAVMESH_REQUEST_PATH(ped, x1, y1, z1, x2, y2, z2, bitFlag) end
--- Called in scripts after finished with requested pathes. Immediately resets all values connected to the path handle except query status, which changes from 1 to 2 before eventually becoming fully invalidated to 0.
--- @param path number
--- @return boolean
function PATHFIND._NAVMESH_CLEAR_REQUESTED_PATH(path) end
--- Returns eNavMeshQueryStatus
--- enum eNavMeshQueryStatus
--- {
--- QS_NOT_FOUND,
--- QS_COMPLETE,
--- QS_PENDING
--- };
--- 
--- It appears that the pending state of 2 is at least also used when cleaning up a request (_NAVMESH_CLEAR_REQUESTED_PATH) or if a request never completes. Eventually queries are invalidated and return 0.
--- 
--- Old name: _NAVMESH_QUERY_STATUS, _NAVMESH_REQUESTED_QUERY_STATUS
--- @param path number
--- @return number
function PATHFIND._NAVMESH_REQUESTED_PATH_QUERY_STATUS(path) end
--- Returns true if a path of waypoints was found. Waypoints can be retrieved with _NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS and _NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX
--- @param path number
--- @return boolean
function PATHFIND._NAVMESH_REQUESTED_PATH_WAYPOINTS_FOUND(path) end
--- Returns a bit flag for seemingly terrain within the waypoints in the path. Checked against bit value 2 to match water in the path, seems to always contain at least 1 though regardless of location/ped.
--- @param path number
--- @return number
function PATHFIND._NAVMESH_REQUESTED_PATH_WAYPOINTS_TERRAIN(path) end
--- Returns the number of waypoints for a requested path (NAVMESH_REQUEST_PATH) if the query is completed (_NAVMESH_REQUESTED_PATH_QUERY_STATUS). For use with _NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX
--- @param path number
--- @return number
function PATHFIND._NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS(path) end
--- Returns a vector3 waypoint at the specified index for a path. Use _NAVMESH_REQUESTED_PATH_NUM_WAYPOINTS to get available indexes.
--- @param path number
--- @param waypointIndex number
--- @return { x: number, y: number, z: number }
function PATHFIND._NAVMESH_REQUESTED_PATH_WAYPOINT_BY_INDEX(path, waypointIndex) end
--- Returns CGameWorldHeightMap's minimum Z value at specified point (grid node).
--- @param x number
--- @param y number
--- @return number
function PATHFIND.GET_APPROX_FLOOR_FOR_POINT(x, y) end
--- @param multiplier number
function PATHFIND.SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME(multiplier) end
--- nullsub, doesn't do anything
--- @param toggle boolean
function PATHFIND.SET_IGNORE_NO_GPS_FLAG(toggle) end
--- @return number
function PATHFIND.GET_GPS_BLIP_ROUTE_LENGTH() end
--- @param p0 number
--- @return number
function PATHFIND._0xEFC535C9FAF563B3(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PATHFIND._0x665B21666351CB37(p0, p1, p2) end
--- @return boolean
function PATHFIND.GET_GPS_BLIP_ROUTE_FOUND() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function PATHFIND._0x54F4D7B6670FBB5A(p0, p1, p2, p3, p4) end
--- @param p0 number
function PATHFIND._0x34C9AF25649172D0(p0) end
--- GPS disabled zone: p1 = 0
--- Clearing GPS disabled zone: p1 = 1
--- @param volume number
--- @param p1 number
--- @param p2 number
function PATHFIND._0xF2A2177AC848B3A8(volume, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function PATHFIND._0x4BDEBEA5702B97A9(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
function PATHFIND._0x264E9A5CD78C338F(p0) end
--- @param p0 number
function PATHFIND._0x869A7015BD4606E9(p0) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param p6 number
--- @return number
function PATHFIND._SIMULATED_ROUTE_CREATE(x1, y1, z1, x2, y2, z2, p6) end
--- @param p0 number
function PATHFIND._SIMULATED_ROUTE_DELETE(p0) end
--- @param p0 number
--- @return boolean
function PATHFIND._SIMULATED_ROUTE_EXISTS(p0) end
--- @param p0 number
--- @return boolean
function PATHFIND.SIMULATED_ROUTE_IS_LOADED(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PATHFIND.SIMULATED_ROUTE_TRAVEL_TO_POINT(p0, p1, p2) end
--- @param p0 number
--- @return number
function PATHFIND.SIMULATED_ROUTE_GET_ETA(p0) end

PED = {}

--- @param modelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param isNetwork boolean
--- @param bScriptHostPed boolean
--- @param p7 boolean
--- @param p8 boolean
--- @return number
function PED.CREATE_PED(modelHash, x, y, z, heading, isNetwork, bScriptHostPed, p7, p8) end
--- Deletes the specified ped, then sets the handle pointed to by the pointer to NULL.
--- @param ped number
function PED.DELETE_PED(ped) end
--- @param ped number
--- @param p1 number
function PED._SET_REMOVE_PED_NETWORKED(ped, p1) end
--- Only used in SP
--- _SET_REMOVE_PED*
--- @param ped number
--- @param p1 number
function PED._0x7C08E7CB8D951B70(ped, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._SET_PED_TO_BE_REMOVED(ped, p1, p2, p3, p4) end
--- @param ped number
--- @param isNetwork boolean
--- @param bScriptHostPed boolean
--- @param copyHeadBlendFlag boolean
--- @return number
function PED.CLONE_PED(ped, isNetwork, bScriptHostPed, copyHeadBlendFlag) end
--- Copies ped's components and props to targetPed.
--- Can be used to clear anything from a ped by cloning it, including bullet holes.
--- @param ped number
--- @param targetPed number
function PED.CLONE_PED_TO_TARGET(ped, targetPed) end
--- Gets a value indicating whether the specified ped is in the specified vehicle.
--- @param ped number
--- @param vehicle number
--- @param atGetIn boolean
--- @return boolean
function PED.IS_PED_IN_VEHICLE(ped, vehicle, atGetIn) end
--- @param ped number
--- @param modelHash number
--- @return boolean
function PED.IS_PED_IN_MODEL(ped, modelHash) end
--- Gets a value indicating whether the specified ped is in any vehicle.
--- @param ped number
--- @param atGetIn boolean
--- @return boolean
function PED.IS_PED_IN_ANY_VEHICLE(ped, atGetIn) end
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function PED._0x9851DE7AEC10B4E1(x, y, z, p3, p4, p5) end
--- Gets a value indicating whether this ped's health is below its injured threshold.
--- 
--- The default threshold is 100.
--- @param ped number
--- @return boolean
function PED.IS_PED_INJURED(ped) end
--- Gets a value indicating whether this ped's health is below its fatally injured threshold. The default threshold is 100.
--- If the handle is invalid, the function returns true.
--- @param ped number
--- @return boolean
function PED.IS_PED_FATALLY_INJURED(ped) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function PED.IS_PED_DEAD_OR_DYING(ped, p1) end
--- Bleedout profiles:
--- Animal_FastBleedout
--- Animal_Generic
--- Human_FastBleedout
--- Human_Generic
--- Human_Mission
--- 
--- For more information, see common/data/ai/peddamageinfo.meta
--- @param ped number
--- @param bleedoutProfile number
function PED._SET_PED_BLEEDOUT_PROFILE(ped, bleedoutProfile) end
--- @param ped number
--- @return boolean
function PED.IS_PED_AIMING_FROM_COVER(ped) end
--- Returns whether the specified ped is reloading.
--- @param ped number
--- @return boolean
function PED.IS_PED_RELOADING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_A_PLAYER(ped) end
--- Returns true only if it's a player ped and an animal as well.
--- _IS_ANY_* - _IS_CONTROL_*
--- @param ped number
--- @return boolean
function PED._IS_ANIMAL_CONTROLLED_BY_A_PLAYER(ped) end
--- seatIndex:
--- enum eVehicleSeat
--- {
--- VS_ANY_PASSENGER = -2,
--- VS_DRIVER,
--- VS_FRONT_RIGHT,
--- VS_BACK_LEFT,
--- VS_BACK_RIGHT,
--- VS_EXTRA_LEFT_1,
--- VS_EXTRA_RIGHT_1,
--- VS_EXTRA_LEFT_2,
--- VS_EXTRA_RIGHT_2,
--- VS_EXTRA_LEFT_3,
--- VS_EXTRA_RIGHT_3,
--- VS_NUM_SEATS
--- };
--- @param vehicle number
--- @param modelHash number
--- @param seatIndex number
--- @param p3 boolean
--- @param p4 boolean
--- @param p5 boolean
--- @return number
function PED.CREATE_PED_INSIDE_VEHICLE(vehicle, modelHash, seatIndex, p3, p4, p5) end
--- @param ped number
--- @param heading number
function PED.SET_PED_DESIRED_HEADING(ped, heading) end
--- Old name: _FREEZE_PED_CAMERA_ROTATION
--- @param ped number
function PED.FORCE_ALL_HEADING_VALUES_TO_ALIGN(ped) end
--- angle is ped's view cone
--- @param ped number
--- @param otherPed number
--- @param angle number
--- @return boolean
function PED.IS_PED_FACING_PED(ped, otherPed, angle) end
--- Notes: The function only returns true while the ped is:
--- A.) Swinging a random melee attack (including pistol-whipping)
--- 
--- B.) Reacting to being hit by a melee attack (including pistol-whipping)
--- 
--- C.) Is locked-on to an enemy (arms up, strafing/skipping in the default fighting-stance, ready to dodge+counter).
--- 
--- You don't have to be holding the melee-targeting button to be in this stance; you stay in it by default for a few seconds after swinging at someone. If you do a sprinting punch, it returns true for the duration of the punch animation and then returns false again, even if you've punched and made-angry many peds
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_MELEE_COMBAT(ped) end
--- Only used in R* SP Script winter1: p1 = 5000
--- _SET_PED_M*
--- @param ped number
--- @param p1 number
--- @return number
function PED._0x6DB875AFC584FA32(ped, p1) end
--- @param ped number
--- @return boolean
function PED.IS_PED_STOPPED(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_SITTING(ped) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0x09D7AFD3716DA8E1(ped, p1) end
--- The time of the shot must've occured <= shotNearTimeMs for this native to return true
--- @param player number
--- @param ped number
--- @param shotNearTimeMs number
--- @return boolean
function PED._DETECT_PLAYER_SHOT_NEAR_PED(player, ped, shotNearTimeMs) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0xB7DBB2986B87E230(ped, p1) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0xD355E2F1BB41087E(ped, p1) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param p6 boolean
--- @param p7 boolean
--- @return boolean
function PED.IS_ANY_PED_SHOOTING_IN_AREA(x1, y1, z1, x2, y2, z2, p6, p7) end
--- Returns whether the specified ped is shooting.
--- @param ped number
--- @return boolean
function PED.IS_PED_SHOOTING(ped) end
--- Returns time since the specified ped last shot, in seconds. (fPlayerJustShotTime)
--- @param ped number
--- @return number
function PED.TIME_SINCE_PED_LAST_SHOT(ped) end
--- accuracy = 0-100, 100 being perfectly accurate
--- @param ped number
--- @param accuracy number
function PED.SET_PED_ACCURACY(ped, accuracy) end
--- @param ped number
--- @return number
function PED.GET_PED_ACCURACY(ped) end
--- @param ped number
--- @param modelHash number
--- @return boolean
function PED.IS_PED_MODEL(ped, modelHash) end
--- Forces the ped to fall back and kills it.
--- 
--- It doesn't really explode the ped's head but it kills the ped
--- @param ped number
--- @param weaponHash number
function PED.EXPLODE_PED_HEAD(ped, weaponHash) end
--- Same as SET_PED_ARMOUR, but ADDS 'amount' to the armor the Ped already has.
--- @param ped number
--- @param amount number
function PED.ADD_ARMOUR_TO_PED(ped, amount) end
--- Used in Script Function MP_MAIN_OFFLINE__INITIALIZE_FLOW & PROCESS_GENERIC_PLAYER_INITIALIZATION
--- @param ped number
--- @param p1 number
function PED._0x5CA20FBE49891BBD(ped, p1) end
--- Ped: The ped to warp.
--- vehicle: The vehicle to warp the ped into.
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- @param ped number
--- @param vehicle number
--- @param seatIndex number
function PED.SET_PED_INTO_VEHICLE(ped, vehicle, seatIndex) end
--- @param ped number
function PED.SET_PED_MOVE_ANIMS_BLEND_OUT(ped) end
--- Not implemented.
--- @param ped number
--- @param p1 number
function PED._0x606D529DADA3C940(ped, p1) end
--- Returns true/false if the ped is/isn't male.
--- @param ped number
--- @return boolean
function PED.IS_PED_MALE(ped) end
--- Returns true/false if the ped is/isn't humanoid.
--- @param ped number
--- @return boolean
function PED.IS_PED_HUMAN(ped) end
--- Gets the vehicle the specified Ped is in.
--- 
--- If the Ped is not in a vehicle and includeLastVehicle is true, the vehicle they were last in is returned.
--- @param ped number
--- @param lastVehicle boolean
--- @return number
function PED.GET_VEHICLE_PED_IS_IN(ped, lastVehicle) end
--- Resets the value for the last vehicle driven by the Ped.
--- @param ped number
function PED.RESET_PED_LAST_VEHICLE(ped) end
--- @param p0 boolean
function PED._0xC6136B40FFFB778B(p0) end
--- Only used in SP R* Script train_robbery3: p1 = CLIPSET@VEH_TRAIN@HANDCART@BASE_PANIC & CLIPSET@VEH_TRAIN@HANDCART@BASE_PANIC_JOHN
--- @param ped number
--- @param clipset string
function PED._0x6E8B87139854022D(ped, clipset) end
--- @return number
function PED._GET_NUM_FREE_SLOTS_IN_PED_POOL() end
--- @param numPeds number
function PED._RESERVE_AMBIENT_PEDS(numPeds) end
--- @param numPeds number
function PED._RESERVE_AMBIENT_PEDS_TOTAL(numPeds) end
--- @param numPeds number
function PED._UNRESERVE_AMBIENT_PEDS(numPeds) end
--- @return number
function PED._GET_NUM_RESERVED_AMBIENT_PEDS_DESIRED() end
--- @return number
function PED._GET_NUM_RESERVED_AMBIENT_PEDS_READY() end
--- @return boolean
function PED._ARE_ALL_AMBIENT_PED_RESERVATIONS_READY() end
--- @param multiplier number
function PED._SET_SCENARIO_PED_RANGE_MULTIPLIER_THIS_FRAME(multiplier) end
--- Only used in SP R* Script loanshark_hunter
--- @param volume number
function PED._0x9E3842E5DAD69F80(volume) end
--- @param multiplier number
function PED._SET_AMBIENT_PED_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function PED.SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function PED._SET_AMBIENT_ANIMAL_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function PED._SET_AMBIENT_HUMAN_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function PED._SET_SCENARIO_ANIMAL_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function PED._SET_SCENARIO_HUMAN_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- Sets the scenario ped density to the given config.
--- 
--- Valid configs:
--- - BLACKWATER
--- - DEFAULT
--- - NEWBORDEAUX
--- - RHODES
--- - STRAWBERRY
--- - TUMBLEWEED
--- - VALENTINE
--- - VANHORN
--- 
--- See common/data/ai/densityscoringconfigs.meta for more information.
--- @param configHash number
function PED._SET_SCENARIO_PED_DENSITY_THIS_FRAME(configHash) end
function PED.INSTANTLY_FILL_PED_POPULATION() end
--- Only used in R* Script tg_p (CLIENT__AMBIENT_POPULATION - Player starts the populate in region)
--- Does nearly the same thing as INSTANTLY_FILL_PED_POPULATION?
function PED._0xBFA6B7731C3BAF02() end
--- @return boolean
function PED.IS_INSTANTLY_FILL_PED_POPULATION_FINISHED() end
--- The distance between these points, is the diagonal of a box (remember it's 3D).
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
function PED.SET_PED_NON_CREATION_AREA(x1, y1, z1, x2, y2, z2) end
function PED.CLEAR_PED_NON_CREATION_AREA() end
--- @param volume number
--- @param entity number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param p8 number
--- @param p9 boolean
function PED._ATTACH_VOLUME_TO_ENTITY(volume, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, p8, p9) end
--- @param volume number
--- @param entity number
function PED._DETACH_VOLUME_FROM_ENTITY(volume, entity) end
--- @param ped number
--- @param mount number
--- @param seatIndex number
--- @param p3 boolean
function PED.SET_PED_ONTO_MOUNT(ped, mount, seatIndex, p3) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
function PED._REMOVE_PED_FROM_MOUNT(ped, p1, p2) end
--- @param mount number
--- @param modelHash number
--- @param index number
--- @param p3 boolean
--- @param p4 boolean
--- @param p5 boolean
--- @param p6 boolean
--- @return number
function PED.CREATE_PED_ON_MOUNT(mount, modelHash, index, p3, p4, p5, p6) end
--- @param mount number
--- @param seat number
--- @return boolean
function PED._IS_MOUNT_SEAT_FREE(mount, seat) end
--- @param ped number
--- @return boolean
function PED.IS_PED_ON_MOUNT(ped) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function PED.IS_PED_FULLY_ON_MOUNT(ped, p1) end
--- @param ped number
--- @return number
function PED.GET_MOUNT(ped) end
--- Returns last horse the ped was leading
--- @param ped number
--- @return number
function PED._GET_LAST_LED_MOUNT(ped) end
--- @param ped number
--- @return number
function PED._GET_LAST_MOUNT(ped) end
--- Only used in R* Script nb_stalking_hunter
--- @param ped1 number
--- @param ped2 number
function PED._0xED1C764997A86D5A(ped1, ped2) end
--- _SET_HO*
--- @param ped number
--- @param p1 boolean
function PED._0xB8AB265426CFE6DD(ped, p1) end
--- @param mount number
--- @param player number
--- @return number
function PED._GET_PLAYER_DISMOUNT_TIMESTAMP(mount, player) end
--- @param mount number
--- @param player number
--- @param dismountedTimestamp number
function PED._SET_PLAYER_DISMOUNT_TIMESTAMP(mount, player, dismountedTimestamp) end
--- @param player number
--- @param horseSlot number
function PED._0x6734F0A6A52C371C(player, horseSlot) end
--- @param ped number
--- @param p1 boolean
function PED._0x024EC9B649111915(ped, p1) end
--- @param ped number
--- @param animal number
--- @param p2 boolean
function PED.SET_PED_OWNS_ANIMAL(ped, animal, p2) end
--- @param animal number
--- @return number
function PED._GET_ACTIVE_ANIMAL_OWNER(animal) end
--- Used in Script Functions PLAYER_HORSE_RELEASE_HORSE_TO_AMBIENT_WORLD (p1 = true), HORSE_SETUP_PLAYER_HORSE_ATTRIBUTES (p1 = false)
--- Set to false for player horse in scripts and seems it's only true when releasing/changing a player horse? Cannot determine what effect it has, but it doesn't seem to affect _GET_HORSE_TAMING_STATE
--- @param horse number
--- @param clear boolean
function PED._CLEAR_ACTIVE_ANIMAL_OWNER(horse, clear) end
--- Returns an int based on enum eTamingState
--- 
--- enum eTamingState
--- {
--- ATS_INVALID = 0,
--- ATS_INACTIVE,
--- ATS_TARGET_DETECTED,
--- ATS_CALLED_OUT,
--- ATS_MOUNTABLE,
--- ATS_BEING_PATTED,
--- ATS_BREAKING_ACTIVE,
--- ATS_SPOOKED,
--- ATS_RETREATING,
--- ATS_FLEEING
--- };
--- @param horse number
--- @return number
function PED._GET_HORSE_TAMING_STATE(horse) end
--- @param animal number
--- @param p2 number
function PED._0x54D3CD482742C482(animal, p2) end
--- @param animal number
--- @param p2 number
function PED._0x5CB2EBB467BE3ED6(animal, p2) end
--- @param animal number
--- @param p2 number
function PED._0x9F0F28B42C4EE80A(animal, p2) end
--- @param ped number
--- @param bondingLevel number
function PED._SET_MOUNT_BONDING_LEVEL(ped, bondingLevel) end
--- Note: this native was added in build 1232.40
--- @param ped number
--- @param toggle boolean
function PED._SET_MOUNT_SECURITY_ENABLED(ped, toggle) end
--- Only used in SP R* Script winter1: p1 = Winter1Mount
--- @param ped number
--- @param p1 string
function PED._0x9B65444C07B782BF(ped, p1) end
--- @param ped number
--- @param animal number
--- @return boolean
function PED.IS_ANIMAL_INTERACTION_POSSIBLE(ped, animal) end
--- @param ped number
--- @return boolean
function PED._IS_ANIMAL_INTERACTION_RUNNING(ped) end
--- Used in Script Function NET_CAMP_DOG_CLIENT_HANDLE_ANIMAL_INTERACTION
--- @param ped number
--- @return number
function PED._0x8BE24D74D74C6E9B(ped) end
--- _IS_I* - _IS_L*
--- @param ped number
--- @return boolean
function PED._0x77243ED4F7CAAA55(ped) end
--- Gets a value indicating whether the specified ped is on top of any vehicle.
--- 
--- Return 1 when ped is on vehicle.
--- Return 0 when ped is not on a vehicle.
--- @param ped number
--- @param p1 boolean
--- @return boolean
function PED.IS_PED_ON_VEHICLE(ped, p1) end
--- @param ped number
--- @param vehicle number
--- @return boolean
function PED.IS_PED_ON_SPECIFIC_VEHICLE(ped, vehicle) end
--- @param ped number
function PED._WARP_PED_OUT_OF_VEHICLE(ped) end
--- @param ped number
--- @param amount number
function PED.SET_PED_MONEY(ped, amount) end
--- @param ped number
--- @return number
function PED.GET_PED_MONEY(ped) end
--- @param p0 boolean
function PED.SET_BLOCKING_OF_NON_TEMPORARY_EVENTS_FOR_AMBIENT_PEDS_THIS_FRAME(p0) end
--- @param ped number
--- @param p1 number
function PED._0x34EDDD59364AD74A(ped, p1) end
--- @param ped number
function PED._0x2D976DBDC731DF80(ped) end
--- Detect if ped is sitting in the specified vehicle
--- [True/False]
--- @param ped number
--- @param vehicle number
--- @return boolean
function PED.IS_PED_SITTING_IN_VEHICLE(ped, vehicle) end
--- Detect if ped is in any vehicle
--- [True/False]
--- @param ped number
--- @return boolean
function PED.IS_PED_SITTING_IN_ANY_VEHICLE(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_ON_FOOT(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_PLANTING_BOMB(ped) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @return { x: number, y: number, z: number }
function PED.GET_DEAD_PED_PICKUP_COORDS(ped, p1, p2) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_ANY_BOAT(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_ANY_HELI(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_ANY_PLANE(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_FLYING_VEHICLE(ped) end
--- _IS_PED_FL* - _IS_PED_FU*
--- @param ped number
--- @return boolean
function PED._0x256EDD55C6BE1482(ped) end
--- @param ped number
--- @param outBone any
--- @return boolean
function PED.GET_PED_LAST_DAMAGE_BONE(ped, outBone) end
--- @param ped number
function PED.CLEAR_PED_LAST_DAMAGE_BONE(ped) end
--- enum ePedDamageCleanliness
--- {
--- PED_DAMAGE_CLEANLINESS_POOR,
--- PED_DAMAGE_CLEANLINESS_GOOD,
--- PED_DAMAGE_CLEANLINESS_PERFECT
--- };
--- @param ped number
--- @return number
function PED._GET_PED_DAMAGE_CLEANLINESS(ped) end
--- damageCleanliness: see _GET_PED_DAMAGE_CLEANLINESS
--- @param ped number
--- @param damageCleanliness number
function PED._SET_PED_DAMAGE_CLEANLINESS(ped, damageCleanliness) end
--- Returns true if _GET_PED_DAMAGE_CLEANLINESS was ever lower than 2
--- @param ped number
--- @return boolean
function PED._GET_PED_DAMAGED(ped) end
--- @param ped number
--- @param damaged boolean
function PED._SET_PED_DAMAGED(ped, damaged) end
--- Animal Skin Quality Modifier
--- Params: p2 = 2, p3 = 3 in R* Scripts
--- @param player number
--- @param modifier number
--- @param p2 number
--- @param p3 number
--- @return number
function PED._SET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER(player, modifier, p2, p3) end
--- @param player number
function PED._UPDATE_ANIMAL_DAMAGE_MODIFIER(player) end
--- Returns animal skin quality modifier
--- @param player number
--- @return number
function PED._GET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER(player) end
--- Used in Script Function SATCHEL_COUNT_BREAKDOWN_COMPONENTS
--- @param p0 number
--- @param model number
--- @param damageCleanliness number
--- @param p3 number
--- @return number
function PED._0xB29C553BA582D09E(p0, model, damageCleanliness, p3) end
--- @param p0 number
--- @param ped number
--- @param damageCleanliness number
--- @param p3 number
--- @return boolean
function PED._0x101B45C5F56D970F(p0, ped, damageCleanliness, p3) end
--- Related to dead animals items/loots
--- Notice: skinningQuality is partially calculated using pedQuality
--- @param outInventoryItemArray number
--- @param ped number
--- @param damageCleanliness number
--- @param skinningQuality number
--- @return number
function PED._COMPUTE_SATCHEL_ITEM_FOR_PED_CARCASS(outInventoryItemArray, ped, damageCleanliness, skinningQuality) end
--- @param p0 number
--- @param pedAttached number
--- @param damageCleanliness number
--- @return boolean
function PED.COMPUTE_SATCHEL_ITEM_FOR_PED_DAMAGE(p0, pedAttached, damageCleanliness) end
--- @param value number
function PED.SET_AI_WEAPON_DAMAGE_MODIFIER(value) end
function PED.RESET_AI_WEAPON_DAMAGE_MODIFIER() end
--- _SET_W(EAPON?)*
--- @param ped number
--- @param totalDamage number
function PED._SET_TOTAL_PED_DAMAGE_FROM_AI(ped, totalDamage) end
--- _DELETE_*
--- @param ped number
function PED._0xA6D6F03095C88F59(ped) end
--- _GET_WA*
--- @param ped number
--- @return number
function PED._GET_TOTAL_PED_DAMAGE_FROM_AI(ped) end
--- Old name: _SET_PED_DAMAGE_MODIFIER
--- @param ped number
--- @param damageModifier number
function PED.SET_PED_TO_PLAYER_WEAPON_DAMAGE_MODIFIER(ped, damageModifier) end
--- @param ped number
--- @return number
function PED.GET_PED_TO_PLAYER_WEAPON_DAMAGE_MODIFIER(ped) end
--- @param horse number
--- @param modifier number
function PED._SET_CURRENT_DEFENSE_AGAINST_PLAYERS_MODIFIER(horse, modifier) end
--- Used in Script Function NB_EVENT_OVERRIDE__HANDLE__EVENT_DAMAGE_ENTITY
--- @param ped number
--- @return number
function PED._0x763FA8A9D76EE3A7(ped) end
--- @param modifier number
function PED.SET_AI_MELEE_WEAPON_DAMAGE_MODIFIER(modifier) end
--- @param ped number
--- @param modifier number
function PED._SET_ACCURACY_AGAINST_LOCAL_PLAYER_MODIFIER(ped, modifier) end
--- @param ped number
--- @return number
function PED._GET_ACCURACY_AGAINST_LOCAL_PLAYER_MODIFIER(ped) end
--- @param ped number
--- @param multiplier number
function PED._SET_PED_HEADSHOT_DAMAGE_MULTIPLIER(ped, multiplier) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0xDEE8D30AA5C2E28D(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0xE1B3BE07D3AADDED(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0x32CEDA9A0AB4CEF7(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0x52A24D8A1DA89658(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0x34B5CEAC180A5D6E(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0x4F27603E44A8E4C0(ped, p1, p2) end
--- Changes health bar around heart core icon
--- INITIALISE_NEW_ROLE - Applying Super Jump buffs: p1 = 10, p2 = 0.0f
--- INITIALISE_NEW_ROLE - Clearing up Super Jump buffs: p1 = 10, p2 = 1.0f
--- _SET_D*
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED._0x3FDCC1F8C17E303E(ped, p1, p2) end
--- _SET_D*
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED._0xE50C9816B3F22D8B(ped, p1, p2) end
--- @param ped number
--- @param modifier number
function PED._SET_DEFENSE_MODIFIER_FOR_PED(ped, modifier) end
--- @param ped number
--- @param healthAmount number
function PED._SET_MIN_PED_HEALTH_THRESHOLD(ped, healthAmount) end
--- _SET_H* - _SET_I*
--- @param ped number
--- @param p1 boolean
function PED._0xC5B78E41DCF8227C(ped, p1) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_BE_TARGETTED(ped, toggle) end
--- @param ped number
--- @param team number
--- @param toggle boolean
function PED.SET_PED_CAN_BE_TARGETTED_BY_TEAM(ped, team, toggle) end
--- @param ped number
--- @param player number
--- @param toggle boolean
function PED.SET_PED_CAN_BE_TARGETTED_BY_PLAYER(ped, player, toggle) end
--- @param ped number
--- @param player number
--- @param flag number
--- @param enable boolean
function PED._SET_INTERACTION_LOCKON_FLAG(ped, player, flag, enable) end
--- @param ped number
--- @return boolean
function PED.IS_PED_FALLING(ped) end
--- @param ped number
--- @return boolean
function PED._IS_PED_SLIDING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_JUMPING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_CLIMBING(ped) end
--- @param ped number
--- @return boolean
function PED._IS_PED_CLIMBING_LADDER(ped) end
--- _IS_PED_C* - _IS_PED_D*
--- @param ped number
--- @return boolean
function PED._0x577C60BA06D0EA64(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_VAULTING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_DIVING(ped) end
--- Returns true if the ped is currently opening a door (CTaskOpenDoor).
--- 
--- Old name: _IS_PED_OPENING_A_DOOR
--- @param ped number
--- @return boolean
function PED.IS_PED_OPENING_DOOR(ped) end
--- _IS_PED_IN*
--- @param ped number
--- @return boolean
function PED._0x5C6C7C70CA302801(ped) end
--- _IS_PED_J* - _IS_PED_L*
--- @param ped number
--- @return boolean
function PED._0xB91AB3BE7F655D49(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_ANY_TAXI(ped) end
--- @param ped number
--- @param value number
function PED.SET_PED_ID_RANGE(ped, value) end
--- @param ped number
--- @return number
function PED._GET_PED_ID_RANGE(ped) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_HIGHLY_PERCEPTIVE(ped, toggle) end
--- @param ped number
--- @param unk number
function PED.SET_PED_INJURED_ON_GROUND_BEHAVIOUR(ped, unk) end
--- @param ped number
function PED.DISABLE_PED_INJURED_ON_GROUND_BEHAVIOUR(ped) end
--- _SET_ST* - _SET_SW*
--- @param ped number
function PED._0x028E7B3BBA0BD2FC(ped) end
--- _HAS_PED_*
--- @param ped number
--- @return boolean
function PED._0xFA8C10DCE0706D43(ped) end
--- @param ped number
--- @param modifier number
function PED._SET_PED_ANIMAL_DETECTION_MODIFIER(ped, modifier) end
--- Used in Script Function CHECK_IS_PLAYER_SEEN
--- _GET_PED_*
--- @param ped number
--- @return number
function PED._0x2BA9D7BF629F920C(ped) end
--- @param ped number
--- @param value number
function PED.SET_PED_SEEING_RANGE(ped, value) end
--- Used in Script Function AGGRO_SHOULD_PED_HEAR_DEATH
--- _GET_PED_*
--- @param ped number
--- @return number
function PED._0x900CA00CE703E1E2(ped) end
--- @param ped number
--- @param value number
function PED.SET_PED_HEARING_RANGE(ped, value) end
--- @param ped number
--- @param value number
function PED.SET_PED_VISUAL_FIELD_MIN_ANGLE(ped, value) end
--- @param ped number
--- @param value number
function PED.SET_PED_VISUAL_FIELD_MAX_ANGLE(ped, value) end
--- @param ped number
--- @param range number
function PED.SET_PED_VISUAL_FIELD_PERIPHERAL_RANGE(ped, range) end
--- @param ped number
--- @param angle number
function PED.SET_PED_VISUAL_FIELD_CENTER_ANGLE(ped, angle) end
--- _SET_PED_M*
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0x9AB33CB5834885B3(ped, p1, p2, p3, p4) end
--- _SET_PED_O*
--- @param ped number
--- @param p1 number
function PED._0x899DFA0009AC93DE(ped, p1) end
--- _SET_PED_MO*
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0x3A5697B80FED5EBE(ped, p1, p2, p3, p4) end
--- Not implemented.
--- @param ped number
--- @param toggle boolean
--- @param p2 number
--- @param p3 number
function PED.SET_PED_STEALTH_MOVEMENT(ped, toggle, p2, p3) end
--- Returns whether the entity is in stealth mode
--- @param ped number
--- @return boolean
function PED.GET_PED_STEALTH_MOVEMENT(ped) end
--- @param ped number
--- @param state boolean
--- @param p2 number
--- @param immediately boolean
function PED._SET_PED_CROUCH_MOVEMENT(ped, state, p2, immediately) end
--- @param ped number
--- @return boolean
function PED.GET_PED_CROUCH_MOVEMENT(ped) end
--- @param ped number
--- @return boolean
function PED.GET_PED_IS_DOING_COMBAT_ROLL(ped) end
--- Creates a new ped group.
--- Groups can contain up to 8 peds.
--- 
--- The parameter is unused.
--- 
--- Returns a handle to the created group, or 0 if a group couldn't be created.
--- @param taskAllocator number
--- @return number
function PED.CREATE_GROUP(taskAllocator) end
--- @param ped number
--- @param groupId number
--- @param p2 boolean
function PED.SET_PED_AS_GROUP_LEADER(ped, groupId, p2) end
--- @param ped number
--- @param groupId number
function PED.SET_PED_AS_GROUP_MEMBER(ped, groupId) end
--- This only will teleport the ped to the group leader if the group leader teleports (sets coords).
--- 
--- Only works in singleplayer
--- @param pedHandle number
--- @param groupId number
--- @param toggle boolean
function PED.SET_PED_CAN_TELEPORT_TO_GROUP_LEADER(pedHandle, groupId, toggle) end
--- @param groupId number
function PED.REMOVE_GROUP(groupId) end
--- @param ped number
function PED.REMOVE_PED_FROM_GROUP(ped) end
--- @param ped number
--- @param groupId number
--- @param p2 boolean
--- @return boolean
function PED.IS_PED_GROUP_MEMBER(ped, groupId, p2) end
--- @param ped number
--- @param groupId number
--- @return boolean
function PED._IS_PED_GROUP_LEADER(ped, groupId) end
--- @param ped number
--- @return boolean
function PED.IS_PED_HANGING_ON_TO_VEHICLE(ped) end
--- Sets the range at which members will automatically leave the group.
--- @param groupId number
--- @param separationRange number
function PED.SET_GROUP_SEPARATION_RANGE(groupId, separationRange) end
--- _SET_C*
--- @param groupId number
--- @param p1 number
function PED._0x89E59DBD15E21177(groupId, p1) end
--- @param ped number
--- @return boolean
function PED.IS_PED_PRONE(ped) end
--- _IS_PED_IN*
--- @param ped number
--- @return boolean
function PED._IS_PED_INVESTIGATING(ped) end
--- @param ped number
--- @param target number
--- @return boolean
function PED.IS_PED_IN_COMBAT(ped, target) end
--- @param ped number
--- @param target number
--- @return boolean
function PED.CAN_PED_IN_COMBAT_SEE_TARGET(ped, target) end
--- @param ped number
--- @return boolean
function PED.IS_PED_JACKING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_BEING_JACKED(ped) end
--- @param ped number
--- @param weaponType number
--- @return boolean
function PED.IS_PED_BEING_STUNNED(ped, weaponType) end
--- @param ped number
--- @return number
function PED.GET_PEDS_JACKER(ped) end
--- @param ped number
--- @return number
function PED.GET_JACK_TARGET(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_FLEEING(ped) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @return boolean
function PED.IS_PED_IN_COVER(ped, p1, p2) end
--- _IS_PED_M* - _IS_PED_O*
--- @param ped1 number
--- @param ped2 number
--- @param p2 number
--- @return boolean
function PED._0x2DD4E0E26DFAD97D(ped1, ped2, p2) end
--- @param ped number
--- @return boolean
function PED._PED_WAS_KILLED_BY_HEADSHOT(ped) end
--- @param ped number
--- @return boolean
function PED._PED_DUELING_DID_PLAYER_HEADSHOT_OPPONENT(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_COVER_FACING_LEFT(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_GOING_INTO_COVER(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_RESPONDING_TO_THREAT(ped) end
--- Returns kneeling, sitting, squating, and sleeping scenario hashes
--- @param ped number
--- @return number
function PED._GET_ACTIVE_DYNAMIC_SCENARIO_2(ped) end
--- Returns kneeling, sitting, squating, and sleeping scenario hashes
--- @param ped number
--- @return number
function PED._GET_ACTIVE_DYNAMIC_SCENARIO(ped) end
--- @param ped number
--- @param object number
--- @param conditionalAnim string
--- @param p3 string
--- @param p4 string
--- @param p5 boolean
--- @return boolean
function PED._GIVE_PED_SCENARIO_PROP(ped, object, conditionalAnim, p3, p4, p5) end
--- @param ped number
--- @param object number
--- @param conditionalAnim string
--- @param scenarioType number
--- @param p4 number
--- @param p5 boolean
--- @return boolean
function PED.GIVE_PED_HASH_SCENARIO_PROP(ped, object, conditionalAnim, scenarioType, p4, p5) end
--- Only used in SP R* Script rcm_jack2
--- @param ped number
--- @param object number
--- @param p2 string
--- @param p3 string
--- @param p4 boolean
--- @return boolean
function PED._GIVE_PED_SCENARIO_PROP_DYNAMIC(ped, object, p2, p3, p4) end
--- @param ped number
--- @param object number
--- @param p2 string
--- @param p3 string
--- @param p4 string
--- @param p5 boolean
--- @return number
function PED._REQUEST_PROP_SCENARIO_PED(ped, object, p2, p3, p4, p5) end
--- @param ped number
--- @param object number
--- @param p2 string
--- @param scenarioType number
--- @param p4 string
--- @param p5 boolean
--- @return number
function PED._REQUEST_PED_FOR_SCENARIO_TYPE(ped, object, p2, scenarioType, p4, p5) end
--- Gets a registered/attached prop entity for a particular ped. Second parameter will detach the prop entity from the ped if true. Props primarily appear to come from scenarios, such as a broom or hay bale.
--- 
--- Known props: https://pastebin.com/ap2NEJqB
--- @param ped number
--- @param propName string
--- @param detachProp boolean
--- @return number
function PED._GET_PED_REGISTER_PROP(ped, propName, detachProp) end
--- @param ped number
--- @return number
function PED.GET_SEAT_PED_IS_TRYING_TO_ENTER(ped) end
--- Returns the entity that killed the ped
--- 
--- It is best to check if the Ped is dead before asking for its killer.
--- @param ped number
--- @return number
function PED.GET_PED_SOURCE_OF_DEATH(ped) end
--- Returns the hash of the weapon/model/object that killed the ped.
--- @param ped number
--- @return number
function PED.GET_PED_CAUSE_OF_DEATH(ped) end
--- @param ped number
--- @return number
function PED.GET_PED_TIME_OF_DEATH(ped) end
--- @param ped number
--- @param flag number
--- @return number
function PED.COUNT_PEDS_IN_COMBAT_WITH_TARGET(ped, flag) end
--- @param ped number
--- @param itemset number
--- @param flag number
--- @return number
function PED._GET_PEDS_IN_COMBAT_WITH_TARGET(ped, itemset, flag) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param flag number
--- @return number
function PED.COUNT_PEDS_IN_COMBAT_WITH_TARGET_WITHIN_RADIUS(ped, x, y, z, radius, flag) end
--- @param ped number
--- @return number
function PED.GET_CURRENT_TARGET_FOR_PED(ped) end
--- @param ped number
--- @param hash number
function PED.SET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH(ped, hash) end
--- @param modelHash number
--- @return number
function PED._GET_DEFAULT_RELATIONSHIP_GROUP_HASH(modelHash) end
--- @param ped number
--- @param relationshipGroup number
function PED.SET_PED_RELATIONSHIP_GROUP_HASH(ped, relationshipGroup) end
--- @param relationship number
--- @param group1 number
--- @param group2 number
function PED.SET_RELATIONSHIP_BETWEEN_GROUPS(relationship, group1, group2) end
--- @param relationship number
--- @param group1 number
--- @param group2 number
function PED.CLEAR_RELATIONSHIP_BETWEEN_GROUPS(relationship, group1, group2) end
--- The hash of the created relationship group is output in the second parameter.
--- @param name string
--- @param groupHash any
--- @return boolean
function PED.ADD_RELATIONSHIP_GROUP(name, groupHash) end
--- @param groupHash number
function PED.REMOVE_RELATIONSHIP_GROUP(groupHash) end
--- @param ped1 number
--- @param ped2 number
--- @return number
function PED.GET_RELATIONSHIP_BETWEEN_PEDS(ped1, ped2) end
--- @param ped number
--- @return number
function PED.GET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH(ped) end
--- @param ped number
--- @return number
function PED.GET_PED_RELATIONSHIP_GROUP_HASH(ped) end
--- @param group1 number
--- @param group2 number
--- @return number
function PED.GET_RELATIONSHIP_BETWEEN_GROUPS(group1, group2) end
--- Used in Script Function MP_MAIN_OFFLINE__INITIALIZE_GAME
--- _SET_RELATIONSHIP_*
--- @param group number
--- @param p1 boolean
function PED._0xDC91F22F09BC6C2F(group, p1) end
--- @param group number
--- @param p1 boolean
function PED._0x9629FAF6460D35CB(group, p1) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param relationshipGroup number
function PED._0x4E68C7EF706DF35D(ped, x, y, z, p4, relationshipGroup) end
--- Used in R* Script net_fetch (NET_FETCH_UPDATE_RECIPIENT_PROP_ILO_IN_COMBAT) and various SP Scripts
--- Params: p1 = 4/5/6, p5 = 40.f/100.f, coords = Player ped
--- Perhaps returns some distance (Clearing that the local player is able to use ILO while in combat because they are near the recipient but also near hated peds)
--- _GET_NUM_M* - _GET_PEDS_J*
--- @param ped number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 number
--- @param itemset number
--- @return number
function PED._0x3ACCE14DFA6BA8C2(ped, p1, x, y, z, p5, itemset) end
--- @param ped number
--- @param radius number
--- @param maxFriends number
function PED.SET_PED_TO_INFORM_RESPECTED_FRIENDS(ped, radius, maxFriends) end
--- _IS_PED_RE*
--- @param ped number
--- @return boolean
function PED._0x40C9155AF8BC13F3(ped) end
--- Only used in SP Scripts
--- Returns count / index
--- _C*
--- @param shockingEvent number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 any
--- @return number
function PED._0xF4860514AD354226(shockingEvent, x, y, z, p4, p5) end
--- eventType: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- @param ped number
--- @param eventType number
--- @return boolean
function PED.IS_PED_RESPONDING_TO_EVENT(ped, eventType) end
--- Only used in R* SP Scripts
--- _GET_PED_IN*
--- @param ped number
--- @param eventType number
--- @return number
function PED._0x5E9FAF6C513347B4(ped, eventType) end
--- Only used in R* SP Script short_update
--- _GET_TARGET_* - _GET_TRACKED*
--- @param ped number
--- @param eventType number
--- @return number
function PED._0x326F7951EF0D7F75(ped, eventType) end
--- Used for AUDIO / ANIMSCENE (REFERENCE_REGIONAL_CHARACTER)
--- Params: p1 = 0
--- _GET_PED_IN*
--- @param perscharModel number
--- @param p1 number
--- @return number
function PED._0xE76687023D8C8505(perscharModel, p1) end
--- Only used in R* SP Scripts
--- _GET_PLAYER_W* - _GET_RANDOM_*
--- @param ped number
--- @param eventType number
--- @param coords number
--- @return boolean
function PED._0xCB8F4C9343EBE240(ped, eventType, coords) end
--- Used in various R* MP & SP Scripts
--- @param ped number
--- @param patternHash number
function PED.SET_PED_FIRING_PATTERN(ped, patternHash) end
--- Used in R* MP Script fm_mission_controller and various R* SP Scripts for ambush*
--- @param ped number
--- @param patternHash number
function PED._SET_PED_FIRING_PATTERN_2(ped, patternHash) end
--- Only used in R* MP Script fm_mission_controller
--- @param ped number
--- @param patternHash number
function PED._SET_PED_FIRING_PATTERN_3(ped, patternHash) end
--- Params: shootRate = 0 - 1000
--- @param ped number
--- @param shootRate number
function PED.SET_PED_SHOOT_RATE(ped, shootRate) end
--- _SET_PED_TA* - _SET_PED_TO_*
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED._0x3C529A827998F9B3(ped, p1, p2) end
--- Only used in SP R* Scripts
--- Params: p2 = same as p2 of 0x3C529A827998F9B3
--- _SET_PED_TA* - _SET_PED_TO_*
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED._0x1F44B7E283C09EDE(ped, p1, p2) end
--- combatType: https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_FLOATS
--- https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eCombatAttributeFloats
--- @param ped number
--- @param combatType number
--- @param newValue number
function PED.SET_COMBAT_FLOAT(ped, combatType, newValue) end
--- @param ped number
--- @param combatType number
--- @return number
function PED.GET_COMBAT_FLOAT(ped, combatType) end
--- @param groupId number
--- @param hasLeader any
--- @param numberOfFollowers any
function PED.GET_GROUP_SIZE(groupId, hasLeader, numberOfFollowers) end
--- @param groupId number
--- @return boolean
function PED.DOES_GROUP_EXIST(groupId) end
--- _DOES_GROUP_* - _DOES_N*
--- @param groupId number
--- @return boolean
function PED._0x0455546F23FF08E4(groupId) end
--- @param groupId number
--- @return boolean
function PED.IS_GROUP_LOCALLY_CONTROLLED(groupId) end
--- Returns the groupId of which the specified ped is a member of.
--- @param ped number
--- @return number
function PED.GET_PED_GROUP_INDEX(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_GROUP(ped) end
--- _IS_PED_L* - _IS_PED_M*
--- @param ped number
--- @return boolean
function PED._IS_PED_LEADING_ANY_GROUP(ped) end
--- @param ped number
--- @return number
function PED.GET_PLAYER_PED_IS_FOLLOWING(ped) end
--- eFormationType
--- 
--- 0: Default
--- 1: Circle Around Leader
--- 2: Alternative Circle Around Leader
--- 3: Line, with Leader at center
--- @param groupId number
--- @param formationType number
function PED.SET_GROUP_FORMATION(groupId, formationType) end
--- @param groupId number
--- @return number
function PED._GET_GROUP_FORMATION(groupId) end
--- @param groupId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED.SET_GROUP_FORMATION_SPACING(groupId, p1, p2, p3) end
--- @param groupId number
function PED.RESET_GROUP_FORMATION_DEFAULT_SPACING(groupId) end
--- Used to set up bad guy groups in nb_kidnapped R* Script (MP_RE_KIDNAPPED): p1 = 4.f
--- _SET_FORMATION_*
--- @param groupId number
--- @param p1 number
--- @return boolean
function PED._0xB05CC690CDE8A4A9(groupId, p1) end
--- @param groupId number
--- @param x number
--- @param y number
--- @param z number
--- @param position number
function PED.ADD_CUSTOM_FORMATION_LOCATION(groupId, x, y, z, position) end
--- @param groupId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return boolean
function PED.ADD_FORMATION_LOCATION(groupId, p1, p2, p3) end
--- @param groupId number
--- @param radius number
--- @return boolean
function PED.SET_FORMATION_POSITIONS_TARGET_RADIUS(groupId, radius) end
--- @param groupId number
--- @param toggle boolean
function PED._SET_FORMATION_AUTO_ASSIGN_POSITION(groupId, toggle) end
--- @param ped number
--- @param position number
--- @param toggle boolean
function PED._SET_PED_FORMATION_POSITION(ped, position, toggle) end
--- Returns offset (0 < 32) to be used with MISC::SET_BIT
--- _GET_PED_CR*
--- @param groupId number
--- @param ped number
--- @return number
function PED._0x8AF8E647D6B2A649(groupId, ped) end
--- _CLEAR_PED_E* - _CLEAR_PED_L*
--- @param ped number
function PED._0x87C2724A56F66020(ped) end
--- _SET_FORMATION_*
--- @param groupId number
--- @param p1 boolean
function PED._0xD5BD1B5318A81994(groupId, p1) end
--- _SET_PLAYER_CAN_B* - _SET_PLAYER_CAN_U*
--- @param ped number
--- @param p1 boolean
function PED._0x9BBEAF8B0C007F1E(ped, p1) end
--- _SET_PLAYER_N* - _SET_PLAYER_S*
--- @param ped number
--- @param p1 boolean
function PED._0xC99F104BDF8C7F5A(ped, p1) end
--- _SET_PLAYER_SN* - _SET_PLAYER_STAMINA*
--- @param ped number
--- @param p1 number
function PED._0x02E741E19E39628C(ped, p1) end
--- _SET_SCENARIO_PED_* - _SET_SPAWNER_*
--- @param groupId number
--- @param p1 boolean
function PED._0x97C475212B327666(groupId, p1) end
--- _SET_SCENARIO_PED_* - _SET_SPAWNER_*
--- @param groupId number
--- @param p1 boolean
function PED._0x154B7E841AC7412F(groupId, p1) end
--- _SET_FORMATION_*
--- @param groupId number
--- @param p1 boolean
function PED._0x8AFCCC0F18D70018(groupId, p1) end
--- _SET_FORMATION_P*
--- @param groupId number
--- @param p1 number
--- @param p2 number
function PED._0xE1103300F3456DE7(groupId, p1, p2) end
--- _SET_ENABLE_B* - _SET_ENABLE_H*
--- @param groupId number
--- @param p1 boolean
function PED._0xA8A95CECB1906EA2(groupId, p1) end
--- _SET_FORMATION_P*
--- @param groupId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0xDDFAD4DEAA7FA362(groupId, p1, p2, p3, p4) end
--- _SET_FORMATION_P*
--- @param groupId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0x966DE09688A1DE39(groupId, p1, p2, p3, p4) end
--- _SET_FORMATION_P*
--- @param groupId number
--- @param p1 number
function PED._0x7E5185B979706210(groupId, p1) end
--- _SET_SCENARIO_PED_* - _SET_SPAWNER_*
--- @param groupId number
--- @param p1 boolean
function PED._0x40C3524D4ED83554(groupId, p1) end
--- @param groupId number
--- @param p1 boolean
function PED._0x86FAFC18E3D4380C(groupId, p1) end
--- @param groupId number
--- @param p1 boolean
function PED._0x07EA5B053FA60AC7(groupId, p1) end
--- Used in Script Function PLAYER_HEAD_TRACKING_MAINTAIN
--- @param ped number
--- @param targetEntity number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 string
function PED._0xF9CBD46433E36713(ped, targetEntity, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param ped number
--- @return number
function PED.GET_VEHICLE_PED_IS_USING(ped) end
--- @param ped number
--- @return number
function PED.GET_VEHICLE_PED_IS_ENTERING(ped) end
--- @param horse number
--- @return number
function PED._GET_VEHICLE_DRAFT_HORSE_IS_ATTACHED_TO(horse) end
--- @param horse number
--- @return number
function PED._GET_LAST_VEHICLE_DRAFT_HORSE_WAS_ATTACHED_TO(horse) end
--- @param ped number
--- @return number
function PED.GET_SEAT_PED_IS_USING(ped) end
--- @param ped number
--- @return number
function PED._GET_TRANSPORT_PED_IS_SEATED_ON(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_ENTERING_ANY_TRANSPORT(ped) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_GRAVITY(ped, toggle) end
--- Only used in R* Script mob4 combined with SET_ANIMAL_TUNING_BOOL_PARAM
--- _SET_PED_S* - _SET_PED_TARGET_*
--- @param animal number
--- @param toggle boolean
function PED._0x96595B36D6A2279B(animal, toggle) end
--- Only used in R* Script beat_sharp_shooter
--- Blocks ped from swimming underwater
--- @param ped number
--- @param toggle boolean
function PED._SET_PED_IMMERSION_FLAG(ped, toggle) end
--- Only used in R* Script mob4 and rcm_mason4
--- _SET_PED_DEFENSIVE_* - _SET_PED_DESIRED_*
--- @param animal number
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
function PED._0xA90684ED185CCB4B(animal, p1, p2, p3) end
--- @param ped number
--- @param enabled boolean
function PED._FAKE_SET_PED_LOCO_INJURED(ped, enabled) end
--- @param ped number
--- @param pedKiller number
--- @param weapon number
function PED._FORCE_PED_DEATH(ped, pedKiller, weapon) end
--- damages a ped with the given amount
--- @param ped number
--- @param damageAmount number
--- @param damageArmour boolean
--- @param boneId number
--- @param pedKiller number
function PED.APPLY_DAMAGE_TO_PED(ped, damageAmount, damageArmour, boneId, pedKiller) end
--- @param ped number
--- @param toggle boolean
function PED._SET_PED_DESIRES_GROUP(ped, toggle) end
--- @param ped number
--- @return number
function PED.GET_PED_TYPE(ped) end
--- Turns the desired ped into a cop. If you use this on the player ped, you will become almost invisible to cops dispatched for you. You will also report your own crimes, get a generic cop voice, get a cop-vision-cone on the radar, and you will be unable to shoot at other cops. Toggling ped as "false" has no effect; you must change p0's ped model to disable the effect.
--- toggle = bSetRelGroup
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_AS_COP(ped, toggle) end
--- _SET_PED_A*
--- @param ped number
--- @param p1 boolean
function PED._0x405180B14DA5A935(ped, p1) end
--- personality (script_mp_rel): NONE, AGGRESSIVE, TIMID (non-aggressive), CRIPPS, SCRIPTEDINTIMIDATION, MAGGIE, MARCEL, SCRIPTEDSALOON
--- personality (script_rel): AVOID, SCRIPTEDOUTLAW, TIMIDGUARDDOG, SCRIPTEDTIMIDROB, AGGRESSIVECAMPER, LAZYDOG, KIERANTIEDUP, SCRIPTEDGALA
--- @param ped number
--- @param personality number
function PED._SET_PED_INTERACTION_PERSONALITY(ped, personality) end
--- @param ped number
--- @return number
function PED._GET_PED_INTERACTION_PERSONALITY(ped) end
--- Hashes: STANDARD_PED_AGRO_GUARD, BOUNTY_HUNTER, PLAYER_HORSE, LAW_POLICE, GUARD_DOG, ATTACK_DOG
--- Personalities can also be found in common:/data/ai/interactionpersonalities
--- @param ped number
--- @param personality number
function PED._SET_PED_PERSONALITY(ped, personality) end
--- _SET_PED_P* - _SET_PED_R*
--- @param ped number
function PED._0x329772C47DBB2FBC(ped) end
--- Returns true if ped is in a dispute another ped (pedInDisputeWith can also be 0)
--- @param ped number
--- @param pedInDisputeWith number
--- @return boolean
function PED._GET_IS_PED_IN_DISPUTE_WITH_PED(ped, pedInDisputeWith) end
--- _GET_IS_PED_*
--- @param ped number
--- @return boolean
function PED._0x94132D7C8D3575C4(ped) end
--- _SET_PED_IN*
--- @param ped number
--- @param speechParams number
function PED._0x8AF46E5159A5B620(ped, speechParams) end
--- _SET_PED_IN*
--- @param ped number
--- @param p1 string
function PED._0x45FEA6D5539BD474(ped, p1) end
--- @param ped number
--- @param speech string
function PED._SET_PED_INTERACTION_POSITIVE_RESPONSE(ped, speech) end
--- _SET_PED_IN*
--- @param ped number
--- @param p1 string
function PED._0xE37ACEE15AC50C7E(ped, p1) end
--- @param ped number
--- @param speech string
function PED._SET_PED_INTERACTION_NEGATIVE_RESPONSE(ped, speech) end
--- _SET_PED_IN*
--- @param ped number
--- @param p1 string
function PED._0x41C23A8E6B344867(ped, p1) end
--- @param ped number
--- @param player number
--- @return boolean
function PED.GET_IS_PED_RESPONDING_TO_POSITIVE_INTERACTION(ped, player) end
--- @param ped number
--- @param player number
--- @return boolean
function PED.GET_IS_PED_RESPONDING_TO_NEGATIVE_INTERACTION(ped, player) end
--- _CLEAR_PED_B* - _CLEAR_PED_C*
--- @param ped number
function PED._0xA7DC9266ED6A4E51(ped) end
--- _GET_PED_B* - _GET_PED_C*
--- @param ped number
--- @return number
function PED._0x89816B58C3466262(ped) end
--- _CLEAR*
--- @param ped1 number
--- @param ped2 number
function PED._0x97B06669AC569003(ped1, ped2) end
--- Used in Script Function SKCS_PLAYER_ROBBING
--- _SET_PED_A*
--- @param ped number
--- @param p1 number
function PED._0x85F500F4E24CA43E(ped, p1) end
--- Used in Script Function SKCS_PLAYER_ROBBING
--- _SET_PED_SHOULD_PLAY_* - _SET_PED_SW*
--- @param ped number
--- @param p1 number
function PED._0x9B9B9FA0EA283E3D(ped, p1) end
--- _SET_C*
--- @param ped number
--- @param p1 number
function PED._0xEC60D1D225BC50AA(ped, p1) end
--- _SET_A* - _SET_B*
--- @param ped number
--- @param p1 number
function PED._0x12F2D161BF4031FC(ped, p1) end
function PED._0x0ADA3EC589E1736E() end
--- If p2 is false, then this native will return true until the interaction is complete. If true, the native will return true until player pockets robbery item.
--- _GET_IS_PED_[M-R]*
--- @param ped number
--- @param player number
--- @param trueUntilPlayerPocketsItem boolean
--- @return boolean
function PED._GET_IS_PED_BEING_ROBBED(ped, player, trueUntilPlayerPocketsItem) end
--- Used in Script Function LA_CHECK_ALERTED
--- _GET_IS_PED_*
--- @param legendaryAnimal number
--- @return boolean
function PED._0xD55DB4466D00A258(legendaryAnimal) end
--- Sets the maximum health of a ped.
--- @param ped number
--- @param value number
function PED.SET_PED_MAX_HEALTH(ped, value) end
--- @param ped number
--- @return number
function PED.GET_PED_MAX_HEALTH(ped) end
--- configHash: see pedhealth.meta
--- @param ped number
--- @param configHash number
function PED._SET_PED_HEALTH_CONFIG(ped, configHash) end
--- @param ped number
function PED.INIT_PED_DEFAULT_HEALTH(ped) end
--- @param ped number
--- @param value number
function PED.SET_PED_MAX_TIME_IN_WATER(ped, value) end
--- @param ped number
--- @param value number
function PED.SET_PED_MAX_TIME_UNDERWATER(ped, value) end
--- _CLEAR_PED_D*
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
function PED._0xAF041C10756C30FB(ped, p1, p2, p3) end
--- _SET_C*
--- @param ped1 number
--- @param ped2 number
function PED._0x5AF24CA9C974E51A(ped1, ped2) end
--- state:
--- enum eKnockOffVehicle
--- {
--- KNOCKOFFVEHICLE_DEFAULT,
--- KNOCKOFFVEHICLE_NEVER,
--- KNOCKOFFVEHICLE_EASY,
--- KNOCKOFFVEHICLE_HARD
--- };
--- @param ped number
--- @param state number
function PED.SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(ped, state) end
--- @param ped number
--- @return boolean
function PED.CAN_KNOCK_PED_OFF_VEHICLE(ped) end
--- @param ped number
function PED.KNOCK_PED_OFF_VEHICLE(ped) end
--- @param groupID number
--- @param memberNumber number
--- @return number
function PED.GET_PED_AS_GROUP_MEMBER(groupID, memberNumber) end
--- @param groupID number
--- @return number
function PED.GET_PED_AS_GROUP_LEADER(groupID) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_KEEP_TASK(ped, toggle) end
--- @param ped number
--- @return boolean
function PED.IS_PED_SWIMMING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_SWIMMING_UNDER_WATER(ped) end
--- _IS_PED_IN_* (near water?)
--- Returns true if ped is swimming in water
--- @param ped number
--- @return boolean
function PED._0xDC88D06719070C39(ped) end
--- @param toggle boolean
function PED.SET_CREATE_RANDOM_COPS(toggle) end
--- @param ped number
--- @return boolean
function PED.IS_PED_IN_ANY_TRAIN(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_GETTING_INTO_A_VEHICLE(ped) end
--- _HAS_PED_*
--- @param ped1 number
--- @param ped2 number
--- @return boolean
function PED._0x550CB89DD7F4FA3D(ped1, ped2) end
--- Ped can not pull out a weapon when true
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
function PED.SET_ENABLE_HANDCUFFS(ped, p1, p2) end
--- @param ped number
--- @param toggle boolean
function PED.SET_ENABLE_BOUND_ANKLES(ped, toggle) end
--- If returned true, SET_ENABLE_BOUND_ANKLES is called in R* Script guama2
--- _GET_D* - _GET_E*
--- @param ped number
--- @return boolean
function PED._0x8822F139408B8D0A(ped) end
--- Only used in R* Script train_robbery4
--- _SET_PED_D*
--- @param ped number
--- @param p1 boolean
function PED._0x8822F124788B8D0A(ped, p1) end
--- @param ped number
function PED.RESET_PED_WEAPON_MOVEMENT_CLIPSET(ped) end
--- @param ped number
--- @param animName string
--- @param p2 boolean
function PED._SET_PED_GETUP_ANIMATION(ped, animName, p2) end
--- Used in R* Script generic_weight_control_item
--- _CLEAR_PED_E* - CLEAR_PED_(G?)L*
--- @param ped number
function PED._0x88A95BB640FC186F(ped) end
--- @param ped number
function PED.RESET_PED_IN_VEHICLE_CONTEXT(ped) end
--- @param vehicle number
--- @param p1 number
function PED._0x878E8104FA27CDAE(vehicle, p1) end
--- @param ped number
--- @param gesture string
--- @param p2 number
function PED.SET_PED_GESTURE_GROUP(ped, gesture, p2) end
--- Seems to set the ped's loco type.
--- Values used in the scripts:
--- algie
--- angry_female
--- arthur_healthy
--- cowboy
--- cowboy_f
--- default
--- default_female
--- free_slave_01
--- free_slave_02
--- gold_panner
--- guard_lantern
--- injured_general
--- john_marston
--- lilly_millet
--- lone_prisoner
--- lost_man
--- mp_ova_hunter
--- mp_ova_hunter_female
--- murfree
--- old_female
--- primate
--- rally
--- waiter
--- war_veteran
--- @param ped number
--- @param locomotionArchetype string
function PED._SET_PED_DESIRED_LOCO_FOR_MODEL(ped, locomotionArchetype) end
--- Clears locomotion archetype
--- @param ped number
function PED._CLEAR_PED_DESIRED_LOCO_FOR_MODEL(ped) end
--- Sets peds motion type
--- @param ped number
--- @param locoMotionType string
function PED._SET_PED_DESIRED_LOCO_MOTION_TYPE(ped, locoMotionType) end
--- @param ped number
function PED._CLEAR_PED_DESIRED_LOCO_MOTION_TYPE(ped) end
--- @param ped number
function PED._0x2371C39D4F91C288(ped) end
--- Known get up animation types: REAR, FRONT
--- @param ped number
--- @param getUpType string
function PED._REQUEST_PED_GETUP_ANIMATION(ped, getUpType) end
--- @param ped number
--- @param ped2 number
function PED.PED_COWER_IN_PLACE(ped, ped2) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param ped2 number
--- @param p5 number
function PED.PED_COWER_MOVE_TO_POINT(ped, p1, p2, p3, ped2, p5) end
--- _PED_COWER_M*
--- @param ped number
function PED._0x16F798A05BB9E3B5(ped) end
--- target: 0 affects everyone
--- duration: -1 indefinite
--- flag: always 4 in R* Scripts
--- @param ped number
--- @param presetName string
--- @param targetPed number
--- @param duration number
--- @param flag number
function PED._PED_EMOTIONAL_PRESET_LOCO_MOTION(ped, presetName, targetPed, duration, flag) end
--- @param ped number
function PED._PED_CLEAR_LOCO_MOTION(ped) end
--- _STOP_(?)*
--- @param ped number
function PED._0x32CCAD8A981B53D3(ped) end
--- SOBER = 0.0f, SLIGHTLY_DRUNK = 0.25f, MODERATELY_DRUNK = 0.5f, VERY_DRUNK = 1.0f
--- @param ped number
--- @param enabled boolean
--- @param drunknessLevel number
function PED._SET_PED_DRUNKNESS(ped, enabled, drunknessLevel) end
--- @param ped number
--- @return boolean
function PED._IS_PED_DRUNK(ped) end
--- Returns ped drunk level
--- _H* or _I*
--- @param ped number
--- @return number
function PED._GET_PED_DRUNKNESS(ped) end
--- @param animDict string
--- @param animName string
--- @param x number
--- @param y number
--- @param z number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param p8 number
--- @param p9 number
--- @return { x: number, y: number, z: number }
function PED.GET_ANIM_INITIAL_OFFSET_POSITION(animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9) end
--- @param animDict string
--- @param animName string
--- @param x number
--- @param y number
--- @param z number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param p8 number
--- @param p9 number
--- @return { x: number, y: number, z: number }
function PED.GET_ANIM_INITIAL_OFFSET_ROTATION(animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9) end
--- @param ped number
--- @param p1 number
function PED.SET_PED_RANDOM_COMPONENT_VARIATION(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
function PED.KNOCK_OFF_PED_PROP(ped, p1, p2, p3, p4) end
--- @param ped number
--- @param toggle boolean
function PED.SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, toggle) end
--- @param ped number
--- @return boolean
function PED._GET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped) end
--- _SET_PED_P* - _SET_PED_R*
--- @param entity number
--- @param boneId number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0xC17A94CC8FC3C61A(entity, boneId, p2, p3, p4) end
--- @param ped number
--- @param scale number
function PED._SET_PED_SCALE(ped, scale) end
--- _GET_PED_M*
--- @param ped number
--- @return number
function PED._0x134775B093AD5C38(ped) end
--- @param ped number
--- @return number
function PED._GET_PED_HEIGHT(ped) end
--- PS_SMALL = 0,
--- PS_MEDIUM,
--- PS_MEDIUM_LARGE,
--- PS_LARGE,
--- PS_EXTRA_LARGE
--- @param modelHash number
--- @return number
function PED._GET_PED_MODEL_SIZE_FROM_HASH(modelHash) end
--- @param ped number
--- @param targetPed number
--- @param p2 boolean
function PED.REGISTER_TARGET(ped, targetPed, p2) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
function PED._REGISTER_HATED_TARGETS_IN_AREA(ped, x, y, z, radius) end
--- Based on TASK_COMBAT_HATED_TARGETS_AROUND_PED, the parameters are likely similar (PedHandle, and area to attack in).
--- @param ped number
--- @param radius number
function PED.REGISTER_HATED_TARGETS_AROUND_PED(ped, radius) end
--- @param ped number
--- @param targetPed number
--- @return boolean
function PED._IS_TARGET(ped, targetPed) end
--- @param ped number
--- @param targetPed number
function PED._REMOVE_TARGET(ped, targetPed) end
--- Gets the closest ped in a radius.
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 boolean
--- @param p5 boolean
--- @param outPed number
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 boolean
--- @param pedType number
--- @return boolean
function PED.GET_CLOSEST_PED(x, y, z, radius, p4, p5, outPed, p7, p8, p9, pedType) end
--- @param ped number
--- @return boolean
function PED.CAN_PED_RAGDOLL(ped) end
--- nmTaskMessageParameterName: See physicstasks.ymt. Search for DraggedByCart or 0xD00820D7 (Used in R* SP Script marston8)
--- @param ped number
--- @param timeMin number
--- @param timeMax number
--- @param ragdollType number
--- @param abortIfInjured boolean
--- @param abortIfDead boolean
--- @param nmTaskMessageParameterName string
--- @return boolean
function PED.SET_PED_TO_RAGDOLL(ped, timeMin, timeMax, ragdollType, abortIfInjured, abortIfDead, nmTaskMessageParameterName) end
--- @param ped number
--- @param timeMin number
--- @param timeMax number
--- @param ragdollType number
--- @param falldirX number
--- @param falldirY number
--- @param falldirZ number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @return boolean
function PED.SET_PED_TO_RAGDOLL_WITH_FALL(ped, timeMin, timeMax, ragdollType, falldirX, falldirY, falldirZ, p7, p8, p9, p10, p11, p12, p13) end
--- Causes Ped to ragdoll on collision with any object (e.g Running into trashcan). If applied to player you will sometimes trip on the sidewalk.
--- @param ped number
--- @param toggle boolean
--- @param p2 boolean
function PED.SET_PED_RAGDOLL_ON_COLLISION(ped, toggle, p2) end
--- @param ped number
--- @param toggle boolean
function PED._SET_PED_TO_DISABLE_RAGDOLL(ped, toggle) end
--- If the ped handle passed through the parenthesis is in a ragdoll state this will return true.
--- @param ped number
--- @return boolean
function PED.IS_PED_RAGDOLL(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_RUNNING_RAGDOLL_TASK(ped) end
--- @param ped number
function PED.SET_PED_RAGDOLL_FORCE_FALL(ped) end
--- _SET_PED_T* - SET_PED_U*
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function PED._0x8CB2553C559102C1(ped, p1, p2) end
--- _DISABLE_A* - _DISABLE_C*
--- @param ped number
--- @param p1 number
function PED._0xFD3C31A2E45671E7(ped, p1) end
--- @param ped number
function PED.RESET_PED_RAGDOLL_TIMER(ped) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_RAGDOLL(ped, toggle) end
--- _IS_PED_R*
--- @param ped number
--- @return boolean
function PED._0x3AEC4A410ECAF30D(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_RUNNING_MOBILE_PHONE_TASK(ped) end
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/RAGDOLL_BLOCKING_FLAGS
--- 
--- flags:
--- enum eRagdollBlockingFlags
--- {
--- RBF_BULLET_IMPACT = (1 << 0),
--- RBF_VEHICLE_IMPACT = (1 << 1),
--- RBF_FIRE = (1 << 2),
--- RBF_ELECTROCUTION = (1 << 3),
--- RBF_PLAYER_IMPACT = (1 << 4),
--- RBF_EXPLOSION = (1 << 5),
--- RBF_IMPACT_OBJECT = (1 << 6),
--- RBF_MELEE = (1 << 7),
--- RBF_RUBBER_BULLET = (1 << 8),
--- RBF_FALLING = (1 << 9),
--- RBF_WATER_JET = (1 << 10),
--- RBF_DROWNING = (1 << 11),
--- RBF_0x9F52E2C4 = (1 << 12),
--- RBF_PLAYER_BUMP = (1 << 13),
--- RBF_PLAYER_RAGDOLL_BUMP = (1 << 14),
--- RBF_PED_RAGDOLL_BUMP = (1 << 15),
--- RBF_VEHICLE_GRAB = (1 << 16),
--- RBF_SMOKE_GRENADE = (1 << 17),
--- RBF_HORSE_BUMP = (1 << 18),
--- RBF_ACTIVATE_ON_COLLISION = (1 << 19)
--- };
--- @param ped number
--- @param flags number
function PED.SET_RAGDOLL_BLOCKING_FLAGS(ped, flags) end
--- flags: see SET_RAGDOLL_BLOCKING_FLAGS
--- @param ped number
--- @param flags number
function PED.CLEAR_RAGDOLL_BLOCKING_FLAGS(ped, flags) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x9F933E0985E12C51(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 number
function PED._0x88B2026A3B0BE33D(ped, p1) end
--- @param ped number
--- @param volume number
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
function PED.SET_PED_DEFENSIVE_AREA_VOLUME(ped, volume, p2, p3, p4) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
function PED.SET_PED_SPHERE_DEFENSIVE_AREA(ped, x, y, z, radius, p5, p6, p7) end
--- @param ped number
--- @param entity number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p6 number
--- @param p7 boolean
function PED._SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_ENTITY(ped, entity, x, y, z, radius, p6, p7) end
--- _SET_PED_(A?)*
--- @param ped number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param p7 number
--- @param p8 boolean
--- @param p9 boolean
--- @param entity number
--- @param p11 boolean
function PED._SET_PED_DEFENSIVE_AREA_TO_ANGLED_AREA(ped, x1, y1, z1, x2, y2, z2, p7, p8, p9, entity, p11) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
function PED.SET_PED_DEFENSIVE_AREA_DIRECTION(ped, p1, p2, p3, p4) end
--- Ped will no longer get angry when you stay near him.
--- @param ped number
--- @param toggle boolean
function PED.REMOVE_PED_DEFENSIVE_AREA(ped, toggle) end
--- @param ped number
--- @param p1 boolean
--- @return { x: number, y: number, z: number }
function PED.GET_PED_DEFENSIVE_AREA_POSITION(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function PED.IS_PED_DEFENSIVE_AREA_ACTIVE(ped, p1) end
--- @param ped number
--- @param p1 number
--- @return number
function PED._GET_PED_DEFENSIVE_VOLUME(ped, p1) end
--- _SET_PED_A*
--- @param ped number
--- @param p1 boolean
function PED._0x4EC4EA2F72B36358(ped, p1) end
--- _SET_PED_COMBAT_*
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
function PED._0xCF0B19806473D324(ped, x, y, z) end
--- _RESET_PED_C*
--- @param ped number
function PED._0xB4B7C92FCE7347B7(ped) end
--- @param ped number
function PED.REVIVE_INJURED_PED(ped) end
--- This function will simply bring the dead ped back to life.
--- 
--- Before calling this function, you may want to declare the position, where your Resurrected ped to be spawn at because theres a chance the ped will fall through the map
--- 
--- Also, disabling any assigned task immediately helped in the number of scenarios, where If you want peds to perform certain decided tasks.
--- @param ped number
function PED.RESURRECT_PED(ped) end
--- nullsub, doesn't do anything
--- @param ped number
--- @param name string
function PED.SET_PED_NAME_DEBUG(ped, name) end
--- @param ped number
--- @param p1 boolean
function PED.SPECIAL_FUNCTION_DO_NOT_USE(ped, p1) end
--- _HAS_*
--- @param ped number
--- @return boolean
function PED._0x7020839C7302D8AC(ped) end
--- _C*
--- @param ped number
--- @param entity number
--- @param boneIndex1 number
--- @param boneIndex2 number
--- @param x number
--- @param y number
--- @param z number
--- @param p7 number
--- @param p8 boolean
--- @param p9 boolean
--- @param p10 number
function PED._0xE1AADD0055D76603(ped, entity, boneIndex1, boneIndex2, x, y, z, p7, p8, p9, p10) end
--- _C*
--- @param ped number
function PED._0x5A1A929C8B729B4A(ped) end
--- _SET_PED_D*
--- @param ped number
--- @param p1 boolean
function PED._0x97A38B65EBDA3D50(ped, p1) end
--- _GET_PED_D*
--- @param ped number
--- @return boolean
function PED._0x06A10B4D7F50B0C3(ped) end
--- @param ped number
--- @return boolean
function PED._0x88A5564B19C15391(ped) end
--- @param ped number
--- @return number
function PED._0x354CA4DDDEEC397A(ped) end
--- METAPED_PLAYER_COMPONENTS_SET_META_TYPE_TO_BE_BYPASSED: Setting visibility
--- _SET_M* - _SET_P*
--- @param ped number
--- @param p1 boolean
function PED._0xFEA6126C34DF2532(ped, p1) end
--- _SET_PED_P* - _SET_PED_R*
--- @param ped number
--- @param p1 boolean
function PED._0xA967D6A8ED2D713B(ped, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function PED.APPLY_PED_BLOOD_SPECIFIC(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- Applies damage pack to a ped bone with offset and rotation.
--- Note: for boneId only PD_Vomit seems to work.
--- 
--- Preview: https://imgur.com/a/qwEGXEu
--- @param ped number
--- @param boneId number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param damagePack string
function PED._APPLY_PED_DAMAGE_PACK_TO_BONE(ped, boneId, xOffset, yOffset, zOffset, xRot, yRot, zRot, damagePack) end
--- _SET_PED_F*
--- @param ped number
--- @param p1 boolean
function PED._0x735662994E60A710(ped, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x91BAB9E064F036CD(p0, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0x897934E868EDDD6C(ped, p1, p2, p3, p4) end
--- bloodFountainPressure: visible effect from 0.0 till 20.0
--- yaw: visible effect from -3.0 till 3.0
--- bloodFountainDirection: 1.0 left side, -1.0 right side
--- bloodFountainPulse: from 0.1 (low) till 1.0 (fast)
--- make blood fountain from your stomach: _SET_PED_ACTIVATE_WOUND_EFFECT(ped, unk, 2, 14411, 0.0, 0.1, 0.0, 0.0, 3.0, -1.0, 1.0)
--- @param ped number
--- @param p1 number
--- @param boneId number
--- @param moveWoundLeftRight number
--- @param bloodFountainPressure number
--- @param yaw number
--- @param bloodFountainDirection number
--- @param bloodFountainPulse number
--- @param p8 number
--- @param p9 number
function PED._SET_PED_ACTIVATE_WOUND_EFFECT(ped, p1, boneId, moveWoundLeftRight, bloodFountainPressure, yaw, bloodFountainDirection, bloodFountainPulse, p8, p9) end
--- Params: 0.0f to remove wound effects
--- @param ped number
--- @param value number
function PED._UPDATE_PED_WOUND_EFFECT(ped, value) end
--- https://github.com/femga/rdr3_discoveries/blob/master/peds_customization/ped_decals.lua
--- @param ped number
--- @param damagePack string
--- @param damage number
--- @param mult number
function PED.APPLY_PED_DAMAGE_PACK(ped, damagePack, damage, mult) end
--- @param ped number
function PED.CLEAR_PED_BLOOD_DAMAGE(ped) end
--- @param ped number
--- @param p1 number
function PED.CLEAR_PED_BLOOD_DAMAGE_BY_ZONE(ped, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 string
function PED.CLEAR_PED_DAMAGE_DECAL_BY_ZONE(ped, p1, p2) end
--- @param ped number
--- @param p1 number
function PED._CLEAR_PED_BLOOD_DAMAGE_FACIAL(ped, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x34C11114887150FD(p0, p1) end
--- METAPED_PLAYER_COMPONENTS_SET_META_TYPE_TO_BE_BYPASSED: Setting visibility
--- p1 is mostly 10
--- _CLEAR_PED_N* - _CLEAR_PED_W*
--- @param ped number
--- @param p1 number
function PED._0xD8544F6260F5F01E(ped, p1) end
--- Washing player's face/hands now
--- _FA* - _FI*
--- @param ped number
--- @param p1 number
--- @param p2 string
--- @param p3 number
function PED._0xEB8886E1065654CD(ped, p1, p2, p3) end
--- @param ped number
function PED.FADE_AND_DESTROY_PED(ped) end
--- @param ped number
--- @return boolean
function PED._IS_PED_QUEUED_FOR_DELETION(ped) end
--- It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference.
--- @param ped number
function PED.CLEAR_PED_WETNESS(ped) end
--- It adds the wetness level to the player clothing/outfit. As if player just got out from water surface.
--- @param ped number
--- @param height number
function PED.SET_PED_WETNESS_HEIGHT(ped, height) end
--- _SET_PED_WETNESS*
--- @param ped number
--- @param p1 number
function PED._0xF9CFF5BB70E8A2CB(ped, p1) end
--- combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function
--- @param ped number
function PED.SET_PED_WETNESS_ENABLED_THIS_FRAME(ped) end
--- Washing player's face/hands now
--- _CLEAR_PED_E* - _CLEAR_PED_L*
--- @param ped number
function PED._0xA7A806677F8DE138(ped) end
--- @param p0 number
function PED._0xA064BBABB064446F(p0) end
--- @param ped number
function PED.CLEAR_PED_ENV_DIRT(ped) end
--- @param ped number
--- @param sweat number
function PED.SET_PED_SWEAT(ped, sweat) end
--- @param ped number
function PED.CLEAR_PED_DECORATIONS(ped) end
--- Despite this function's name, it simply returns whether the specified handle is a Ped.
--- @param ped number
--- @return boolean
function PED.WAS_PED_SKELETON_UPDATED(ped) end
--- Gets the position of the specified bone of the specified ped.
--- 
--- ped: The ped to get the position of a bone from.
--- boneId: The ID of the bone to get the position from. This is NOT the index.
--- offsetX: The X-component of the offset to add to the position relative to the bone's rotation.
--- offsetY: The Y-component of the offset to add to the position relative to the bone's rotation.
--- offsetZ: The Z-component of the offset to add to the position relative to the bone's rotation.
--- @param ped number
--- @param boneId number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @return { x: number, y: number, z: number }
function PED.GET_PED_BONE_COORDS(ped, boneId, offsetX, offsetY, offsetZ) end
--- blockingFlags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eScenarioBlockingFlags
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param p6 boolean
--- @param blockingFlags number
--- @return number
function PED.ADD_SCENARIO_BLOCKING_AREA(x1, y1, z1, x2, y2, z2, p6, blockingFlags) end
function PED.REMOVE_SCENARIO_BLOCKING_AREAS() end
--- @param p0 number
--- @param p1 boolean
function PED.REMOVE_SCENARIO_BLOCKING_AREA(p0, p1) end
--- flag: see ADD_SCENARIO_BLOCKING_AREA
--- @param volume number
--- @param p1 boolean
--- @param flag number
--- @return number
function PED._ADD_SCENARIO_BLOCKING_VOLUME(volume, p1, flag) end
--- @param p0 number
--- @return number
function PED._0x6F46F8ACB44C4FC1(p0) end
--- @param p0 number
--- @return boolean
function PED._IS_SCENARIO_BLOCKING_AREA_VALID(p0) end
--- Equivalent to IS_PED_USING_SCENARIO from V but takes a hash instead of a string.
--- @param ped number
--- @param scenarioHash number
--- @return boolean
function PED.IS_PED_USING_SCENARIO_HASH(ped, scenarioHash) end
--- @param ped number
--- @return boolean
function PED.IS_PED_USING_ANY_SCENARIO(ped) end
--- @param ped number
--- @param scenario number
--- @return boolean
function PED.IS_PED_USING_THIS_SCENARIO(ped, scenario) end
--- p2 is always 0, p3 is always 0, p4 is always 1
--- @param ped number
--- @param scenario number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return boolean
function PED._CAN_PED_USE_SCENARIO_POINT(ped, scenario, p2, p3, p4) end
--- _CAN_PED_SEE* - _CAN_PED_USE_(SCENARIO_HASH?)*
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @return boolean
function PED._0x1148F706CF4EBDDA(ped, p1, p2) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function PED.SET_PED_PANIC_EXIT_SCENARIO(ped, x, y, z) end
--- If toggle is true, when the ped is using a scenario he will stop it and become scared
--- If toggle is false, the ped will not be scared anymore and continue his scenario
--- 
--- Old name: _SET_PED_SCARED_WHEN_USING_SCENARIO
--- @param ped number
--- @param toggle boolean
function PED.TOGGLE_SCENARIO_PED_COWER_IN_PLACE(ped, toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function PED._0xD8CEEED54C672B5D(p0, p1, p2, p3, p4, p5, p6) end
--- Old name: _SET_PED_SHOULD_PLAY_DIRECTED_SCENARIO_EXIT
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function PED.SET_PED_SHOULD_PLAY_DIRECTED_NORMAL_SCENARIO_EXIT(ped, x, y, z) end
--- @param ped number
function PED.SET_PED_SHOULD_PLAY_NORMAL_SCENARIO_EXIT(ped) end
--- @param ped number
function PED.SET_PED_SHOULD_PLAY_IMMEDIATE_SCENARIO_EXIT(ped) end
--- lookIntensity:
--- 0 - REACT_LOOK_NONE
--- 1 - REACT_LOOK_LOW
--- 2 - REACT_LOOK_MEDIUM
--- 3 - REACT_LOOK_HIGH
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param lookIntensity number
--- @return boolean
function PED.SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT(ped, x, y, z, lookIntensity) end
--- lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param lookIntensity number
--- @return boolean
function PED.SET_PED_SHOULD_PLAY_COMBAT_SCENARIO_EXIT(ped, x, y, z, lookIntensity) end
--- lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param lookIntensity number
--- @param p5 boolean
--- @return boolean
function PED.SET_PED_SHOULD_PLAY_EMOTIONAL_SCENARIO_EXIT(ped, x, y, z, lookIntensity, p5) end
--- lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param lookIntensity number
--- @param p5 boolean
--- @return boolean
function PED.SET_PED_SHOULD_PLAY_QUICK_SCENARIO_EXIT(ped, x, y, z, lookIntensity, p5) end
--- @param ped number
--- @return boolean
function PED._0xF9331B3A314EB49D(ped) end
--- @param p0 number
function PED._0xE735A7DA22E88359(p0) end
--- @param p0 number
--- @return number
function PED._0x82CB0F3F0C7785E5(p0) end
--- @param p0 number
--- @param p1 number
function PED._0xCA95C156C14B2054(p0, p1) end
--- @param ped number
--- @param animName string
--- @param animDict string
function PED.SET_FACIAL_IDLE_ANIM_OVERRIDE(ped, animName, animDict) end
--- @param ped number
function PED.CLEAR_FACIAL_IDLE_ANIM_OVERRIDE(ped) end
--- mood: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/fwFacialAnimRequest__Mood
--- Params: p2 = 6 in R* Scripts
--- @param ped number
--- @param mood number
--- @param p2 number
function PED._REQUEST_PED_FACIAL_MOOD_THIS_FRAME(ped, mood, p2) end
--- @param p0 number
--- @param p1 number
function PED._0xD2F0FE8805D91647(p0, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED.SET_PED_CAN_PLAY_GESTURE_ANIMS(ped, p1, p2) end
--- Only used in R* Script net_moonshine_property
--- _A* - _B*
--- @param ped number
function PED._0x7EDB3C766B0D073F(ped) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_PLAY_AMBIENT_ANIMS(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS(ped, toggle) end
--- Only used in R* Script shop_harriet
--- _SET_PED_F*
--- @param ped number
--- @param p1 boolean
function PED._0x4F63433CE3C08230(ped, p1) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_ARM_IK(ped, toggle) end
--- _SET_PED_CAN_(?)_IK*
--- @param ped number
--- @param toggle boolean
function PED._SET_PED_CAN_UNK_BODYPART_IK(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_HEAD_IK(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_LEG_IK(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_TORSO_IK(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_TORSO_REACT_IK(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_TORSO_VEHICLE_IK(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT(ped, toggle) end
--- @param ped1 number
--- @param ped2 number
--- @return boolean
function PED.IS_PED_HEADTRACKING_PED(ped1, ped2) end
--- @param ped number
--- @param entity number
--- @return boolean
function PED.IS_PED_HEADTRACKING_ENTITY(ped, entity) end
--- @param p0 number
--- @param p1 number
function PED._DISABLE_AMBIENT_LOOK_AT_REQUESTS(p0, p1) end
--- @param ped number
--- @param p1 number
function PED._DISABLE_ALL_LOOK_AT_REQUESTS(ped, p1) end
--- _SET_PED_R* - _SET_PED_S*
--- @param ped number
--- @param p1 boolean
function PED._0xCD9E5F94A2F38683(ped, p1) end
--- Old name: SET_PED_CLOTH_PACKAGE_INDEX
--- @param ped number
--- @param p1 boolean
function PED.SET_PED_CLOTH_PIN_FRAMES(ped, p1) end
--- _SET_PED_CA* - _SET_PED_CO*
--- @param ped number
--- @param p1 number
function PED._0x1D4636C90BBEFACB(ped, p1) end
--- _ADD_*
--- @param ped number
function PED._0xEF371232BC6053E1(ped) end
--- _SET_PED_*
--- @param ped number
--- @param p1 boolean
function PED._0x86F0B6730C32AC14(ped, p1) end
--- _ATTACH_*
--- @param ped number
--- @param ropeId number
function PED._0x8101BA1C0B462412(ped, ropeId) end
--- flagId: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePedScriptConfigFlags
--- https://alloc8or.re/rdr3/doc/enums/ePedScriptConfigFlags.txt
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/CPED_CONFIG_FLAGS
--- @param ped number
--- @param flagId number
--- @param value boolean
function PED.SET_PED_CONFIG_FLAG(ped, flagId, value) end
--- Needs to be called every frame
--- 
--- flagid:https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePedScriptResetFlags
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/CPED_RESET_FLAGS
--- @param ped number
--- @param flagId number
--- @param doReset boolean
function PED.SET_PED_RESET_FLAG(ped, flagId, doReset) end
--- flagId: see SET_PED_CONFIG_FLAG
--- @param ped number
--- @param flagId number
--- @param p2 boolean
--- @return boolean
function PED.GET_PED_CONFIG_FLAG(ped, flagId, p2) end
--- @param ped number
--- @param flagId number
--- @return boolean
function PED.GET_PED_RESET_FLAG(ped, flagId) end
--- @param p0 number
function PED._0xC6981AFF6D2A71C2(p0) end
--- @param p0 number
--- @param p1 number
function PED._0xE0FE107AB174D64A(p0, p1) end
--- @param ped number
--- @param index number
function PED.SET_PED_GROUP_MEMBER_PASSENGER_INDEX(ped, index) end
--- Presumably returns the Entity that the Ped is currently diving out of the way of.
--- @param ped number
--- @param evadingEntity number
--- @return boolean
function PED.IS_PED_EVASIVE_DIVING(ped, evadingEntity) end
--- Triggers a gunshot
--- Params: p5 = -1 in R* Scripts
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @return number
function PED._SHOOT_TRIGGER_AT_COORDS(ped, x, y, z, p4, p5, p6, p7) end
--- @param model number
--- @return boolean
function PED._IS_THIS_MODEL_A_HORSE(model) end
--- @param model number
--- @param toggle boolean
function PED.SET_PED_MODEL_IS_SUPPRESSED(model, toggle) end
--- @param model number
--- @return boolean
function PED._IS_PED_MODEL_SUPPRESSED(model) end
--- @param ped number
--- @param p1 boolean
function PED._0x7ABBD9E449E0DB00(ped, p1) end
--- Disables being able to kick move ped.
--- @param ped number
--- @param disable boolean
function PED._SET_PED_DISABLE_KICK_MOVE(ped, disable) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT(ped, toggle) end
--- @param p0 number
function PED._0xE6CB36F43A95D75F(p0) end
--- @param ped number
--- @param mode number
function PED.SET_PED_LEG_IK_MODE(ped, mode) end
--- If returned true: There are enemy peds near friendly turn in ped. Going to aggro.
--- If returned false: Moving back to idle as there aren't any remaining enemy peds near ped
--- _IS_PED_IN_*
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p5 boolean
--- @return boolean
function PED._IS_PED_IN_POINT(ped, x, y, z, radius, p5) end
--- SET_PED_CAN_*
--- @param ped number
--- @param toggle boolean
function PED._SET_PED_CAN_BE_LASSOED(ped, toggle) end
--- 0 - Stationary (Will just stand in place)
--- 1 - Defensive (Will try to find cover and very likely to blind fire)
--- 2 - Offensive (Will attempt to charge at enemy but take cover as well)
--- 3 - Suicidal Offensive (Will try to flank enemy in a suicidal attack)
--- @param ped number
--- @param combatMovement number
function PED.SET_PED_COMBAT_MOVEMENT(ped, combatMovement) end
--- @param ped number
--- @return number
function PED.GET_PED_COMBAT_MOVEMENT(ped) end
--- _SET_PED_COMBAT_R - _SET_PED_C*
--- @param ped number
--- @param p1 number
function PED._0x815C0074A1BC0D93(ped, p1) end
--- _GET_PED_COMBAT_M* - _GET_PED_C*
--- @param ped number
--- @return number
function PED._0xFFDE295662405B25(ped) end
--- abilityLevel:
--- enum eCombatAbilityLevel
--- {
--- CAL_POOR,
--- CAL_AVERAGE,
--- CAL_PROFESSIONAL
--- };
--- @param ped number
--- @param abilityLevel number
function PED.SET_PED_COMBAT_ABILITY(ped, abilityLevel) end
--- range:
--- enum eCombatRange
--- {
--- CR_NEAR,
--- CR_MEDIUM,
--- CR_FAR,
--- CR_VERY_FAR
--- };
--- @param ped number
--- @param range number
function PED.SET_PED_COMBAT_RANGE(ped, range) end
--- attributeIndex: https://alloc8or.re/rdr3/doc/enums/eCombatAttribute.txt
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_ATTRIBUTES
--- @param ped number
--- @param attributeIndex number
--- @param enabled boolean
function PED.SET_PED_COMBAT_ATTRIBUTES(ped, attributeIndex, enabled) end
--- @param ped number
--- @param attributeIndex number
--- @return boolean
function PED._GET_PED_COMBAT_ATTRIBUTE(ped, attributeIndex) end
--- Hashes: GUARD, COMBAT_ANIMAL, LAW, LAW_SHERIFF
--- _SET_PED_COMBAT_A* - _SET_PED_COMBAT_M*
--- @param ped number
--- @param p1 number
function PED._SET_PED_COMBAT_ATTRIBUTE_HASH(ped, p1) end
--- TLR_ExitTask = 0,
--- TLR_NeverLoseTarget,
--- TLR_SearchForTarget
--- @param ped number
--- @param responseType number
function PED.SET_PED_TARGET_LOSS_RESPONSE(ped, responseType) end
--- @param p0 number
--- @param p1 number
function PED._0x0A4618FFD517E24D(p0, p1) end
--- _SET_PED_MO*
--- @param ped number
--- @param p1 number
function PED._0x712B2C2B2471B493(ped, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x00B380FF2DF6AB7A(p0, p1) end
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_STYLES
--- Params: p2 is usually 1, sometimes 0 or 2
--- duration in seconds, -1.0 = forever
--- @param ped number
--- @param combatStyleHash number
--- @param p2 number
--- @param duration number
function PED._SET_PED_COMBAT_STYLE(ped, combatStyleHash, p2, duration) end
--- Params: p1 = 1 in R* Scripts
--- @param ped number
--- @param p1 number
function PED._CLEAR_PED_COMBAT_STYLE(ped, p1) end
--- duration in seconds, -1.0 = forever
--- @param ped number
--- @param combatStyleModHash number
--- @param duration number
function PED._SET_PED_COMBAT_STYLE_MOD(ped, combatStyleModHash, duration) end
--- _CLEAR_PED_COMBAT_*
--- @param ped number
--- @param combatStyleModHash number
function PED._CLEAR_PED_COMBAT_STYLE_MOD(ped, combatStyleModHash) end
--- _IS_PED_B* - _IS_PED_C*
--- @param ped number
--- @return boolean
function PED._0x5BF0B9D9A8E227A0(ped) end
--- _SET_PED_M*
--- @param ped number
--- @param p1 number
function PED._0x642720D8D69328B6(ped, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @return boolean
function PED.IS_PED_PERFORMING_MELEE_ACTION(ped, p1, p2) end
--- _CAN_PED_*
--- @param ped1 number
--- @param ped2 number
--- @param p2 number
--- @return boolean
function PED._0x99DF2639DA76C1DC(ped1, ped2, p2) end
--- @param ped number
--- @return number
function PED._GET_PED_MELEE_ACTION_PHASE(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_BEING_STEALTH_KILLED(ped) end
--- @param ped number
--- @return number
function PED.GET_MELEE_TARGET_FOR_PED(ped) end
--- @param p0 number
function PED._0xDEDBED3020DA49DC(p0) end
--- @param p0 number
function PED._0xA405BF9F01960C16(p0) end
--- @param ped number
--- @return number
function PED._GET_PED_BRAWLING_STYLE(ped) end
--- brawlingStyle:
--- enum eBrawlingStyle : Hash
--- {
--- BS_AI = 0x802C604D,
--- BS_AI_BARBRAWL = 0x4FF5F0C7,
--- BS_AI_DEFENSIVE = 0xD888F2FD,
--- BS_AI_MOONSHINE_BARBRAWL = 0xA01B433A,
--- BS_ALLIGATOR = 0x7A5548ED,
--- BS_ALLIGATOR_LARGE = 0x368EC7CB,
--- BS_ALLY = 0x69C76C14,
--- BS_ANIMAL = 0xD777C754,
--- BS_BADGER = 0x7E7C3F53,
--- BS_BEAR = 0x0BC66E35,
--- BS_BEAVER = 0x4E313783,
--- BS_BOAR = 0x176A5831,
--- BS_BOUNTY_HUNTER = 0x3900654C,
--- BS_BRUISER = 0x4514DB61,
--- BS_BULL = 0x4E50C5D2,
--- BS_COUGAR = 0x9DAA7CCB,
--- BS_COW = 0xB0E91295,
--- BS_COYOTE = 0xA448EB69,
--- BS_DEER = 0xA781E6B3,
--- BS_DOG = 0x5A4155C4,
--- BS_ELK = 0x408697F0,
--- BS_FEMALE = 0x6A3BB2C2,
--- BS_FEMALE_STRONG = 0x4DAFDD84,
--- BS_GANGUP = 0xD0CECFF2,
--- BS_GOAT = 0x078E649F,
--- BS_HORSE = 0xF6B775F3,
--- BS_MICAH_FINALE = 0x1F0BB27A,
--- BS_MOOSE = 0x968917AB,
--- BS_MUSKRAT = 0x1EDC33AC,
--- BS_NO_MELEE = 0x25B5F931,
--- BS_PIG = 0x22EAD110,
--- BS_PLAYER = 0x78BAEF07,
--- BS_PLAYER_FINALE = 0xF9E77D2D,
--- BS_PLAYER_MOONSHINER = 0x687BF19F,
--- BS_PLAYER_WINTER1 = 0x3C6A802F,
--- BS_QUICK = 0xC4CABB1B,
--- BS_RACCOON = 0x505F8917,
--- BS_SHEEP = 0x6827CCCF,
--- BS_SNAKE = 0x82BEBC4B,
--- BS_TIMID = 0x431AEF77,
--- BS_WOLF = 0xA8F023D4
--- };
--- @param ped number
--- @param brawlingStyle number
function PED._SET_PED_BRAWLING_STYLE(ped, brawlingStyle) end
--- _RESET_PED_*
--- @param ped number
function PED._0x9D8DFE2DE9CB4DFC(ped) end
--- _SET_PED_M*
--- @param ped number
--- @param grapple number
--- @return number
function PED._0xC48AF420371C7407(ped, grapple) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0x5EFA8A3D8A60D662(p0, p1) end
--- @param p0 number
--- @return number
function PED._0x242EDF85D4E87B65(p0) end
--- @param ped number
--- @param behaviour number
function PED._SET_PED_COMBAT_BEHAVIOUR(ped, behaviour) end
--- @param p0 number
function PED._0x9A4AC116CC1EEE14(p0) end
--- @param p0 number
--- @param p1 number
function PED._0xE20027B414BFE6C7(p0, p1) end
--- NET_FETCH_CLIENT_UPDATE_PED_FIGHT_PROFICIENCY: Changing parry multiplier for ped
--- @param ped number
--- @param p1 number
function PED._SET_PED_BEAT_MULTIPLIER(ped, p1) end
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/COMBAT_ACTION_DISABLE_FLAGS
--- @param ped number
--- @param actionDisableFlag number
function PED._SET_PED_ACTION_DISABLE_FLAG(ped, actionDisableFlag) end
--- @param ped number
--- @param actionDisableFlag number
function PED._CLEAR_PED_ACTION_DISABLE_FLAG(ped, actionDisableFlag) end
--- @param ped number
--- @param actionDisableFlag number
--- @return boolean
function PED._IS_PED_ACTION_DISABLE_FLAG_ENABLED(ped, actionDisableFlag) end
--- @param ped number
--- @param actionDisableFlag number
function PED._SET_PED_TARGET_ACTION_DISABLE_FLAG(ped, actionDisableFlag) end
--- @param ped number
--- @param actionDisableFlag number
function PED._CLEAR_PED_TARGET_ACTION_DISABLE_FLAG(ped, actionDisableFlag) end
--- @param ped number
--- @param actionDisableFlag number
--- @return boolean
function PED._IS_PED_TARGET_ACTION_DISABLE_FLAG_ENABLED(ped, actionDisableFlag) end
--- _SET_PED_M*
--- @param ped number
--- @param p1 number
function PED._0x57F35552E771BE9D(ped, p1) end
--- _CLEAR_PED_M*
--- @param ped number
--- @param p1 number
function PED._0x7C10221CE718AA72(ped, p1) end
--- _IS_PED_M*
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0x0D3B1568917EBDA0(ped, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x29F3539189D3E277(p0, p1) end
--- @param p0 number
--- @param p1 number
function PED._0xE9E06EA514A69061(p0, p1) end
--- @param ped number
--- @param writhingDuration1 number
--- @param writhingDuration2 number
--- @param p3 number
function PED._SET_PED_WRITHING_DURATION(ped, writhingDuration1, writhingDuration2, p3) end
--- normalized / non normalized
--- 0.0        / 1000.0         STARTED IN WRITHE STAGE
--- 1.0        / 0.0            END OF WRITHE, DEAD
--- -1.0                        DEAD
--- 
--- Returns some value from AI task 562 (unknown).
--- @param ped number
--- @param normalized boolean
--- @return number
function PED._GET_PED_REMAINING_REVIVAL_TIME(ped, normalized) end
--- @param ped number
--- @param toggle boolean
function PED.SET_PAUSE_PED_WRITHE_BLEEDOUT(ped, toggle) end
--- _GET_IS_PED_(BLEEDING_OUT?)*
--- @param ped number
--- @return boolean
function PED._0x12EB4E31F092C9B3(ped) end
--- @param ped number
--- @return boolean
function PED.GET_PED_IS_GRAPPLING(ped) end
--- @param ped number
--- @return boolean
function PED.GET_PED_IS_BEING_GRAPPLED(ped) end
--- @param ped number
--- @return number
function PED._GET_PED_GRAPPLER(ped) end
--- @param ped number
--- @return number
function PED.GET_PED_GRAPPLE_STATE(ped) end
--- @param ped number
--- @return number
function PED._GET_PED_GRAPPLE_STYLE(ped) end
--- Hashes: GS_DRAGGING, GS_FACE_TO_BACK, GS_FACE_TO_FACE, GS_FACE_TO_FACE_WALL, GS_MOUNTED
--- @param ped number
--- @param style number
--- @return number
function PED._SET_PED_GRAPPLE_STYLE(ped, style) end
--- @param ped number
--- @param grappleSequence string
function PED._SET_PED_GRAPPLE_SEQUENCE(ped, grappleSequence) end
--- @param ped number
--- @param flag number
--- @param enable boolean
function PED._SET_PED_GRAPPLE_FLAG(ped, flag, enable) end
--- @param ped number
--- @param flag number
function PED._CLEAR_PED_GRAPPLE_FLAG(ped, flag) end
--- @param ped number
--- @return number
function PED._GET_PED_GRAPPLE_FLAG(ped) end
--- @param ped number
--- @param grappleAction number
function PED._SET_PED_GRAPPLE_ACTION(ped, grappleAction) end
--- @param ped number
--- @param multiplier number
--- @return number
function PED._SET_PED_GRAPPLE_EFFECT_MULTIPLIER(ped, multiplier) end
--- @param ped number
--- @param grappleAnim number
function PED._SET_PED_GRAPPLE_ANIMATION(ped, grappleAnim) end
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/FLEE_ATTRIBUTES
--- 
--- attributeFlags:
--- enum eFleeAttribute
--- {
--- FA_FORCE_EXIT_VEHICLE = (1 << 16),
--- FA_DISABLE_MOUNT_USAGE = (1 << 20),
--- FA_DISABLE_ENTER_VEHICLES = (1 << 22),
--- };
--- @param ped number
--- @param attributeFlags number
--- @param enable boolean
function PED.SET_PED_FLEE_ATTRIBUTES(ped, attributeFlags, enable) end
--- @param ped number
--- @return boolean
function PED._IS_PED_COWERING(ped) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function PED.IS_ANY_PED_NEAR_POINT(x, y, z, radius) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
function PED.FORCE_PED_AI_AND_ANIMATION_UPDATE(ped, p1, p2) end
--- _FORCE_PED_*
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 boolean
function PED._0xC2722B252C79E641(ped, p1, p2, p3) end
--- @param ped number
--- @return boolean
function PED._IS_PED_DOING_SCENARIO_TRANSITION(ped) end
--- _IS_PED_D*
--- @param ped number
--- @return boolean
function PED._0x2DC0E8DCBD3546E9(ped) end
--- Forces transition now, called together with 0xD65FDC686A031C83
--- @param ped number
function PED._ADD_SCENARIO_TRANSITION(ped) end
--- Ped Command Hash are special commands, that can be activated to change conditional anim variations or trigger transitions between conditional anims.
--- https://github.com/femga/rdr3_discoveries/blob/master/animations/scenarios
--- @param ped number
--- @param commandHash number
--- @param activationDuration number
function PED._GIVE_PED_HASH_COMMAND(ped, commandHash, activationDuration) end
--- @param ped number
--- @param commandHash number
--- @return boolean
function PED._GET_IS_PED_COMMAND_HASH_PRESENT(ped, commandHash) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @return boolean
function PED.IS_PED_HEADING_TOWARDS_POSITION(ped, x, y, z, p4) end
--- Not implemented.
--- @param ped number
function PED._0x600BBDD29820370C(ped) end
--- @param ped number
function PED.REQUEST_PED_VISIBILITY_TRACKING(ped) end
--- @param ped number
function PED.RELEASE_PED_VISIBILITY_TRACKING(ped) end
--- @param ped number
--- @param p1 boolean
function PED.REQUEST_PED_VEHICLE_VISIBILITY_TRACKING(ped, p1) end
--- @param ped number
--- @param p1 boolean
function PED.REQUEST_PED_USE_SMALL_BBOX_VISIBILITY_TRACKING(ped, p1) end
--- @param ped number
--- @return number
function PED.GET_TRACKED_PED_PIXELCOUNT(ped) end
--- Returns whether or not a ped is visible within your FOV, not this check auto's to false after a certain distance.
--- Target needs to be tracked first, won't work otherwise.
--- @param ped number
--- @return boolean
function PED.IS_TRACKED_PED_VISIBLE(ped) end
--- @param ped number
--- @param percent number
--- @return boolean
function PED._IS_TRACKED_PED_VISIBILITY_PERCENTAGE_NOT_LESS_THAN(ped, percent) end
--- @param ped number
--- @return boolean
function PED._IS_PED_VISIBILITY_TRACKED(ped) end
--- @param ped number
--- @return boolean
function PED.CAN_PED_BE_MOUNTED(ped) end
--- Returns true if given ped is a fish.
--- _IS_ME* - _IS_MO*
--- @param ped number
--- @return boolean
function PED._IS_META_PED_FISH(ped) end
--- @param ped number
--- @param eventType number
--- @return boolean
function PED.IS_EVENT_IN_QUEUE(ped, eventType) end
--- Returns:
--- 0 - CTR_CANNOT_TARGET
--- 1 - CTR_CAN_TARGET
--- 2 - CTR_NOT_SURE_YET
--- @param ped number
--- @param targetEntity number
--- @param p2 boolean
--- @param doFoliageCheck boolean
--- @return number
function PED.CAN_PED_SEE_ENTITY(ped, targetEntity, p2, doFoliageCheck) end
--- @param ped number
--- @param targetPed number
--- @param p2 boolean
--- @return number
function PED.CAN_PED_SEE_PED_CACHED(ped, targetPed, p2) end
--- _CAN_PED_B* - _CAN_PED_I*
--- @param ped1 number
--- @param ped2 number
--- @param p2 boolean
--- @return number
function PED._0x0EA9EACBA3B01601(ped1, ped2, p2) end
--- no bone = -1
--- @param ped number
--- @param boneId number
--- @return number
function PED.GET_PED_BONE_INDEX(ped, boneId) end
--- Returns boneIndex
--- @param ped number
--- @param boneId number
--- @return number
function PED._GET_PED_RAGDOLL_BONE_INDEX(ped, boneId) end
--- _SET_PED_R* -_SET_PED_S*
--- @param horse number
function PED._0xE29D8CD66553DBAA(horse) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0xB06F5F1DEF417216(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0xFC23348F0F4E245F(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function PED._0x9184788BFF1EDAD7(p0, p1) end
--- Params: ped, 0f, -1, true, true in R* MP Scripts
--- _SET_PED_DE* - _SET_PED_F*
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 boolean
--- @param p4 boolean
function PED._SET_PED_DIRT_CLEANED(ped, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0x0105FEE8F9091255(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0xD049920CD29F6CC8(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0xBB3E5370EBB6BE28(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x2FA568BFA725F8D6(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0x56E4BAD93D33453C(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x75A082563B4452E5(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x16802C32B2FCA06B(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x8BA0C65AC15A7D33(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function PED._0x0FFDF937E5C11382(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x5FCF25D584065BFD(p0, p1, p2, p3) end
--- _SET_PED_*
--- @param ped number
--- @param inverted boolean
function PED._0xA2116C1E4ED85C24(ped, inverted) end
--- motionStateHash: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CPedMotionStates__eMotionState
--- @param ped number
--- @param motionStateHash number
--- @param p2 boolean
--- @param p3 number
--- @param p4 boolean
--- @return boolean
function PED.FORCE_PED_MOTION_STATE(ped, motionStateHash, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x75D3333409CD33CE(p0, p1, p2) end
--- Old name: _GET_PED_CURRENT_MOVEMENT_SPEED
--- @param ped number
--- @param speedX any
--- @param speedY any
--- @return boolean
function PED.GET_PED_CURRENT_MOVE_BLEND_RATIO(ped, speedX, speedY) end
--- @param ped number
--- @param value number
function PED.SET_PED_MAX_MOVE_BLEND_RATIO(ped, value) end
--- @param ped number
--- @param value number
function PED.SET_PED_MIN_MOVE_BLEND_RATIO(ped, value) end
--- @param p0 number
function PED._0xBC1DC48270468444(p0) end
--- Returns vehicle (desired) speed
--- _COMPUTE_(VEHICLE_SPEED_USING_BLEND_RATIO?)*
--- @param ped number
--- @param maxMoveBlendRatio number
--- @return number
function PED._0x46BF2A810679D6E6(ped, maxMoveBlendRatio) end
--- Returns vehicle speed
--- _COMPUTE_*
--- @param ped number
--- @param p1 number
--- @return number
function PED._0xCA95924C893A0C91(ped, p1) end
--- _H* - _I*
--- @param mount number
--- @param kickOffRider boolean
function PED._HORSE_AGITATE(mount, kickOffRider) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x413697EC260AABBF(p0, p1, p2) end
--- @param ped number
function PED._0xCAC43D060099EA72(ped) end
--- @param ped number
function PED._0xC9151483CC06A414(ped) end
--- @param p0 number
--- @param p1 number
function PED._0xAD3330E3C3E98007(p0, p1) end
--- @param p0 number
--- @return number
function PED._0xB8E2D655E1D5BD39(p0) end
--- @param p0 number
--- @return number
function PED._0x7BB810E8B343AC7B(p0) end
--- Min: 0.0f
--- Max: 1.15f
--- @param ped number
--- @param value number
function PED.SET_PED_MOVE_RATE_OVERRIDE(ped, value) end
--- @param ped number
--- @param sizeAndVehs number
--- @return number
function PED.GET_PED_NEARBY_VEHICLES(ped, sizeAndVehs) end
--- @param ped number
--- @param sizeAndPeds number
--- @param ignoredPedType number
--- @param p3 number
--- @return number
function PED.GET_PED_NEARBY_PEDS(ped, sizeAndPeds, ignoredPedType, p3) end
--- @param ped number
--- @return boolean
function PED.IS_PED_READY_TO_RENDER(ped) end
--- @param p0 number
function PED._0x6A489892E813951A(p0) end
--- @param ped number
--- @return boolean
function PED.IS_PED_USING_ACTION_MODE(ped) end
--- @param ped number
--- @return boolean
function PED._IS_PED_USING_ACTION_MODE_2(ped) end
--- @param ped number
--- @param bActionModeEnabled boolean
--- @param p2 number
--- @param action string
function PED.SET_PED_USING_ACTION_MODE(ped, bActionModeEnabled, p2, action) end
--- Overrides the ped's collision capsule radius for the current tick.
--- Must be called every tick to be effective.
--- 
--- Setting this to 0.001 will allow warping through some objects.
--- @param ped number
--- @param value number
function PED.SET_PED_CAPSULE(ped, value) end
--- @param mount number
--- @param p1 boolean
--- @return number
function PED._GET_RIDER_OF_MOUNT(mount, p1) end
--- Params: p4 = 35.f, duration = 5000 in R* Scripts
--- @param x number
--- @param y number
--- @param z number
--- @param width number
--- @param p4 number
--- @param spawnpointsFlag number
--- @param p6 number
--- @param duration number
--- @param p8 number
function PED.SPAWNPOINTS_START_SEARCH(x, y, z, width, p4, spawnpointsFlag, p6, duration, p8) end
--- Searching area between coords 1 and 2
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param width number
--- @param spawnpointsFlag number
--- @param p8 number
--- @param duration number
--- @param p10 number
function PED.SPAWNPOINTS_START_SEARCH_IN_ANGLED_AREA(x1, y1, z1, x2, y2, z2, width, spawnpointsFlag, p8, duration, p10) end
--- @param volume number
--- @param spawnpointsFlag number
--- @param p2 number
--- @param duration number
--- @param p4 number
function PED._SPAWNPOINTS_START_SEARCH_WITH_VOLUME(volume, spawnpointsFlag, p2, duration, p4) end
function PED.SPAWNPOINTS_CANCEL_SEARCH() end
--- @return boolean
function PED.SPAWNPOINTS_IS_SEARCH_ACTIVE() end
--- @return boolean
function PED.SPAWNPOINTS_IS_SEARCH_COMPLETE() end
--- @return boolean
function PED.SPAWNPOINTS_IS_SEARCH_FAILED() end
--- @return number
function PED.SPAWNPOINTS_GET_NUM_SEARCH_RESULTS() end
--- @param randomInt number
--- @param x any
--- @param y number
--- @param z any
function PED.SPAWNPOINTS_GET_SEARCH_RESULT(randomInt, x, y, z) end
--- @param p0 number
--- @param p1 number
function PED.SPAWNPOINTS_GET_SEARCH_RESULT_FLAGS(p0, p1) end
--- @param ped number
--- @param ikIndex number
--- @param entityLookAt number
--- @param boneLookAt number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param p7 number
--- @param blendInDuration number
--- @param blendOutDuration number
function PED.SET_IK_TARGET(ped, ikIndex, entityLookAt, boneLookAt, offsetX, offsetY, offsetZ, p7, blendInDuration, blendOutDuration) end
--- For more information, see common:/data/emotional_presets.meta
--- @param ped number
--- @param name string
function PED._REQUEST_PED_EMOTIONAL_PRESET(ped, name) end
--- See _REQUEST_PED_EMOTIONAL_PRESET
--- @param ped number
--- @param name string
--- @return boolean
function PED._HAS_PED_EMOTIONAL_PRESET_LOADED(ped, name) end
--- See _REQUEST_PED_EMOTIONAL_PRESET
--- @param ped number
--- @param name string
function PED._REMOVE_PED_EMOTIONAL_PRESET(ped, name) end
--- @param nameHash number
--- @param ped number
function PED._REQUEST_MOTION_TYPE_ASSET(nameHash, ped) end
--- @param nameHash number
--- @param ped number
--- @return boolean
function PED.HAS_MOTION_TYPE_ASSET_LOADED(nameHash, ped) end
--- @param nameHash number
--- @param ped number
function PED._REMOVE_MOTION_TYPE_ASSET(nameHash, ped) end
--- _IS_PED_L* - _IS_PED_M*
--- @param ped number
--- @return boolean
function PED._0x290B2E6CCDE532E1(ped) end
--- _IS_PED_L* - _IS_PED_M*
--- @param ped number
--- @return boolean
function PED._0x0EEF7A81C17679DB(ped) end
--- @param ped number
--- @param multiplier number
function PED.SET_PED_LOD_MULTIPLIER(ped, multiplier) end
--- @param ped number
--- @return number
function PED._GET_PED_LOD_MULTIPLIER(ped) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0xA218D2BBCAA7388C(p0, p1) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function PED.IS_ANY_HOSTILE_PED_NEAR_POINT(ped, x, y, z, radius) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0xCBDE59C48F2B06F5(p0, p1, p2) end
--- @param p0 number
function PED._0x6A190B94C2541A99(p0) end
--- Returns true if ped is in perception (focused and looking at target ped)
--- Most float params are -1.f in R* Scripts
--- @param ped number
--- @param targetPed number
--- @param p2 number
--- @param customDistance number
--- @param p4 number
--- @param p5 number
--- @return boolean
function PED.IS_TARGET_PED_IN_PERCEPTION_AREA(ped, targetPed, p2, customDistance, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED.SET_POP_CONTROL_SPHERE_THIS_FRAME(p0, p1, p2, p3, p4) end
--- @param ped number
--- @return boolean
function PED.IS_PED_HOGTIED(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_BEING_HOGTIED(ped) end
--- @param ped number
--- @return number
function PED._0x3D9F958834AB9C30(ped) end
--- _IS_PED_S* - _IS_PED_U*
--- @param ped number
--- @return boolean
function PED._0x913D04A5176F84C9(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_HOGTYING(ped) end
--- https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/Lasso%20Hogtie%20Flags
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/LASSO_HOGTIE_FLAG
--- @param ped number
--- @param flagId number
--- @return boolean
function PED._GET_PED_LASSO_HOGTIE_FLAG(ped, flagId) end
--- @param ped number
--- @param flagId number
--- @param value boolean
function PED.SET_PED_LASSO_HOGTIE_FLAG(ped, flagId, value) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function PED._0x4642182A298187D0(ped, p1, p2, p3, p4) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 boolean
function PED._0x6B67320E0D57856A(ped, p1, p2, p3) end
--- @param ped number
--- @return number
function PED._GET_FIRST_ENTITY_PED_IS_CARRYING(ped) end
--- @param ped number
--- @param p1 number
function PED._0xAA6C49AE90A32299(ped, p1) end
--- @param entity number
--- @return number
function PED._GET_CARRIER_AS_PED(entity) end
--- @param entity number
--- @return number
function PED._GET_CARRIER_AS_MOUNT(entity) end
--- @param entity number
--- @return number
function PED._GET_CARRIER_AS_HUMAN(entity) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function PED.GET_CARRIED_ATTACHED_INFO_FOR_SLOT(p0, p1, p2, p3) end
--- @param entity number
--- @param p1 boolean
--- @param p2 boolean
function PED.DETACH_CARRIABLE_ENTITY(entity, p1, p2) end
--- @param ped number
--- @param itemset number
function PED.FIND_ALL_ATTACHED_CARRIABLE_ENTITIES(ped, itemset) end
--- @param ped number
--- @return boolean
function PED.IS_PED_CARRYING_SOMETHING(ped) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0xB65927F861E7AE39(ped, p1) end
--- @param volume number
--- @return boolean
function PED._0xA1FBAC56D38563E2(volume) end
--- @param mount number
--- @param outData number
--- @return number
function PED._GET_CARRIED_PELT_SKINS(mount, outData) end
--- @param ped number
--- @return boolean
function PED.IS_PED_LASSOED(ped) end
--- _IS_PED_S* - _IS_PED_U*
--- This native name may or may not be misleading.
--- @param ped number
--- @return number
function PED._GET_LASSOER_OF_PED(ped) end
--- @param ped number
--- @return number
function PED._GET_LASSO_TARGET(ped) end
--- @param ped number
--- @return number
function PED._GET_LASSOED_LASSOER(ped) end
--- https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CLootingFlags__Flags
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/LOOTING_FLAGS
--- 
--- lootFlag:
--- enum eLootFlag
--- {
--- LOOT_FLAG_IS_CRITICAL_LOOT_TARGET = 7,
--- LOOT_FLAG_IGNORE_WATER_CHECKS = 8,
--- LOOT_FLAG_ANIMAL_FLAGGED_FOR_TAGGING = 23,
--- };
--- @param ped number
--- @param lootFlag number
--- @param enabled boolean
function PED.SET_LOOTING_FLAG(ped, lootFlag, enabled) end
--- lootFlag: see SET_LOOTING_FLAG
--- @param ped number
--- @param lootFlag number
--- @return boolean
function PED._GET_LOOTING_FLAG(ped, lootFlag) end
--- Returns loot state
--- enum eLootState
--- {
--- LAP_NONE,
--- LAP_RESUMING,
--- LAP_GETTING_ON_FOOT,
--- LAP_DISTANT_NAV,
--- LAP_CHOOSING_ACTION,
--- LAP_APPROACHING,
--- LAP_ENTERING,
--- LAP_LOOTING,
--- LAP_EXITING
--- };
--- 
--- _POSSE_* - _REGISTER_HATED*
--- @param ped number
--- @param p1 number
--- @param lootTarget number
--- @param p3 number
--- @param p4 number
--- @return number
function PED._REFRESH_LOOT_STATE_FOR_PED(ped, p1, lootTarget, p3, p4) end
--- enum ePedLootStatus
--- {
--- PLS_NONE,
--- PLS_PRE_LOOT,
--- PLS_SAMPLING,
--- PLS_SKINNING
--- };
--- @param ped number
--- @return number
function PED.GET_PED_LOOT_STATUS_MP(ped) end
--- @param ped number
--- @return number
function PED._0x4B19F171450E0D4F(ped) end
--- @param ped number
--- @return boolean
function PED._0x758F081DB204DDDE(ped) end
--- @param ped number
--- @return number
function PED.GET_LOOTING_PICKUP_TARGET_ENTITY(ped) end
--- @param p0 number
--- @return number
function PED._0x7B5C293238EE4F20(p0) end
--- @param p0 number
function PED._0xAE6B68A83ABBE7C0(p0) end
--- @param ped number
--- @return boolean
function PED._0xA4B6432E3880F2F9(ped) end
--- @param ped number
--- @return boolean
function PED._ADD_PED_SUBSCRIBE_TO_LEGENDARY_BLIPS(ped) end
--- @param ped number
--- @return boolean
function PED._REMOVE_PED_SUBSCRIBE_TO_LEGENDARY_BLIPS(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_INCAPACITATED(ped) end
--- @param ped number
--- @param canBeIncapacitated boolean
--- @param threshold number
--- @param bleedoutTime number
--- @param p4 number
function PED._SET_PED_INCAPACITATION_MODIFIERS(ped, canBeIncapacitated, threshold, bleedoutTime, p4) end
--- @param ped number
--- @return boolean
function PED._GET_PED_CAN_BE_INCAPACITATED_THIS_FRAME(ped) end
--- When set on a player ped, its just like when you die in RDO
--- @param ped number
--- @param toggle boolean
function PED.SET_PED_CAN_BE_INCAPACITATED(ped, toggle) end
--- @param ped number
--- @return number
function PED._GET_PED_INCAPACITATION_HEALTH(ped) end
--- @param ped number
--- @param duration number
function PED._SET_PED_INCAPACITATION_TOTAL_BLEED_OUT_DURATION(ped, duration) end
--- @param ped number
function PED._RESET_PED_INCAPACITATION_BLEED_OUT_DURATION(ped) end
--- @param ped number
--- @param flags number
function PED._SET_PED_INCAPACITATION_FLAGS(ped, flags) end
--- @param p0 number
--- @param p1 number
function PED._0x92A1B55A59720395(p0, p1) end
--- @param ped number
--- @param ped2 number
function PED._INCAPACITATED_REVIVE(ped, ped2) end
--- @param ped number
--- @return number
function PED._GET_INCAPACITATION_TIME_REMAINING(ped) end
--- @param ped number
--- @param p1 number
function PED._SET_PED_KNOCKED_BY_ONE_HIT(ped, p1) end
--- @param ped number
--- @param p1 number
function PED._0x2E5B5D1F1453E08E(ped, p1) end
--- _SET_PED_K* or _SET_PED_L*
--- @param ped number
--- @param p1 number
function PED._0x29924EB8EE9DB926(ped, p1) end
--- Params: hash - ARTHUR or JOHN
--- _SET_PED_(A-D)*
--- @param ped number
--- @param playerType number
function PED._SET_PED_ACTIVE_PLAYER_TYPE(ped, playerType) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function PED._0xCB86D3E3E3708901(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
function PED._0x633F83B301C87994(p0, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @return boolean
function PED._0x5203038FF8BAE577(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0x7F090958AE95B61B(ped, p1) end
--- memoryType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/_PED_SET_SIMPLE_PLAYER_MEMORY
--- @param ped number
--- @param memoryType number
function PED._PED_SET_SIMPLE_PLAYER_MEMORY(ped, memoryType) end
--- _GET_PED_G* - _GET_PED_I*
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @return boolean
function PED._0xC3995D396F1D97B6(ped, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x15F4732C357B1D6D(p0, p1, p2) end
--- Returns whether given ped has recently interacted with a player in a specific way or not (determined by the given flag)
--- flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/0x947E43F544B6AB34
--- @param targetPed number
--- @param player number
--- @param flag number
--- @param durationMs number
--- @return boolean
function PED._GET_PED_HAS_INTERACTED_WITH_PLAYER(targetPed, player, flag, durationMs) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0x32417CB860A3BDC4(p0, p1) end
--- Only used in R* Script nb_animal_attack: p2 = 120000
--- _SET_PED_SH* - _SET_PED_SP*
--- @param ped number
--- @param player number
--- @param p2 number
function PED._0xE737D5F14304A2EC(ped, player, p2) end
--- @param p0 number
--- @param p1 number
function PED._0xEBD49472BCCF7642(p0, p1) end
--- @param ped number
--- @param player number
--- @param duration number
function PED._SET_PLAYER_GREET_DISABLED_FOR_PED(ped, player, duration) end
--- @param ped number
--- @param player number
--- @param duration number
function PED._SET_PLAYER_ANTAGONIZE_DISABLED_FOR_PED(ped, player, duration) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0xB9BDFAE609DFB7C5(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PED._0xF7327ACC7A89AEF1(p0, p1, p2) end
--- AI_ATTITUDE_NEUTRAL = 0,
--- AI_ATTITUDE_FRIENDLY,
--- AI_ATTITUDE_WARY,
--- AI_ATTITUDE_COMBATIVE,
--- AI_ATTITUDE_NEVER_MET
--- @param ped number
--- @param player number
--- @return number
function PED._GET_PED_ATTITUDE(ped, player) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0x1E017404784AA6A3(ped, p1) end
--- @param ped number
--- @param p1 number
function PED._0x2B4CE170DE09F346(ped, p1) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED._0x7C8AA850617651D9(ped, p1) end
--- If targetPed is set to 0 the ped motivationState affects everyone
--- @param ped number
--- @param motivationState number
--- @param targetPed number
--- @return number
function PED._GET_PED_MOTIVATION(ped, motivationState, targetPed) end
--- enum eMotivationState
--- {
--- TOILET_STATE,
--- FEAR_STATE,
--- ANGRY_STATE,
--- AGITATION_STATE,
--- HUNGRY_STATE,
--- TIRED_STATE,
--- SAD_STATE,
--- BRAVE_STATE,
--- OFFER_ITEM_STATE,
--- SUSPICION,
--- DRUNK_STATE
--- };
--- 
--- If targetPed is set to 0 the ped motivationState affects everyone
--- @param ped number
--- @param motivationState number
--- @param threshold number
--- @param targetPed number
function PED._SET_PED_MOTIVATION(ped, motivationState, threshold, targetPed) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0x23BDE06596A22CEC(ped, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0xCDFB8C04D4C95D9B(p0, p1, p2, p3) end
--- motivationState: see _SET_PED_MOTIVATION
--- @param ped number
--- @param motivationState number
--- @return boolean
function PED._GET_IS_PED_MOTIVATION_STATE_ENABLED(ped, motivationState) end
--- motivationState: see _SET_PED_MOTIVATION
--- @param ped number
--- @param motivationState number
--- @param enabled boolean
function PED._SET_PED_MOTIVATION_STATE_OVERRIDE(ped, motivationState, enabled) end
--- The higher the modifier, the slower the motivationState value will decrease
--- @param ped number
--- @param motivationState number
--- @param modifier number
function PED._SET_PED_MOTIVATION_MODIFIER(ped, motivationState, modifier) end
--- @param p0 number
--- @param p1 number
function PED._0xFD8E853F0BC2E942(p0, p1) end
--- 0.0 - 1.0
--- Modifies the "scent line" on the ped's body when using Eagle Eye.
--- @param ped number
--- @param scent number
function PED._SET_PED_SCENT(ped, scent) end
--- @param ped number
--- @param p1 number
function PED._SET_PED_LADDER_MOVEMENT_SPEED_MODIFIER(ped, p1) end
--- @param ped number
function PED._RESET_PED_LADDER_MOVEMENT_SPEED_MODIFIER(ped) end
--- @param p0 number
--- @param p1 number
function PED._0xC6C4E15CF7D52FEA(p0, p1) end
--- _SET_PED_S* - _SET_PED_T*
--- @param ped number
--- @param volume number
function PED._SET_PED_VOICE_VOLUME(ped, volume) end
--- @param p0 number
--- @param p1 number
function PED._0x0F967019CC853BCC(p0, p1) end
--- @param ped number
--- @return boolean
function PED._IS_PED_DRAGGING(ped) end
--- @param ped number
--- @return boolean
function PED.IS_PED_BEING_DRAGGED(ped) end
--- @param p0 number
--- @param p1 number
function PED._0x070A3841406C43D5(p0, p1) end
--- @param ped number
--- @param volume number
--- @return boolean
function PED._ADD_PED_STAY_OUT_VOLUME(ped, volume) end
--- @param ped number
--- @param volume number
--- @return boolean
function PED._REMOVE_PED_STAY_OUT_VOLUME(ped, volume) end
--- @param p0 number
--- @param p1 number
function PED._0x9E66708B2B41F14A(p0, p1) end
--- @param ped number
--- @param p1 number
function PED._0xF634E2892220EF34(ped, p1) end
--- @param ped number
--- @param targetPed number
function PED._0xAAC0EE3B4999ABB5(ped, targetPed) end
--- @param ped number
--- @return number
function PED.GET_PED_MOTION_FOCUS_ENTITY(ped) end
--- Sets MetaPedExpression at index specified. Morphs components, such as changing body size or facial features.
--- 
--- Note: You have to update the ped's variation (using 0xCC8CA3E88256E58F) after calling this native
--- 
--- index = MetaPedExpression IDs
--- List of face features: https://pastebin.com/9jb88FXW
--- Full list of MetaPedExpressions: https://pastebin.com/Ld76cAn7
--- value: -1.0 to 1.0 (values beyond this likely won't sync to other clients)
--- 
--- This native also allows you to change a horse's gender.
--- 
--- Old name: _SET_PED_FACE_FEATURE
--- @param ped number
--- @param index number
--- @param value number
function PED._SET_CHAR_EXPRESSION(ped, index, value) end
--- Gets MetaPedExpression at index specified
--- 
--- For index, see: _SET_CHAR_EXPRESSION
--- 
--- Old name: _GET_PED_FACE_FEATURE
--- @param ped number
--- @param index number
--- @return number
function PED._GET_CHAR_EXPRESSION(ped, index) end
--- @param p0 number
--- @param p1 number
function PED._0x5BB04BC74A474B47(p0, p1) end
--- @param p0 number
function PED._0x9078FB0557364099(p0) end
--- @param ped number
--- @return boolean
function PED.IS_PED_FALLING_OVER(ped) end
--- @param ped number
--- @param ms number
--- @return boolean
function PED._HAS_PED_BEEN_SHOVED_RECENTLY(ped, ms) end
--- @param ped number
--- @return number
function PED._GET_PED_TRANQUILIZER(ped) end
--- @param p0 number
--- @param p1 number
function PED._0x0D497AA69059FE40(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0xD7D2F45C56A4F4DF(p0, p1, p2) end
--- The higher the multiplier the less the engine renders culls (https://docs.unity3d.com/Manual/OcclusionCulling.html)
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED._SET_PED_CULL_RANGE(ped, p1, p2) end
--- @param p0 number
--- @param p1 number
function PED._0x1D23D3F70606D788(p0, p1) end
--- enum eMetaPedType
--- {
--- MPT_MALE,
--- MPT_FEMALE,
--- MPT_TEEN,
--- MPT_ANIMAL,
--- MPT_NONE
--- };
--- @param ped number
--- @return number
function PED._GET_META_PED_TYPE(ped) end
--- @param ped number
--- @param component number
--- @return boolean
function PED._IS_META_PED_USING_COMPONENT(ped, component) end
--- _IS_PED_M* - _IS_PED_O*
--- @param ped number
--- @return boolean
function PED._0xBD0E4F52F6D95242(ped) end
--- @param ped number
--- @return boolean
function PED._IS_PED_CHILD(ped) end
--- @param ped number
--- @param p1 number
function PED._0xFFA1594703ED27CA(ped, p1) end
--- Use to apply metaped player components
--- Replaces asset, alternatively you can remove assets using REMOVE_TAG_FROM_META_PED
--- @param ped number
--- @param drawable number
--- @param albedo number
--- @param normal number
--- @param material number
--- @param palette number
--- @param tint0 number
--- @param tint1 number
--- @param tint2 number
function PED._SET_META_PED_TAG(ped, drawable, albedo, normal, material, palette, tint0, tint1, tint2) end
--- @param ped number
--- @param component number
--- @param p2 number
function PED.REMOVE_TAG_FROM_META_PED(ped, component, p2) end
--- @param p0 number
--- @param p1 number
function PED._0xA2B8E47442C76CEC(p0, p1) end
--- Works similar to 0x90403E8107B60E81 (_GET_NUM_COMPONENTS_IN_PED) but is used to get category hashes instead
--- @param ped number
--- @return number
function PED._GET_NUM_COMPONENT_CATEGORIES_IN_PED(ped) end
--- Returns category hash that each ped component has. Hash examples: MASKS, HATS, HEADS, HORSE_MANES
--- @param ped number
--- @param index number
--- @return number
function PED._GET_PED_COMPONENT_CATEGORY_BY_INDEX(ped, index) end
--- @param ped number
--- @return number
function PED._GET_NUM_COMPONENTS_IN_PED(ped) end
--- @param ped number
--- @param componentIndex number
--- @param p2 number
--- @return number
function PED._GET_CATEGORY_OF_COMPONENT_AT_INDEX(ped, componentIndex, p2) end
--- Update variation on ped, needed after first creation, or when component or texture/overlay is changed
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
--- @param p5 boolean
function PED._UPDATE_PED_VARIATION(ped, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
function PED._0xCB1A3864C524F784(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0xFA0D206B489A6846(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PED._0xA4AC05B1A364EBC5(p0, p1, p2) end
--- @param p0 number
function PED._0x1298B3D8E4C2409F(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0xA274F51EF7E34B95(p0, p1) end
--- @param p0 number
--- @return number
function PED._0xC2EF407645BEECDC(p0) end
--- Note: you have to update your ped's variation after calling (using 0xCC8CA3E88256E58F)
--- 
--- Body Types:
--- MPCREATOR_NEUTRAL
--- MPCREATOR_SKINNY
--- MPCREATOR_SKINNY_MUSCULAR
--- MPCREATOR_HEAVY
--- MPCREATOR_HEAVY_MUSCULAR
--- 
--- eBodyWeightOutfit (pedattributes.ymt):
--- -2045421226 (smallest)
--- -1745814259
--- -325933489
--- -1065791927
--- -844699484
--- -1273449080
--- 927185840
--- 149872391
--- 399015098
--- -644349862
--- 1745919061 (default)
--- 1004225511
--- 1278600348
--- 502499352
--- -2093198664
--- -1837436619
--- 1736416063
--- 2040610690
--- -1173634986
--- -867801909
--- 1960266524 (biggest)
--- 
--- https://github.com/femga/rdr3_discoveries/blob/master/peds_customization/ped_outfits.lua
--- 
--- Alt name: _EQUIP_META_PED_OUTFIT_COMPONENT
--- @param ped number
--- @param hash number
function PED._EQUIP_META_PED_OUTFIT(ped, hash) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0xFA742B82D093D848(p0, p1, p2) end
--- @param ped number
--- @return number
function PED._GET_PED_META_OUTFIT_HASH(ped) end
--- @param p0 number
--- @param p1 number
function PED._0xA2F8B3B5FEDFC100(p0, p1) end
--- @param ped number
--- @param suboutfit number
--- @param p2 number
function PED._EQUIP_META_PED_SUBOUTFIT(ped, suboutfit, p2) end
--- @param outfit number
--- @param model number
--- @return boolean
function PED._DOES_META_PED_OUTFIT_EXIST_FOR_PED_MODEL(outfit, model) end
--- @param outfit number
--- @param suboutfit number
--- @param model number
--- @return boolean
function PED._DOES_META_PED_SUBOUTFIT_EXIST_FOR_PED_MODEL(outfit, suboutfit, model) end
--- Returns p1 value for 0x8E84119A23C16623
--- @param entity number
--- @param p1 number
--- @return number
function PED._0x62FDF4E678E40CC6(entity, p1) end
--- @param ped number
function PED._RESET_PED_COMPONENTS(ped) end
--- _RESET_PED_*
--- @param ped number
--- @param p1 boolean
function PED._0x370A973252741AC4(ped, p1) end
--- @param ped number
--- @param p1 boolean
function PED._SET_RANDOM_OUTFIT_VARIATION(ped, p1) end
--- @param ped number
--- @return number
function PED.GET_NUM_META_PED_OUTFITS(ped) end
--- Sets the outfit preset for the ped. The presetId is an index which determines its preset outfit. p2 is always false in the scripts.
--- If p2 is true as player, then certain components like facial hair and hair will not be removed.
--- Old name: _SET_PED_OUTFIT_PRESET
--- @param ped number
--- @param presetId number
--- @param p2 boolean
function PED._EQUIP_META_PED_OUTFIT_PRESET(ped, presetId, p2) end
--- Changes Multiplayer ped face and body type components, they can be stacked
--- Params: p3 = 1
--- Body shape for mp_male from 124 - 128, 110 - 115 for mp_female
--- Face shape for mp_male from 110 - 123, 96 - 109 for mp_female
--- Cloth type for mp_male from 0 - 109, 0 - 95 for mp_female
--- @param ped number
--- @param component number
--- @param p2 number
--- @param p3 number
function PED._EQUIP_META_PED_OUTFIT_EXTRA(ped, component, p2, p3) end
--- Used in script function HORSE_IS_META_PED_OUTFIT_SADDLE_EQUIPPED
--- @param ped number
--- @param outfit number
--- @return boolean
function PED._IS_META_PED_OUTFIT_EQUIPPED(ped, outfit) end
--- @param p0 number
--- @param p1 number
function PED._0x851966E1E35AF491(p0, p1) end
--- Used in script function METAPED_CLOTHING__XML__APPLY_OUTFIT_TINTS_TO_PED
--- @param ped number
--- @param componentCategory number
--- @param palette number
--- @param tint0 number
--- @param tint1 number
--- @param tint2 number
function PED._SET_TEXTURE_OUTFIT_TINTS(ped, componentCategory, palette, tint0, tint1, tint2) end
--- Returns requestId
--- Params: p1 = 1 in R* Scripts (Used in SP only)
--- @param model number
--- @param p1 number
--- @return number
function PED._REQUEST_META_PED(model, p1) end
--- @param requestId number
--- @return boolean
function PED._HAS_META_PED_REQUEST_LOADED(requestId) end
--- @param requestId number
--- @return boolean
function PED._IS_META_PED_REQUEST_VALID(requestId) end
--- Only used in SP scripts, for example odriscolls1: BOOLS: true, true, true, false, false
--- @param requestId number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 boolean
--- @return number
function PED._CREATE_META_PED(requestId, x, y, z, heading, p5, p6, p7, p8, p9) end
--- @param requestId number
function PED._RELEASE_META_PED_REQUEST(requestId) end
--- https://github.com/femga/rdr3_discoveries/blob/master/clothes/metaped_outfits.lua
--- Returns requestId, to be used with 0x74F512E29CB717E2
--- @param model number
--- @param outfit number
--- @return number
function PED._REQUEST_META_PED_OUTFIT(model, outfit) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PED._0x27E8A84C12B0B7D1(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @return number
function PED._0x273915CE30780986(p0, p1) end
--- @param requestId number
function PED._RELEASE_META_PED_OUTFIT_REQUEST(requestId) end
--- Used for script function PROCESS_PLAYER_HAT_EVENT
--- Returns requestId to be used with 0x13E7320C762F0477
--- @param drawable number
--- @param albedo number
--- @param normal number
--- @param material number
--- @param p4 number
--- @return number
function PED._0x3FCBB5FCFD968698(drawable, albedo, normal, material, p4) end
--- Returns requestId
--- Params: p1 = 1 in R* Scripts
--- @param asset number
--- @param p1 number
--- @return number
function PED._REQUEST_META_PED_ASSET_BUNDLE(asset, p1) end
--- @param metaPedType number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function PED._REQUEST_META_PED_COMPONENT(metaPedType, p1, p2, p3, p4) end
--- @param requestId number
function PED._RELEASE_META_PED_ASSET_REQUEST(requestId) end
--- @param requestId number
--- @return boolean
function PED._HAS_META_PED_ASSET_LOADED(requestId) end
--- @param requestId number
--- @return boolean
function PED._IS_META_PED_ASSET_VALID(requestId) end
--- Creates prop from metaped asset bundle
--- https://github.com/femga/rdr3_discoveries/blob/master/objects/metaped_asset_bundles_list.lua
--- Creates a pickup-able metaped component. asset doesn't seems to be related to component hashes. Hash example : 0xD20354AB (https ://i.imgur.com/dzHkcDb.png)
--- @param asset number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 boolean
--- @return number
function PED._CREATE_META_PED_ASSET(asset, posX, posY, posZ, rotX, rotY, rotZ, p7, p8, p9) end
--- @param requestId number
--- @return boolean
function PED._HAS_META_PED_OUTFIT_LOADED(requestId) end
--- @param requestId number
--- @return boolean
function PED._IS_META_PED_OUTFIT_REQUEST_VALID(requestId) end
--- Creates metaped from ped outfit requestId. See _REQUEST_METAPED_OUTFIT
--- @param requestId number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
--- @return number
function PED._CREATE_META_PED_OUTFIT_PED(requestId, x, y, z, heading, p5, p6, p7, p8) end
--- https://github.com/femga/rdr3_discoveries/blob/master/clothes/metaped_outfits.lua
--- @param requestId number
--- @param ped number
--- @param p2 boolean
--- @param p3 boolean
--- @return boolean
function PED._APPLY_PED_META_PED_OUTFIT(requestId, ped, p2, p3) end
--- Sets ped eye redness, weariness: 0.f to 1.f
--- @param ped number
--- @param weariness number
function PED._SET_META_PED_WEARINESS(ped, weariness) end
--- Used in Script Function MOONSHINE_BAND_CLIENT_PATRON_UPDATE
--- @param ped number
--- @param danceIntensity number
function PED._0xF47D54B986F0A346(ped, danceIntensity) end
--- @param p0 number
function PED._0x3EFED081B4834BA1(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x0FB1BA7FF73B41E1(p0, p1, p2) end
--- @param ped number
--- @return number
function PED._GET_META_PED_RACE(ped) end
--- @param ped number
--- @return boolean
function PED._0xD4D403EA031F351C(ped) end
--- Returns peltId
--- @param horse number
--- @param index number
--- @return number
function PED._GET_PELT_FROM_HORSE(horse, index) end
--- @param horse number
--- @param peltId number
function PED._SET_PELT_FOR_HORSE(horse, peltId) end
--- Adds a pelt to a horse from an inventoryItem hash and albedoHash, optionally normalHash textures.
--- @param horse number
--- @param inventoryItem number
--- @param albedoHash number
--- @param normalHash number
--- @param p4 boolean
function PED._SET_PELT_FOR_HORSE_BY_INVENTORY_ITEM(horse, inventoryItem, albedoHash, normalHash, p4) end
--- @param horse number
--- @param peltId number
function PED._CLEAR_PELT_FROM_HORSE(horse, peltId) end
--- @param ped number
--- @param toggle boolean
function PED._SET_PED_LIGHTS(ped, toggle) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function PED._0xD049FDAF089FDDB0(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param r number
--- @param g number
--- @param b number
function PED._0xDD9540E7B1C9714F(ped, p1, r, g, b) end
--- @param p0 number
--- @param p1 number
function PED._0x55546004A244302A(p0, p1) end
--- @param ped number
--- @param multiplier number
function PED._SET_HEALTH_RECHARGE_MULTIPLIER(ped, multiplier) end
--- @param ped number
--- @return number
function PED._GET_HEALTH_RECHARGE_MULTIPLIER(ped) end
--- @param ped number
--- @param multiplier number
function PED._SET_STAMINA_DEPLETION_MULTIPLIER(ped, multiplier) end
--- @param ped number
--- @return number
function PED._GET_STAMINA_DEPLETION_MULTIPLIER(ped) end
--- @param ped number
--- @param multiplier number
function PED._SET_STAMINA_RECHARGE_MULTIPLIER(ped, multiplier) end
--- @param ped number
--- @return number
function PED._GET_STAMINA_RECHARGE_MULTIPLIER(ped) end
--- Alters entity's stamina by 'amount'. Can be negative (to drain stamina). float amount: -1000.0 - 1000.0
--- @param ped number
--- @param amount number
--- @return boolean
function PED._CHANGE_PED_STAMINA(ped, amount) end
--- @param ped number
--- @return number
function PED._GET_PED_STAMINA(ped) end
--- Returns stamina normalizedValue / normalizedUnlockedMax
--- @param ped number
--- @return number
function PED._GET_PED_STAMINA_NORMALIZED(ped) end
--- @param ped number
--- @return number
function PED._GET_PED_MAX_STAMINA(ped) end
--- Seems to set the peds stamina to 30%
--- @param ped number
function PED._RESET_PED_STAMINA(ped) end
--- 0.0 <= stamina <= 100.0
--- @param ped number
--- @param stamina number
function PED._RESTORE_PED_STAMINA(ped, stamina) end
--- @param ped number
--- @return number
function PED._GET_NUM_RESERVED_STAMINA(ped) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0xEA8763E505AFD49A(p0, p1, p2) end
--- @param p0 number
function PED._0xE4EF4382E22C780C(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0xD61FCF9FCFD515B7(p0, p1, p2) end
--- @param p0 number
function PED._0x8D9DB115FBA8E23D(p0) end
--- @param ped number
--- @return number
function PED._GET_NUM_RESERVED_HEALTH(ped) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function PED._0xD97BC27AC039F681(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function PED._0xF6A8C4B4A11AE89C(p0, p1, p2, p3, p4, p5) end
--- @param ped number
--- @param p1 number
function PED._0xE4C95E0AE31C6512(ped, p1) end
--- @param ped number
--- @return number
function PED._GET_PED_LAST_DROPPED_HAT(ped) end
--- Related to ped hat
--- _SET_PED_LA* - _SET_PED_LE*
--- @param ped number
--- @param p1 boolean
function PED._0x5D4CD22A8C82A81A(ped, p1) end
--- @param p0 number
--- @param p1 number
function PED._0xBF567DF2BEF211A6(p0, p1) end
--- Creates a handle to an instance of "CScriptResource_GravityWell", this system forces local ped to target specified position when moving, however player still can interrupt this.
--- Can be useful to "point" player at some specific position.
--- Only works while on-foot.
--- 
--- _CREATE_[P-Z]
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param heading number
--- @param radius number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param stopAtDestination boolean
--- @return number
function PED._CREATE_GRAVITY_WELL(xPos, yPos, zPos, heading, radius, p5, p6, p7, stopAtDestination) end
--- Removes gravity well by handle returned from 0x4F5EBE70081E5A20
--- @param handle number
function PED._REMOVE_GRAVITY_WELL(handle) end
--- @param ped number
--- @return boolean
function PED._IS_PED_INTIMIDATED(ped) end
--- _IS_PED_H* - _IS_PED_I*
--- @param ped number
--- @return boolean
function PED._0x7EE3A8660F38797E(ped) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PED._0xA180FBD502A03125(p0, p1, p2) end
--- Creates a texture override data for ped and returns it's index.
--- So you can replace any texture of any ped's component.
--- Also, you can add overlays on it, such as aging, lipstick and more.
--- Textures can be reused by multiple peds at once.
--- You can keep only 32 textures at once(including other peds).
--- 
--- https://github.com/femga/rdr3_discoveries/blob/master/clothes/change_overlays_script.lua
--- materialHash: https://github.com/femga/rdr3_discoveries/blob/master/clothes/cloth_drawable_albedo_normal_material_TEMPORARY.lua
--- @param albedoHash number
--- @param normalHash number
--- @param materialHash number
--- @return number
function PED._REQUEST_TEXTURE(albedoHash, normalHash, materialHash) end
--- @param ped number
--- @param componentHash number
--- @param textureId number
function PED._APPLY_TEXTURE_ON_PED(ped, componentHash, textureId) end
--- Removes a texture created by 0xC5E7204F322E49EB.
--- @param textureId number
function PED._RELEASE_TEXTURE(textureId) end
--- Should be called at least once for any new texture override.
--- Otherwise component textures will be just black.
--- Also needs to be called for updating any ped overlays to apply the changes.
--- @param textureId number
function PED._UPDATE_PED_TEXTURE(textureId) end
--- Removes every texture layer but the base layer
--- Clearing texture's data: setting params to default values, but keep overlays.
--- @param textureId number
function PED._RESET_PED_TEXTURE(textureId) end
--- @param textureId number
--- @return boolean
function PED._IS_TEXTURE_VALID(textureId) end
--- Creates ped overlay in texture override data and returns it's index.
--- This index are used for further overlay editing.
--- 
--- albedoHash: a hash of overlay's albedo texture
--- colorType: a color type(from 0 to 2). 0 is used for overlays with RGB colors usually.
--- @param textureId number
--- @param albedoHash number
--- @param normalHash number
--- @param materialHash number
--- @param blendType number
--- @param texAlpha number
--- @param sheetGridIndex number
--- @return number
function PED._ADD_TEXTURE_LAYER(textureId, albedoHash, normalHash, materialHash, blendType, texAlpha, sheetGridIndex) end
--- @param textureId number
--- @param overlayId number
function PED._REMOVE_PED_OVERLAY(textureId, overlayId) end
--- @param textureId number
--- @param layerId number
--- @param sheetGridIndex number
function PED._SET_TEXTURE_LAYER_SHEET_GRID_INDEX(textureId, layerId, sheetGridIndex) end
--- @param textureId number
--- @param layerId number
--- @param texAlpha number
function PED._SET_TEXTURE_LAYER_ALPHA(textureId, layerId, texAlpha) end
--- @param textureId number
--- @param layerId number
--- @param texRough number
function PED._SET_TEXTURE_LAYER_ROUGHNESS(textureId, layerId, texRough) end
--- paletteHash: https://raw.githubusercontent.com/femga/rdr3_discoveries/master/clothes/cloth_color_palletes.lua
--- @param textureId number
--- @param layerId number
--- @param paletteHash number
function PED._SET_TEXTURE_LAYER_PALLETE(textureId, layerId, paletteHash) end
--- Seem color is not RGB or HSV
--- @param textureId number
--- @param layerId number
--- @param tint0 number
--- @param tint1 number
--- @param tint2 number
function PED._SET_TEXTURE_LAYER_TINT(textureId, layerId, tint0, tint1, tint2) end
--- @param textureId number
--- @param layerId number
--- @param modTextureHash number
--- @param modAlpha number
--- @param modChannel number
function PED._SET_TEXTURE_LAYER_MOD(textureId, layerId, modTextureHash, modAlpha, modChannel) end
--- @param textureId number
--- @param layerId number
--- @param albedoHash number
--- @param normalHash number
--- @param materialHash number
function PED._SET_TEXTURE_LAYER_TEXTURE_MAP(textureId, layerId, albedoHash, normalHash, materialHash) end
--- Removes every texture layer
--- Old Name: _RESET_PED_TEXTURE_2
--- @param textureId number
function PED._CLEAR_PED_TEXTURE(textureId) end
--- Not implemented.
--- @param ped number
--- @param p1 number
function PED._0xC991EF46FE323867(ped, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x1F8215D0E446F593(p0, p1, p2) end
--- @param ped number
--- @param p1 number
--- @return boolean
function PED.IS_LOCATION_SPAWN_SAFE(ped, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x53BA7D96B9A421D9(p0, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x96C7B659854DE629(p0, p1) end
--- -1 - HORSE_ASSIST__NO_CHANGE
--- 0 - HORSE_ASSIST__MANUAL
--- 1 - HORSE_ASSIST__SEMIASSIST
--- 2 - HORSE_ASSIST__FULLASSIST
--- @param horse number
--- @param avoidanceLevel number
function PED.SET_HORSE_AVOIDANCE_LEVEL(horse, avoidanceLevel) end
--- @param horse number
function PED.RESET_HORSE_AVOIDANCE_LEVEL_TO_DEFAULT(horse) end
--- Doesn't actually return anything.
--- @param ped number
--- @param toggle boolean
--- @return number
function PED._SET_PED_USE_HORSE_MAP_COLLISION(ped, toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0x5B73975B4F12F7F3(p0, p1, p2, p3, p4) end
--- This is a way to get what drawables a ped has equipped
--- Example: you are able to tell if the ped has the drawable PLAYER_ZERO_HAT_017 attached
--- Note: this works with non shop components, direct .ydd files.
--- @param ped number
--- @param index number
--- @param drawable any
--- @param albedo any
--- @param normal any
--- @param material any
--- @return boolean
function PED.GET_META_PED_ASSET_GUIDS(ped, index, drawable, albedo, normal, material) end
--- @param ped number
--- @param index number
--- @param pallete any
--- @param tint0 any
--- @param tint1 any
--- @param tint2 any
--- @return boolean
function PED.GET_META_PED_ASSET_TINT(ped, index, pallete, tint0, tint1, tint2) end
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/BLACKBOARDS
--- Blackboard natives allow you to apply and check certain data to/for peds.
--- Blackboard bools, floats and strings are subdivided into 6 sections: "all", "animation", "any", "code", "global" and "script"
--- Most changes are only visible for "script" blackboards, some "script" blackboards change ped motions
--- "removeTimer" is self-removal timer, can be "-1" so your data will not be removed by the game (forever); 100 = 1 second
--- @param ped number
--- @param variableName string
--- @param value number
--- @param removeTimer number
function PED._SET_PED_BLACKBOARD_INT(ped, variableName, value, removeTimer) end
--- @param ped number
--- @param variableName string
--- @param value boolean
--- @param removeTimer number
function PED._SET_PED_BLACKBOARD_BOOL(ped, variableName, value, removeTimer) end
--- @param ped number
--- @param variableName string
--- @param value number
--- @param removeTimer number
function PED._SET_PED_BLACKBOARD_FLOAT(ped, variableName, value, removeTimer) end
--- p1:
--- BodyPartChained
--- OverloadMostInjuredBodyPart
--- 
--- p2:
--- LeftLeg
--- Legs
--- RightArm
--- @param ped number
--- @param variableName string
--- @param value string
--- @param removeTimer number
function PED._SET_PED_BLACKBOARD_HASH(ped, variableName, value, removeTimer) end
--- @param ped number
--- @param variableName string
function PED._REMOVE_PED_BLACKBOARD_INT(ped, variableName) end
--- @param ped number
--- @param variableName string
function PED._REMOVE_PED_BLACKBOARD_BOOL(ped, variableName) end
--- @param ped number
--- @param variableName string
function PED._REMOVE_PED_BLACKBOARD_FLOAT(ped, variableName) end
--- @param ped number
--- @param variableName string
function PED._REMOVE_PED_BLACKBOARD_HASH(ped, variableName) end
--- Can be used to get a peds foliage active status: variableName = FoliageActive
--- @param ped number
--- @param variableName string
--- @return boolean
function PED._GET_PED_BLACKBOARD_BOOL(ped, variableName) end
--- Can be used to get a peds foliage raw height: variableName = FoliageHeight
--- @param ped number
--- @param variableName string
--- @return number
function PED._GET_PED_BLACKBOARD_FLOAT(ped, variableName) end
--- @param ped number
--- @param variableName string
--- @return number
function PED._GET_PED_BLACKBOARD_HASH(ped, variableName) end
--- @param ped number
--- @param variableName string
--- @return number
function PED.GET_PED_BLACKBOARD_SCRIPT_INT(ped, variableName) end
--- @param ped number
--- @param variableName string
--- @return boolean
function PED.GET_PED_BLACKBOARD_SCRIPT_BOOL(ped, variableName) end
--- @param ped number
--- @param variableName string
--- @return number
function PED.GET_PED_BLACKBOARD_SCRIPT_FLOAT(ped, variableName) end
--- Size will be permanent
--- @param ped number
--- @param attributeIndex number
--- @param size number
function PED._SET_TANK_ATTRIBUTE_SIZE(ped, attributeIndex, size) end
--- @param p0 number
--- @return number
function PED._0xA31D350D66FA1855(p0) end
--- _IS_TRACKED_* - IS_V*
--- @param ped number
--- @return boolean
function PED._IS_USING_SLIPSTREAM(ped) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function PED._0xEEDC9B29314B2733(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param p0 number
function PED._0x5C90E20C25E6D83C(p0) end
--- NB_CUSTOM_CLIENT_ON_CREATE_COMPLETE - set legendary to not avoid prey
--- @param legendaryPed number
--- @param preyPed number
--- @param p2 number
function PED._0x10F96086123B939F(legendaryPed, preyPed, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x3FDBB99EFD8CE4AF(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x7E8F9949B7AABBF0(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PED._0x5DA36CCCB63C0895(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function PED._0x56076667E7C2DCD6(p0, p1) end
--- @param ped number
--- @param componentHash number
--- @param immediately boolean
--- @param isMp boolean
--- @param p4 boolean
function PED._APPLY_SHOP_ITEM_TO_PED(ped, componentHash, immediately, isMp, p4) end
--- Directly removes a shop item component from a ped
--- Params: p2 and p3 are always 0
--- @param ped number
--- @param componentHash number
--- @param p2 number
--- @param p3 boolean
function PED._REMOVE_SHOP_ITEM_FROM_PED(ped, componentHash, p2, p3) end
--- Params: p2, p3 usually 0 in R* Scripts
--- @param ped number
--- @param componentCategory number
--- @param p2 number
--- @param p3 boolean
function PED.REMOVE_SHOP_ITEM_FROM_PED_BY_CATEGORY(ped, componentCategory, p2, p3) end
--- @param ped number
--- @param componentHash number
--- @param wearableState number
--- @param p3 number
--- @param isMp boolean
--- @param p5 number
function PED._UPDATE_SHOP_ITEM_WEARABLE_STATE(ped, componentHash, wearableState, p3, isMp, p5) end
--- @param ped number
--- @param index number
--- @param p2 boolean
--- @param argStruct number
--- @param argStruct2 number
--- @return number
function PED._GET_SHOP_ITEM_COMPONENT_AT_INDEX(ped, index, p2, argStruct, argStruct2) end
--- Returns the number of wearable states available for a shop item / component. p2 seems to be true in scripts.
--- 
--- For use with 0x6243635AF2F1B826 (_GET_SHOP_ITEM_AVAILABLE_WEARABLE_STATE_BY_INDEX)
--- @param componentHash number
--- @param isMpFemale boolean
--- @param p2 boolean
--- @return number
function PED._GET_SHOP_ITEM_NUM_WEARABLE_STATES(componentHash, isMpFemale, p2) end
--- Gets an available wearable state by index for a shop item / component - it does not retreive what the current state is. p3 seems to be true in scripts.
--- 
--- Use 0xFFCC2DB2D9953401 (_GET_SHOP_ITEM_NUM_WEARABLE_STATES) to get the number of available wearable states
--- @param componentHash number
--- @param wearableStateIndex number
--- @param isMpFemale boolean
--- @param p3 boolean
--- @return number
function PED._GET_SHOP_ITEM_WEARABLE_STATE_BY_INDEX(componentHash, wearableStateIndex, isMpFemale, p3) end
--- @param componentHash number
--- @param metapedType number
--- @param isMP boolean
--- @return number
function PED._GET_SHOP_ITEM_COMPONENT_CATEGORY(componentHash, metapedType, isMP) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function PED._0x31B2E7F2E3C58B89(p0, p1, p2, p3) end
--- @param shopItem number
--- @param p1 number
--- @param ped number
--- @param metapedType number
--- @param p4 boolean
--- @param drawable any
--- @param albedo any
--- @param normal any
--- @param material any
--- @param p9 any
--- @param p10 any
--- @param p11 any
--- @param p12 any
--- @return boolean
function PED._GET_SHOP_ITEM_BASE_LAYERS(shopItem, p1, ped, metapedType, p4, drawable, albedo, normal, material, p9, p10, p11, p12) end
--- Related to _0x704C908E9C405136 for component loading
--- Can be used to fix missing outfit changes, always paired with _UPDATE_PED_VARIATION
--- _S*
--- Doesn't actually return anything.
--- @param ped number
--- @param isMP boolean
--- @return number
function PED._SET_ACTIVE_META_PED_COMPONENTS_UPDATED(ped, isMP) end
--- @param ped number
--- @param metapedType number
--- @param p2 boolean
--- @return number
function PED._GET_SHOP_ITEM_HAT_COMPONENT(ped, metapedType, p2) end
--- p1 is always 1
--- @param ped number
--- @param p1 number
function PED._REFRESH_META_PED_SHOP_ITEMS(ped, p1) end
--- Params: p1 either a 1 or 0, so perhaps BOOL
--- _SET_PED_A*
--- @param ped number
--- @param p1 number
function PED._0xD103F6DBB5442BE8(ped, p1) end
--- @param ped number
--- @param gxtEntryHash number
function PED._SET_PED_PROMPT_NAME_FROM_GXT_ENTRY(ped, gxtEntryHash) end
--- @param ped number
--- @param name string
function PED._SET_PED_PROMPT_NAME(ped, name) end
--- @param ped number
--- @param gxtEntryHash number
function PED._SET_PED_PROMPT_NAME_FROM_GXT_ENTRY_2(ped, gxtEntryHash) end
--- @param ped number
--- @param name string
function PED._SET_PED_PROMPT_NAME_2(ped, name) end
--- @param p0 number
function PED._0xF917F92BF22ECBAB(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x49DADFC4CD808B0A(p0, p1, p2) end
--- limb: 3 = Left Hand, 4 = Left Arm, 6 = Right Hand, 7 = Right Arm, 9 = Left Foot, 10 = Left Leg, 12 = Right Foot, 13 = Right Leg, 37 = Head
--- @param ped number
--- @param limb number
--- @return boolean
function PED._HAS_PED_TAKEN_GORE_DAMAGE(ped, limb) end
--- _CLEAR*
--- @param ped number
function PED._0x704C908E9C405136(ped) end
--- @param p0 number
function PED._0x7406C71F4AC2FFCC(p0) end
--- @param p0 number
function PED._0x28508173C6A7CC18(p0) end
--- @param p0 number
--- @return number
function PED._0x52250B92EA70BE3D(p0) end
--- quality: see _GET_PED_QUALITY
--- @param ped number
--- @param quality number
function PED._SET_PED_QUALITY(ped, quality) end
--- Returns Ped Quality to be used to calculate Skinning Quality
--- 
--- enum ePedQuality
--- {
--- PQ_INVALID = -1,
--- PQ_LOW,
--- PQ_MEDIUM,
--- PQ_HIGH,
--- PQ_MAX
--- };
--- @param ped number
--- @return number
function PED._GET_PED_QUALITY(ped) end
--- @param ped number
--- @param object number
--- @param propName string
--- @param animName string
function PED._0xCE7A6C1D5CDE1F9D(ped, object, propName, animName) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PED._0x604E1010E3162E86(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PED._0xE8ABE3B73FC7FE17(p0, p1, p2, p3) end
--- @param ped number
--- @param propName string
function PED._REMOVE_PED_PROP(ped, propName) end
--- _SET_W(EAPON?)*
--- @param ped number
--- @param bonus number
function PED._SET_TOTAL_PED_DAMAGE_FALLOFF_BONUS(ped, bonus) end
--- @param p0 number
--- @return number
function PED._0x095C2277FED731DB(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PED._0x09171A6F8FDE5DC1(p0, p1, p2, p3, p4) end
--- _TOGGLE_S* - _UPDATE_*
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param scale number
function PED._TOGGLE_PLAYER_PED_FLINCH(ped, x, y, z, scale) end
--- _IS_N* - _IS_P*
--- @param x number
--- @param y number
--- @param z number
--- @param p3 number
--- @return boolean
function PED._0x6507AC3BD7C99009(x, y, z, p3) end
--- Returns how deep the water is below the ped (if in water)
--- -1.0f = Not in water
--- 10.0f = Max water depth
--- @param ped number
--- @return number
function PED._GET_PLAYER_PED_WATER_DEPTH(ped) end
--- duration in seconds
--- @param ped number
--- @param p1 boolean
--- @param duration number
function PED._SET_PED_TRAIL_EFFECT(ped, p1, duration) end
--- If returned true: PROCESS_RESIZING_TRACKING_BOUNDS_VOLUME - Scaling UP the bounds due to tracking
--- If returned false: PROCESS_RESIZING_TRACKING_BOUNDS_VOLUME - Scaling DOWN the bounds due to tracking
--- _IS_PED_T* - _IS_PED_U*
--- @param ped number
--- @return boolean
function PED._0xEBAAC9A750E7563B(ped) end
--- @param p0 number
--- @param p1 number
function PED._0x992187D975635DF5(p0, p1) end
--- @param p0 number
--- @param p1 number
function PED._0x0B787A37EEDD226F(p0, p1) end

PERSCHAR = {}

--- @param p0 number
--- @param p1 number
function PERSCHAR._0x63AA2B8EB087886A(p0, p1) end
--- @param persCharHash number
--- @return number
function PERSCHAR._GET_PERSCHAR_MODEL_NAME(persCharHash) end
--- @param p0 number
--- @param p1 number
function PERSCHAR._0x8BC555034A5A5E8C(p0, p1) end
--- @param p0 number
--- @param p1 number
function PERSCHAR._0x70605812ABC9FF0F(p0, p1) end
--- @param persCharHash number
--- @return number
function PERSCHAR._GET_PERSCHAR_OUTFIT(persCharHash) end
--- @param persCharHash number
--- @param outfit number
function PERSCHAR._SET_PERSCHAR_OUTFIT(persCharHash, outfit) end
--- @param p0 number
--- @param p1 number
function PERSCHAR._0x535A66AAD2BF68F9(p0, p1) end
--- @param p0 number
--- @return number
function PERSCHAR._0xCEB40B678E403759(p0) end
--- @param persCharHash number
--- @param schedule string
function PERSCHAR._SET_PERSCHAR_SCHEDULE(persCharHash, schedule) end
--- @param persCharHash number
function PERSCHAR._RESET_PERSCHAR_SCHEDULE(persCharHash) end
--- @param p0 number
function PERSCHAR._0xE0E65E0D261F7507(p0) end
--- Returns the PersChar index of the persCharHash passed
--- @param persCharHash number
--- @return number
function PERSCHAR._0x112DDF56300BC6E5(persCharHash) end
--- @param hash number
--- @return number
function PERSCHAR._CREATE_PERSISTENT_CHARACTER(hash) end
--- @param persChar number
--- @return boolean
function PERSCHAR._IS_PERSISTENT_CHARACTER_VALID(persChar) end
--- @param persChar number
function PERSCHAR._DELETE_PERSCHAR(persChar) end
--- @param p0 number
--- @return { x: number, y: number, z: number }
function PERSCHAR._0x5EE6FCCC9C832CA2(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PERSCHAR._0x59C7AD6FEA2AC449(p0, p1, p2, p3) end
--- @param persChar number
function PERSCHAR._0xBB68908CD11AEBDC(persChar) end
--- @param p0 number
--- @return { x: number, y: number, z: number }
function PERSCHAR._0x94995829ED15A598(p0) end
--- @param persChar number
--- @return number
function PERSCHAR._GET_PERSCHAR_PED_INDEX(persChar) end
--- @param ped number
--- @return number
function PERSCHAR._GET_PERSCHAR_INDEX_FROM_PED_INDEX(ped) end
--- @param p0 number
--- @return number
function PERSCHAR._0xF8DE7154F7D1458F(p0) end
--- @param p0 number
--- @param p1 number
function PERSCHAR._0x669C25840C6F7AE2(p0, p1) end
--- @param persChar number
function PERSCHAR._RETASK_PERSISTENT_CHARACTER(persChar) end
--- @param p0 number
function PERSCHAR._0x0B3A99AB6713AA52(p0) end
--- @param persChar number
--- @return boolean
function PERSCHAR._IS_PERSISTENT_CHARACTER_DEAD(persChar) end
--- @param persChar number
--- @return boolean
function PERSCHAR._REVIVE_PERSCHAR(persChar) end
--- @param p0 number
function PERSCHAR._0xD4B614179BCD0654(p0) end
--- @param p0 number
function PERSCHAR._0x406808610220405B(p0) end
--- @param p0 number
function PERSCHAR._0xA2B18FF8D39F6D87(p0) end
--- @param p0 number
--- @return number
function PERSCHAR._0xE4C51A8A3BD1664C(p0) end
--- @param p0 number
--- @param p1 number
function PERSCHAR._0x8AE4EFA464DAE42D(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PERSCHAR._0xA4DCB3F0DD7488BD(p0, p1, p2, p3, p4) end
--- @param p0 number
function PERSCHAR._0xD95D777F828B2BBB(p0) end
function PERSCHAR._0x92690B0822493CE0() end
function PERSCHAR._0xEFC5C6670E0B99BA() end
function PERSCHAR._0x2E957AA81F2C61C9() end
function PERSCHAR._0xB173599D61FAEB31() end
--- @param p0 number
--- @param p1 boolean
--- @return number
function PERSCHAR._0x08FC896D2CB31FCC(p0, p1) end
--- @param persChar number
--- @param p1 boolean
--- @return number
function PERSCHAR._FORCE_SPAWN_PERSCHAR(persChar, p1) end
--- @param persChar number
function PERSCHAR._FORCE_DESPAWN_PERSCHAR(persChar) end
--- @param persChar number
function PERSCHAR._0xFCC6DB8DBE709BC8(persChar) end
--- @param persChar number
function PERSCHAR._0xA8C406C2A56EDC16(persChar) end
--- @param persChar number
function PERSCHAR._0x4F81EAD1DE8FA19B(persChar) end
--- @param persChar number
function PERSCHAR._0x6759BEE6762E140B(persChar) end
--- @param persChar number
function PERSCHAR._0xB65E7F733956CF25(persChar) end
--- @param p0 number
--- @return number
function PERSCHAR._0x4AFC7288C77238B3(p0) end
--- @param p0 number
--- @return number
function PERSCHAR._0xA8120EBEAF290C7A(p0) end
--- @param p0 number
--- @return number
function PERSCHAR._0x69786495C92A3044(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function PERSCHAR._0xEC254C2C9B0F08F1(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function PERSCHAR._0x9C7F95946E304778(p0, p1) end

PERSISTENCE = {}

function PERSISTENCE._0x7A1BD123E5CDB6E5() end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
function PERSISTENCE.PERSISTENCE_REMOVE_ALL_ENTITIES_IN_AREA(x, y, z, radius) end
--- @param p0 number
function PERSISTENCE._0x065887B694359799(p0) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
function PERSISTENCE._0xFC9806DA9A460093(x1, y1, z1, x2, y2, z2) end
--- nullsub, doesn't do anything
--- @param p0 number
--- @param p1 number
function PERSISTENCE._0xB03140014ACA6C40(p0, p1) end
--- @param p0 number
--- @param p1 number
function PERSISTENCE._0xE225CEF1901F6108(p0, p1) end
--- @param p0 number
function PERSISTENCE._0x8DE104BEC243A73B(p0) end
--- Only used in R* script long_update.ysc in script function REFRESH_CLOSEST_TOWN
--- @param volume number
function PERSISTENCE._PERSISTENCE_REFRESH_TOWN_VOLUME(volume) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function PERSISTENCE._0xBA2C49EA6A8D24FF(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @return number
function PERSISTENCE._0x2E545965DF98D476(p0) end
--- @param p0 number
--- @param p1 number
function PERSISTENCE._0xF5622FA6ACFCA7DB(p0, p1) end
--- @param p0 number
--- @param p1 number
function PERSISTENCE._0x3CA5E58C9731A16B(p0, p1) end
--- @param p0 number
--- @param p1 number
function PERSISTENCE._0xDC0A1F0ECEC9F0C0(p0, p1) end
--- @param p0 number
--- @return number
function PERSISTENCE._0x5A79220F6D38D7C3(p0) end
--- @param p0 number
--- @return number
function PERSISTENCE._0xCFDA2518F322D836(p0) end
--- @param p0 number
--- @return number
function PERSISTENCE._0x1F56FB3FDB4EAF65(p0) end
--- @param p0 number
function PERSISTENCE._0x291CC21D1FB6790E(p0) end
--- @param scenario number
function PERSISTENCE.PERSISTENCE_ADD_SCENARIO_LOOTED(scenario) end
--- @param scenario number
--- @return boolean
function PERSISTENCE._PERSISTENCE_IS_SCENARIO_MARKED_AS_LOOTED(scenario) end
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function PERSISTENCE._PERSISTENCE_IS_SCENARIO_MARKED_AS_LOOTED_AT_COORDS(x, y, z) end
--- @param x number
--- @param y number
--- @param z number
--- @param model number
--- @return boolean
function PERSISTENCE._PERSISTENCE_IS_SCENARIO_MARKED_AS_LOOTED_AT_COORDS_WITH_MODEL(x, y, z, model) end
--- _PERSISTENCE_*
function PERSISTENCE._0x66DAA3A9274E8E82() end

PHYSICS = {}

--- There are 19 types of rope, from type = 0 to type = 18
--- Rope definitions are stored in ropedata.xml
--- Rope types 0, 15 and 18 have proper physics for hanging objects (taut, do not sag, small to medium diameter, good aspect for a rope)
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param length number
--- @param ropeType number
--- @param maxLength number
--- @param minLength number
--- @param p10 number
--- @param p11 boolean
--- @param p12 boolean
--- @param rigid boolean
--- @param p14 number
--- @param breakWhenShot boolean
--- @param unkPtr number
--- @param p17 boolean
--- @return number
function PHYSICS.ADD_ROPE(x, y, z, rotX, rotY, rotZ, length, ropeType, maxLength, minLength, p10, p11, p12, rigid, p14, breakWhenShot, unkPtr, p17) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param length number
--- @param ropeType number
--- @param isNetworked boolean
--- @param p9 number
--- @param p10 number
--- @return number
function PHYSICS._ADD_ROPE_2(x, y, z, rotX, rotY, rotZ, length, ropeType, isNetworked, p9, p10) end
--- @param ropeId any
function PHYSICS.DELETE_ROPE(ropeId) end
--- @param ropeId number
function PHYSICS._RELEASE_ROPE(ropeId) end
--- @param ropeId number
function PHYSICS.DELETE_CHILD_ROPE(ropeId) end
--- ropeTop returns top half of rope, ropeBottom returns bottom half of rope
--- @param ropeId any
--- @param ropeTop any
--- @param ropeBottom any
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param p6 number
function PHYSICS._BREAK_ROPE(ropeId, ropeTop, ropeBottom, offsetX, offsetY, offsetZ, p6) end
--- @param ropeId number
--- @return boolean
function PHYSICS.DOES_ROPE_EXIST(ropeId) end
--- @param ropeId number
--- @return boolean
function PHYSICS._IS_ROPE_BROKEN(ropeId) end
--- @param ropeId any
--- @param visible boolean
function PHYSICS._ROPE_CHANGE_VISIBILITY(ropeId, visible) end
--- @param ropeId any
--- @param toggle boolean
function PHYSICS.ROPE_DRAW_SHADOW_ENABLED(ropeId, toggle) end
--- @param ropeId number
--- @return number
function PHYSICS.GET_ROPE_VERTEX_COUNT(ropeId) end
--- @param ropeId number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
function PHYSICS._0xE54BF2CE6C7D23A9(ropeId, p1, x, y, z) end
--- @param p0 number
function PHYSICS._0x9C24846D0A4A2776(p0) end
--- @param p0 number
function PHYSICS._0x0CB16D05E03FB525(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function PHYSICS._0xF27F1A8DE4F50A1B(p0, p1, p2, p3, p4, p5, p6) end
--- @param ropeId number
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function PHYSICS._0x21D0890D88DFB0B0(ropeId, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- Attaches entity 1 to entity 2.
--- If you use a boneName (p12/p13) make sure boneId (p15/p16) is set to -1.
--- @param ropeId number
--- @param entity1 number
--- @param entity2 number
--- @param ent1X number
--- @param ent1Y number
--- @param ent1Z number
--- @param ent2X number
--- @param ent2Y number
--- @param ent2Z number
--- @param length number
--- @param alwaysZero1 number
--- @param alwaysZero2 number
--- @param boneName1 string
--- @param boneName2 string
--- @param p14 boolean
--- @param boneId1 number
--- @param boneId2 number
--- @param alwaysZero3 number
--- @param alwaysZero4 number
--- @param p19 boolean
--- @param p20 boolean
function PHYSICS.ATTACH_ENTITIES_TO_ROPE(ropeId, entity1, entity2, ent1X, ent1Y, ent1Z, ent2X, ent2Y, ent2Z, length, alwaysZero1, alwaysZero2, boneName1, boneName2, p14, boneId1, boneId2, alwaysZero3, alwaysZero4, p19, p20) end
--- Attaches a rope to two entities: binds two bones from two entities; one entity can be an object, i.e. a suspension point, the other an NPC bone
--- @param ropeId number
--- @param entity1 number
--- @param entity2 number
--- @param ent1X number
--- @param ent1Y number
--- @param ent1Z number
--- @param ent2X number
--- @param ent2Y number
--- @param ent2Z number
--- @param boneName1 string
--- @param boneName2 string
function PHYSICS._ATTACH_ENTITIES_TO_ROPE_2(ropeId, entity1, entity2, ent1X, ent1Y, ent1Z, ent2X, ent2Y, ent2Z, boneName1, boneName2) end
--- @param ropeId number
--- @param entity1 number
--- @param entity2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function PHYSICS._ATTACH_ENTITES_TO_ROPE_3(ropeId, entity1, entity2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function PHYSICS._0x69C810B72291D831(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function PHYSICS._0xB7469CB9AC3C0FD4(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param ropeId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function PHYSICS._0xC64E7A62632AD2FE(ropeId, p1, p2, p3, p4, p5, p6, p7) end
--- @param ropeId number
--- @param entity number
--- @return boolean
function PHYSICS._IS_ROPE_ATTACHED_TO_ENTITY(ropeId, entity) end
--- @param ropeId number
--- @param entity number
function PHYSICS.DETACH_ROPE_FROM_ENTITY(ropeId, entity) end
--- @param horse number
--- @param x number
--- @param y number
--- @param z number
function PHYSICS._HITCH_HORSE(horse, x, y, z) end
--- @param horse number
function PHYSICS._UNHITCH_HORSE(horse) end
--- @param p0 number
function PHYSICS._0x6EA0E93CFFA472CC(p0) end
--- @param p0 number
function PHYSICS._0xBDDA142759307528(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PHYSICS._0x32F4DBFDFCCCC735(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0xF8CA39D5C0D1D9A1(p0, p1) end
--- @param p0 number
function PHYSICS._0xEAF529446488EB18(p0) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x31160EC47E7C9549(p0, p1) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x5E981C764DF33117(p0, p1) end
--- @param ropeId number
--- @param p1 number
function PHYSICS.ROPE_SET_UPDATE_ORDER(ropeId, p1) end
--- @param ropeId number
--- @param p1 boolean
function PHYSICS._0xFB9153A54AC713E8(ropeId, p1) end
--- @param ropeId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
function PHYSICS._0xD699E688B49C0FD2(ropeId, p1, p2, p3, p4) end
--- @param ropeId number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
function PHYSICS._0xBB3E9B073E66C3C9(ropeId, p1, p2, p3, p4) end
--- @param ropeId number
--- @param p1 number
--- @param p2 number
function PHYSICS._0x522FA3F490E2F7AC(ropeId, p1, p2) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x3900491C0D61ED4B(p0, p1) end
--- @param ropeId number
--- @param p1 number
function PHYSICS._0xC89E7410A93AC19A(ropeId, p1) end
--- @param ropeId number
--- @param p1 number
function PHYSICS._0x1D97DA8ACB5D2582(ropeId, p1) end
--- Combining this with ADD_ROPE enables winding
--- p1: mostly empty (0)
--- ropeModelType: RB_L_Wrist02, RB_R_Wrist02, ropeAttach, noose01x_Rope_03, SKEL_Neck0, SKEL_L_FOOT, SKEL_Neck1, Root_s_meatbit_Chunck_Xlarge01x
--- _CREATE_*
--- @param ropeId number
--- @param p1 string
--- @param ropeModelType string
--- @param length number
--- @param p4 boolean
function PHYSICS._CREATE_ROPE_WINDING_ABILITY(ropeId, p1, ropeModelType, length, p4) end
--- @param ropeId number
--- @return { x: number, y: number, z: number }
function PHYSICS.GET_ROPE_LAST_VERTEX_COORD(ropeId) end
--- @param ropeId number
--- @param vertex number
--- @return { x: number, y: number, z: number }
function PHYSICS.GET_ROPE_VERTEX_COORD(ropeId, vertex) end
--- @param ropeId number
function PHYSICS.START_ROPE_WINDING(ropeId) end
--- @param ropeId number
function PHYSICS.STOP_ROPE_WINDING(ropeId) end
--- @param ropeId number
function PHYSICS.START_ROPE_UNWINDING_FRONT(ropeId) end
--- @param ropeId number
function PHYSICS.STOP_ROPE_UNWINDING_FRONT(ropeId) end
--- @param ropeId number
function PHYSICS._START_ROPE_UNWINDING_BACK(ropeId) end
--- @param ropeId number
function PHYSICS._STOP_ROPE_UNWINDING_BACK(ropeId) end
--- @param ropeId number
--- @param p1 boolean
function PHYSICS._0x461FCBDEB4D06717(ropeId, p1) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x423C6B1F3786D28B(p0, p1) end
--- @param ropeId number
--- @param p1 number
function PHYSICS._0x76BAD9D538BCA1AA(ropeId, p1) end
--- @param ropeId number
--- @param p1 number
function PHYSICS._0xB40EA9E0D2E2F7F3(ropeId, p1) end
--- @param ropeId number
--- @return number
function PHYSICS._ROPE_GET_FORCED_LENGTH(ropeId) end
--- @param p0 number
function PHYSICS._0x751DF00EEFF122E3(p0) end
--- Forces a rope to a certain length.
--- @param ropeId number
--- @param length number
function PHYSICS.ROPE_FORCE_LENGTH(ropeId, length) end
--- _ROPE_SET_*
--- @param ropeId number
--- @param p1 number
function PHYSICS._0x8D59079C37C21D78(ropeId, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PHYSICS._0x814D453FCFDF119F(p0, p1, p2) end
--- @param ropeId number
--- @param p1 number
function PHYSICS._0x1FC92BDBA1106BD2(ropeId, p1) end
--- @param ropeId number
--- @param p1 boolean
function PHYSICS._0xDEDE679ED29DD4E7(ropeId, p1) end
--- @param ropeId number
--- @param p1 boolean
function PHYSICS._0xF1EA2A881EB7F2CD(ropeId, p1) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x5A989B7EE3672A56(p0, p1) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x483D4E917B0D35A9(p0, p1) end
--- @param ropeId number
--- @return number
function PHYSICS._ROPE_GET_BREAKER_OF_ROPE(ropeId) end
--- @param entity number
--- @param vertex number
--- @param value number
function PHYSICS.SET_DAMPING(entity, vertex, value) end
--- @param entity number
function PHYSICS.ACTIVATE_PHYSICS(entity) end
--- @param entity number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 boolean
function PHYSICS.BREAK_ENTITY_GLASS(entity, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function PHYSICS._0x8EEDFD8921389928(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param object number
--- @param toggle boolean
function PHYSICS.SET_DISABLE_BREAKING(object, toggle) end
--- @param object number
--- @param toggle boolean
function PHYSICS.SET_DISABLE_FRAG_DAMAGE(object, toggle) end
--- @param p0 number
--- @param p1 number
function PHYSICS._0x5BD7457221CC5FF4(p0, p1) end

PLAYER = {}

--- @param player number
--- @return number
function PLAYER.GET_PLAYER_PED(player) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_PED_2(player) end
--- Only used in script function UPDATE_PLAYER_JUST_DIED_STATE
--- The value passed to this native in the scripts is whether a global UGC mission is active or not
--- @param toggle boolean
function PLAYER._0x325434C68358D282(toggle) end
--- Does the same like PLAYER::GET_PLAYER_PED
--- @param player number
--- @return number
function PLAYER.GET_PLAYER_PED_SCRIPT_INDEX(player) end
--- Make sure to request the model first and wait until it has loaded.
--- @param player number
--- @param modelHash number
--- @param p2 boolean
function PLAYER.SET_PLAYER_MODEL(player, modelHash, p2) end
--- Returns true if the given player has a valid ped.
--- @param player number
--- @return boolean
function PLAYER._NETWORK_HAS_PLAYER_VALID_PED(player) end
--- Gets the player's team.
--- Returns -1 in singleplayer.
--- @param player number
--- @return number
function PLAYER.GET_PLAYER_TEAM(player) end
--- Sets the player's team.
--- @param player number
--- @param team number
--- @param bRestrictToThisScript boolean
function PLAYER.SET_PLAYER_TEAM(player, team, bRestrictToThisScript) end
--- @param player number
--- @return string
function PLAYER.GET_PLAYER_NAME(player) end
--- @param string string
--- @return string
function PLAYER._FORMAT_PLAYER_NAME_STRING(string) end
--- @param p0 number
--- @return number
function PLAYER.GET_WANTED_LEVEL_RADIUS(p0) end
--- @param wantedLevel number
--- @return number
function PLAYER.GET_WANTED_LEVEL_THRESHOLD(wantedLevel) end
--- nullsub, doesn't do anything
--- @param player number
--- @param wantedLevel number
--- @param disableNoMission boolean
function PLAYER.SET_PLAYER_WANTED_LEVEL(player, wantedLevel, disableNoMission) end
--- @param player number
--- @param wantedLevel number
--- @return boolean
function PLAYER.IS_PLAYER_WANTED_LEVEL_GREATER(player, wantedLevel) end
--- nullsub, doesn't do anything
--- @param player number
function PLAYER.CLEAR_PLAYER_WANTED_LEVEL(player) end
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_DEAD(player) end
--- flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eSetPlayerControlFlags
--- @param player number
--- @param toggle boolean
--- @param flags number
--- @param bPreventHeadingChange boolean
function PLAYER.SET_PLAYER_CONTROL(player, toggle, flags, bPreventHeadingChange) end
--- @param player number
--- @return number
function PLAYER.GET_PLAYER_WANTED_LEVEL(player) end
--- @param maxWantedLevel number
function PLAYER.SET_MAX_WANTED_LEVEL(maxWantedLevel) end
--- @param maxWantedLevel number
function PLAYER._SET_MAX_WANTED_LEVEL_2(maxWantedLevel) end
--- If toggle is set to false:
--- The police won't be shown on the (mini)map
--- 
--- If toggle is set to true:
--- The police will be shown on the (mini)map
--- @param toggle boolean
function PLAYER.SET_POLICE_RADAR_BLIPS(toggle) end
--- Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested.
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_PLAYING(player) end
--- @param player number
--- @param toggle boolean
function PLAYER.SET_EVERYONE_IGNORE_PLAYER(player, toggle) end
--- @param player number
--- @param p1 number
--- @return boolean
function PLAYER.GET_IS_PLAYER_UI_PROMPT_ACTIVE(player, p1) end
--- Params: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePromptType
--- promptType is mostly 34 (PP_TRACK_ANIMAL), promptMode = 0 (PP_MODE_BLOCK) in R* Scripts
--- @param player number
--- @param promptType number
--- @param promptMode number
--- @param disabled boolean
function PLAYER._MODIFY_PLAYER_UI_PROMPT(player, promptType, promptMode, disabled) end
--- Returns false if PromptType is enabled
--- Params: See 0x0751D461F06E41CE
--- @param player number
--- @param promptType number
--- @param promptMode number
--- @return boolean
function PLAYER._GET_PLAYER_UI_PROMPT_IS_DISABLED(player, promptType, promptMode) end
--- Params: See 0x0751D461F06E41CE
--- @param player number
--- @param ped number
--- @param promptType number
--- @param promptMode number
--- @param enabled boolean
function PLAYER._MODIFY_PLAYER_UI_PROMPT_FOR_PED(player, ped, promptType, promptMode, enabled) end
--- Returns true if PromptType is enabled for ped (mount)
--- Params: See 0x0751D461F06E41CE
--- @param player number
--- @param ped number
--- @param promptType number
--- @param promptMode number
--- @return boolean
function PLAYER._GET_PLAYER_UI_PROMPT_FOR_PED_IS_ENABLED(player, ped, promptType, promptMode) end
--- @param player number
function PLAYER._0x93624B36E8851B42(player) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x9073EC5456651A90(p0, p1) end
--- @param p0 number
function PLAYER._0x2E67707BEC52CA4B(p0) end
--- Sets whether all random peds will run away from player if they are agitated (threatened) (bool=true), or some peds can stand up for themselves (bool=false).
--- @param player number
--- @param toggle boolean
function PLAYER.SET_ALL_RANDOM_PEDS_FLEE(player, toggle) end
--- @param player number
function PLAYER.SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME(player) end
--- @param player number
function PLAYER.SET_ALL_NEUTRAL_RANDOM_PEDS_FLEE_THIS_FRAME(player) end
--- @param p0 number
function PLAYER._0x1D256EED194F5B58(p0) end
--- @param p0 number
--- @return number
function PLAYER._0x5B7B97E99F84138B(p0) end
--- Disables the players ability to be wanted by lawmen
--- @param player number
--- @param disable boolean
function PLAYER._SET_DISABLE_PLAYER_WANTED_LEVEL(player, disable) end
--- Returns -1.0f if no multiplier has been set
--- @return number
function PLAYER._GET_WANTED_LEVEL_MULTIPLIER() end
--- @param multiplier number
function PLAYER.SET_WANTED_LEVEL_MULTIPLIER(multiplier) end
--- @param player number
function PLAYER.RESET_WANTED_LEVEL_DIFFICULTY(player) end
--- @param player number
function PLAYER.UPDATE_WANTED_POSITION_THIS_FRAME(player) end
--- @param player number
function PLAYER.SUPPRESS_WITNESSES_CALLING_POLICE_THIS_FRAME(player) end
--- @param player number
function PLAYER.REPORT_POLICE_SPOTTED_PLAYER(player) end
--- @param p0 number
function PLAYER.SET_LAW_RESPONSE_DELAY_OVERRIDE(p0) end
function PLAYER.RESET_LAW_RESPONSE_DELAY_OVERRIDE() end
--- @param player number
--- @return boolean
function PLAYER.CAN_PLAYER_START_MISSION(player) end
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_READY_FOR_CUTSCENE(player) end
--- @param player number
--- @param entity number
--- @param p2 boolean
--- @return boolean
function PLAYER.IS_PLAYER_TARGETTING_ENTITY(player, entity, p2) end
--- @param player number
--- @param entity number
--- @return boolean
function PLAYER.GET_PLAYER_TARGET_ENTITY(player, entity) end
--- _GET_A* - _GET_C*
--- @param player number
--- @return boolean
function PLAYER._0x927861B2C08DBEA5(player) end
--- Checks if player is focused on any entity
--- @param player number
--- @return boolean
function PLAYER._IS_PLAYER_FREE_FOCUSING(player) end
--- @param player number
--- @param outEntity number
--- @param p2 boolean
--- @param p3 boolean
--- @return boolean
function PLAYER.GET_PLAYER_INTERACTION_TARGET_ENTITY(player, outEntity, p2, p3) end
--- _GET_PLAYER_I*
--- @param p0 number
--- @param p1 number
--- @return number
function PLAYER._0xBEA3A6E5F5F79A6F(p0, p1) end
--- @param player number
--- @return boolean
function PLAYER._IS_PLAYER_IN_SCOPE(player) end
--- Gets a value indicating whether the specified player is currently aiming freely.
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_FREE_AIMING(player) end
--- Gets a value indicating whether the specified player is currently aiming freely at the specified entity.
--- @param player number
--- @param entity number
--- @return boolean
function PLAYER.IS_PLAYER_FREE_AIMING_AT_ENTITY(player, entity) end
--- @param player number
--- @param entity number
--- @return boolean
function PLAYER.GET_ENTITY_PLAYER_IS_FREE_AIMING_AT(player, entity) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x3DAABE78A23694BC(p0, p1) end
--- Only used in script function PROCESS_PED_INTERRUPT_DIALOGUE
--- _GET_PLAYER_*
--- @param player number
--- @param ped number
--- @return boolean
function PLAYER._0x7AE93C45EC14A166(player, ped) end
--- Affects the range of auto aim target.
--- @param player number
--- @param range number
function PLAYER.SET_PLAYER_LOCKON_RANGE_OVERRIDE(player, range) end
--- Sets whether this player can be hassled by gangs.
--- @param player number
--- @param toggle boolean
function PLAYER.SET_PLAYER_CAN_BE_HASSLED_BY_GANGS(player, toggle) end
--- Sets whether this player can take cover.
--- @param player number
--- @param toggle boolean
function PLAYER.SET_PLAYER_CAN_USE_COVER(player, toggle) end
--- Shows or hides all "Pick Up" prompts for the specified player, including the prompt for picking up hats from the ground. When set to true, the player will see "Pick Up" prompts for all nearby items. If set to false, all "Pick Up" prompts will be hidden.
--- Video: https://imgur.com/gallery/0xd1a70c1e8d1031fe-ifgUnmV
--- @param player number
--- @param isVisible boolean
function PLAYER._SET_PLAYER_CAN_PICKUP_ABILITY(player, isVisible) end
--- Enables or disables the "Pick Up" prompt for a hat on the ground for the specified player. When set to true, the player will see a prompt to pick up the hat if they are near it.
--- Video: https://imgur.com/gallery/0xaca45ddcef6071c4-dzlnm8Z
--- @param player number
--- @param enable boolean
function PLAYER._SET_PLAYER_CAN_PICKUP_HAT(player, enable) end
--- Sets the player's ability to wear hats based on the specified flag. The flag value determines whether the player can wear all hats or only the ones they own.
--- 
--- If the flag is set to 15 and `allow` is true, the player can wear all available hats. To restrict the player to wearing only owned hats (flag 1), you must first disable flag 15 by setting it to false, then set flag 1 to true.
--- 
--- Example usage:
--- 
--- Allow the player to wear all hats
--- PLAYER::_SET_PLAYER_HAT_ACCESS(PLAYER::PLAYER_ID(), 15, true);
--- 
--- Restrict the player to only wearing owned hats
--- PLAYER::_SET_PLAYER_HAT_ACCESS(PLAYER::PLAYER_ID(), 15, false);
--- PLAYER::_SET_PLAYER_HAT_ACCESS(PLAYER::PLAYER_ID(), 1, true);
--- 
--- Video: https://imgur.com/gallery/0xa0c683284df027c7-dhV5NAL
--- @param player number
--- @param flag number
--- @param enable boolean
function PLAYER._SET_PLAYER_HAT_ACCESS(player, flag, enable) end
--- @param player number
--- @param toggle boolean
function PLAYER._SET_PLAYER_CAN_MERCY_KILL(player, toggle) end
--- @param player number
--- @param p1 number
function PLAYER._0x4EC8BE63B8A5D4EF(player, p1) end
--- Gets the maximum wanted level the player can get.
--- Ranges from 0 to 5.
--- @return number
function PLAYER.GET_MAX_WANTED_LEVEL() end
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_TARGETTING_ANYTHING(player) end
--- @param player number
--- @param p1 number
function PLAYER.RESTORE_PLAYER_STAMINA(player, p1) end
--- SET_PLAYER_S/T*
--- @param player number
--- @param toggle boolean
function PLAYER._0x8591EE69CC3ED257(player, toggle) end
--- Returns the group ID the player is member of.
--- @param player number
--- @return number
function PLAYER.GET_PLAYER_GROUP(player) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x3D9DA5C9EFD20D88(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PLAYER._0x2BEED53B912537D0(p0, p1, p2) end
--- @param p0 number
function PLAYER._0x908D4B72854C8F62(p0) end
--- @param p0 number
--- @return number
function PLAYER._0xD1F6B912785BFD35(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function PLAYER._0xC4873B053054C04B(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xCA59808E51FD67C4(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function PLAYER._0xBA5CA1FEB5DE0DF6(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function PLAYER._0x0869D499A7848309(p0, p1, p2, p3, p4, p5, p6, p7) end
--- _IS_PLAYER_I* - _IS_PLAYER_P*
--- @param player number
--- @param p1 number
--- @return boolean
function PLAYER._0xB331D8A73F9D2BDF(player, p1) end
--- Used in script function: NET_AUTO_FOLLOW_UPDATE_LEADER_VALUES
--- followMode:
--- HORSEFOLLOWMODE_AUTO = 0,
--- HORSEFOLLOWMODE_SIDE_ONLY,
--- HORSEFOLLOWMODE_BEHIND_ONLY,
--- HORSEFOLLOWMODE_BEHIND_AND_SIDE,
--- HORSEFOLLOWMODE_BEHIND_CLOSE
--- followPriority:
--- HORSEFOLLOWPRIORITY_STEER_ASSIST = 0,
--- HORSEFOLLOWPRIORITY_AMBIENT,
--- HORSEFOLLOWPRIORITY_NORMAL,
--- HORSEFOLLOWPRIORITY_HIGH
--- @param player number
--- @param ped number
--- @param p2 number
--- @param p3 number
--- @param followMode number
--- @param followPriority number
--- @param p6 boolean
function PLAYER._ADD_PLAYER_AS_FOLLOW_TARGET(player, ped, p2, p3, followMode, followPriority, p6) end
--- @param player number
--- @param ped number
function PLAYER._REMOVE_PLAYER_AS_FOLLOW_TARGET(player, ped) end
--- @param p0 number
function PLAYER._0x12E09E278C6C29B7(p0) end
--- @param player number
--- @param ped number
--- @param p2 number
function PLAYER._0xDD33A82352C4652F(player, ped, p2) end
--- @param player number
--- @param ped number
--- @param useSteerassist boolean
function PLAYER._0x1FDA57E8908F2609(player, ped, useSteerassist) end
--- @param player number
--- @param ped number
--- @param p2 number
function PLAYER._0x84481018E668E1B8(player, ped, p2) end
--- Checks if the player has locked onto an entity while on horseback.
--- This function checks only the lock-on status and does not trigger any additional behavior.
--- Images: https://imgur.com/gallery/0x2009f8ab7a5e9d6d-0xWIXcK
--- @param player number
--- @return boolean
function PLAYER._IS_PLAYER_LOCKED_ON_ENTITY_ON_HORSE(player) end
--- @param player number
--- @param ped number
--- @return boolean
function PLAYER._IS_PLAYER_FOLLOWING_TARGET(player, ped) end
--- _IS_PLAYER_A* - _IS_PLAYER_BE*
--- @param player number
--- @param ped number
--- @return boolean
function PLAYER._0xE7F8707269544B29(player, ped) end
--- Checks if the player is sprinting on a road while riding a horse.
--- This function only checks sprinting status when the player is on a road.
--- 
--- Video: https://youtu.be/cGyh0AXPu1E
--- @param player number
--- @return boolean
function PLAYER._GET_PLAYER_MOUNT_IS_SPRINTING_ON_ROAD(player) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x086549F3B0381CB1(p0, p1) end
--- Returns whether the player can control himself.
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_CONTROL_ON(player) end
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_SCRIPT_CONTROL_ON(player) end
--- Returns TRUE if the player ('s ped) is climbing at the moment.
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_CLIMBING(player) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PLAYER._0xEBB6E27AC2FF32DA(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @return number
function PLAYER._0xB15CD2F9932C9AB5(p0) end
--- _IS_PLAYER_S* - _IS_PLAYER_T*
--- @param player number
--- @return boolean
function PLAYER._0x621D1B289CAF5978(player) end
--- Return true while player is being arrested / busted.
--- 
--- If atArresting is set to 1, this function will return 1 when player is being arrested (while player is putting his hand up, but still have control)
--- 
--- If atArresting is set to 0, this function will return 1 only when the busted screen is shown.
--- @param player number
--- @param atArresting boolean
--- @return boolean
function PLAYER.IS_PLAYER_BEING_ARRESTED(player, atArresting) end
--- @param player number
function PLAYER.RESET_PLAYER_ARREST_STATE(player) end
--- Activates the "Surrender" prompt for the specified player in the current frame.
--- Notes:
--- - Continuous Activation: Must be called every frame to keep the "Surrender" prompt active.
--- - Prompt Grouping: Setting `promptOrder` to `1` ties the prompt to the `targetPed`'s prompt group.
--- - Enemy Behavior: Stops enemies from continuing their attack when activated.
--- Video: https://youtu.be/AfHdJ0Nrs7Q
--- @param player number
--- @param targetPed number
--- @param promptOrder number
--- @param unknownFlag boolean
function PLAYER._SET_PLAYER_COOPERATE_PROMPT_THIS_FRAME(player, targetPed, promptOrder, unknownFlag) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xBED386157F65942C(p0, p1) end
--- @param p0 number
--- @return number
function PLAYER._0xDAB6A2FC56B7DE65(p0) end
--- @param p0 number
--- @return number
function PLAYER._0x0F4EAF69DA41AF43(p0) end
--- @param player number
--- @param target number
function PLAYER._SET_BOUNTY_TARGET(player, target) end
--- @param player number
function PLAYER._CLEAR_BOUNTY_TARGET(player) end
--- @return number
function PLAYER.GET_PLAYERS_LAST_VEHICLE() end
--- Returns the same as PLAYER_ID and NETWORK_PLAYER_ID_TO_INT
--- @return number
function PLAYER.GET_PLAYER_INDEX() end
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
--- @param value number
--- @return number
function PLAYER.INT_TO_PLAYERINDEX(value) end
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
--- @param value number
--- @return number
function PLAYER.INT_TO_PARTICIPANTINDEX(value) end
--- This returns YOUR 'identity' as a Player type.
--- 
--- Always returns 0 in story mode.
--- @return number
function PLAYER.PLAYER_ID() end
--- Returns current player ped
--- @return number
function PLAYER.PLAYER_PED_ID() end
--- Does exactly the same thing as PLAYER_ID()
--- @return number
function PLAYER.NETWORK_PLAYER_ID_TO_INT() end
--- @param cleanupFlags number
--- @return boolean
function PLAYER.HAS_FORCE_CLEANUP_OCCURRED(cleanupFlags) end
--- @param cleanupFlags number
function PLAYER.FORCE_CLEANUP(cleanupFlags) end
--- @param name string
--- @param cleanupFlags number
function PLAYER.FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME(name, cleanupFlags) end
--- @param id number
--- @param cleanupFlags number
function PLAYER.FORCE_CLEANUP_FOR_THREAD_WITH_THIS_ID(id, cleanupFlags) end
--- @return number
function PLAYER.GET_CAUSE_OF_MOST_RECENT_FORCE_CLEANUP() end
--- mood: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePedMood
--- @param player number
--- @param mood number
function PLAYER._SET_PLAYER_MOOD(player, mood) end
--- See _SET_PLAYER_MOOD
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_MOOD(player) end
--- @param player number
--- @param vehicle number
function PLAYER.SET_PLAYER_MAY_ONLY_ENTER_THIS_VEHICLE(player, vehicle) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xC71D07C96946E263(p0, p1) end
--- @param player number
function PLAYER.SET_PLAYER_MAY_NOT_ENTER_ANY_VEHICLE(player) end
--- @return boolean
function PLAYER.IS_SYSTEM_UI_BEING_DISPLAYED() end
--- Adds an "interactive focus mode preset" between a player and a specific set of coordinates with a target entity.
--- To access all available presets, refer to the file located at:
--- `\update_1.rpf\common\data\interactive_focus_mode_presets.meta`
--- 
--- Related function:
--- - _DISABLE_PLAYER_INTERACTIVE_FOCUS_PRESET (0xC67A4910425F11F1)
--- 
--- Video: https://imgur.com/gallery/0xd48227263e3d06ae-SUJhMoA
--- @param player number
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param preset string
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param targetEntity number
--- @param name string
function PLAYER._ADD_AMBIENT_PLAYER_INTERACTIVE_FOCUS_PRESET_AT_COORDS(player, x1, y1, z1, preset, x2, y2, z2, targetEntity, name) end
--- Associates a specific "interactive focus mode preset" between a player and a ped, with a specified location and target entity.
--- To access all available presets, refer to the file located at:
--- `\update_1.rpf\common\data\interactive_focus_mode_presets.meta`
--- Video: https://imgur.com/gallery/0x3946fc742ac305cd-1uJIRNr
--- @param player number
--- @param ped number
--- @param preset string
--- @param x number
--- @param y number
--- @param z number
--- @param targetEntity number
--- @param name string
function PLAYER._ADD_AMBIENT_PLAYER_INTERACTIVE_FOCUS_PRESET(player, ped, preset, x, y, z, targetEntity, name) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function PLAYER._0xA28056CD1B04B250(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- Disables the previously set "interactive focus mode preset" for a given player.
--- Example usage:
--- PLAYER::_DISABLE_PLAYER_INTERACTIVE_FOCUS_PRESET(Player::PLAYER_ID(), "qadr_");
--- 
--- This example disables the preset named "qadr_" for the current player, effectively removing the previously established interactive focus mode.
--- Refer to `_ADD_AMBIENT_PLAYER_INTERACTIVE_FOCUS_PRESET(0x3946FC742AC305CD)` to understand how presets are added.
--- Video: https://imgur.com/gallery/0x3946fc742ac305cd-1uJIRNr
--- @param player number
--- @param name string
function PLAYER._DISABLE_PLAYER_INTERACTIVE_FOCUS_PRESET(player, name) end
--- Simply sets you as invincible (Health will not deplete).
--- @param player number
--- @param toggle boolean
function PLAYER.SET_PLAYER_INVINCIBLE(player, toggle) end
--- Returns the player's invincibility status.
--- @param player number
--- @return boolean
function PLAYER.GET_PLAYER_INVINCIBLE(player) end
--- @param player number
--- @param toggle boolean
function PLAYER.SET_PLAYER_LOCKON(player, toggle) end
--- @param player number
--- @param toggle boolean
function PLAYER.SET_LOCKON_TO_FRIENDLY_PLAYERS(player, toggle) end
--- Sets your targeting mode for when you're on foot.
--- enum eTargetingMode
--- {
--- TARGETING_MODE_INVALID = -1,
--- TARGETING_MODE_CAUSAL, (Wide)
--- TARGETING_MODE_NORMAL,
--- TARGETING_MODE_HARD, (Narrow)
--- TARGETING_MODE_EXPERT (Free Aim)
--- };
--- @param targetMode number
function PLAYER.SET_PLAYER_TARGETING_MODE(targetMode) end
--- Sets your targeting mode for when you're in a vehicle (perhaps a mount/horse).
--- see SET_PLAYER_TARGETING_MODE for eTargetingMode
--- @param targetMode number
function PLAYER._SET_PLAYER_IN_VEHICLE_TARGETING_MODE(targetMode) end
--- @param p0 number
--- @param p1 number
--- @return number
function PLAYER._0x747257807B8721CE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function PLAYER._0x8702D9150D9FBB3D(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xCB0B9506BC91E441(p0, p1) end
--- @param player number
function PLAYER.CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED(player) end
--- @param player number
--- @return boolean
function PLAYER.HAS_PLAYER_DAMAGED_AT_LEAST_ONE_PED(player) end
--- @param player number
function PLAYER.CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED(player) end
--- @param player number
--- @return boolean
function PLAYER.HAS_PLAYER_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED(player) end
--- @param p0 number
function PLAYER._0xEACEBAAE0A33FB3F(p0) end
--- Checks if the player has damaged the ped they recently attacked. Useful for determining if the player's recent attack on a ped resulted in damage.
--- @param player number
--- @param recentlyMs number
--- @return boolean
function PLAYER._HAS_PLAYER_DAMAGED_RECENTLY_ATTACKED_PED(player, recentlyMs) end
--- Alternate name: _GET_PEDS_DAMAGED_BY_PLAYER
--- Returns an array of peds the player has recently attacked in a combo, tracking up to three consecutive peds.
--- Video: https://imgur.com/gallery/0x1a6e84f13c952094-USZqpAJ
--- @param player number
--- @param recentlyMs number
--- @param outArray number
--- @return boolean
function PLAYER._GET_PEDS_IN_COMBAT_WITH_RECENTLY(player, recentlyMs, outArray) end
--- damageInfo: STANDARD_PED_DAMAGE, STANDARD_FEMALE_PED_DAMAGE, STANDARD_PLAYER_PED_DAMAGE_MP, STANDARD_FEMALE_PLAYER_PED_DAMAGE_MP
--- @param player number
--- @param damageInfo string
function PLAYER._SET_PLAYER_DAMAGE_INFO_OVERRIDE(player, damageInfo) end
--- _RESET_PLAYER_A* - _RESET_PLAYER_I*
--- @param player number
function PLAYER._0x1F488807BC8E0630(player) end
--- This can be between 1.0f - 50.0f
--- @param player number
--- @param multiplier number
function PLAYER.SET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE(player, multiplier) end
--- Swim speed multiplier.
--- Multiplier goes up to 1.49f
--- @param player number
--- @param multiplier number
function PLAYER.SET_SWIM_MULTIPLIER_FOR_PLAYER(player, multiplier) end
--- @return boolean
function PLAYER._0x73EB2EF2E92D23BF() end
--- @param player number
--- @param toggle boolean
--- @param ped number
--- @param p3 number
--- @param p4 boolean
function PLAYER.SET_PLAYER_FORCED_AIM(player, toggle, ped, p3, p4) end
--- @param player number
--- @param ped number
--- @param p2 number
function PLAYER._0x310CE349E0C0EC4B(player, ped, p2) end
--- Inhibits the player from using any method of combat including melee and firearms.
--- 
--- NOTE: Only disables the firing for one frame
--- @param player number
--- @param toggle boolean
function PLAYER.DISABLE_PLAYER_FIRING(player, toggle) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xEBFF94328FF7A18A(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PLAYER._0xF993373285053D77(p0, p1, p2) end
--- @param p0 number
--- @return number
function PLAYER._0xE956C2340A76272E(p0) end
--- @param player number
--- @param enable boolean
function PLAYER._ENABLE_CUSTOM_DEADEYE_ABILITY(player, enable) end
--- Checks if the player's Deadeye ability is enabled.
--- 
--- Example usage:
--- 
--- if (PLAYER::_IS_SPECIAL_ABILITY_ENABLED(PLAYER::PLAYER_ID())) {
--- // Execute logic when Deadeye is enabled
--- }
--- 
--- This function does not activate or modify the Deadeye ability but simply checks its status.
--- 
--- Image : https://imgur.com/gallery/0xde6c85975f9d4894-MS4KeUL
--- @param player number
--- @return boolean
function PLAYER._IS_SPECIAL_ABILITY_ENABLED(player) end
--- Activates the special ability for the specified player.
--- Example usage:
--- 
--- Activate the special ability for the current player
--- PLAYER::_SPECIAL_ABILITY_SET_ACTIVATE(PLAYER::PLAYER_ID());
--- 
--- Video: https://imgur.com/gallery/0xbba140062b15a8ac-P8jniMu
--- @param player number
function PLAYER._SPECIAL_ABILITY_SET_ACTIVATE(player) end
--- @param player number
--- @param disabled boolean
function PLAYER._SPECIAL_ABILITY_SET_DISABLED(player, disabled) end
--- @param player number
--- @return boolean
function PLAYER._IS_SPECIAL_ABILITY_ACTIVE(player) end
--- Toggle handles wether Deadeye and Eagleeye are infinite or not.
--- @param player number
--- @param toggle boolean
function PLAYER._MODIFY_INFINITE_TRAIL_VISION(player, toggle) end
--- @param player number
function PLAYER._SPECIAL_ABILITY_SET_EAGLE_EYE_DISABLED(player) end
--- Restores Deadeye by given amount.
--- Params: p2, p3, p4 = 0, 0, 1 in R* Scripts
--- @param player number
--- @param amount number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PLAYER._SPECIAL_ABILITY_RESTORE_BY_AMOUNT(player, amount, p2, p3, p4) end
--- Params: p1, p2, p3, p4 = 1.f, 0, 0, 0 in R* Scripts
--- _SPECIAL_ABILITY*
--- @param player number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function PLAYER._0xFA437FA0738C370C(player, p1, p2, p3, p4) end
--- Only used in R* SP Script short_update
--- Restores Deadeye Outer Ring
--- @param player number
--- @param amount number
function PLAYER._SPECIAL_ABILITY_RESTORE_OUTER_RING(player, amount) end
--- If player has less Dead Eye than required, Dead Eye cant be triggered.
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_REQUIRED_DEAD_EYE_AMOUNT(player) end
--- Returns Deadeye value from player
--- @param player number
--- @return number
function PLAYER._SPECIAL_ABILITY_GET_AMOUNT_CACHED(player) end
--- Drains Deadeye by given amount.
--- @param player number
--- @param amount number
--- @param p2 number
function PLAYER._SPECIAL_ABILITY_DRAIN_BY_AMOUNT(player, amount, p2) end
--- Params: p1 = -1 in R* Scripts
--- @param player number
--- @param abilityType number
--- @param p2 boolean
function PLAYER._SPECIAL_ABILITY_START_RESTORE(player, abilityType, p2) end
--- @param player number
--- @param multiplier number
function PLAYER._SET_SPECIAL_ABILITY_MULTIPLIER(player, multiplier) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_SPECIAL_ABILITY_MULTIPLIER(player) end
--- SPECIAL_ABILITY_NONE = -1,
--- SPECIAL_ABILITY_CAR_SLOWDOWN,
--- SPECIAL_ABILITY_RAGE,
--- SPECIAL_ABILITY_BULLET_TIME,
--- SPECIAL_ABILITY_SNAPSHOT,
--- SPECIAL_ABILITY_INSULT,
--- SPECIAL_ABILITY_DEADEYE,
--- SPECIAL_ABILITY_REVIVE
--- @param player number
--- @param type number
function PLAYER._SET_SPECIAL_ABILITY_TYPE(player, type) end
--- @param player number
--- @param p1 number
function PLAYER._0x22B3CABEDDB538B2(player, p1) end
--- durationCost: per second
--- @param player number
--- @param durationCost number
function PLAYER._SET_SPECIAL_ABILITY_DURATION_COST(player, durationCost) end
--- Only used in R* SP Script short_update
--- @param player number
--- @param timer number
function PLAYER._SET_SPECIAL_ABILITY_DISABLE_TIMER(player, timer) end
--- @param p0 number
--- @return number
function PLAYER._0x57D9991DC1334151(p0) end
--- @param p0 number
--- @return number
function PLAYER._0x21091B4BEB6376EE(p0) end
--- @param player number
--- @param activationCost number
--- @param p2 number
function PLAYER._SET_SPECIAL_ABILITY_ACTIVATION_COST(player, activationCost, p2) end
--- _SET_SPECIAL_ABILITY_*
--- @param player number
--- @param p1 number
function PLAYER._0x4D1699543B1C023C(player, p1) end
--- @param player number
--- @param p1 boolean
--- @return number
function PLAYER._GET_PLAYER_DEAD_EYE_METER_LEVEL(player, p1) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_DEAD_EYE(player) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_CACHED_DEAD_EYE_AMOUNT(player) end
--- @param player number
--- @param p1 number
--- @return number
function PLAYER._GET_PLAYER_MAX_DEAD_EYE(player, p1) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_HEALTH(player) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_STAMINA(player) end
--- Sets the aura color for entities that the player can target in Deadeye mode, based on a specific hash value.
--- Known hash :
--- - 1014693585
--- - 1936842089
--- - 1979474018
--- Example usage:
--- PLAYER::_SET_PLAYER_DEAD_EYE_AURA_BY_HASH(PLAYER::PLAYER_ID(), 1014693585);
--- Video: https://imgur.com/gallery/0x768e81ae285a4b67-LzWAwBc
--- Previous name: _SET_PLAYER_STAT_FLAG_HASH
--- _N*, _O* or _PE*
--- @param player number
--- @param auraHash number
function PLAYER._SET_PLAYER_DEAD_EYE_AURA_BY_HASH(player, auraHash) end
--- @param health number
--- @param stamina number
--- @param deadeye number
--- @param healthCore number
--- @param staminaCore number
--- @param deadeyeCore number
function PLAYER._SET_USED_ITEM_EFFECT(health, stamina, deadeye, healthCore, staminaCore, deadeyeCore) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x08E22898A6AF4905(p0, p1) end
--- @param p0 number
--- @return number
function PLAYER._0xBEFED69CE8317F91(p0) end
--- (Un)lock Eagle Eye functionality
--- @param player number
--- @param enable boolean
function PLAYER._ENABLE_EAGLEEYE(player, enable) end
--- Returns true if eagle eye is enabled for the player
--- @param player number
--- @return boolean
function PLAYER._IS_SECONDARY_SPECIAL_ABILITY_ENABLED(player) end
--- Activates EagleEye, called together with 0x28A13BF6B05C3D83
--- @param player number
function PLAYER._SECONDARY_SPECIAL_ABILITY_SET_ACTIVE(player) end
--- Deactivates EagleEye, called together with 0xC0B21F235C02139C
--- @param player number
--- @param disabled boolean
function PLAYER._SECONDARY_SPECIAL_ABILITY_SET_DISABLED(player, disabled) end
--- @param player number
--- @return boolean
function PLAYER._IS_SECONDARY_SPECIAL_ABILITY_ACTIVE(player) end
--- @param p0 number
function PLAYER._0x107F2A66E1C4C83A(p0) end
--- @param player number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
function PLAYER.START_PLAYER_TELEPORT(player, x, y, z, heading, p5, p6, p7, p8) end
--- @param p0 boolean
function PLAYER._0x2C2D287748E8E9B7(p0) end
--- @param player number
--- @return boolean
function PLAYER.UPDATE_PLAYER_TELEPORT(player) end
--- Disables the player's teleportation
function PLAYER.STOP_PLAYER_TELEPORT() end
--- @return boolean
function PLAYER.IS_PLAYER_TELEPORT_ACTIVE() end
--- @param player number
--- @return number
function PLAYER.GET_PLAYER_CURRENT_STEALTH_NOISE(player) end
--- @param player number
--- @param regenRate number
function PLAYER.SET_PLAYER_HEALTH_RECHARGE_MULTIPLIER(player, regenRate) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_HEALTH_RECHARGE_MULTIPLIER(player) end
--- Setting player's Health recharge time to zero forces immediate health regen
--- @param player number
--- @param modifier number
function PLAYER._SET_PLAYER_HEALTH_RECHARGE_TIME_MODIFIER(player, modifier) end
--- @param player number
--- @param multiplier number
function PLAYER.SET_PLAYER_STAMINA_RECHARGE_MULTIPLIER(player, multiplier) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_STAMINA_RECHARGE_MULTIPLIER(player) end
--- @param player number
--- @param multiplier number
function PLAYER._SET_PLAYER_STAMINA_SPRINT_DEPLETION_MULTIPLIER(player, multiplier) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_STAMINA_DEPLETION_MULTIPLIER(player) end
--- Seems to work similar to 0xD2CB0FB0FDCB473D
--- @param player number
--- @param horse number
function PLAYER._SET_PED_ACTIVE_PLAYER_HORSE(player, horse) end
--- @param player number
--- @return number
function PLAYER._GET_ACTIVE_HORSE_FOR_PLAYER(player) end
--- @param player number
--- @param mount number
function PLAYER._SET_PED_AS_SADDLE_HORSE_FOR_PLAYER(player, mount) end
--- @param player number
--- @return number
function PLAYER._GET_SADDLE_HORSE_FOR_PLAYER(player) end
--- @param player number
--- @param horse number
--- @return boolean
function PLAYER.SET_PED_AS_TEMP_PLAYER_HORSE(player, horse) end
--- @param player number
--- @return number
function PLAYER._GET_TEMP_PLAYER_HORSE(player) end
--- nullsub, doesn't do anything
--- @param p0 number
--- @param p1 number
function PLAYER._0x77B0B6D17A3AC9AA(p0, p1) end
--- Name could potentially be inaccurate.
--- Used in Script Function HORSE_SETUP_PLAYER_HORSE_ATTRIBUTES (p1 = true)
--- _SET_PLAYER_L* - _SET_PLAYER_M*
--- @param player number
--- @param active boolean
function PLAYER._SET_PLAYER_MOUNT_STATE_ACTIVE(player, active) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x694FFA4308060CD1(p0, p1) end
--- @param player number
--- @param speedBoost number
--- @param duration number
function PLAYER.BOOST_PLAYER_HORSE_SPEED_FOR_TIME(player, speedBoost, duration) end
--- This modifies the damage value of your weapon. Whether it is a multiplier or base damage is unknown.
--- @param player number
--- @param modifier number
function PLAYER.SET_PLAYER_WEAPON_DAMAGE_MODIFIER(player, modifier) end
--- @param player number
--- @param modifier number
function PLAYER.SET_PLAYER_WEAPON_DEFENSE_MODIFIER(player, modifier) end
--- _SET_PLAYER_DAMAGE_* - _SET_PLAYER_DEFENSE_*
--- @param player number
--- @param p1 boolean
function PLAYER._0x818241B3EDA84191(player, p1) end
--- @param player number
--- @param modifier number
function PLAYER.SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER(player, modifier) end
--- @param player number
--- @param modifier number
function PLAYER._SET_PLAYER_EXPLOSIVE_WEAPON_DAMAGE_MODIFIER(player, modifier) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x83C989D5B5B5B466(p0, p1) end
--- @param p0 number
--- @return number
function PLAYER._0x03B4B759A8990505(p0) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x67659A8F248E0141(p0, p1) end
--- Decreases the damage the player receives while on horseback
--- Previous name: _SET_RECEIVED_HORSEBACK_DAMAGE_DECREASE
--- @param player number
--- @param damageDecrease number
function PLAYER._SET_RECEIVED_DAMAGE_TAKEN_ON_HORSEBACK_MODIFIER(player, damageDecrease) end
--- Sets Player's Defense against AI modifier
--- @param player number
--- @param modifier number
function PLAYER._SET_AI_PLAYER_DEFENSE_MODIFIER_AGAINST_AI(player, modifier) end
--- @param player number
--- @return number
function PLAYER._GET_AI_PLAYER_DEFENSE_MODIFIER_AGAINST_AI(player) end
--- @param p0 number
--- @param p1 number
--- @return number
function PLAYER._0x19B2C7A6C34FAD54(p0, p1) end
--- @param p0 number
--- @return number
function PLAYER._0x9422743A5BA50E10(p0) end
--- Sets stamina core drains peed using ranged damage scale and melee damage scale
--- @param player number
--- @param weaponDefenseMod number
--- @param meleeDefenseMod number
function PLAYER._SET_PLAYER_DEFENSE_MODIFIER(player, weaponDefenseMod, meleeDefenseMod) end
--- bullet damage modifier: type = 4
--- explosive damage Defense mod: type = 7
--- fire damage Defense mod: type = 8, 15
--- @param player number
--- @param type number
--- @param defenseModifier number
function PLAYER._SET_PLAYER_DEFENSE_TYPE_MODIFIER(player, type, defenseModifier) end
--- @param player number
--- @param weaponHash number
--- @param damageModifier number
function PLAYER.SET_PLAYER_WEAPON_TYPE_DAMAGE_MODIFIER(player, weaponHash, damageModifier) end
--- @param player number
--- @param weaponHash number
--- @return number
function PLAYER._GET_PLAYER_WEAPON_DAMAGE(player, weaponHash) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PLAYER._0x5C2E5E3CAEEB1F58(p0, p1, p2) end
--- @param player number
--- @param weaponGroup number
--- @param modifier number
function PLAYER._SET_PLAYER_WEAPON_GROUP_DAMAGE_MODIFIER(player, weaponGroup, modifier) end
--- @param player number
--- @param weaponGroup number
--- @param toggle boolean
function PLAYER._SET_PLAYER_WEAPON_GROUP_AS_INSTANT_KILL(player, weaponGroup, toggle) end
--- @param player number
--- @param modifier number
function PLAYER._SET_PLAYER_TRAMPLE_DAMAGE_MODIFIER(player, modifier) end
--- _SET_PLAYER_A* - _SET_PLAYER_C*
--- @param player number
--- @param damage number
function PLAYER._SET_PLAYER_LASSO_DAMAGE_PER_SECOND(player, damage) end
--- @param player number
--- @param accuracy number
function PLAYER._SET_PLAYER_TOTAL_ACCURACY_MODIFIER(player, accuracy) end
--- @param player number
--- @param accuracy number
function PLAYER._SET_PLAYER_LOCAL_ACCURACY_FLOOR_MODIFIER(player, accuracy) end
--- @param player number
--- @param accuracy number
function PLAYER._SET_PLAYER_REMOTE_ACCURACY_FLOOR_MODIFIER(player, accuracy) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x3AD212429E095EFB(p0, p1) end
--- @param player number
--- @param multiplier number
function PLAYER.SET_PLAYER_NOISE_MULTIPLIER(player, multiplier) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x113EF458AB6CDA67(p0, p1) end
--- @param player number
--- @param multiplier number
function PLAYER.SET_PLAYER_SNEAKING_NOISE_MULTIPLIER(player, multiplier) end
--- @param player number
--- @param speed number
--- @param duration number
--- @param heading number
--- @param p4 boolean
--- @param p5 boolean
function PLAYER.SIMULATE_PLAYER_INPUT_GAIT(player, speed, duration, heading, p4, p5) end
--- @param player number
function PLAYER.RESET_PLAYER_INPUT_GAIT(player) end
--- @param player number
--- @param toggle boolean
function PLAYER.SET_PLAYER_SIMULATE_AIMING(player, toggle) end
--- @param ped number
--- @param p1 number
function PLAYER.SET_PLAYER_CLOTH_PIN_FRAMES(ped, p1) end
--- @param player number
--- @return boolean
function PLAYER.HAS_PLAYER_BEEN_SPOTTED_IN_STOLEN_VEHICLE(player) end
--- @param player number
--- @param p1 number
--- @param p2 boolean
--- @return boolean
function PLAYER.GET_PLAYER_RECEIVED_BATTLE_EVENT_RECENTLY(player, p1, p2) end
--- @param disabled boolean
function PLAYER._SET_MOUNT_PROMPT_DISABLED(disabled) end
--- Returns true if the player is riding a train.
--- @param player number
--- @return boolean
function PLAYER.IS_PLAYER_RIDING_TRAIN(player) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x9AFCF9FE1884BF62(p0, p1) end
--- @param p0 number
--- @return number
function PLAYER._0x1E8099F449ABB0BA(p0) end
--- @param player number
--- @return number
function PLAYER._GET_DEADEYE_ABILITY_LEVEL(player) end
--- Max level is 5.
--- @param player number
--- @param level number
function PLAYER._SET_DEADEYE_ABILITY_LEVEL(player, level) end
--- @param player number
--- @param abilityType number
--- @return boolean
function PLAYER._IS_DEADEYE_ABILITY_LOCKED(player, abilityType) end
--- @param player number
--- @param abilityType number
--- @param toggle boolean
function PLAYER._SET_DEADEYE_ABILITY_LOCKED(player, abilityType, toggle) end
--- @param player number
--- @param toggle boolean
function PLAYER._SET_DEADEYE_TAGGING_ENABLED(player, toggle) end
--- @param player number
--- @return boolean
function PLAYER._GET_IS_DEADEYE_TAGGING_ENABLED(player) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x3C4AE8506638C7E2(p0, p1) end
--- @param p0 number
--- @return number
function PLAYER._0x51139D8C17B16FBC(p0) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x8F44EBB3BA8F6D44(p0, p1) end
--- @param player number
--- @param filter number
function PLAYER._SET_DEADEYE_TAGGING_CONFIG(player, filter) end
--- Returns the depletion delay value for the Deadeye ability that was previously set using `PLAYER::_SET_DEADEYE_ABILITY_DEPLETION_DELAY` (0x870634493CB4372C). This function provides a float value representing the delay, allowing the game to retrieve the current Deadeye depletion setting for a specific player.
--- 
--- Example usage:
--- 
--- float depletionDelay = PLAYER::_GET_DEADEYE_ABILITY_DEPLETION_DELAY(PLAYER::PLAYER_ID());
--- Video: https://imgur.com/gallery/0xe92261bd28c0878f-TAqX0fg
--- @param player number
--- @return number
function PLAYER._GET_DEADEYE_ABILITY_DEPLETION_DELAY(player) end
--- Only used in R* SP Script short_update
--- @param player number
--- @param delay number
function PLAYER._SET_DEADEYE_ABILITY_DEPLETION_DELAY(player, delay) end
--- @param p0 number
--- @return number
function PLAYER._0xA54000D4BFD90BDE(p0) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x6EDB5D08CB03E763(p0, p1) end
--- Retrieves the number of marks placed on a PED when Deadeye mode is active for the specified player.
--- Example usage:
--- int marksCount = PLAYER::_GET_NUM_DEADEYE_MARKS_ON_PED(PLAYER::PLAYER_ID(), pedHandle);
--- Video: https://imgur.com/gallery/0x27ad7162d3fed01e-XvMXq2d
--- @param player number
--- @param ped number
--- @return number
function PLAYER._GET_NUM_DEADEYE_MARKS_ON_PED(player, ped) end
--- @param player number
--- @return number
function PLAYER._GET_NUM_MARKED_DEADEYE_TARGETS(player) end
--- @param p0 number
--- @return number
function PLAYER._0xC93A9A45430D484E(p0) end
--- Used in script function INIT_DEADEYE_SLOWDOWN
--- @param player number
--- @param p1 boolean
function PLAYER._0x570A13A4CA2799BB(player, p1) end
--- Used in script function INIT_DEADEYE_SLOWDOWN
--- @param player number
--- @param p1 boolean
function PLAYER._0x3ACAC8832E77BC93(player, p1) end
--- Applies an aura effect to nearby entities when Deadeye is active, based on a flag parameter. This includes humans, animals, vehicles, and horses pulling those vehicles. Additionally, depending on the flag value, the player's appearance may change (e.g., turning gray).
--- 
--- Example usage:
--- PLAYER::_SET_DEADEYE_ENTITY_AURA_EFFECT(PLAYER::PLAYER_ID(), 3);
--- Applies an aura effect to nearby entities, and the player turns gray by default when flag is set to 8.
--- 
--- Video: https://youtu.be/Mgb1N9_6Htc
--- @param player number
--- @param flag number
function PLAYER._SET_DEADEYE_ENTITY_AURA_EFFECT(player, flag) end
--- Resets any aura effects applied to entities for a specific player in Deadeye mode, returning all aura-related visuals to their default state. This function is primarily used to remove any highlighting or aura effects set by `PLAYER::_SET_DEADEYE_ENTITY_AURA_EFFECT` (0x2B12B6FC8B8772AB) and `PLAYER::_SET_DEADEYE_ENTITY_AURA_EFFECT_INTENSITY` (0x131E294EF60160DF).
--- 
--- Example usage:
--- PLAYER::_RESET_DEADEYE_AURA_EFFECT(PLAYER::PLAYER_ID());
--- Resets all aura effects and intensity changes for the player, removing entity highlights and restoring default visuals after Deadeye.
--- 
--- Video: https://imgur.com/gallery/0xe910932f4b30be23-tjviTeU
--- @param player number
function PLAYER._RESET_DEADEYE_AURA_EFFECT(player) end
--- Applies a customizable aura effect to nearby entities when Deadeye is active, with control over aura intensity and additional behavior based on a flag parameter.
--- 
--- auraIntensity: maximum value of 1.0. Represents how strong the aura appears on nearby entities.
--- flag: 2: Applies aura to humans, 4: Applies aura to animals
--- 
--- Example usage:
--- PLAYER::_SET_DEADEYE_ENTITY_AURA_EFFECT_INTENSITY(PLAYER::PLAYER_ID(), 0.0, 0.0, 0.0, 1.0, 8);
--- Applies a maximum intensity aura effect to all nearby entities while Deadeye is active.
--- 
--- Screenshot: https://imgur.com/gallery/0x131e294ef60160df-zNQ6Pc0
--- @param player number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param auraIntensity number
--- @param flag number
function PLAYER._SET_DEADEYE_ENTITY_AURA_EFFECT_INTENSITY(player, p1, p2, p3, auraIntensity, flag) end
--- Clears the intensity of aura effects applied to entities for a specific player in Deadeye mode based on a flag parameter. This function is used to reset any intensity modifications set by `PLAYER::_SET_DEADEYE_ENTITY_AURA_EFFECT_INTENSITY` (0x131E294EF60160DF), restoring affected entities' aura intensity to their default state.
--- 
--- Example usage:
--- PLAYER::_CLEAR_DEADEYE_AURA_EFFECT_INTENSITY(PLAYER::PLAYER_ID(),2);
--- Clears all aura intensity adjustments for the player based on the specified flag, restoring entities' intensity to default values.
--- 
--- Video: https://imgur.com/gallery/0x0e9057a9da78d0f8-ctZPFmz
--- @param player number
--- @param flag number
function PLAYER._CLEAR_DEADEYE_AURA_EFFECT_INTENSITY(player, flag) end
--- @param player number
--- @param p1 number
function PLAYER._0x263D69767F76059C(player, p1) end
--- Used for setting up eagle eye for entity
--- Params: p2 = re-register or not?
--- @param player number
--- @param entity number
--- @param p2 boolean
function PLAYER._REGISTER_EAGLE_EYE_FOR_ENTITY(player, entity, p2) end
--- @param player number
--- @param entity number
--- @param p2 number
function PLAYER._REGISTER_EAGLE_EYE_TRAILS_FOR_ENTITY(player, entity, p2) end
--- @param player number
--- @param entity number
function PLAYER._UNREGISTER_EAGLE_EYE_FOR_ENTITY(player, entity) end
--- @param player number
--- @param entity number
--- @param p2 number
function PLAYER._UNREGISTER_EAGLE_EYE_TRAILS_FOR_ENTITY(player, entity, p2) end
--- Clears all eagle eye trails that were registered for peds (maybe also other entities?) associated with specified player.
--- Video: https://imgur.com/a/uvCTPei
--- _CLEAR_FACIAL_* - _CLEAR_PED_BLOOD*
--- @param player number
function PLAYER._CLEAR_PED_EAGLE_EYE_TRAILS_FOR_PLAYER(player) end
--- @param player number
--- @param entity number
--- @return boolean
function PLAYER._IS_EAGLE_EYE_REGISTERED_FOR_ENTITY(player, entity) end
--- @param p0 number
--- @param p1 number
--- @return number
function PLAYER._0x6852288340B43239(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function PLAYER._0xE50A67C33514A390(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PLAYER._0xD288E02E364972D2(p0, p1, p2) end
--- @param entity number
--- @param trail string
--- @param p2 number
--- @param p3 number
function PLAYER._EAGLE_EYE_DISABLE_TRACKING_TRAIL(entity, trail, p2, p3) end
--- Adds yellow indicator particle effects to given entity.
--- Image: https://imgur.com/a/cbldo35
--- @param entity1 number
--- @param entity2 number
--- @param p2 number
--- @param heading number
function PLAYER._EAGLE_EYE_SET_PARTICLE_FX_TO_ENTITY(entity1, entity2, p2, heading) end
--- Clears yellow indicator particle effects from given entity.
--- @param entity1 number
--- @param entity2 number
--- @param p2 number
function PLAYER._EAGLE_EYE_REMOVE_PARTICLE_FX_FROM_ENTITY(entity1, entity2, p2) end
--- @param p0 number
function PLAYER._0x00B156AFEBCC5AE0(p0) end
--- @param p0 number
function PLAYER._0xC58CE6824E604DEC(p0) end
--- Sets whether all trails are hidden during Eagle Eye mode.
--- Example usage:
--- Hide all trails in Eagle Eye mode for the current player
--- PLAYER::_EAGLE_EYE_SET_HIDE_ALL_TRAILS(PLAYER::PLAYER_ID(), true);
--- 
--- Show all trails in Eagle Eye mode
--- PLAYER::_EAGLE_EYE_SET_HIDE_ALL_TRAILS(PLAYER::PLAYER_ID(), false);
--- Images:
--- - https://imgur.com/gallery/0x330ca55a3647fa1c-0xa62bbaae67a05bb0-Lpzt2Yi
--- - https://imgur.com/gallery/0x330ca55a3647fa1c-0xa62bbaae67a05bb0-yLA6GBk
--- @param player number
--- @param hideTrails boolean
function PLAYER._EAGLE_EYE_SET_HIDE_ALL_TRAILS(player, hideTrails) end
--- Retrieves whether all trails are currently hidden during Eagle Eye mode for the specified player.
--- Images:
--- - https://imgur.com/gallery/0x330ca55a3647fa1c-0xa62bbaae67a05bb0-Lpzt2Yi
--- - https://imgur.com/gallery/0x330ca55a3647fa1c-0xa62bbaae67a05bb0-yLA6GBk
--- @param player number
--- @return boolean
function PLAYER._EAGLE_EYE_ARE_ALL_TRAILS_HIDDEN(player) end
--- false: default eagleeye color
--- true: green eagleeye color
--- @param player number
--- @param p1 boolean
--- @param p2 number
function PLAYER._EAGLE_EYE_SET_COLOR(player, p1, p2) end
--- @param player number
--- @param range number
function PLAYER._EAGLE_EYE_SET_RANGE(player, range) end
--- @param player number
--- @param modifier number
function PLAYER._EAGLE_EYE_SET_DRAIN_RATE_MODIFIER(player, modifier) end
--- @param ped number
--- @param p1 boolean
function PLAYER._0x06E1FB78B1E59CA5(ped, p1) end
--- Sets the behavior of sprinting while the eagle eye feature is active, determining whether sprinting cancels the effect based on the specified parameter.
--- disabled = true: sprinting will cancel the eagle eye effect when active. If the player starts sprinting, the Eagleeye feature will be deactivated.
--- disabled = false: sprinting will not cancel the eagle eye effect. The player can sprint while keeping the Eagleeye feature active.
--- @param player number
--- @param disabled boolean
function PLAYER._EAGLE_EYE_SET_PLUS_FLAG_DISABLED(player, disabled) end
--- Retrieves the ID of the ped that the specified player is currently tracking while in Eagle Eye mode.
--- Images:
--- - https://imgur.com/gallery/0x3813e11a378958a5-CHoJVRu
--- - https://imgur.com/gallery/0x3813e11a378958a5-reK5IXt
--- @param player number
--- @return number
function PLAYER._EAGLE_EYE_GET_TRACKED_PED_ID(player) end
--- @param player number
--- @param linkedWaypointPed number
function PLAYER._EAGLE_EYE_SET_FOCUS_ON_ASSOCIATED_CLUE_TRAIL(player, linkedWaypointPed) end
--- @param p0 number
function PLAYER._0x0F9CF06986300875(p0) end
--- @param player number
--- @param p1 number
function PLAYER._EAGLE_EYE_SET_TRACKING_UPGRADE(player, p1) end
--- @param player number
--- @param p1 number
function PLAYER._EAGLE_EYE_SET_TRACKING_UPGRADE_2(player, p1) end
--- Checks if the player can focus on tracks while in Eagle Eye mode. Returns true if the player is able to focus on a track, otherwise false.
--- Example usage:
--- if (PLAYER::_EAGLE_EYE_CAN_PLAYER_FOCUS_ON_TRACK(PLAYER::PLAYER_ID())) {
--- // Perform actions when the player is focusing on a track in Eagle Eye mode
--- }
--- Video: https://imgur.com/gallery/0x1da5c5b0923e1b85-M8AyOsu
--- @param player number
--- @return boolean
function PLAYER._EAGLE_EYE_CAN_PLAYER_FOCUS_ON_TRACK(player) end
--- @param p0 number
--- @return number
function PLAYER._0xAAED694CE814817F(p0) end
--- @param entity number
--- @param red number
--- @param green number
--- @param blue number
function PLAYER.EAGLE_EYE_SET_CUSTOM_ENTITY_TINT(entity, red, green, blue) end
--- Enable/disable the focus skill on given entity in eagle eye mode, which makes the entity glow up.
--- Video: https://imgur.com/a/e1ph146
--- @param entity number
--- @param enable boolean
function PLAYER._EAGLE_EYE_ADD_FOCUS_SKILL(entity, enable) end
--- @param entity number
--- @param distance number
function PLAYER._EAGLE_EYE_SET_CUSTOM_DISTANCE(entity, distance) end
--- _CLEAR_FACIAL_* - _CLEAR_PED_BLOOD*
--- @param player number
function PLAYER._0xF21C7A3F3FFBA629(player) end
--- @param player number
--- @param p1 number
function PLAYER._SET_PLAYER_MANAGE_BUFF_SUPER_JUMP(player, p1) end
--- see personaabilities.meta
--- enum ePersonaAbilityFlag
--- {
--- PERSONA_CAN_AUTOESCAPE_FROM_LASSO,
--- PERSONA_HAT_BLOCKS_FIRST_HEADSHOT,
--- PERSONA_FULL_AUTO_FOR_ALL_WEAPONS,
--- PERSONA_MIGHT_LIVE_AFTER_DEADLY_DAMAGE,
--- PERSONA_IGNORE_AIM_BEFORE_FIRING_RESTRICTIONS,
--- PERSONA_DEADEYE_INSTANT_RELOAD,
--- PERSONA_USE_PHOSPHOROUS_ROUNDS,
--- PERSONA_CONT_DEADEYE_ON_TAKING_COVER,
--- PERSONA_CONT_DEADEYE_ON_RELOAD,
--- PERSONA_CONT_DEADEYE_ON_SHOOTING,
--- PERSONA_CONT_DEADEYE_ON_EXITING_AIM,
--- PERSONA_DISABLE_PLAYER_CANCELLING_DEADEYE,
--- PERSONA_CONT_DEADEYE_ON_RAGDOLL,
--- PERSONA_USE_EXPLOSIVE_ROUNDS,
--- PERSONA_EXIT_DEADEYE_ON_TAKING_DAMAGE,
--- PERSONA_CARRY_TWO_MONEYBAGS,
--- PERSONA_ABILITY_LONG_PICK_HERBS,
--- PERSONA_ABILITY_UNBREAKABLE_LASSO,
--- PERSONA_CONT_DEADEYE_ON_SPRINTING,
--- PERSONA_CANT_DEAL_HEADSHOTS,
--- PERSONA_HANGMAN,
--- PERSONA_ALLOW_DEADEYE_WITH_MELEE_WEAPONS,
--- PERSONA_ALLOW_DEADEYE_WHILE_UNARMED,
--- PERSONA_DISABLE_DEADEYE_PERFECT_ACCURACY,
--- PERSONA_CANT_DEAL_HEADSHOTS_TO_PLAYERS,
--- PERSONA_CANT_DEAL_CRITICAL_DAMAGE,
--- PERSONA_CANT_DEAL_CRITICAL_DAMAGE_TO_PLAYERS,
--- PERSONA_ALLOW_EAGLEEYE_IN_COMBAT,
--- PERSONA_CONT_EAGLEEYE_ON_SPRINT,
--- PERSONA_SUPPRESS_LENGENDARY_EAGLEEYE_TRAIL_COLOR
--- };
--- @param flagId number
--- @param toggle boolean
function PLAYER._SET_LOCAL_PLAYER_PERSONA_ABILITY_FLAG(flagId, toggle) end
--- @param player number
--- @param ammoType number
--- @param amount number
function PLAYER._SET_PLAYER_MAX_AMMO_OVERRIDE_FOR_AMMO_TYPE(player, ammoType, amount) end
--- @param player number
function PLAYER._0xC900A465364A85D6(player) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PLAYER._0xCFB2EED4FCB7BD77(p0, p1, p2) end
--- @param p0 number
function PLAYER._0x2BB8D58E88777499(p0) end
--- @param player number
--- @param weaponHash number
--- @param modifier number
function PLAYER._SET_WEAPON_DRAW_SPEED(player, weaponHash, modifier) end
--- @param p0 number
function PLAYER._0x65887EAC535A0B0C(p0) end
--- @param player number
--- @param modifier number
function PLAYER._SET_WEAPON_DEGRADATION_MODIFIER(player, modifier) end
--- @param player number
--- @param drawReductionTime number
function PLAYER._SET_BOW_DRAW_REDUCTION_TIME_IN_DEADEYE(player, drawReductionTime) end
--- Decreases Stamina bar drain speed by % when drawing a bow.
--- @param player number
--- @param staminaDrain number
function PLAYER._SET_BOW_STAMINA_DRAIN_SPEED(player, staminaDrain) end
--- @param player number
--- @param closeRangeLowerBound number
--- @param closeRangeUpperBound number
function PLAYER._SET_DAMAGE_CLOSE_DISTANCE_BONUS(player, closeRangeLowerBound, closeRangeUpperBound) end
--- @param player number
--- @param closeDamageBonus number
function PLAYER._SET_DAMAGE_CLOSE_DISTANCE_BONUS_TOTAL(player, closeDamageBonus) end
--- @param player number
--- @param farRangeLowerBound number
--- @param farRangeUpperBound number
function PLAYER._SET_DAMAGE_FAR_DISTANCE_BONUS(player, farRangeLowerBound, farRangeUpperBound) end
--- @param player number
--- @param farDamageBonus number
function PLAYER._SET_DAMAGE_FAR_DISTANCE_BONUS_TOTAL(player, farDamageBonus) end
--- @param p0 number
--- @return number
function PLAYER._0x6C54E69516CC56BD(p0) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x3A8611BD7BDE84F7(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xC177C827CEFC0AA4(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xBD96185264DDAAEA(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x628E742FE1F79C4A(p0, p1) end
--- @param player number
--- @param speech string
function PLAYER._SET_PLAYER_INTERACTION_POSITIVE_RESPONSE(player, speech) end
--- @param player number
--- @param speech string
function PLAYER._SET_PLAYER_INTERACTION_NEGATIVE_RESPONSE(player, speech) end
--- @param player number
--- @param p1 number
function PLAYER._0x216BC0D3D2E413D2(player, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x45EF176B532CA851(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xA342495F93B7B838(p0, p1) end
--- @param p0 number
function PLAYER._0x3BB84F812E052C90(p0) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x9FC5A003FB76EDBD(p0, p1) end
--- Sets the melee combat prompt for a specific player using a predefined text entry.
--- Example usage:
--- PLAYER::_SET_PLAYER_PROMPT_MELEE_TEXT(PLAYER::PLAYER_ID(), MISC::VAR_STRING(10, "LITERAL_STRING", "Throw Punch"));
--- The prompt for player during melee combat uses this text.
--- Screenshot: https://imgur.com/gallery/0x0faf95d71ed67ade-GDYsE9L
--- @param player number
--- @param promptTextKey string
function PLAYER._SET_PLAYER_PROMPT_MELEE_TEXT(player, promptTextKey) end
--- Sets the sit prompt for a specific player using a predefined text entry.
--- Example usage:
--- PLAYER::_SET_PLAYER_PROMPT_SIT_TEXT(PLAYER::PLAYER_ID(), MISC::VAR_STRING(10, "LITERAL_STRING", "Take a Seat"));
--- The prompt for player to sit uses this text.
--- Screenshot: https://imgur.com/gallery/0x988c9045531b9fce-9bTHgkv
--- @param player number
--- @param promptTextKey string
function PLAYER._SET_PLAYER_PROMPT_SIT_TEXT(player, promptTextKey) end
--- Sets the stand prompt for a specific player using a predefined text entry.
--- Example usage:
--- PLAYER::_SET_PLAYER_PROMPT_LEAVE_TEXT(PLAYER::PLAYER_ID(), MISC::VAR_STRING(10, "LITERAL_STRING", "Get on your feet"));
--- The prompt for player to stand uses this text.
--- Screenshot: https://imgur.com/gallery/rdrnative-kscnRlF
--- @param player number
--- @param promptTextKey string
function PLAYER._SET_PLAYER_PROMPT_LEAVE_TEXT(player, promptTextKey) end
--- NPEW__ENUM__EMOTE_CATEGORY_INVALID = -1
--- NPEW__ENUM__EMOTE_CATEGORY_ACTIONS
--- NPEW__ENUM__EMOTE_CATEGORY_ANTAGONIZE
--- NPEW__ENUM__EMOTE_CATEGORY_REACTIONS
--- NPEW__ENUM__EMOTE_CATEGORY_GREET
--- NPEW__ENUM__NUM_EMOTE_CATEGORIES
--- NPEW__ENUM__NUM_DISPLAY_TEXTURES
--- @param category number
--- @param emote number
function PLAYER._0xBB6EA5D59E926095(category, emote) end
--- @param emote number
--- @return boolean
function PLAYER._0xE1D356F5A66D0FFA(emote) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x929DDD5538F3DF1F(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xFA7DAAE3959E6C7B(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x9461A8FAB0378E5B(p0, p1) end
--- @param p0 number
--- @param p1 number
function PLAYER._0xCB61A63AA53D7D22(p0, p1) end
--- Sets the weapon that the specified player will aim with. The weapon must already be assigned to the PED. This also determines the weapon order, specifying which weapon the player will automatically switch to when the current weapon runs out of ammo.
--- Example usage:
--- 
--- Set the player's aim weapon to the specified weapon hash in slot 0
--- PLAYER::_SET_PLAYER_AIM_WEAPON(PLAYER::PLAYER_ID(), GetHashKey("WEAPON_RIFLE_VARMINT"), 0);
--- 
--- Video: https://youtu.be/-fUMrLIm9ng
--- @param player number
--- @param weapon number
--- @param weaponDrawOrder number
function PLAYER._SET_PLAYER_AIM_WEAPON(player, weapon, weaponDrawOrder) end
--- @param p0 number
function PLAYER._0x76F7E1BCD623A429(p0) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x585CE159DB46FADB(p0, p1) end
--- https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/ePlayerResetFlags
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/PLAYER_RESET_FLAGS
--- @param player number
--- @param playerResetFlag number
--- @param p2 boolean
function PLAYER._SET_PLAYER_RESET_FLAG(player, playerResetFlag, p2) end
--- playerResetFlag: See 0x9F9A829C6751F3C7
--- @param player number
--- @param playerResetFlag number
--- @return boolean
function PLAYER._GET_PLAYER_RESET_FLAG(player, playerResetFlag) end
--- @param player number
--- @return number
function PLAYER.GET_MOUNT_OWNED_BY_PLAYER(player) end
--- @param mount number
--- @return number
function PLAYER._GET_PLAYER_OWNER_OF_MOUNT(mount) end
--- Seems to enable active horse equipment prompt when being near it and enables the control that opens the inventory as well
--- @param player number
--- @param mount number
function PLAYER._SET_PLAYER_OWNS_MOUNT(player, mount) end
--- @param player number
--- @return number
function PLAYER._GET_VEHICLE_OWNED_BY_PLAYER(player) end
--- @param vehicle number
--- @return number
function PLAYER._GET_PLAYER_OWNER_OF_VEHICLE(vehicle) end
--- @param player number
--- @param vehicle number
function PLAYER._SET_PLAYER_OWNS_VEHICLE(player, vehicle) end
--- @param player number
--- @return number
function PLAYER._GET_PLAYER_HUNTING_WAGON(player) end
--- Only applies to HUNTERCART01
--- @param player number
--- @param wagon number
function PLAYER._SET_PLAYER_HUNTING_WAGON(player, wagon) end
--- @param p0 number
--- @param p1 number
function PLAYER._0x9044835BE9D9DBFE(p0, p1) end
--- Returns name hash (name) and outHash includes the type.
--- @param entity number
--- @param type any
--- @return number
function PLAYER.GET_DISCOVERABLE_NAME_HASH_AND_TYPE_FOR_ENTITY(entity, type) end
--- p0: mostly Ped Hashes
--- @param p0 number
--- @param model boolean
--- @param outfit boolean
--- @return number
function PLAYER._GET_CONSTRUCTED_DISCOVERED_CHARACTER_NAME(p0, model, outfit) end
--- @param ped number
--- @return number
function PLAYER.GET_TARGET_CHARACTER_NAME_SCRIPT_OVERRIDE_HASH(ped) end
--- @param ped number
--- @return string
function PLAYER.GET_TARGET_CHARACTER_NAME_SCRIPT_OVERRIDE_RAW_STRING(ped) end
--- @param ped number
--- @return number
function PLAYER.GET_TARGET_CHARACTER_NAME_FOR_LOCAL_PLAYER(ped) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function PLAYER._0xDA9D7BE231FE865F(p0, p1, p2) end
--- @param player number
--- @param p1 number
--- @param discoveryHash number
function PLAYER._SET_PLAYER_HAS_DISCOVERED_CHARACTER_NAME_SP(player, p1, discoveryHash) end
--- @param player number
--- @param p1 number
--- @param discoveryHash number
--- @return boolean
function PLAYER._GET_HAS_PLAYER_DISCOVERED_CHARACTER_NAME_SP(player, p1, discoveryHash) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function PLAYER._0xCDDD4B74660E2335(p0, p1, p2) end
--- @param p0 number
function PLAYER._0x77E83C315A3B31CA(p0) end
--- @param discoveryHash number
function PLAYER._SET_PLAYER_HAS_DISCOVERED_CHARACTER_NAME_MP(discoveryHash) end
--- @param discoveryHash number
--- @return boolean
function PLAYER.GET_HAS_PLAYER_DISCOVERED_CHARACTER_NAME_MP(discoveryHash) end
--- @param discoveryHash number
function PLAYER._MODIFY_PLAYER_DISCOVERED_CHARACTER_NAME_MP_SET_UNDISCOVERED(discoveryHash) end
--- @param player number
--- @param showingInfoCard boolean
function PLAYER._SET_SHOW_INFO_CARD(player, showingInfoCard) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function PLAYER._0x4DBC4873707E8FD6(p0, p1, p2, p3) end
--- @param p0 number
function PLAYER._0xCEDC16930526F728(p0) end
--- @param location number
function PLAYER._0x14E57F88BA0A07FC(location) end
--- @return number
function PLAYER._0x2E1ABE627C95ED9B() end
function PLAYER._0x497A18F8F88AA9D8() end
--- @param p0 number
function PLAYER._0x4F0D2256AAE94EDA(p0) end
--- Focus Fire VFX start for player: p1 = focusfire
--- @param player number
--- @param p1 string
function PLAYER._SET_LOCKON_FOCUS_FIRE_VFX(player, p1) end
--- Hardcoded to return zero/false.
--- @return number
function PLAYER._0x0B7803F6F7BB43E0() end
--- Hardcoded to return zero/false.
--- @param p0 number
--- @return number
function PLAYER._0xC74EB3F2EC169F6B(p0) end
--- nullsub, doesn't do anything
--- @param p0 number
--- @param p1 number
function PLAYER._0x3B296934DB026873(p0, p1) end
--- @param mount number
--- @param iMinBuckTime number
function PLAYER.SET_MIN_TIME_BEFORE_HORSE_BUCKING(mount, iMinBuckTime) end
--- @return number
function PLAYER._0xF4CB347D7B5EB0FD() end
--- @param p0 number
--- @param p1 number
function PLAYER._0xCD7CA3013FD12749(p0, p1) end
--- @param toggle boolean
function PLAYER._FORCE_REST_SCENARIO(toggle) end
--- _IS_PLAYER_D* - _IS_PLAYER_F*
--- @return boolean
function PLAYER._0x57028FD99886F6F9() end
--- @param p0 number
function PLAYER._0x35A33783EC3C3448(p0) end
--- @param p0 number
function PLAYER._0x39D8D7082BC34B72(p0) end
--- @param p0 number
function PLAYER._0x1AD8AD999C27F44A(p0) end

POPULATION = {}

--- @param popSetHash number
--- @return number
function POPULATION.GET_NUM_MODELS_IN_POPULATION_SET(popSetHash) end
--- @param popSetHash number
--- @param index number
--- @return number
function POPULATION.GET_PED_MODEL_NAME_IN_POPULATION_SET(popSetHash, index) end
--- @param popSetHash number
--- @param flags number
--- @param p2 number
--- @param p3 boolean
--- @param p4 boolean
--- @param x number
--- @param y number
--- @param z number
--- @return number
function POPULATION.GET_RANDOM_MODEL_FROM_POPULATION_SET(popSetHash, flags, p2, p3, p4, x, y, z) end
--- @param volume number
--- @return number
function POPULATION._CREATE_POPZONE_FROM_VOLUME(volume) end
--- @param popZone number
function POPULATION._DELETE_SCRIPT_POPZONE(popZone) end
--- @param popZone number
--- @return boolean
function POPULATION._IS_POPZONE_VALID(popZone) end
--- @param popZone number
--- @param populationSetHash number
function POPULATION.SET_POPZONE_POPULATION_SET(popZone, populationSetHash) end
--- @param popZone number
--- @param p1 number
--- @param p2 number
function POPULATION._0x7E6BC0B94F5928F0(popZone, p1, p2) end
--- @param popZone number
--- @param p1 number
function POPULATION._0x578E2FA64E847C60(popZone, p1) end
--- @param popZone number
--- @param p1 boolean
function POPULATION._0x08892122769770D5(popZone, p1) end
--- @param popZone number
--- @param p1 boolean
function POPULATION._0x0F1861101C9A9944(popZone, p1) end
--- @param p0 number
--- @param p1 number
--- @param priority number
function POPULATION.SET_SPAWNER_INFO_PRIORITY(p0, p1, priority) end
--- @param p0 number
--- @param p1 number
function POPULATION.CLEAR_SPAWNER_INFO_PRIORITY(p0, p1) end
--- @param p0 number
--- @param p1 number
function POPULATION._0x638FCFC6042A9473(p0, p1) end
--- flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/PedFilterFlags
--- @param volume number
--- @param includeFlags number
--- @param excludeFlags number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function POPULATION._ADD_AMBIENT_AVOIDANCE_RESTRICTION(volume, includeFlags, excludeFlags, p3, p4, p5, p6) end
--- flags: see 0xB56D41A694E42E86
--- @param volume number
function POPULATION._REMOVE_AMBIENT_AVOIDANCE_RESTRICTION(volume) end
--- flags: see 0xB56D41A694E42E86
--- @param volume number
--- @param includeFlags number
--- @param excludeFlags number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function POPULATION._ADD_AMBIENT_SPAWN_RESTRICTION(volume, includeFlags, excludeFlags, p3, p4, p5, p6) end
--- @param volume number
function POPULATION._REMOVE_AMBIENT_SPAWN_RESTRICTION(volume) end
--- @param includeFlags number
--- @param excludeFlags number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param volume number
function POPULATION._0x2161278C6322F740(includeFlags, excludeFlags, p2, p3, p4, volume) end
--- @param bitFlag number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function POPULATION._0xF45E46DEECF7DF6E(bitFlag, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function POPULATION._0x8EC7CD701F872F87(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
function POPULATION._0xC4533E3E87125C9E(p0) end
--- Params: p1 = 1 & 2 in R* Scripts, 0 = Disable avoidance, 1 = Enabled avoidance, 2 = Enabled avoidance (?)
--- @param ped number
--- @param p1 number
function POPULATION._SET_PED_SHOULD_IGNORE_AVOIDANCE_VOLUMES(ped, p1) end
--- @param p0 number
--- @param p1 number
function POPULATION._0xDBBF12EA7C1029B2(p0, p1) end
--- @param p0 number
function POPULATION._0x247F86595D396344(p0) end
function POPULATION._0x324AB2A68AD8AEE5() end
--- @param unk boolean
function POPULATION.DISABLE_AMBIENT_ROAD_POPULATION(unk) end
function POPULATION.ENABLE_AMBIENT_ROAD_POPULATION() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function POPULATION._0x2660E7720EDC4BD0(p0, p1, p2) end
--- Returns model hash of the closest fish
--- @return number
function POPULATION._GET_RANDOM_FISH_TYPE_FOR_LOCATION() end
--- Only used for Special Event (XMAS).
--- _SET_P*
--- @param p0 boolean
function POPULATION._0xEC116EDB683AD479(p0) end

POSSE = {}

--- @return number
function POSSE._0xC086FF658B2E51DB() end
--- @param p0 number
--- @return number
function POSSE._0xC086FF658B2E51DA(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC087FF658B2E51DA(p0, p1) end
--- @return number
function POSSE.POSSE_GET_POSSE_MEMBERSHIP_COUNT() end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC089FF658B2E51DA(p0, p1) end
--- @param p0 number
function POSSE._0xC08AFF658B2E51DA(p0) end
--- @param p0 number
--- @return number
function POSSE._0xC08BFF658B2E51DA(p0) end
--- @param p0 number
function POSSE._0xC08AFF658B2E51DB(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC08CFF658B2E51DA(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function POSSE._0xC09CFF658B2E51DA(p0, p1, p2) end
--- @param p0 number
--- @return number
function POSSE._0xC08DEF658B2E51DA(p0) end
--- @return number
function POSSE._0xC08DFF658B2E51DA() end
--- @param p0 number
--- @return number
function POSSE._0xC08DFF658B2E51DB(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC08EFF658B2E51DB(p0, p1) end
--- @return number
function POSSE._0xC08FFF658B2E51DA() end
--- @param p0 number
--- @return number
function POSSE._0xC08FFF658B2E51DB(p0) end
--- @param p0 number
--- @return number
function POSSE._0xC084FF658B2E61DA(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function POSSE._0xC084FF658B2E71DA(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function POSSE._0xC084FF658B2E81DA(p0, p1, p2) end
--- @param p0 number
--- @return number
function POSSE._0xC084FF658B2E52DA(p0) end
--- @return number
function POSSE._0xC084FF658B2E53DA() end
--- @param p0 number
--- @return number
function POSSE._0xC084FF658B2E54DA(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC084FF658B2E55DA(p0, p1) end
--- @param p0 number
function POSSE._0xC484FF658B2E55DA(p0) end
--- @param p0 number
function POSSE._0xC584FF658B2E55DA(p0) end
--- @param p0 number
function POSSE._0xC684FF658B2E55DA(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC184FF658B2E55DA(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function POSSE._0xC284FF658B2E55DA(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function POSSE._0xC394FF658B2E55DA(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @return number
function POSSE._0xC07CFF658B2E51DA(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function POSSE._0xC06CFF658B2E51DA(p0, p1, p2) end

PROPSET = {}

--- @param hash number
--- @return boolean
function PROPSET._REQUEST_PROP_SET(hash) end
--- Same as _REQUEST_PROP_SET
--- @param hash number
--- @return boolean
function PROPSET._REQUEST_PROP_SET_2(hash) end
--- @param hash number
--- @return boolean
function PROPSET._HAS_PROP_SET_LOADED(hash) end
--- Same as _HAS_PROP_SET_LOADED
--- @param hash number
--- @return boolean
function PROPSET._HAS_PROP_SET_LOADED_2(hash) end
--- @param propSet number
function PROPSET._SET_PROP_SET_AS_NO_LONGER_NEEDED(propSet) end
--- @param propSet number
--- @param p1 boolean
--- @param p2 boolean
function PROPSET._DELETE_PROP_SET(propSet, p1, p2) end
--- @param hash number
--- @return boolean
function PROPSET._RELEASE_PROP_SET(hash) end
--- propsetType: https://github.com/femga/rdr3_discoveries/blob/master/objects/propsets_list.lua
--- placementType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/PlacementType
--- @param propsetType number
--- @param x number
--- @param y number
--- @param z number
--- @param placementType number
--- @param heading number
--- @param zProbe number
--- @param p7 boolean
--- @param useVegMod boolean
--- @return number
function PROPSET._CREATE_PROP_SET(propsetType, x, y, z, placementType, heading, zProbe, p7, useVegMod) end
--- Same as _CREATE_PROP_SET
--- @param propsetType number
--- @param x number
--- @param y number
--- @param z number
--- @param placementType number
--- @param heading number
--- @param zProbe number
--- @param p7 boolean
--- @param useVegMod boolean
--- @return number
function PROPSET._CREATE_PROP_SET_2(propsetType, x, y, z, placementType, heading, zProbe, p7, useVegMod) end
--- @param hash number
--- @param x number
--- @param y number
--- @param z number
--- @param entity number
--- @param p5 number
--- @param p6 boolean
--- @param p7 number
--- @param p8 boolean
--- @return number
function PROPSET.CREATE_PROP_SET_INSTANCE_ATTACHED_TO_ENTITY(hash, x, y, z, entity, p5, p6, p7, p8) end
--- Same as CREATE_PROP_SET_INSTANCE_ATTACHED_TO_ENTITY
--- @param hash number
--- @param x number
--- @param y number
--- @param z number
--- @param entity number
--- @param p5 number
--- @param p6 boolean
--- @param p7 number
--- @param p8 boolean
--- @return number
function PROPSET._CREATE_PROP_SET_INSTANCE_ATTACHED_TO_ENTITY_2(hash, x, y, z, entity, p5, p6, p7, p8) end
--- @param propSet number
--- @return boolean
function PROPSET.DOES_PROP_SET_EXIST(propSet) end
--- @param propsetHash number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function PROPSET._DOES_PROP_SET_OF_TYPE_EXIST_NEAR_COORDS(propsetHash, x, y, z) end
--- @param propSet number
--- @return boolean
function PROPSET.IS_PROP_SET_FULLY_LOADED(propSet) end
--- @param propSet number
--- @param toggle boolean
function PROPSET._SET_PROP_SET_VISIBLE(propSet, toggle) end
--- @param propSet number
--- @return boolean
function PROPSET._IS_PROP_SET_VISIBLE(propSet) end
--- @param propSet number
--- @return number
function PROPSET._GET_PROP_SET_MODEL(propSet) end
--- @param vehicle number
--- @return number
function PROPSET._GET_VEHICLE_PROP_SET_HASH(vehicle) end
--- @param propSet number
--- @param itemSet number
--- @param model number
--- @param p3 boolean
--- @param p4 boolean
--- @return number
function PROPSET._GET_ENTITIES_FROM_PROP_SET(propSet, itemSet, model, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function PROPSET._0xC4B67EF3FD65622D(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
function PROPSET._0x58E0B01D45CA7357(p0) end
--- @param propSet number
--- @param flag number
function PROPSET._SET_PROP_SET_FLAG(propSet, flag) end
--- @param vehicle number
--- @return number
function PROPSET._GET_VEHICLE_PROP_SET(vehicle) end
--- @param vehicle number
--- @return boolean
function PROPSET._DOES_VEHICLE_HAVE_ANY_PROP_SET(vehicle) end
--- List of vehicle propsets (wagons & trains): https://pastebin.com/1CsnvGLu / https://pastebin.com/v7TtqTgE
--- @param vehicle number
--- @param propset number
function PROPSET._ADD_PROP_SET_FOR_VEHICLE(vehicle, propset) end
--- @param vehicle number
function PROPSET._REMOVE_VEHICLE_PROP_SETS(vehicle) end
--- @param vehicle number
--- @return boolean
function PROPSET._IS_VEHICLE_PROP_SET_LOADED(vehicle) end
--- https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_propsets.lua
--- @param vehicle number
--- @param propset number
function PROPSET._ADD_ADDITIONAL_PROP_SET_FOR_VEHICLE(vehicle, propset) end
--- @param vehicle number
--- @return boolean
function PROPSET._IS_VEHICLE_PROP_SET_LOADED_ADDITIONAL(vehicle) end
--- Returns PropSet handle to be used with _GET_PROP_SET_MODEL
--- @param vehicle number
--- @return number
function PROPSET._GET_VEHICLE_LIGHT_PROP_SET(vehicle) end
--- @param vehicle number
--- @return boolean
function PROPSET._DOES_VEHICLE_HAVE_ANY_LIGHT_PROP_SET(vehicle) end
--- To remove propsets either parse a zero as hash or call 0xE31C0CB1C3186D40
--- 0xA6A9712955F53D9C returns lightPropset Hashes
--- https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_lantern_propsets.lua
--- @param vehicle number
--- @param lightPropset number
function PROPSET._ADD_LIGHT_PROP_SET_TO_VEHICLE(vehicle, lightPropset) end
--- @param vehicle number
function PROPSET._REMOVE_VEHICLE_LIGHT_PROP_SETS(vehicle) end
--- @param vehicle number
--- @return boolean
function PROPSET._IS_VEHICLE_LIGHT_PROP_SET_LOADED(vehicle) end
--- Example before/after deleting a train carriage's propset: https://imgur.com/a/qRNrIrK
--- @param trainCarriage number
--- @return number
function PROPSET._GET_TRAIN_CARRIAGE_PROP_SET(trainCarriage) end
--- @param vehicle number
--- @param wagonIndex number
--- @return boolean
function PROPSET._HAS_VEHICLE_TRAILER_PROP_SET_LOADED(vehicle, wagonIndex) end
--- @param propsetHash number
--- @param x number
--- @param y number
--- @param z number
--- @return number
function PROPSET._GET_PROP_SET_AT_COORDS(propsetHash, x, y, z) end

QUEUE = {}

--- @param hash number
--- @return boolean
function QUEUE._EVENT_QUEUE_IS_EMPTY(hash) end
--- @param hash number
function QUEUE._EVENT_QUEUE_POP(hash) end

RECORDING = {}

--- nullsub, doesn't do anything
--- 
--- Old name: _STOP_RECORDING_THIS_FRAME
function RECORDING.REPLAY_PREVENT_RECORDING_THIS_FRAME() end

REPLAY = {}

--- Hardcoded to return false.
--- 
--- Old name: _IS_INTERIOR_RENDERING_DISABLED
--- @return boolean
function REPLAY.REPLAY_SYSTEM_HAS_REQUESTED_A_SCRIPT_CLEANUP() end
--- nullsub, doesn't do anything
function REPLAY.SET_SCRIPTS_HAVE_CLEANED_UP_FOR_REPLAY_SYSTEM() end
--- Hardcoded to return true.
--- @return boolean
function REPLAY.OPEN_VIDEO_EDITOR() end
--- Hardcoded to return true.
--- @param p0 number
--- @return boolean
function REPLAY.CLOSE_VIDEO_EDITOR(p0) end
--- Hardcoded to return false.
--- @return boolean
function REPLAY.IS_VIDEO_EDITOR_RUNNING() end

SCRIPTS = {}

--- @param value number
--- @param bitIndex number
function SCRIPTS._SET_PLAYER_BIT_AT_INDEX(value, bitIndex) end
--- @param value number
--- @param bitIndex number
function SCRIPTS._CLEAR_PLAYER_BIT_AT_INDEX(value, bitIndex) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function SCRIPTS._0xE4ABE20DCE7C7CFE(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function SCRIPTS._0xFFDDF802279BE128(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function SCRIPTS._0x64F765D9A1F8F02C(p0, p1, p2) end
--- @param value number
function SCRIPTS._SET_ALL_PLAYER_BITS(value) end
--- @param value number
function SCRIPTS._CLEAR_ALL_PLAYER_BITS(value) end
--- @param value number
--- @param bitIndex number
--- @return boolean
function SCRIPTS._IS_PLAYER_BIT_SET_AT_INDEX(value, bitIndex) end
--- @param playerBits any
--- @return boolean
function SCRIPTS._IS_ANY_PLAYER_BIT_SET(playerBits) end
--- @param value number
--- @param p1 number
--- @return number
function SCRIPTS.GET_BLOCK_OF_PLAYER_BITS(value, p1) end
--- @param value number
--- @param p1 number
--- @param p2 number
function SCRIPTS.SET_BLOCK_OF_PLAYER_BITS(value, p1, p2) end
--- @param value number
--- @return number
function SCRIPTS.COUNT_PLAYER_BITS(value) end
--- @param p0 number
--- @param p1 number
function SCRIPTS._0x1BDB5A07307F6929(p0, p1) end
--- @param p0 number
--- @param p1 number
function SCRIPTS._0x1C5EB3C27F7508CB(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function SCRIPTS._0x42A429CDFED6D99D(p0, p1, p2) end
--- @param p0 number
function SCRIPTS._0x5827BE85A87B073D(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function SCRIPTS._0x0A79C81C418F5D38(p0, p1) end
--- @param p0 number
--- @return number
function SCRIPTS._0xA88E1D7FA1E20080(p0) end
--- @param value number
--- @return number
function SCRIPTS.COUNT_PARTICIPANT_BITS(value) end
--- @param scriptName string
function SCRIPTS.REQUEST_SCRIPT(scriptName) end
--- @param scriptName string
function SCRIPTS.SET_SCRIPT_AS_NO_LONGER_NEEDED(scriptName) end
--- Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting.
--- @param scriptName string
--- @return boolean
function SCRIPTS.HAS_SCRIPT_LOADED(scriptName) end
--- @param scriptName string
--- @return boolean
function SCRIPTS.DOES_SCRIPT_EXIST(scriptName) end
--- @param scriptHash number
function SCRIPTS.REQUEST_SCRIPT_WITH_NAME_HASH(scriptHash) end
--- @param scriptHash number
function SCRIPTS.SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(scriptHash) end
--- @param scriptHash number
--- @return boolean
function SCRIPTS.HAS_SCRIPT_WITH_NAME_HASH_LOADED(scriptHash) end
--- @param scriptHash number
--- @return boolean
function SCRIPTS.DOES_SCRIPT_WITH_NAME_HASH_EXIST(scriptHash) end
--- @param threadId number
function SCRIPTS.TERMINATE_THREAD(threadId) end
--- @param threadId number
--- @param ignoreKilledState boolean
--- @return boolean
function SCRIPTS.IS_THREAD_ACTIVE(threadId, ignoreKilledState) end
--- @param threadId number
--- @return boolean
function SCRIPTS.DOES_THREAD_EXIST(threadId) end
--- @param threadId number
--- @param threadExists any
--- @param hasScriptHandler any
function SCRIPTS.GET_THREAD_EXISTENCE_DETAILS(threadId, threadExists, hasScriptHandler) end
--- @param threadId number
--- @return number
function SCRIPTS._GET_HASH_OF_THREAD(threadId) end
--- Starts a new iteration of the current threads.
--- Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)
function SCRIPTS.SCRIPT_THREAD_ITERATOR_RESET() end
--- If the function returns 0, the end of the iteration has been reached.
--- @return number
function SCRIPTS.SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID() end
--- @param threadId number
--- @return boolean
function SCRIPTS._IS_BACKGROUND_SCRIPT(threadId) end
--- @return number
function SCRIPTS.GET_ID_OF_THIS_THREAD() end
function SCRIPTS.TERMINATE_THIS_THREAD() end
--- Gets the number of instances of the specified script is currently running.
--- 
--- Actually returns numRefs - 1.
--- if (program)
--- v3 = rage::scrProgram::GetNumRefs(program) - 1;
--- return v3;
--- 
--- Old name: _GET_NUMBER_OF_REFERENCES_OF_SCRIPT_WITH_NAME_HASH
--- @param scriptHash number
--- @return number
function SCRIPTS.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(scriptHash) end
--- @param threadId number
function SCRIPTS._REQUEST_THREAD_EXIT(threadId) end
--- @param nameHash number
function SCRIPTS._REQUEST_THREAD_EXIT_FOR_ALL_THREADS_WITH_THIS_NAME(nameHash) end
--- @return boolean
function SCRIPTS.IS_THREAD_EXIT_REQUESTED() end
--- @param threadId number
--- @return boolean
function SCRIPTS._IS_THREAD_EXIT_REQUESTED_FOR_THREAD_WITH_THIS_ID(threadId) end
--- enum eThreadExitReason
--- {
--- THREAD_EXIT_REASON_NONE,
--- THREAD_EXIT_REASON_BACKGROUND_THREAD_STOPPED,
--- THREAD_EXIT_REASON_SESSION_MERGE,
--- THREAD_EXIT_REASON_SCENARIO_OUT_OF_SCOPE,
--- THREAD_EXIT_REASON_REQUESTED_BY_SCRIPT
--- };
--- @return number
function SCRIPTS._GET_THREAD_EXIT_REASON() end
--- @return number
function SCRIPTS.GET_HASH_OF_THIS_SCRIPT_NAME() end
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_ERRORS (CEventGroupScriptErrors)
--- @param eventGroup number
--- @return number
function SCRIPTS.GET_NUMBER_OF_EVENTS(eventGroup) end
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
--- @param eventGroup number
--- @param eventType number
--- @return boolean
function SCRIPTS.GET_EVENT_EXISTS(eventGroup, eventType) end
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
--- 
--- Returns event name hash: https://alloc8or.re/rdr3/doc/enums/eEventType.txt
--- @param eventGroup number
--- @param eventIndex number
--- @return number
function SCRIPTS.GET_EVENT_AT_INDEX(eventGroup, eventIndex) end
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
--- 
--- Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!).
--- 
--- https://github.com/femga/rdr3_discoveries/tree/master/AI/EVENTS
--- @param eventGroup number
--- @param eventIndex number
--- @param eventData number
--- @param eventDataSize number
--- @return boolean
function SCRIPTS.GET_EVENT_DATA(eventGroup, eventIndex, eventData, eventDataSize) end
--- @param eventGroup number
--- @param eventIndex number
--- @param p2 boolean
function SCRIPTS.SET_EVENT_FLAG_FOR_DELETION(eventGroup, eventIndex, p2) end
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors)
--- 
--- Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!).
--- 
--- playerBits (also known as playersToBroadcastTo) is a bitset that indicates which players this event should be sent to. In order to send the event to specific players only, use (1 << playerIndex). Set all bits if it should be broadcast to all players.
--- @param eventGroup number
--- @param eventData number
--- @param eventDataSize number
--- @param scriptMetadataIndex number
--- @param playerBits any
function SCRIPTS.TRIGGER_SCRIPT_EVENT(eventGroup, eventData, eventDataSize, scriptMetadataIndex, playerBits) end
--- @param eventData number
--- @param eventDataSize number
--- @param scriptMetadataIndex number
--- @param threadId number
function SCRIPTS._TRIGGER_SCRIPT_EVENT_2(eventData, eventDataSize, scriptMetadataIndex, threadId) end
--- @param p0 number
--- @return number
function SCRIPTS._0xE7282390542F570D(p0) end
--- Used in Script Function DISABLE_REGISTERED_WORLD_BRAINS
--- @param p0 boolean
function SCRIPTS._0x11B0A0B282FA9B10(p0) end
--- @param p0 boolean
function SCRIPTS._0x6F700A4BF7C3331B(p0) end
function SCRIPTS._0xF9E951A1E5517C06() end
function SCRIPTS._0x76CBCD9EADC00955() end
function SCRIPTS.SHUTDOWN_LOADING_SCREEN() end
--- @param toggle boolean
function SCRIPTS.SET_NO_LOADING_SCREEN(toggle) end
--- @return boolean
function SCRIPTS.GET_NO_LOADING_SCREEN() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param gamemodeName string
--- @param title string
--- @param subtitle string
function SCRIPTS._DISPLAY_LOADING_SCREENS(p0, p1, p2, gamemodeName, title, subtitle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 string
--- @param p5 string
--- @param p6 string
--- @param p7 number
function SCRIPTS._0x29FB4CE89472C3CB(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
function SCRIPTS.STOP_DISPLAYING_MP_TRANSITION_LOADING_SCREENS(p0) end
--- Same as GET_IS_LOADING_SCREEN_ACTIVE
--- @return boolean
function SCRIPTS.IS_LOADING_SCREEN_VISIBLE() end
--- @param bailCode number
function SCRIPTS.BAIL_TO_LANDING_PAGE(bailCode) end
--- @param params string
function SCRIPTS.BAIL_WITH_PASS_THROUGH_PARAMS(params) end
--- Returns true if GtaThread+0x77C is equal to 1.
--- 
--- Old name: _BG_EXITED_BECAUSE_BACKGROUND_THREAD_STOPPED
--- @return boolean
function SCRIPTS.BG_IS_EXITFLAG_SET() end
--- Sets bit 0 in GtaThread+0x784
function SCRIPTS.BG_SET_EXITFLAG_RESPONSE() end
--- Hashed version of BG_START_CONTEXT
--- @param contextHash number
function SCRIPTS.BG_START_CONTEXT_HASH(contextHash) end
--- Hashed version of BG_END_CONTEXT
--- @param contextHash number
function SCRIPTS.BG_END_CONTEXT_HASH(contextHash) end
--- Inserts the given context into the background scripts context map.
--- @param contextName string
function SCRIPTS.BG_START_CONTEXT(contextName) end
--- Deletes the given context from the background scripts context map.
--- @param contextName string
function SCRIPTS.BG_END_CONTEXT(contextName) end
--- @param scriptIndex number
--- @param p1 string
--- @return boolean
function SCRIPTS.BG_DOES_LAUNCH_PARAM_EXIST(scriptIndex, p1) end
--- @param scriptIndex number
--- @param p1 string
--- @return number
function SCRIPTS.BG_GET_LAUNCH_PARAM_VALUE(scriptIndex, p1) end
--- @param p0 number
--- @return number
function SCRIPTS.BG_GET_SCRIPT_ID_FROM_NAME_HASH(p0) end
function SCRIPTS._BG_RELOAD_ALL_BACKGROUND_SCRIPTS() end
--- goalContext: see <availableContexts> in common/data/stats_and_challenges/goals_*.meta
--- @param goalContext number
function SCRIPTS._ACTIVATE_GOAL_CONTEXT(goalContext) end
--- goalContext: see _ACTIVATE_GOAL_CONTEXT
--- @param goalContext number
function SCRIPTS._DEACTIVATE_GOAL_CONTEXT(goalContext) end
--- goalContext: see _ACTIVATE_GOAL_CONTEXT
--- @param goalContext number
--- @return boolean
function SCRIPTS._IS_GOAL_CONTEXT_ACTIVE(goalContext) end
--- Returns "INVALID_NET_RPC_GUID" if netRpcGuid is invalid.
--- @param netRpcGuid number
--- @return string
function SCRIPTS._NET_RPC_GUID_TO_STRING(netRpcGuid) end
--- @param rpcGuid number
--- @param awardHash number
--- @param itemIndex number
--- @param outResultItem number
--- @return boolean
function SCRIPTS.AWARDS_GET_RESULT_ITEM(rpcGuid, awardHash, itemIndex, outResultItem) end
--- @param rpcGuid number
--- @param awardHash number
--- @param dataIndex number
--- @param outUnlockData number
--- @return boolean
function SCRIPTS._AWARDS_GET_UNLOCK_CLAIM_DATA(rpcGuid, awardHash, dataIndex, outUnlockData) end
--- @param rpcGuid number
--- @param itemIndex number
--- @param outResultItem number
--- @return boolean
function SCRIPTS._LOOT_GET_RESULT_ITEM(rpcGuid, itemIndex, outResultItem) end
--- @param rpcGuid number
--- @param dataIndex number
--- @param outLootData number
--- @return boolean
function SCRIPTS._LOOT_GET_LOOT_CLAIM_DATA(rpcGuid, dataIndex, outLootData) end
--- @param index number
--- @return boolean
function SCRIPTS._STORE_GLOBAL_BLOCK(index) end
--- @param index number
--- @return boolean
function SCRIPTS._RESTORE_GLOBAL_BLOCK(index) end
--- @param index number
--- @return boolean
function SCRIPTS._DOES_COMPRESSED_GLOBAL_BLOCK_BUFFER_EXIST(index) end
--- @param index number
--- @param toggle boolean
function SCRIPTS._SET_GLOBAL_BLOCK_CAN_BE_ACCESSED(index, toggle) end
--- @param index number
--- @return boolean
function SCRIPTS._GET_GLOBAL_BLOCK_CAN_BE_ACCESSED(index) end
--- @param toggle boolean
function SCRIPTS._SET_ALL_GLOBAL_BLOCKS_HAVE_BEEN_LOADED(toggle) end
--- Waiting for child scripts to terminate / waiting for collapse of child scripts
--- @param p0 number
--- @return boolean
function SCRIPTS.HAVE_ALL_CHILD_SCRIPTS_TERMINATED(p0) end
--- @param scriptName string
--- @param stackSize number
--- @return number
function SCRIPTS.START_NEW_SCRIPT(scriptName, stackSize) end
--- return : script thread id, 0 if failed
--- Pass pointer to struct of args in p1, size of struct goes into p2
--- @param scriptName string
--- @param args number
--- @param argCount number
--- @param stackSize number
--- @return number
function SCRIPTS.START_NEW_SCRIPT_WITH_ARGS(scriptName, args, argCount, stackSize) end
--- @param scriptHash number
--- @param stackSize number
--- @return number
function SCRIPTS.START_NEW_SCRIPT_WITH_NAME_HASH(scriptHash, stackSize) end
--- @param scriptHash number
--- @param args number
--- @param argCount number
--- @param stackSize number
--- @return number
function SCRIPTS.START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS(scriptHash, args, argCount, stackSize) end

SAVE = {}

function SAVE._0x4FB5869E2B37FC00() end
--- enum eSavegameType : Hash
--- {
--- SAVEGAMETYPE_AMBIENT = 0x3CA4E1F8,
--- SAVEGAMETYPE_DEFAULT = 0xCB6ED080,
--- SAVEGAMETYPE_DELETE_CHAR = 0xCD35F947,
--- SAVEGAMETYPE_END_CREATE_NEWCHAR = 0x4C50A3CE,
--- SAVEGAMETYPE_END_MATCH = 0xE470ED50,
--- SAVEGAMETYPE_END_MISSION = 0x9A444E54,
--- SAVEGAMETYPE_END_SESSION = 0x6D23956C,
--- SAVEGAMETYPE_END_SHOPPING = 0xA311A6C4,
--- SAVEGAMETYPE_RANKUP = 0xE25F8017,
--- SAVEGAMETYPE_SCRIPT_MP_GLOBALS = 0xAFF30AD4,
--- SAVEGAMETYPE_SP_AUTOSAVE = 0xF4AE69EC,
--- SAVEGAMETYPE_SP_DEBUG = 0x6A8122FD,
--- SAVEGAMETYPE_SP_PROPERTY = 0xAE0AB38E
--- };
--- @param savegameType number
--- @return boolean
function SAVE.SAVEGAME_SAVE_SP(savegameType) end
--- See SAVEGAME_SAVE_SP
--- @param savegameType number
--- @return boolean
function SAVE.SAVEGAME_SAVE_MP(savegameType) end
--- @return boolean
function SAVE.SAVEGAME_IS_SAVE_PENDING() end
--- @return boolean
function SAVE._SAVEGAME_HAS_SAVE_FAILED() end
--- @param savegameType number
--- @return number
function SAVE._0xA7ECEBAFBAF997A5(savegameType) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function SAVE._0xED4B0C1057892B2E(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function SAVE._0x9BB83C4DD7BE0802(p0, p1, p2, p3, p4) end
function SAVE._0xE8346E62FD7FB962() end
--- @param p0 number
function SAVE._0xC0ABF784590798A9(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function SAVE._0xB00CE33465B5406D(p0, p1) end
--- Does the exact same as 0x529B9CCD0972AF4E
--- Commonly used with time/timestamps
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_INT_2(p0, variableName) end
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_INT(p0, variableName) end
--- Does the exact same as 0x529B9CCD0972AF4E
--- Commonly used with enums and flags
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_INT_3(p0, variableName) end
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_FLOAT(p0, variableName) end
--- Does the exact same as 0x529B9CCD0972AF4E
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_BOOL(p0, variableName) end
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_TEXT_LABEL_23(p0, variableName) end
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_TEXT_LABEL_31(p0, variableName) end
--- @param p0 number
--- @param variableName string
function SAVE._SAVEGAME_GET_TEXT_LABEL_63(p0, variableName) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function SAVE._0x443174C20B8B9E7F(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function SAVE._0x8E8FFB9E4AD051D2(p0, p1, p2, p3) end
function SAVE._0xE0B45E983BFC0768() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function SAVE._0x81F4E92BE3958364(p0, p1, p2) end
function SAVE._0xA844FEB5C22C2C74() end

SHAPETEST = {}

--- Asynchronously starts a line-of-sight (raycast) world probe shape test.
--- 
--- Use the handle with 0x3D87450E15D98694 or 0x65287525D951F6BE until it returns 0 or 2.
--- 
--- p8 is a bit mask with bits 1, 2 and/or 4, relating to collider types; 4 should usually be used.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param flags number
--- @param entity number
--- @param p8 number
--- @return number
function SHAPETEST.START_SHAPE_TEST_LOS_PROBE(x1, y1, z1, x2, y2, z2, flags, entity, p8) end
--- @param p0 number
--- @param p1 number
--- @return number
function SHAPETEST._0x04AA59CA40571C2E(p0, p1) end
--- Does the same as 0x7EE9F5D83DD4F90E, except blocking until the shape test completes.
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param flags number
--- @param entityToIgnore number
--- @param p8 number
--- @return number
function SHAPETEST.START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE(x1, y1, z1, x2, y2, z2, flags, entityToIgnore, p8) end
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param dimensionsX number
--- @param dimensionsY number
--- @param dimensionsZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param rotationOrder number
--- @param flags number
--- @param entityToIgnore number
--- @param options number
--- @return number
function SHAPETEST.START_SHAPE_TEST_BOX(posX, posY, posZ, dimensionsX, dimensionsY, dimensionsZ, rotX, rotY, rotZ, rotationOrder, flags, entityToIgnore, options) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param radius number
--- @param flags number
--- @param entityToIgnore number
--- @param p9 number
--- @return number
function SHAPETEST.START_SHAPE_TEST_CAPSULE(x1, y1, z1, x2, y2, z2, radius, flags, entityToIgnore, p9) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param radius number
--- @param flags number
--- @param entity number
--- @param p9 number
--- @return number
function SHAPETEST.START_SHAPE_TEST_SWEPT_SPHERE(x1, y1, z1, x2, y2, z2, radius, flags, entity, p9) end
--- Old name: _START_SHAPE_TEST_SURROUNDING_COORDS
--- @param pVec1 number
--- @param pVec2 number
--- @param flag number
--- @param entity number
--- @param flag2 number
--- @return number
function SHAPETEST.START_SHAPE_TEST_MOUSE_CURSOR_LOS_PROBE(pVec1, pVec2, flag, entity, flag2) end
--- Returns the result of a shape test: 0 if the handle is invalid, 1 if the shape test is still pending, or 2 if the shape test has completed, and the handle should be invalidated.
--- 
--- When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.
--- 
--- enum eShapeTestStatus
--- {
--- SHAPETEST_STATUS_NONEXISTENT,
--- SHAPETEST_STATUS_RESULTS_NOTREADY,
--- SHAPETEST_STATUS_RESULTS_READY
--- };
--- @param shapeTestHandle number
--- @param hit any
--- @param endCoords number
--- @param surfaceNormal number
--- @param entityHit number
--- @return number
function SHAPETEST.GET_SHAPE_TEST_RESULT(shapeTestHandle, hit, endCoords, surfaceNormal, entityHit) end

SOCIALCLUB = {}

--- @return number
function SOCIALCLUB.SC_INBOX_GET_TOTAL_NUM_MESSAGES() end
--- @param msgIndex number
--- @return number
function SOCIALCLUB.SC_INBOX_GET_MESSAGE_TYPE_AT_INDEX(msgIndex) end
--- @param msgIndex number
--- @return boolean
function SOCIALCLUB.SC_INBOX_GET_MESSAGE_IS_READ_AT_INDEX(msgIndex) end
--- @param msgIndex number
--- @return boolean
function SOCIALCLUB.SC_INBOX_SET_MESSAGE_AS_READ_AT_INDEX(msgIndex) end
--- @param p0 number
--- @param context string
--- @param out any
--- @return boolean
function SOCIALCLUB.SC_INBOX_MESSAGE_GET_DATA_INT(p0, context, out) end
--- @param p0 number
--- @param context string
--- @param out string
--- @return boolean
function SOCIALCLUB.SC_INBOX_MESSAGE_GET_DATA_STRING(p0, context, out) end
--- @param p0 number
--- @return string
function SOCIALCLUB.SC_INBOX_MESSAGE_GET_RAW_TYPE_AT_INDEX(p0) end
--- @param attrHash number
--- @param value number
--- @return boolean
function SOCIALCLUB.SC_PRESENCE_ATTR_SET_FLOAT(attrHash, value) end
--- @param attrName string
--- @param value number
--- @param p2 boolean
--- @return boolean
function SOCIALCLUB.SC_PRESENCE_ATTR_SET_INT_EX(attrName, value, p2) end
--- @param attrName string
--- @param value number
--- @param p2 boolean
--- @return boolean
function SOCIALCLUB.SC_PRESENCE_ATTR_SET_FLOAT_EX(attrName, value, p2) end
--- @param attrName string
--- @param value string
--- @param p2 boolean
--- @return boolean
function SOCIALCLUB.SC_PRESENCE_ATTR_SET_STRING_EX(attrName, value, p2) end
--- Starts a task to check an entered string for profanity on the ROS/Social Club services.
--- @param string string
--- @param token any
--- @return boolean
function SOCIALCLUB.SC_PROFANITY_CHECK_STRING(string, token) end
--- @param token number
--- @return boolean
function SOCIALCLUB.SC_PROFANITY_GET_CHECK_IS_VALID(token) end
--- @param token number
--- @return boolean
function SOCIALCLUB.SC_PROFANITY_GET_CHECK_IS_PENDING(token) end
--- @param token number
--- @return boolean
function SOCIALCLUB.SC_PROFANITY_GET_STRING_PASSED(token) end
--- @param token number
--- @return number
function SOCIALCLUB.SC_PROFANITY_GET_STRING_STATUS(token) end
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_IS_ACTIVE() end
--- @return number
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EVENT_ID() end
--- @param p0 string
--- @param p1 any
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT(p0, p1) end
--- @param p0 string
--- @param p1 any
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT(p0, p1) end
--- @param p0 string
--- @param p1 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING(p0, p1) end
--- @param p0 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_DISPLAY_NAME(p0) end
--- @param p0 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_IS_ACTIVE_FOR_TYPE(p0) end
--- @param p0 string
--- @return number
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EVENT_ID_FOR_TYPE(p0) end
--- @param p0 string
--- @param p1 any
--- @param p2 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_FOR_TYPE(p0, p1, p2) end
--- @param p0 string
--- @param p1 any
--- @param p2 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_FOR_TYPE(p0, p1, p2) end
--- @param p0 string
--- @param p1 string
--- @param p2 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_FOR_TYPE(p0, p1, p2) end
--- @param p0 string
--- @param p1 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_FOR_TYPE(p0, p1) end
--- @param p0 number
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_IS_ACTIVE_BY_ID(p0) end
--- @param p0 number
--- @param p1 string
--- @param p2 any
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_BY_ID(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 any
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_BY_ID(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @param p2 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_BY_ID(p0, p1, p2) end
--- @param p0 number
--- @param p1 string
--- @return boolean
function SOCIALCLUB.SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_BY_ID(p0, p1) end

SOCIALCLUBFEED = {}

--- @param type number
--- @param subType number
--- @return number
function SOCIALCLUBFEED._SC_FEED_SUBMIT_PRESET_MESSAGE(type, subType) end
--- @return boolean
function SOCIALCLUBFEED.SC_FEED_HUB_HAS_NEW_DATA() end

SPACTIONPROXY = {}

--- @return boolean
function SPACTIONPROXY._SPACTIONPROXY_START_MANAGER() end
--- @return boolean
function SPACTIONPROXY._SPACTIONPROXY_MANAGER_IS_READY() end
--- @return boolean
function SPACTIONPROXY._SPACTIONPROXY_MANAGER_IS_FAILED() end
--- @param data number
--- @return boolean
function SPACTIONPROXY._SPACTIONPROXY_GET_NEXT_PENDING_CRAFTING_ACTION(data) end
--- @param data number
--- @return boolean
function SPACTIONPROXY._SPACTIONPROXY_GET_NEXT_PENDING_BUY_ACTION(data) end
--- @param p0 number
--- @param p1 boolean
--- @return boolean
function SPACTIONPROXY._SPACTIONPROXY_PROCESS_ACTION(p0, p1) end

STATS = {}

--- struct StatId
--- {
--- alignas(8) Hash BaseId;
--- alignas(8) Hash PermutationId;
--- }
--- @param statId number
--- @return boolean
function STATS.STAT_ID_IS_VALID(statId) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value number
--- @param p2 boolean
--- @return boolean
function STATS.STAT_ID_SET_INT(statId, value, p2) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value number
--- @param p2 boolean
--- @return boolean
function STATS.STAT_ID_SET_FLOAT(statId, value, p2) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value boolean
--- @param p2 boolean
--- @return boolean
function STATS.STAT_ID_SET_BOOL(statId, value, p2) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param label string
--- @param p2 boolean
--- @return boolean
function STATS.STAT_ID_SET_GXT_LABEL(statId, label, p2) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param date number
--- @param p2 boolean
--- @return boolean
function STATS.STAT_ID_SET_DATE(statId, date, p2) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param p1 any
--- @return boolean
function STATS.STAT_ID_GET_INT(statId, p1) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value any
--- @return boolean
function STATS.STAT_ID_GET_FLOAT(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value any
--- @return boolean
function STATS.STAT_ID_GET_BOOL(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param date number
--- @return boolean
function STATS.STAT_ID_GET_DATE(statId, date) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
function STATS._0x0FEE2561120F3333(statId) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value number
function STATS._STAT_ID_INCREMENT_INT(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value number
function STATS._STAT_ID_INCREMENT_FLOAT(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value number
function STATS._STAT_ID_DECREMENT_INT(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param value number
function STATS._0x91A4F58E01ED5E4C(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- Only used in R* SP Scripts
--- _STAT_ID_SET_*
--- @param statId number
--- @param value number
function STATS._0xE141F6B40B1E3683(statId, value) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
function STATS.STAT_ID_SET_TO_POSSE_ID(statId) end
--- Calculation: (value / 1000) / 60 % 60
--- @param value number
--- @return number
function STATS._STAT_CALCULATE_COOLDOWN(value) end
--- statId: see STAT_ID_IS_VALID
--- @param entity number
--- @param statId number
--- @return boolean
function STATS._STAT_PHEROMONE_COOLDOWN_LEGENDARY_ANIMAL(entity, statId) end
--- @param fish number
--- @param weight number
--- @param category number
--- @param subcategory number
function STATS._STAT_ITEM_FISH_CAUGHT(fish, weight, category, subcategory) end
--- @param ped number
function STATS._STAT_CARRIED_SATCHEL_ITEM_FROM_PED(ped) end
--- @param item number
--- @param slot number
--- @param p2 number
--- @param p3 number
function STATS._STAT_DONATE_INCREMENT_ITEM(item, slot, p2, p3) end
--- Only used in R* SP Scripts
--- @param animalType number
function STATS._0x8312F09C56149A8A(animalType) end
--- @param p0 number
function STATS._0x378D3B1B11D9385B(p0) end
--- @param p0 number
function STATS._0xDA26263C07CCE9C2(p0) end
--- @param ped number
--- @param animalType number
function STATS._0xD64DBC8B0424135F(ped, animalType) end
--- Only used in R* SP Scripts
--- @param p0 number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
function STATS._0xA59590050F80FF2E(p0, p1, p2, p3) end
--- Related to animal tagging
--- @param animalType number
function STATS._STAT_ADD_ANIMAL_SAMPLE_TARGET(animalType) end
--- @param ped number
function STATS._0xF8181B5EF156862C(ped) end
--- @param unlockHash number
--- @param ped number
function STATS.STAT_ADD_BOUNTY_TARGET(unlockHash, ped) end
--- @param p0 number
--- @param ped number
function STATS._0x8C889E4CBB4B2356(p0, ped) end
--- @param entity number
function STATS.STAT_BOUNTY_CAPTURED(entity) end
--- @param ped number
--- @param p1 boolean
function STATS._0xA596890CF55B5095(ped, p1) end
--- @param ped number
function STATS.STAT_BOUNTY_ESCAPED(ped) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function STATS._0xF21A5D66874FCEDD(p0, p1, p2) end
--- @param statItem number
--- @param p1 number
function STATS._0x3EB2791A1FBC8A42(statItem, p1) end
function STATS._0xDF95DF488A645CE7() end
--- @param itemset number
function STATS.STAT_PHOTOGRAPH_TAKEN(itemset) end
--- @param unlockHash number
--- @param ped number
--- @param animalType number
function STATS._0xBE66B26B6529E943(unlockHash, ped, animalType) end
--- @param unlockHash number
--- @param ped1 number
--- @param ped2 number
function STATS._0xF2B5ABDE09958689(unlockHash, ped1, ped2) end
--- @param deedHash number
function STATS.STAT_REGISTER_LEGENDARY_ANIMAL_DEED(deedHash) end
--- statId: see STAT_ID_IS_VALID
--- @param statId number
--- @param p1 number
--- @param p2 any
--- @return boolean
function STATS._0x302E71C1D9EE75B9(statId, p1, p2) end
--- @param p0 number
--- @return boolean
function STATS.STATSTRACKER_IS_INITIALIZED(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function STATS._0x6123E2832C34243D(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function STATS._0xCA41E86545413B5B(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
function STATS.STATSTRACKER_DEED_STARTED(p0, p1) end
--- @param deedType number
--- @param deedHash number
--- @param missionStatus number
--- @param data number
function STATS._STATSTRACKER_DEED_STATUS(deedType, deedHash, missionStatus, data) end
--- @param p0 number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
function STATS._0x99230691875FC218(p0, p1, x, y, z) end
--- @param p0 number
function STATS._0x025E98E317652CDD(p0) end
--- @param p0 number
function STATS._0xE5A680A5D8B1F687(p0) end
--- Only used in R* SP Scripts
--- @param p0 number
--- @return boolean
function STATS._0x4DAC398297981B87(p0) end
--- https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/challenge_goals.lua
--- @param chalHash number
--- @param goalHash number
--- @return boolean
function STATS.CHAL_IS_GOAL_ACTIVE(chalHash, goalHash) end
--- @param chalHash number
--- @param goalHash number
--- @param disabled boolean
function STATS.CHAL_SET_GOAL_DISABLED(chalHash, goalHash, disabled) end
--- @param chalHash number
--- @return number
function STATS.CHAL_GET_NUM_RANKS_COMPLETED(chalHash) end
--- @param chalHash number
--- @return number
function STATS.CHAL_GET_MAX_RANKS(chalHash) end
--- @param chalHash number
--- @param goalHash number
--- @param value number
function STATS.CHAL_ADD_GOAL_PROGRESS_INT(chalHash, goalHash, value) end
--- @param chalHash number
--- @param goalHash number
--- @param value number
function STATS.CHAL_ADD_GOAL_PROGRESS_FLOAT(chalHash, goalHash, value) end
--- @param chalHash number
--- @param goalHash number
--- @param value number
function STATS.CHAL_SET_GOAL_PROGRESS_INT(chalHash, goalHash, value) end
--- @param p0 number
--- @param value number
function STATS.CHAL_ADD_GOAL_PROGRESS_INT_BY_SCORE_ID(p0, value) end
--- @param p0 number
--- @param value number
function STATS.CHAL_ADD_GOAL_PROGRESS_FLOAT_BY_SCORE_ID(p0, value) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function STATS.CHAL_ACHIEVEMENT_IS_COMPLETE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function STATS.CHAL_ACHIEVEMENT_GET_PROGRESS_INT(p0, p1) end
--- @param chalHash number
function STATS.CHAL_NET_START_CHAL(chalHash) end
--- @param chalHash number
function STATS.CHAL_NET_STOP_CHAL(chalHash) end
--- @param chalHash number
--- @param goalHash number
function STATS.CHAL_NET_START_GOAL(chalHash, goalHash) end
--- @param chalHash number
--- @param goalHash number
function STATS.CHAL_NET_STOP_GOAL(chalHash, goalHash) end
--- @param chalHash number
--- @param goalHash number
--- @param player number
--- @return number
function STATS._0xDDBD560745B1EE98(chalHash, goalHash, player) end
--- @param p0 number
--- @param p1 number
--- @return string
function STATS._0xB112B9262EC29C20(p0, p1) end
--- @param p0 number
function STATS._0x4FCBCC0584CD08E9(p0) end
--- @param p0 number
--- @return boolean
function STATS._0xCA1F0B5103936891(p0) end
--- @param p0 number
--- @return number
function STATS._0x8BA3D7B1E83EF803(p0) end
--- @param missionHash number
--- @return number
function STATS.CHAL_MISSION_GET_NUM_GOALS(missionHash) end
--- @param missionHash number
--- @return number
function STATS.CHAL_MISSION_GET_NUM_GOALS_COMPLETE(missionHash) end
--- @param missionHash number
--- @param goalHash number
--- @return boolean
function STATS.CHAL_MISSION_IS_GOAL_COMPLETE(missionHash, goalHash) end
--- @param missionHash number
--- @param goalHash number
--- @param value number
function STATS.CHAL_MISSION_ADD_GOAL_PROGRESS_INT(missionHash, goalHash, value) end
--- @return number
function STATS._0x9D0F5D2E1951CD84() end
function STATS._0x218F7710A139D012() end
--- @return boolean
function STATS._0x3AEABAE3F3C7600C() end
--- @return string
function STATS._0x3F6FD87D2030ADC6() end
--- @param p0 number
--- @return number
function STATS._0xA2E2BEA4E83F6270(p0) end
--- @param p0 number
--- @param p1 number
--- @param scheduleLocation any
--- @return boolean
function STATS._0xB5E2EDA2135E0FA1(p0, p1, scheduleLocation) end
--- @param chalHash number
--- @return number
function STATS.WEEKLY_COLLECTIBLE_GET_NUM_SETS(chalHash) end
--- @param chalHash number
--- @param index number
--- @return number
function STATS.WEEKLY_COLLECTIBLE_GET_ITEM_SET_BUY_AWARD(chalHash, index) end
--- @param chalHash number
--- @param index number
--- @return number
function STATS.WEEKLY_COLLECTIBLE_GET_ITEM_SET_LABEL(chalHash, index) end
--- @param chalHash number
--- @param index number
--- @return number
function STATS.WEEKLY_COLLECTIBLE_GET_NUM_ITEMS_IN_SET(chalHash, index) end
--- @param chalHash number
--- @param setIndex number
--- @param itemIndex number
--- @param p3 any
--- @param p4 any
--- @return boolean
function STATS.WEEKLY_COLLECTIBLE_GET_ITEM_IN_SET(chalHash, setIndex, itemIndex, p3, p4) end
--- Only used in R* Script net_char_creator
function STATS._0x4F2D5FA23DB992DE() end
--- Only used in R* Script net_char_creator
function STATS._0x4E463A3CDEFFFE96() end

STREAMING = {}

--- Request a model to be loaded into memory.
--- @param model number
--- @param p1 boolean
function STREAMING.REQUEST_MODEL(model, p1) end
--- Checks if the specified model has loaded into memory.
--- @param model number
--- @return boolean
function STREAMING.HAS_MODEL_LOADED(model) end
--- Marks the model as no longer needed.
--- @param model number
function STREAMING.SET_MODEL_AS_NO_LONGER_NEEDED(model) end
--- Returns whether the specified model exists in the game.
--- @param model number
--- @return boolean
function STREAMING.IS_MODEL_IN_CDIMAGE(model) end
--- Returns whether the specified model is valid
--- @param model number
--- @return boolean
function STREAMING.IS_MODEL_VALID(model) end
--- @param model number
--- @return boolean
function STREAMING.IS_MODEL_A_PED(model) end
--- Returns whether the specified model represents a vehicle.
--- @param model number
--- @return boolean
function STREAMING.IS_MODEL_A_VEHICLE(model) end
--- @param model number
--- @return boolean
function STREAMING._IS_MODEL_AN_OBJECT(model) end
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function STREAMING._HAS_COLLISION_LOADED_AT_COORD(x, y, z) end
function STREAMING._0x80B3E0597366ADF1() end
--- @param x number
--- @param y number
--- @param z number
function STREAMING.REQUEST_COLLISION_AT_COORD(x, y, z) end
--- @param x number
--- @param y number
--- @param z number
function STREAMING._REQUEST_METADATA_AT_COORD(x, y, z) end
--- @param model number
function STREAMING.REQUEST_COLLISION_FOR_MODEL(model) end
--- @param model number
--- @return boolean
function STREAMING.HAS_COLLISION_FOR_MODEL_LOADED(model) end
--- @param x number
--- @param y number
--- @param z number
function STREAMING.REQUEST_ADDITIONAL_COLLISION_AT_COORD(x, y, z) end
--- @param animDict string
--- @return boolean
function STREAMING.DOES_ANIM_DICT_EXIST(animDict) end
--- @param animDict string
function STREAMING.REQUEST_ANIM_DICT(animDict) end
--- @param animDict string
--- @return boolean
function STREAMING.HAS_ANIM_DICT_LOADED(animDict) end
--- @param animDict string
function STREAMING.REMOVE_ANIM_DICT(animDict) end
--- @param name string
function STREAMING.REQUEST_MOVE_NETWORK_DEF(name) end
--- @param name string
--- @return boolean
function STREAMING.HAS_MOVE_NETWORK_DEF_LOADED(name) end
--- @param name string
function STREAMING.REMOVE_MOVE_NETWORK_DEF(name) end
--- @param clipSet string
function STREAMING.REQUEST_CLIP_SET(clipSet) end
--- Alias for HAS_ANIM_SET_LOADED.
--- @param clipSet string
--- @return boolean
function STREAMING.HAS_CLIP_SET_LOADED(clipSet) end
--- Alias for REMOVE_ANIM_SET.
--- @param clipSet string
function STREAMING.REMOVE_CLIP_SET(clipSet) end
--- @param clipSetHash number
function STREAMING._REQUEST_CLIP_SET_BY_HASH(clipSetHash) end
--- @param p0 number
function STREAMING._0x03DDBF2D73799F9E(p0) end
--- @param p0 number
--- @return number
function STREAMING._0x85B8F04555AB49B8(p0) end
--- @param p0 number
function STREAMING._0x9F348DE670423460(p0) end
--- @param p0 number
--- @return number
function STREAMING._0x5288B7F0690F7C1F(p0) end
--- @param scenarioType number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function STREAMING._REQUEST_SCENARIO_TYPE(scenarioType, p1, p2, p3) end
--- @param scenarioType number
--- @param p1 boolean
--- @return boolean
function STREAMING._HAS_SCENARIO_TYPE_LOADED(scenarioType, p1) end
--- @param scenarioType number
--- @return number
function STREAMING._REMOVE_SCENARIO_ASSET(scenarioType) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function STREAMING._0xB223249B7798EEED(p0, p1, p2, p3) end
--- @param p0 number
--- @return number
function STREAMING._0xA0AE7653E8181725(p0) end
--- @param p0 number
--- @return number
function STREAMING._0x66BC28E50E85270E(p0) end
--- Outputs IPL position and radius (previously wrongly named heading)
--- https://github.com/femga/rdr3_discoveries/blob/master/imaps/imaps_with_coords_and_heading.lua
--- @param iplHash number
--- @param position number
--- @param radius any
--- @return boolean
function STREAMING._GET_IPL_BOUNDING_SPHERE(iplHash, position, radius) end
--- Old name: _REQUEST_IMAP
--- @param iplHash number
function STREAMING.REQUEST_IPL_HASH(iplHash) end
--- Old name: _REQUEST_IMAP_2
--- @param iplHash number
function STREAMING.REQUEST_IPL_BY_HASH(iplHash) end
--- Old name: _REMOVE_IMAP
--- @param iplHash number
function STREAMING.REMOVE_IPL_HASH(iplHash) end
--- Old name: _REMOVE_IMAP_2
--- @param iplHash number
function STREAMING.REMOVE_IPL_BY_HASH(iplHash) end
--- Old name: _IS_IMAP_ACTIVE
--- @param iplHash number
--- @return boolean
function STREAMING.IS_IPL_ACTIVE_HASH(iplHash) end
--- Old name: _IS_IMAP_ACTIVE_2
--- @param iplHash number
--- @return boolean
function STREAMING.IS_IPL_ACTIVE_BY_HASH(iplHash) end
--- Returns true if IPL is streamed in (?)
--- @param iplHash number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function STREAMING._IS_POSITION_INSIDE_IPL_STREAMING_EXTENTS(iplHash, x, y, z) end
function STREAMING._0xDEEE1F265B7ECEF5() end
--- @param toggle boolean
function STREAMING.SET_GAME_PAUSES_FOR_STREAMING(toggle) end
--- @return number
function STREAMING.GET_NUMBER_OF_STREAMING_REQUESTS() end
function STREAMING.REQUEST_PTFX_ASSET() end
--- @return boolean
function STREAMING.HAS_PTFX_ASSET_LOADED() end
function STREAMING.REMOVE_PTFX_ASSET() end
--- @param fxNameHash number
function STREAMING.REQUEST_NAMED_PTFX_ASSET(fxNameHash) end
--- @param fxNameHash number
--- @return boolean
function STREAMING.HAS_NAMED_PTFX_ASSET_LOADED(fxNameHash) end
--- @param fxNameHash number
function STREAMING.REMOVE_NAMED_PTFX_ASSET(fxNameHash) end
--- @param fBudgetMultiplier number
function STREAMING.SET_POPULATION_BUDGET_MULTIPLIER(fBudgetMultiplier) end
--- @return number
function STREAMING.GET_POPULATION_BUDGET_MULTIPLIER() end
--- @return number
function STREAMING._0x071769BCB24379E5() end
function STREAMING.CLEAR_FOCUS() end
--- @param x number
--- @param y number
--- @param z number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
function STREAMING.SET_FOCUS_POS_AND_VEL(x, y, z, offsetX, offsetY, offsetZ) end
--- It seems to make the entity's coords mark the point from which LOD-distances are measured. In my testing, setting a vehicle as the focus entity and moving that vehicle more than 300 distance units away from the player will make the level of detail around the player go down drastically (shadows disappear, textures go extremely low res, etc). The player seems to be the default focus entity.
--- @param entity number
function STREAMING.SET_FOCUS_ENTITY(entity) end
--- @param entity number
--- @return boolean
function STREAMING.IS_ENTITY_FOCUS(entity) end
--- @param name string
--- @param toggle boolean
function STREAMING.SET_MAPDATACULLBOX_ENABLED(name, toggle) end
--- nullsub, doesn't do anything
--- @param p0 number
function STREAMING.SET_ALL_MAPDATA_CULLED(p0) end
--- @param p0 number
function STREAMING._0xF01D21DF39554115(p0) end
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param radius number
--- @param p7 number
--- @return boolean
function STREAMING.LOAD_SCENE_START(posX, posY, posZ, offsetX, offsetY, offsetZ, radius, p7) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 number
--- @return boolean
function STREAMING.LOAD_SCENE_START_SPHERE(x, y, z, radius, p4) end
function STREAMING.LOAD_SCENE_STOP() end
--- @return boolean
function STREAMING.IS_LOAD_SCENE_ACTIVE() end
--- @return boolean
function STREAMING.IS_LOAD_SCENE_LOADED() end
--- @return boolean
function STREAMING.IS_RENDERED_SCENE_LOADED() end
--- @return boolean
function STREAMING.IS_PLAYER_SWITCH_IN_PROGRESS() end
function STREAMING.SET_SCENE_STREAMING_TRACKS_CAM_POS_THIS_FRAME() end
--- @param iplName1 string
--- @param iplName2 string
function STREAMING.IPL_GROUP_SWAP_START(iplName1, iplName2) end
function STREAMING.IPL_GROUP_SWAP_CANCEL() end
--- @return boolean
function STREAMING.IPL_GROUP_SWAP_IS_READY() end
function STREAMING.IPL_GROUP_SWAP_FINISH() end
--- @return boolean
function STREAMING.IPL_GROUP_SWAP_IS_ACTIVE() end
--- @param srl string
function STREAMING.PREFETCH_SRL(srl) end
function STREAMING._0xAE00387E53B1E9FC() end
function STREAMING._0xEF1A8A484118735E() end
function STREAMING._0xD9F2FF4AF394D926() end
--- @return boolean
function STREAMING.IS_SRL_LOADED() end
function STREAMING.BEGIN_SRL() end
function STREAMING.END_SRL() end
--- @param p0 number
function STREAMING.SET_SRL_TIME(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function STREAMING.SET_SRL_READAHEAD_TIMES(p0, p1, p2, p3) end
--- @param p0 boolean
function STREAMING.SET_SRL_LONG_JUMP_MODE(p0) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
function STREAMING.SET_HD_AREA(x, y, z, radius) end
function STREAMING.CLEAR_HD_AREA() end
function STREAMING._0x09FBF15D73EFC900() end
--- @param p0 number
function STREAMING._0xF11D7CB962FCD747(p0) end
--- Sorts some unknown data.
--- 
--- Likely SORT_*
function STREAMING._0xB9B9E47EDB9D63DB() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function STREAMING._0xBE8DAA9D8D01DA6A(p0, p1, p2) end
--- @param p0 number
--- @return number
function STREAMING._0x53764309C4618087(p0) end
--- _SET_E* or _SET_F*
--- @param p0 number
function STREAMING._0x032A14D082A9B269(p0) end
--- @param p0 number
function STREAMING._0xAFA87A7D41EE346A(p0) end
function STREAMING._0x6A6E79FBE8678C98() end
--- @param p0 number
function STREAMING._0xCC61D8D6C19D9F14(p0) end
--- @return number
function STREAMING._0xDA7FDEFF4DE86839() end
--- @return number
function STREAMING._0x5D5E2102B174B8D2() end
--- @return number
function STREAMING._0x7B8C2B846C05E5AD() end
function STREAMING._0x62D5F0588915B277() end
--- @return number
function STREAMING._0x2F4D53023F826FF0() end
--- @return number
function STREAMING._0xDABFE48BA0D457AA() end
--- @return number
function STREAMING._0xE5B76E5B56CD77DD() end
--- @return number
function STREAMING._0x27AF48C62B281341() end
--- @return number
function STREAMING._0x99F92061EFE908BA() end
--- @param p0 number
--- @param p1 number
--- @return number
function STREAMING._0x05DD384F39DE1C8C(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function STREAMING._0x198B85CC3C7A4593(p0, p1) end
--- @param p0 number
--- @return number
function STREAMING._0x2A6D1DAAB9EBB262(p0) end
--- @param p0 number
--- @param p1 number
function STREAMING._0x07559B29950301FF(p0, p1) end
--- @param p0 number
--- @return number
function STREAMING._0xD6E39DC5D46DF4AB(p0) end
--- @param p0 number
--- @return number
function STREAMING._0x8D56BDA343D9519F(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function STREAMING._0xD840C130D7AACFA5(p0, p1, p2) end
--- @param p0 number
function STREAMING._0x2E24C27B112B5B12(p0) end
--- @param toggle boolean
function STREAMING._SET_GUARMA_WORLDHORIZON_ACTIVE(toggle) end

TASK = {}

--- This tasks the ped to do nothing for the specified amount of milliseconds.
--- This is useful if you want to add a delay between tasks when using a sequence task.
--- @param ped number
--- @param ms number
function TASK.TASK_PAUSE(ped, ms) end
--- Makes the specified ped stand still for (time) milliseconds.
--- @param ped number
--- @param time number
function TASK.TASK_STAND_STILL(ped, time) end
--- @param ped number
--- @param unused boolean
function TASK.TASK_JUMP(ped, unused) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param entity number
function TASK._TASK_JUMP_2(ped, x, y, z, entity) end
--- @param ped number
--- @param duration number
--- @param pedToCowerFrom number
--- @param p3 string
function TASK.TASK_COWER(ped, duration, pedToCowerFrom, p3) end
--- flags: 0 = HANDS_UP_NOTHING; 1 = HANDS_UP_STRAIGHT_TO_LOOP
--- @param ped number
--- @param duration number
--- @param facingPed number
--- @param timeToFacePed number
--- @param flags number
function TASK.TASK_HANDS_UP(ped, duration, facingPed, timeToFacePed, flags) end
--- @param ped number
--- @param p1 number
--- @param permanently boolean
function TASK.TASK_KNOCKED_OUT(ped, p1, permanently) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function TASK.TASK_KNOCKED_OUT_AND_HOGTIED(ped, p1, p2) end
--- @param ped number
--- @param p1 number
function TASK._0xFFB520A3E16F7B7B(ped, p1) end
--- @param ped number
--- @param p1 number
function TASK._0x8B1FDF63C3193EDA(ped, p1) end
--- @param ped number
--- @param duration number
function TASK.UPDATE_TASK_HANDS_UP_DURATION(ped, duration) end
--- @param ped number
--- @param facingPed number
function TASK._0x28EF780BDEA8A639(ped, facingPed) end
--- @param ped number
--- @param p1 number
function TASK.TASK_DUCK(ped, p1) end
--- @param ped number
--- @param vehicle number
--- @param p2 number
--- @param p3 number
--- @param speed number
--- @param boardingFlags number
function TASK._TASK_BOARD_VEHICLE(ped, vehicle, p2, p3, speed, boardingFlags) end
--- @param p0 number
--- @param vehicle number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK._TASK_DISEMBARK_VEHICLE(p0, vehicle, p2, p3, p4, p5) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param speed number
--- @param boardingFlags number
function TASK._TASK_BOARD_VEHICLE_2(ped, p1, p2, speed, boardingFlags) end
--- flags: See TASK_ENTER_VEHICLE
--- @param ped number
--- @param p1 number
--- @param flags number
function TASK.TASK_DISEMBARK_NEAREST_TRAIN_CARRIAGE(ped, p1, flags) end
--- flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEnterExitVehicleFlags
--- @param ped number
--- @param vehicle number
--- @param timeout number
--- @param seat number
--- @param speed number
--- @param flag number
--- @param p6 number
function TASK.TASK_ENTER_VEHICLE(ped, vehicle, timeout, seat, speed, flag, p6) end
--- flags: See TASK_ENTER_VEHICLE
--- @param ped number
--- @param vehicle number
--- @param flags number
--- @param unkPed number
function TASK.TASK_LEAVE_VEHICLE(ped, vehicle, flags, unkPed) end
--- timer: in ms, if it reaches 0 it will auto warp the ped on the horse
--- mountStyle: See TASK_ENTER_VEHICLE
--- Flags will still apply to mountStyle
--- @param ped number
--- @param mount number
--- @param timer number
--- @param seatIndex number
--- @param pedSpeed number
--- @param mountStyle number
--- @param p6 number
--- @param p7 number
function TASK.TASK_MOUNT_ANIMAL(ped, mount, timer, seatIndex, pedSpeed, mountStyle, p6, p7) end
--- Dismounts the ped from the animal it's mounted on. taskFlag affects what side the rider gets off. p2-p5 are almost always 0.
--- flags: See TASK_ENTER_VEHICLE
--- @param rider number
--- @param taskFlag number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param targetPed number
function TASK.TASK_DISMOUNT_ANIMAL(rider, taskFlag, p2, p3, p4, targetPed) end
--- @param ped number
--- @param scenarioPoint number
--- @param flag number
function TASK.TASK_HITCH_ANIMAL(ped, scenarioPoint, flag) end
--- @param p0 number
function TASK._0xE05A5D39BE6E93AF(p0) end
--- stopRange: how close vehicle will get to destination before stopping, default 4.0
--- straightLineDist: distance at which AI switches to heading for target directly instead of following nodes, default -1
--- @param ped number
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param speed number
--- @param drivingStyle number
--- @param vehicleModel number
--- @param drivingMode number
--- @param stopRange number
--- @param straightLineDist number
function TASK.TASK_VEHICLE_DRIVE_TO_COORD(ped, vehicle, x, y, z, speed, drivingStyle, vehicleModel, drivingMode, stopRange, straightLineDist) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK._TASK_VEHICLE_DRIVE_TO_COORD_2(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param vehicle number
--- @param speed number
--- @param drivingStyle number
function TASK.TASK_VEHICLE_DRIVE_WANDER(ped, vehicle, speed, drivingStyle) end
--- @param ped number
--- @param entity number
--- @param offsetX number
--- @param offsetY number
--- @param offsetZ number
--- @param movementSpeed number
--- @param timeout number
--- @param stoppingRange number
--- @param persistFollowing boolean
--- @param p9 boolean
--- @param walkOnly boolean
--- @param p11 boolean
--- @param p12 boolean
--- @param p13 boolean
function TASK.TASK_FOLLOW_TO_OFFSET_OF_ENTITY(ped, entity, offsetX, offsetY, offsetZ, movementSpeed, timeout, stoppingRange, persistFollowing, p9, walkOnly, p11, p12, p13) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
function TASK.TASK_FOLLOW_TO_OFFSET_OF_COORD(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK._0x3FFCD7BBA074CC80(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param moveBlendSpeedY number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.TASK_GO_STRAIGHT_TO_COORD(ped, x, y, z, moveBlendSpeedY, p5, p6, p7, p8) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK.TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY(ped, p1, p2, p3, p4, p5, p6, p7) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.TASK_MOVE_IN_TRAFFIC(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK.TASK_MOVE_IN_TRAFFIC_TO_DESTINATION(ped, p1, p2, p3, p4, p5, p6, p7) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_MOVE_IN_TRAFFIC_AWAY_FROM_ENTITY(ped, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
function TASK._0xBAAB791AA72C2821(p0, p1) end
--- Params: moveBlendRatio commonly 1.25f, p5 is always 0 in R* Scripts
--- @param ped number
--- @param moveBlendRatio number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 number
function TASK.TASK_MOVE_FOLLOW_ROAD_USING_NAVMESH(ped, moveBlendRatio, x, y, z, p5) end
--- Makes the specified ped achieve the specified heading.
--- 
--- pedHandle: The handle of the ped to assign the task to.
--- heading: The desired heading.
--- timeout: The time, in milliseconds, to allow the task to complete. If the task times out, it is canceled, and the ped will stay at the heading it managed to reach in the time.
--- @param ped number
--- @param heading number
--- @param timeout number
function TASK.TASK_ACHIEVE_HEADING(ped, heading, timeout) end
--- Clears the current point route. Call this before TASK_EXTEND_ROUTE and TASK_FOLLOW_POINT_ROUTE.
function TASK.TASK_FLUSH_ROUTE() end
--- Adds a new point to the current point route. Call TASK_FLUSH_ROUTE before the first call to this. Call TASK_FOLLOW_POINT_ROUTE to make the Ped go the route.
--- 
--- A maximum of 8 points can be added.
--- @param x number
--- @param y number
--- @param z number
function TASK.TASK_EXTEND_ROUTE(x, y, z) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK.TASK_FOLLOW_POINT_ROUTE(ped, p1, p2, p3, p4, p5) end
--- flags:
--- MOVE_WHILST_WAITING_FOR_PATH = (1 << 0),
--- DO_NOT_STAND_STILL_AT_END_OF_PATH = (1 << 1),
--- SKIP_NAVIGATION = (1 << 2),
--- TEASF_AUTO_START_ANIM_SCENE = (1 << 3),
--- FORCE_STAND_STILL_AT_END_OF_PATH = (1 << 6),
--- ENTER_ANIM_SCENE_DONT_FOLLOW_NAVMESH = (1 << 7)
--- @param ped number
--- @param animScene number
--- @param entityName string
--- @param playbackListName string
--- @param enterSpeed number
--- @param bAutoStart boolean
--- @param flag number
--- @param p7 number
--- @param p8 number
function TASK.TASK_ENTER_ANIM_SCENE(ped, animScene, entityName, playbackListName, enterSpeed, bAutoStart, flag, p7, p8) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.TASK_MOVE_BE_IN_FORMATION(ped, p1, p2, p3, p4, p5, p6) end
--- @param ped number
--- @param target number
--- @param duration number
--- @param distance number
--- @param speed number
--- @param p5 number
--- @param p6 number
function TASK.TASK_GO_TO_ENTITY(ped, target, duration, distance, speed, p5, p6) end
--- @param ped number
--- @param targetPed number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function TASK.TASK_FOLLOW_AND_CONVERSE_WITH_PED(ped, targetPed, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param p0 number
--- @param p1 number
function TASK._0xA052608A12559BBB(p0, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.TASK_WANDER_AND_CONVERSE_WITH_PED(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.TASK_LEAD_AND_CONVERSE(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK._0xDE0C8B145EA466FF(p0, p1, p2, p3, p4, p5) end
--- @param ped number
--- @param entity number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_SEEK_CLEAR_LOS_TO_ENTITY(ped, entity, p2, p3, p4) end
--- enum eWhistleType
--- {
--- WHISTLE_MAIN,
--- WHISTLE_SECONDARY,
--- WHISTLE_DOUBLE,
--- WHISTLE_URGENT,
--- WHISTLE_LONG
--- };
--- @param ped number
--- @param p1 number
--- @param whistleType number
function TASK.TASK_GO_TO_WHISTLE(ped, p1, whistleType) end
--- @param p0 number
--- @return number
function TASK._0xEB67D4E056C85A81(p0) end
--- @param p0 number
--- @return number
function TASK._0x78D8C1D4EB80C588(p0) end
--- @param ped number
--- @param horse number
function TASK.TASK_LEAD_HORSE(ped, horse) end
--- @param ped number
function TASK.TASK_STOP_LEADING_HORSE(ped) end
--- fleeType: see TASK_FLEE_COORD
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
function TASK._TASK_FLEE_FROM_COORD(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) end
--- fleeType: see TASK_FLEE_COORD
--- @param ped number
--- @param fleeFromTarget number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param targetPed number
function TASK._TASK_FLEE_FROM_PED(ped, fleeFromTarget, x, y, z, distance, p6, p7, p8, targetPed) end
--- Makes the specified ped flee the specified distance from the specified position.
--- fleeType: see TASK_FLEE_COORD
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param time number
--- @param fleeType number
--- @param fleeSpeed number
function TASK.TASK_SMART_FLEE_COORD(ped, x, y, z, distance, time, fleeType, fleeSpeed) end
--- Makes a ped run away from another ped (fleeFromTarget)
--- 
--- fleeDistance = ped will flee this distance
--- fleeTime = ped will flee for this amount of time, set to "-1" to flee forever
--- fleeType = see TASK_FLEE_COORD, can be 0, R* Scripts: fm_mission/race_controller: 66048; fme_escaped_convicts: 2260992, 2523136, 2359296; la_alligator/fox: 2097152; net_fetch: 17301536; net_stable_mount: 540928
--- fleeSpeed = mostly 3f, rarely 1f in R* Scripts
--- @param ped number
--- @param fleeFromTarget number
--- @param fleeDistance number
--- @param fleeTime number
--- @param fleeType number
--- @param fleeSpeed number
--- @param targetPed number
function TASK.TASK_SMART_FLEE_PED(ped, fleeFromTarget, fleeDistance, fleeTime, fleeType, fleeSpeed, targetPed) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK._0x673A8779D229BA5A(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x2E1D6D87346BB7D2(p0, p1, p2, p3) end
--- Params: p5 = some flag?, p6 = -1.0f, p8 = 0 in R* Scripts
--- fleeStyle: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eFleeStyle
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param fleeStyle number
--- @param p5 number
--- @param p6 number
--- @param duration number
--- @param p8 number
function TASK.TASK_FLEE_COORD(ped, x, y, z, fleeStyle, p5, p6, duration, p8) end
--- Params: p4 = -1.0f, p5 = -1, p6 = 0 in R* Scripts
--- fleeStyle: see TASK_FLEE_COORD
--- @param ped number
--- @param fleeFromTarget number
--- @param fleeStyle number
--- @param flag number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.TASK_FLEE_PED(ped, fleeFromTarget, fleeStyle, flag, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
function TASK.TASK_FLEE_COORD_VIA(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function TASK.TASK_FLEE_PED_VIA(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
function TASK._ADD_FLEE_TARGET_COORDS(ped, x, y, z, p4) end
--- Params: p2 is always -1.f in R* Scripts
--- @param ped number
--- @param targetPed number
--- @param p2 number
function TASK.ADD_FLEE_TARGET_PED(ped, targetPed, p2) end
--- @param p0 number
function TASK._0xA42DC7919159CCCF(p0) end
--- @param ped number
--- @param fleeFromTarget number
function TASK.TASK_FLY_AWAY(ped, fleeFromTarget) end
--- @param ped number
--- @param travelMbr number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 boolean
--- @param p6 boolean
function TASK.TASK_FLY_TO_COORD(ped, travelMbr, x, y, z, p5, p6) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.TASK_FLYING_CIRCLE(ped, p1, p2, p3, p4, p5, p6) end
--- @param ped number
--- @param entity number
function TASK.TASK_WALK_AWAY(ped, entity) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_SHOCKING_EVENT_REACT(ped, p1, p2) end
--- Makes a ped react to an entity.
--- Params: reactingTo Entity can be 0, p8 is always 4
--- @param ped number
--- @param reactingTo number
--- @param x number
--- @param y number
--- @param z number
--- @param reactionName string
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.TASK_REACT(ped, reactingTo, x, y, z, reactionName, p6, p7, p8) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK.TASK_WANDER_IN_AREA(ped, x, y, z, radius, p5, p6, p7) end
--- @param ped number
--- @param volume number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_WANDER_IN_VOLUME(ped, volume, p2, p3, p4) end
--- Makes ped walk around the area.
--- 
--- set p1 to 10.0f and p2 to 10 if you want the ped to walk anywhere without a duration.
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_WANDER_STANDARD(ped, p1, p2) end
--- @param ped number
--- @param p1 number
function TASK.TASK_WANDER_SWIM(ped, p1) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
function TASK.TASK_PLANT_BOMB(ped, x, y, z, heading) end
--- https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_HORSE_ACTION
--- Params: p2, p3 are set to 0 in R* Scripts
--- @param ped number
--- @param action number
--- @param targetPed number
--- @param p3 number
function TASK.TASK_HORSE_ACTION(ped, action, targetPed, p3) end
--- https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_ANIMAL_INTERACTION
--- @param ped number
--- @param targetPed number
--- @param interactionType number
--- @param interactionModel number
--- @param skipIdleAnimationClip boolean
function TASK.TASK_ANIMAL_INTERACTION(ped, targetPed, interactionType, interactionModel, skipIdleAnimationClip) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_COMBAT_ANIMAL_WARN(ped, p1, p2) end
--- @param ped number
--- @param targetPed number
--- @param p2 boolean
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.TASK_COMBAT_ANIMAL_CHARGE_PED(ped, targetPed, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @return number
function TASK._0x76610D12A838EBDE(p0) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_AMBIENT_ANIMAL_STALK(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_AMBIENT_ANIMAL_HUNT(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_ANIMAL_UNALERTED(ped, p1, p2, p3, p4) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_ANIMAL_ALERTED(ped, p1, p2) end
--- @param ped number
--- @param targetPed number
--- @param p2 number
function TASK.TASK_ANIMAL_FLEE(ped, targetPed, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function TASK._0x244430C13BA5258E(p0, p1, p2, p3) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_EAT(ped, p1, p2) end
--- @param ped number
--- @param barkAtTarget number
--- @param mood number
function TASK.TASK_BARK(ped, barkAtTarget, mood) end
--- @param ped number
--- @param args number
function TASK.TASK_FOLLOW_PAVEMENT_TO_COORD(ped, args) end
--- If no timeout, set timeout to -1.
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param speedMultiplier number
--- @param timeout number
--- @param stoppingRange number
--- @param flags number
--- @param heading number
function TASK.TASK_FOLLOW_NAV_MESH_TO_COORD(ped, x, y, z, speedMultiplier, timeout, stoppingRange, flags, heading) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param speedMultiplier number
--- @param timeout number
--- @param stoppingRange number
--- @param flags number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param entity number
--- @param unk number
function TASK.TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED(ped, x, y, z, speedMultiplier, timeout, stoppingRange, flags, p8, p9, p10, entity, unk) end
--- @param ped number
--- @param toggle boolean
function TASK.SET_PED_PATH_CAN_USE_CLIMBOVERS(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function TASK.SET_PED_PATH_CAN_USE_LADDERS(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function TASK.SET_PED_PATH_CAN_DROP_FROM_HEIGHT(ped, toggle) end
--- @param p0 number
--- @return number
function TASK._0xE6A151364C600B24(p0) end
--- @param p0 number
--- @param p1 number
function TASK._0x1632EB9386CDBE64(p0, p1) end
--- @param ped number
--- @param modifier number
function TASK.SET_PED_PATH_CLIMB_COST_MODIFIER(ped, modifier) end
--- @param ped number
--- @param modifier number
function TASK.SET_PED_PATH_DEEP_SNOW_COST_MODIFIER(ped, modifier) end
--- @param ped number
--- @param modifier number
function TASK.SET_PED_PATH_FOLIAGE_COST_MODIFIER(ped, modifier) end
--- @param p0 number
--- @param p1 number
function TASK._0x8798CF6815B8FE0F(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x5B68D0007D9C92EB(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x82ED59F095056550(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xE01C8DC8EDD28D31(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x098CAA6DBE7D8D82(p0, p1) end
--- @param ped number
--- @return boolean
function TASK._GET_PED_IS_IGNORING_DEAD_BODIES(ped) end
--- @param ped number
--- @param toggle boolean
function TASK._SET_PED_IGNORE_DEAD_BODIES(ped, toggle) end
--- _SET_PED_PATH_P*
--- @param ped number
--- @param modifier number
function TASK._SET_PED_PATH_LADDER_COST_MODIFIER(ped, modifier) end
--- @param ped number
--- @param mayEnterWater boolean
function TASK.SET_PED_PATH_MAY_ENTER_WATER(ped, mayEnterWater) end
--- @param ped number
--- @param mayEnterDeepWater boolean
function TASK._SET_PED_PATH_MAY_ENTER_DEEP_WATER(ped, mayEnterDeepWater) end
--- @param ped number
--- @param preferStayInWater boolean
--- @param p2 number
function TASK._SET_PED_PATH_PREFER_STAY_IN_WATER(ped, preferStayInWater, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK._0xF948F4356F010F11(p0, p1, p2) end
--- @param ped number
--- @param avoidWater boolean
--- @param p2 number
function TASK.SET_PED_PATH_PREFER_TO_AVOID_WATER(ped, avoidWater, p2) end
--- @param ped number
--- @param preferAvoidMud boolean
--- @param p2 number
function TASK._SET_PED_PATH_PREFER_TO_AVOID_MUD(ped, preferAvoidMud, p2) end
--- @param ped number
--- @param preferAvoidFoliage boolean
--- @param p2 number
function TASK._SET_PED_PATH_PREFER_TO_AVOID_FOLIAGE(ped, preferAvoidFoliage, p2) end
--- @param ped number
--- @param avoidTraffic boolean
function TASK._SET_PED_PATH_AVOID_TRAFFIC(ped, avoidTraffic) end
--- @param ped number
--- @param avoidFire boolean
function TASK.SET_PED_PATH_AVOID_FIRE(ped, avoidFire) end
--- @param ped number
--- @param neverUseInteriors boolean
function TASK._SET_PED_PATH_NEVER_USE_INTERIORS(ped, neverUseInteriors) end
--- @param ped number
--- @param preferHorseWalkable boolean
--- @param p2 number
function TASK._SET_PED_PATH_PREFER_HORSE_WALKABLE(ped, preferHorseWalkable, p2) end
--- @param ped number
--- @param useSlidingSurfaces boolean
function TASK._SET_PED_PATH_MAY_USE_SLIDING_SURFACES(ped, useSlidingSurfaces) end
--- @param p0 number
--- @param p1 number
function TASK._0xFA30E2254461ADEB(p0, p1) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param speed number
--- @param entity number
--- @param p6 boolean
--- @param walkingStyle number
--- @param p8 number
function TASK.TASK_GO_TO_COORD_ANY_MEANS(ped, x, y, z, speed, entity, p6, walkingStyle, p8) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param speed number
--- @param p5 number
--- @param p6 boolean
--- @param walkingStyle number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
function TASK.TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS(ped, x, y, z, speed, p5, p6, walkingStyle, p8, p9, p10, p11, p12) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
function TASK.TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS_WITH_CRUISE_SPEED(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- https://github.com/femga/rdr3_discoveries/tree/master/animations
--- flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eScriptedAnimFlags
--- ikFlags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eIkControlFlags
--- @param ped number
--- @param animDict string
--- @param animName string
--- @param speed number
--- @param speedMultiplier number
--- @param duration number
--- @param flags number
--- @param playbackRate number
--- @param p8 boolean
--- @param ikFlags number
--- @param p10 boolean
--- @param taskFilter string
--- @param p12 boolean
function TASK.TASK_PLAY_ANIM(ped, animDict, animName, speed, speedMultiplier, duration, flags, playbackRate, p8, ikFlags, p10, taskFilter, p12) end
--- flags: see TASK_PLAY_ANIM
--- ikFlags: see TASK_PLAY_ANIM
--- @param ped number
--- @param animDict string
--- @param animName string
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param speed number
--- @param speedMultiplier number
--- @param duration number
--- @param flags number
--- @param p13 number
--- @param p14 number
--- @param p15 number
--- @param p16 number
function TASK.TASK_PLAY_ANIM_ADVANCED(ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, speed, speedMultiplier, duration, flags, p13, p14, p15, p16) end
--- @param ped number
--- @param animDict string
--- @param animName string
--- @param entity number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 boolean
--- @param p10 boolean
--- @param p11 number
--- @param p12 string
--- @param p13 number
--- @param p14 number
function TASK.TASK_PLAY_UPPER_ANIM_FACING_ENTITY(ped, animDict, animName, entity, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- @param ped number
--- @param animDictionary string
--- @param animationName string
--- @param p3 number
function TASK.STOP_ANIM_TASK(ped, animDictionary, animationName, p3) end
--- @param ped number
--- @param args number
function TASK.TASK_SCRIPTED_ANIMATION(ped, args) end
--- @param entity number
--- @param args number
function TASK.PLAY_ENTITY_SCRIPTED_ANIM(entity, args) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
function TASK.STOP_ANIM_PLAYBACK(ped, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.SET_ANIM_FILTER(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 boolean
function TASK.SET_ANIM_RATE(p0, p1, p2, p3) end
--- @param ped number
--- @param itemHash number
--- @param interactionAnimHash number
--- @param p3 number
--- @return boolean
function TASK.CAN_START_ITEM_INTERACTION(ped, itemHash, interactionAnimHash, p3) end
--- Params: p3 = 0, 1; p5 = 0.0f, -1.0f
--- https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_ITEM_INTERACTION
--- @param ped number
--- @param itemHash number
--- @param interactionAnimHash number
--- @param p3 number
--- @param flag number
--- @param p5 number
function TASK.START_TASK_ITEM_INTERACTION(ped, itemHash, interactionAnimHash, p3, flag, p5) end
--- @param ped number
--- @param propNameGxt number
--- @param prop number
--- @param propId number
--- @param itemInteractionState number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK._TASK_ITEM_INTERACTION_2(ped, propNameGxt, prop, propId, itemInteractionState, p5, p6, p7) end
--- Params: p3, p4, p5, p6: 0, 0, 0, -1.0f in R* Scripts
--- @param ped number
--- @param item number
--- @param guid number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK._TASK_ITEM_INTERACTION_3(ped, item, guid, p3, p4, p5, p6) end
--- All Interaction states
--- https://github.com/abdulkadiraktas/rdr3_discoveries/tree/master/tasks/ItemInteraction#4-item_interaction_state_name--item_interaction_propid
--- @param ped number
--- @param itemInteractionState number
--- @param p2 number
function TASK._SET_ITEM_INTERACTION_STATE(ped, itemInteractionState, p2) end
--- @param ped number
--- @return number
function TASK.GET_ITEM_INTERACTION_STATE(ped) end
--- @param ped number
--- @return number
function TASK.GET_ITEM_INTERACTION_ITEM_ID(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_RUNNING_INSPECTION_TASK(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_RUNNING_TASK_ITEM_INTERACTION(ped) end
--- item hashes: PRIMARYITEM, P_MUGCOFFEE01X_PH_R_HAND, P_BOTTLEBEER01X_PH_R_HAND
--- http://prntscr.com/1qtp3bz
--- https://github.com/femga/rdr3_discoveries/tree/master/tasks/TASK_ITEM_INTERACTION
--- @param ped number
--- @param item number
--- @return number
function TASK._GET_ITEM_INTERACTION_ENTITY_FROM_PED(ped, item) end
--- @param ped number
--- @param inputContext number
--- @return number
function TASK.GET_ITEM_INTERACTION_PROMPT_PROGRESS(ped, inputContext) end
--- Only used in R* SP Script beat_washed_ashore
--- Returns Object prop for TASK::_TASK_ITEM_INTERACTION_2
--- @param ped number
--- @param p1 boolean
--- @return number
function TASK._0x678D3226CF70B9C8(ped, p1) end
--- Params: p2 is returned by BUILTIN::SHIFT_LEFT
--- @param ped1 number
--- @param ped2 number
--- @param p2 number
function TASK.TASK_EVASIVE_ANIM(ped1, ped2, p2) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param duration number
--- @param flags number
--- @param p6 number
--- @param p7 boolean
function TASK.TASK_LOOK_AT_COORD(ped, x, y, z, duration, flags, p6, p7) end
--- param3: duration in ms, use -1 to look forever
--- param4: using 2048 is fine
--- param5: using 3 is fine
--- @param ped number
--- @param lookAtTarget number
--- @param duration number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK.TASK_LOOK_AT_ENTITY(ped, lookAtTarget, duration, p3, p4, p5) end
--- @param ped number
function TASK.TASK_CLEAR_LOOK_AT(ped) end
--- Only used in R* SP Scripts
--- Params: p4 = 1.0f - 30.0f
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @return boolean
function TASK._0x508F5053E3F6F0C4(ped, x, y, z, p4) end
--- @param p0 number
--- @param p1 number
function TASK._0x23767D80C7EED7C6(p0, p1) end
--- @param taskSequenceId any
function TASK.OPEN_SEQUENCE_TASK(taskSequenceId) end
--- @param taskSequenceId number
function TASK.CLOSE_SEQUENCE_TASK(taskSequenceId) end
--- @param ped number
--- @param taskSequenceId number
function TASK.TASK_PERFORM_SEQUENCE(ped, taskSequenceId) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._TASK_PERFORM_SEQUENCE_2(p0, p1, p2, p3) end
--- @param taskSequenceId any
function TASK.CLEAR_SEQUENCE_TASK(taskSequenceId) end
--- repeatMode: 0 = REPEAT_NOT; 1 = REPEAT_FOREVER
--- @param taskSequenceId number
--- @param repeatMode number
function TASK.SET_SEQUENCE_TO_REPEAT(taskSequenceId, repeatMode) end
--- returned values:
--- 0 to 7 = task that's currently in progress, 0 meaning the first one.
--- -1 no task sequence in progress.
--- @param ped number
--- @return number
function TASK.GET_SEQUENCE_PROGRESS(ped) end
--- @param ped number
--- @param taskIndex number
--- @return boolean
function TASK.GET_IS_TASK_ACTIVE(ped, taskIndex) end
--- Gets the status of a script-assigned task, and returns an int between 0-8
--- taskHash: https://alloc8or.re/rdr3/doc/enums/eScriptTaskHash.txt
--- 
--- WAITING_TO_START_TASK = 0,
--- PERFORMING_TASK
--- DORMANT_TASK
--- VACANT_STAGE
--- GROUP_TASK_STAGE
--- ATTRACTOR_SCRIPT_TASK_STAGE
--- SECONDARY_TASK_STAGE
--- TASK_NOT_FOUND
--- FINISHED_TASK
--- @param ped number
--- @param taskHash number
--- @param p2 boolean
--- @return number
function TASK.GET_SCRIPT_TASK_STATUS(ped, taskHash, p2) end
--- @param p0 number
--- @return number
function TASK._0x9FF5F9B24E870748(p0) end
--- @param ped number
--- @param task number
--- @return number
function TASK._GET_SCRIPT_TASK_ACTION_TIME(ped, task) end
--- lookIntensity: see SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
--- 
--- exitAnimation: LOOK_RETURN_GENERIC = 1,
--- LOOK_RETURN_DISMISSIVE = 2,
--- LOOK_RETURN_RELIEVED = 3
--- @param ped number
--- @param targetPed number
--- @param lookIntensity number
--- @param exitAnimation number
--- @param duration number
--- @param p5 number
--- @param targetPed2 number
--- @param p7 number
--- @param p8 number
function TASK.REACT_LOOK_AT(ped, targetPed, lookIntensity, exitAnimation, duration, p5, targetPed2, p7, p8) end
--- @param ped number
--- @param exitAnimation number
--- @param p2 boolean
function TASK.REACT_LOOK_AT_END(ped, exitAnimation, p2) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function TASK.IS_PED_SCENARIO_REACT_LOOKING(ped, p1) end
--- @param vehicle number
--- @return number
function TASK.GET_ACTIVE_VEHICLE_MISSION_TYPE(vehicle) end
--- flags: See TASK_ENTER_VEHICLE
--- @param ped number
--- @param p1 number
--- @param taskFlag number
function TASK.TASK_LEAVE_ANY_VEHICLE(ped, p1, taskFlag) end
--- @param p0 number
--- @return number
function TASK._0xBD70108D01875299(p0) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_USE_RANDOM_SCENARIO_IN_GROUP(ped, p1, p2, p3, p4) end
--- duration: the amount of time in milliseconds to do the task.  -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped
--- @param ped number
--- @param targetEntity number
--- @param duration number
--- @param p3 boolean
--- @param p4 number
function TASK.TASK_AIM_GUN_AT_ENTITY(ped, targetEntity, duration, p3, p4) end
--- duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped
--- @param ped number
--- @param targetEntity number
--- @param duration number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK.TASK_TURN_PED_TO_FACE_ENTITY(ped, targetEntity, duration, p3, p4, p5) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param time number
--- @param p5 boolean
--- @param p6 boolean
function TASK.TASK_AIM_GUN_AT_COORD(ped, x, y, z, time, p5, p6) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.TASK_AIM_AT_COORD(ped, p1, p2, p3, p4, p5, p6) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_AIM_AT_ENTITY(ped, p1, p2, p3, p4) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param duration number
--- @param firingPattern number
--- @param p6 number
function TASK.TASK_SHOOT_AT_COORD(ped, x, y, z, duration, firingPattern, p6) end
--- Makes the specified ped shuffle to the next vehicle seat.
--- The ped MUST be in a vehicle and the vehicle parameter MUST be the ped's current vehicle.
--- @param ped number
--- @param vehicle number
function TASK.TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT(ped, vehicle) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
function TASK.CLEAR_PED_TASKS(ped, p1, p2) end
--- @param p0 number
function TASK._0x1A7D63CB1B0BB223(p0) end
--- @param p0 number
function TASK._0xB2D15D3551FE4FAE(p0) end
--- @param ped number
function TASK._0xDF94844D474F31E5(ped) end
--- @param p0 number
function TASK._0xEBA2081E0A5F4D17(p0) end
--- @param vehicle number
function TASK._0x141BC64C8D7C5529(vehicle) end
--- @param ped number
function TASK.CLEAR_PED_SECONDARY_TASK(ped) end
--- @param vehicle number
--- @param p1 boolean
function TASK.TASK_EVERYONE_LEAVE_VEHICLE_IN_ORDER(vehicle, p1) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK.TASK_INVESTIGATE(ped, p1, p2, p3, p4, p5) end
--- @param ped number
--- @param entity number
--- @param p2 number
--- @param x number
--- @param y number
--- @param z number
--- @param duration number
function TASK.TASK_GOTO_ENTITY_OFFSET(ped, entity, p2, x, y, z, duration) end
--- @param ped number
--- @param entity number
--- @param duration number
--- @param targetRadius number
--- @param xOffset number
--- @param yOffset number
--- @param moveBlendRatio number
--- @param offsetFlags number
function TASK.TASK_GOTO_ENTITY_OFFSET_XY(ped, entity, duration, targetRadius, xOffset, yOffset, moveBlendRatio, offsetFlags) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.TASK_GOTO_ENTITY_OFFSET_XYZ(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.TASK_GOTO_ENTITY_OFFSET_XY_AIMING(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function TASK.TASK_GOTO_ENTITY_OFFSET_XYZ_AIMING(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK.TASK_FOLLOW_ENTITY_WHILE_AIMING_AT_ENTITY(ped, p1, p2, p3, p4, p5, p6, p7) end
--- duration in milliseconds
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param duration number
function TASK.TASK_TURN_PED_TO_FACE_COORD(ped, x, y, z, duration) end
--- Documentation from GTA V, might be the same in RDR:
--- 
--- '1 - brake
--- '3 - brake + reverse
--- '4 - turn left 90 + braking
--- '5 - turn right 90 + braking
--- '6 - brake strong (handbrake?) until time ends
--- '7 - turn left + accelerate
--- '7 - turn right + accelerate
--- '9 - weak acceleration
--- '10 - turn left + restore wheel pos to center in the end
--- '11 - turn right + restore wheel pos to center in the end
--- '13 - turn left + go reverse
--- '14 - turn left + go reverse
--- '16 - crash the game after like 2 seconds :)
--- '17 - keep actual state, game crashed after few tries
--- '18 - game crash
--- '19 - strong brake + turn left/right
--- '20 - weak brake + turn left then turn right
--- '21 - weak brake + turn right then turn left
--- '22 - brake + reverse
--- '23 - accelerate fast
--- '24 - brake
--- '25 - brake turning left then when almost stopping it turns left more
--- '26 - brake turning right then when almost stopping it turns right more
--- '27 - brake until car stop or until time ends
--- '28 - brake + strong reverse acceleration
--- '30 - performs a burnout (brake until stop + brake and accelerate)
--- '31 - accelerate + handbrake
--- '32 - accelerate very strong
--- 
--- Seems to be this:
--- Works on NPCs, but overrides their current task. If inside a task sequence (and not being the last task), "time" will work, otherwise the task will be performed forever until tasked with something else
--- @param driver number
--- @param vehicle number
--- @param action number
--- @param time number
function TASK.TASK_VEHICLE_TEMP_ACTION(driver, vehicle, action, time) end
--- @param driver number
--- @param vehicle number
--- @param vehicleTarget number
--- @param missionType number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param DriveAgainstTraffic boolean
function TASK.TASK_VEHICLE_MISSION(driver, vehicle, vehicleTarget, missionType, p4, p5, p6, p7, DriveAgainstTraffic) end
--- flags: 67108864, 2097152, 524564, 524675 (eDrivingFlags)
--- p7 = 6 or 3
--- p8 = x coordinate
--- p9 - 8.f
--- p10 = false
--- @param driver number
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param speed number
--- @param drivingFlags number
--- @param p7 number
--- @param stoppingRange1 number
--- @param stoppingRange2 number
--- @param p10 boolean
function TASK.TASK_VEHICLE_DRIVE_TO_DESTINATION(driver, vehicle, x, y, z, speed, drivingFlags, p7, stoppingRange1, stoppingRange2, p10) end
--- Tasks vehicle towards owner
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param speed number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK._TASK_VEHICLE_DRIVE_TO_DESTINATION_2(vehicle, x, y, z, speed, p5, p6, p7, p8) end
--- Vehicle Auto Drive (?)
--- p1/p2/p3: usually 1f, 1f, 0f or 0f, 0f, 0f
--- Speed: usually 8f
--- Types: 1148979456 (task with flee), 1148979587 (dismissing the vehicle)
--- @param vehicle number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param speed number
--- @param type number
function TASK._TASK_VEHICLE_FLEE_ON_CLEANUP(vehicle, p1, p2, p3, speed, type) end
--- Old name: _TASK_VEHICLE_DRIVE_TO_POINT
--- flag: 524419 and 0 in shop_horse_shop R* Script
--- @param driver number
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 number
--- @param p6 number
--- @param flag number
function TASK.TASK_VEHICLE_DRIVE_STRAIGHT_TO_POINT(driver, vehicle, x, y, z, p5, p6, flag) end
--- Params: p4 = 3.f or 8.f, p5 = 0.25f, p6 = 0 in R* Scripts
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK._TASK_VEHICLE_DRIVE_TO_POINT_2(vehicle, x, y, z, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x1D125814EBC517EB(p0, p1, p2, p3) end
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function TASK._0x583AE9AF9CEE0958(vehicle, x, y, z) end
--- See TASK_VEHICLE_MISSION
--- @param ped number
--- @param vehicle number
--- @param pedTarget number
--- @param mode number
--- @param maxSpeed number
--- @param drivingStyle number
--- @param minDistance number
--- @param p7 number
--- @param DriveAgainstTraffic boolean
function TASK.TASK_VEHICLE_MISSION_PED_TARGET(ped, vehicle, pedTarget, mode, maxSpeed, drivingStyle, minDistance, p7, DriveAgainstTraffic) end
--- @param p0 number
--- @param p1 number
function TASK._0xA263ADBBC8056214(p0, p1) end
--- @param ped number
--- @param vehicle number
--- @param targetVehicle number
--- @param mode number
--- @param speed number
--- @param drivingStyle number
--- @param minDistance number
--- @param p7 number
--- @param noRoadsDistance number
function TASK.TASK_VEHICLE_ESCORT(ped, vehicle, targetVehicle, mode, speed, drivingStyle, minDistance, p7, noRoadsDistance) end
--- @param pedDriver number
--- @param boat number
--- @param p2 number
--- @param p3 number
--- @param x number
--- @param y number
--- @param z number
--- @param p7 number
--- @param maxSpeed number
--- @param drivingStyle number
--- @param p10 number
--- @param p11 number
function TASK.TASK_BOAT_MISSION(pedDriver, boat, p2, p3, x, y, z, p7, maxSpeed, drivingStyle, p10, p11) end
--- @param ped number
function TASK.TASK_WEAPON(ped) end
--- @param driverPed number
--- @param targetPed number
--- @param targetVehicle number
--- @param targetX number
--- @param targetY number
--- @param targetZ number
--- @param distanceToShoot number
--- @param pedAccuracy number
--- @param p8 boolean
--- @param firingPattern number
function TASK.TASK_DRIVE_BY(driverPed, targetPed, targetVehicle, targetX, targetY, targetZ, distanceToShoot, pedAccuracy, p8, firingPattern) end
--- @param shootingPed number
--- @param targetPed number
--- @param targetVehicle number
--- @param x number
--- @param y number
--- @param z number
function TASK.SET_DRIVEBY_TASK_TARGET(shootingPed, targetPed, targetVehicle, x, y, z) end
--- @param ped number
function TASK.CLEAR_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK(ped) end
--- @param ped number
--- @return boolean
function TASK.GET_IS_PED_AIMING_IN_THE_AIR(ped) end
--- @param ped number
--- @param p1 number
function TASK._SET_PED_CLEAR_AIMING_IN_THE_AIR(ped, p1) end
--- @param ped number
--- @return boolean
function TASK.IS_MOUNTED_WEAPON_TASK_UNDERNEATH_DRIVING_TASK(ped) end
--- @param ped number
--- @param vehicle number
--- @param seat number
function TASK.TASK_WARP_PED_INTO_VEHICLE(ped, vehicle, seat) end
--- @param entity number
--- @param targetEntity number
--- @param duration number
--- @param firingPattern number
--- @param affectCockedState boolean
function TASK.TASK_SHOOT_AT_ENTITY(entity, targetEntity, duration, firingPattern, affectCockedState) end
--- @param ped number
--- @param args number
function TASK.TASK_SHOOT_WITH_WEAPON(ped, args) end
--- @param entity number
--- @param targetEntity number
--- @param duration number
--- @param p3 number
--- @param p4 number
function TASK._0x2416EC2F31F75266(entity, targetEntity, duration, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK._0x41323F4E0C4AE94B(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @return number
function TASK._0x5EA655F01D93667A(p0) end
--- Climbs or vaults the nearest thing.
--- @param ped number
--- @param unused boolean
function TASK.TASK_CLIMB(ped, unused) end
--- @param ped number
--- @param heading number
function TASK._TASK_CLIMB_2(ped, heading) end
--- @param ped number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
function TASK.TASK_CLIMB_LADDER(ped, p1, p2, p3) end
--- Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing.
--- 
--- resetCrouch TRUE = ped will stand up if crouching, FALSE = ped will remain crouching if crouched
--- @param ped number
--- @param p1 boolean
--- @param resetCrouch boolean
function TASK.CLEAR_PED_TASKS_IMMEDIATELY(ped, p1, resetCrouch) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.TASK_PERFORM_SEQUENCE_FROM_PROGRESS(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 number
function TASK.SET_PED_DESIRED_MOVE_BLEND_RATIO(ped, p1) end
--- @param ped number
--- @return number
function TASK.GET_PED_DESIRED_MOVE_BLEND_RATIO(ped) end
--- ped = Ped you want to perform this task.
--- target = the Entity they should aim at.
--- distanceToStopAt = distance from the target, where the ped should stop to aim.
--- StartAimingDist = distance where the ped should start to aim.
--- @param ped number
--- @param target number
--- @param distanceToStopAt number
--- @param StartAimingDist number
function TASK.TASK_GOTO_ENTITY_AIMING(ped, target, distanceToStopAt, StartAimingDist) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_SET_SPHERE_DEFENSIVE_AREA(ped, p1, p2, p3, p4) end
--- @param ped number
function TASK.TASK_CLEAR_DEFENSIVE_AREA(ped) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p5 number
function TASK.TASK_PED_SLIDE_TO_COORD(ped, x, y, z, heading, p5) end
--- @param p0 number
--- @return number
function TASK._0x9420FB11B8D77948(p0) end
--- @param p0 number
--- @return number
function TASK._0x6BA606AB3A83BC4D(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 boolean
--- @return number
function TASK.ADD_COVER_POINT(p0, p1, p2, p3, p4, p5, p6, p7) end
--- Returns the entity coverpoint with offset.
--- @param entity number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param heading number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @return number
function TASK._ADD_COVER_POINT_FOR_ENTITY(entity, xOffset, yOffset, zOffset, heading, p5, p6, p7, p8) end
--- @param coverpoint number
function TASK.REMOVE_COVER_POINT(coverpoint) end
--- Checks if there is a cover point at position
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return boolean
function TASK.DOES_SCRIPTED_COVER_POINT_EXIST_AT_COORDS(p0, p1, p2, p3) end
--- @param coverpoint number
--- @return { x: number, y: number, z: number }
function TASK.GET_SCRIPTED_COVER_POINT_COORDS(coverpoint) end
--- @param p0 number
--- @return { x: number, y: number, z: number }
function TASK._0xE116F6F2DA2D777E(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK._0x50AA09A0DA64E73C(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
function TASK._0xE5831AA1E2FD147C(p0) end
--- @param ped number
--- @param targetPed number
--- @param p2 number
--- @param p3 number
function TASK.TASK_COMBAT_PED(ped, targetPed, p2, p3) end
--- @param ped number
--- @param targetPed number
--- @param p2 number
--- @param p3 number
function TASK.TASK_COMBAT_PED_TIMED(ped, targetPed, p2, p3) end
--- Coords: volume coords used in R* Script smuggler2
--- p4/p5 = 0 in R* Scripts
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 number
function TASK._TASK_COMBAT_PED_AT_COORDS(ped, x, y, z, p4, p5) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param duration number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK.TASK_SEEK_COVER_FROM_POS(ped, x, y, z, duration, p5, p6, p7) end
--- @param ped number
--- @param fromPed number
--- @param duration number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK.TASK_SEEK_COVER_FROM_PED(ped, fromPed, duration, p3, p4, p5) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.TASK_SEEK_COVER_TO_COVER_POINT(ped, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function TASK.TASK_SEEK_COVER_TO_COORDS(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param timeout number
--- @param p5 boolean
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param coverpoint number
--- @param p10 boolean
--- @param p11 boolean
--- @param p12 number
function TASK.TASK_PUT_PED_DIRECTLY_INTO_COVER(ped, x, y, z, timeout, p5, p6, p7, p8, coverpoint, p10, p11, p12) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param fromX number
--- @param fromY number
--- @param fromZ number
--- @param timeout number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @param p15 number
--- @param p16 number
--- @param p17 number
function TASK._TASK_PUT_PED_DIRECTLY_INTO_COVER_FROM_COORDS(ped, x, y, z, fromX, fromY, fromZ, timeout, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17) end
--- meleeStyles: AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_MOUNT_FACEDOWN_FROM_FRONT, AR_ALLIGATOR_LEAPKILL, AR_ALLIGATOR_WAIST_AUTOKILL_FRONT
--- @param ped number
--- @param meleeTarget number
--- @param meleeStyle number
--- @param p3 number
--- @param animBlendRatio number
--- @param p5 boolean
--- @param p6 number
function TASK.TASK_PUT_PED_DIRECTLY_INTO_MELEE(ped, meleeTarget, meleeStyle, p3, animBlendRatio, p5, p6) end
--- grappleStyle: AR_GRAPPLE_STRUGGLE, AR_ALLIGATOR_LEG_GRAB_CHALLENGE_FAIL, AR_GRAPPLE_BACK_FROM_BACK, AR_GRAPPLE_BACK_DEFEND, AR_GRAPPLE_FRONT_FROM_FRONT
--- @param ped number
--- @param grappleTarget number
--- @param grappleStyle number
--- @param p3 number
--- @param p4 number
--- @param p5 boolean
--- @param p6 number
function TASK.TASK_PUT_PED_DIRECTLY_INTO_GRAPPLE(ped, grappleTarget, grappleStyle, p3, p4, p5, p6) end
--- @param ped number
--- @param p1 number
function TASK.TASK_COMPANION_AMBIENT(ped, p1) end
--- @param p0 number
function TASK._0x098036CAB8373D36(p0) end
--- @param p0 number
function TASK._0x10C44F633E2D6D9E(p0) end
--- @param p0 number
function TASK._0x7FB78B2199C10E92(p0) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_GUARD(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 boolean
function TASK.TASK_GUARD_CURRENT_POSITION(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK._TASK_GUARD_ASSIGNED_DEFENSIVE_AREA_2(ped, p1, p2, p3, p4, p5, p6, p7) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.TASK_GUARD_ASSIGNED_DEFENSIVE_AREA(ped, p1, p2, p3, p4, p5, p6) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param scenarioName string
function TASK.TASK_STAND_GUARD(ped, x, y, z, heading, scenarioName) end
--- @param driver number
--- @param cruiseSpeed number
function TASK.SET_DRIVE_TASK_CRUISE_SPEED(driver, cruiseSpeed) end
--- Not implemented.
--- @param ped number
--- @param maxCruiseSpeed number
function TASK.SET_DRIVE_TASK_MAX_CRUISE_SPEED(ped, maxCruiseSpeed) end
--- @param playerX number
--- @param playerY number
--- @param playerZ number
--- @param radiusX number
--- @param radiusY number
--- @param radiusZ number
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 boolean
function TASK.ADD_COVER_BLOCKING_AREA(playerX, playerY, playerZ, radiusX, radiusY, radiusZ, p6, p7, p8, p9) end
--- @param volume number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
function TASK._ADD_COVER_BLOCKING_VOLUME(volume, p1, p2, p3, p4) end
function TASK.REMOVE_ALL_COVER_BLOCKING_AREAS() end
--- @param p0 number
--- @param p1 number
function TASK._0x2A10538D0A005E81(p0, p1) end
function TASK._0x4F57397388E1DFF8() end
--- @param ped number
--- @param target number
--- @param p2 number
--- @param flag number
--- @param p4 number
function TASK.TASK_ROB_PED(ped, target, p2, flag, p4) end
--- @param ped number
--- @return boolean
function TASK._0xBEDBE39B5FD98FD6(ped) end
--- Returns scenario
--- @param scenarioHash number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p5 number
--- @param p6 number
--- @param p7 boolean
--- @return number
function TASK.CREATE_SCENARIO_POINT_HASH(scenarioHash, x, y, z, heading, p5, p6, p7) end
--- Returns scenario
--- @param entity number
--- @param scenarioHash number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param p6 number
--- @param p7 number
--- @param p8 boolean
--- @return number
function TASK.CREATE_SCENARIO_POINT_HASH_ATTACHED_TO_ENTITY(entity, scenarioHash, x, y, z, heading, p6, p7, p8) end
--- @param scenario number
--- @return boolean
function TASK._DOES_SCENARIO_POINT_HAVE_PROPS(scenario) end
--- Old name: _GET_SCENARIO_POINT_ENTITY
--- @param scenarioPoint number
--- @param name string
--- @return number
function TASK.GET_PROP_FOR_SCENARIO_POINT(scenarioPoint, name) end
--- @param scenario number
--- @param entity number
--- @param propName string
--- @param p3 boolean
--- @return boolean
function TASK._ASSOCIATE_PROP_WITH_SCENARIO(scenario, entity, propName, p3) end
--- flag: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/CScenarioPointFlags__Flags
--- @param scenario number
--- @param flag number
--- @param value boolean
function TASK._SET_SCENARIO_POINT_FLAG(scenario, flag, value) end
--- @param scenario number
--- @param flag number
--- @return boolean
function TASK._IS_SCENARIO_POINT_FLAG_SET(scenario, flag) end
--- _SET_SCENARIO_POINT_*
--- @param p0 number
--- @param p1 number
function TASK._0xADC45010BC17AF0E(p0, p1) end
--- @param p0 number
--- @return number
function TASK._0x974DA3408DEC4E79(p0) end
--- @param scenario number
--- @param propName string
--- @return boolean
function TASK._DISASSOCIATE_PROP_FROM_SCENARIO(scenario, propName) end
--- @param scenario number
--- @return boolean
function TASK.DOES_SCENARIO_POINT_EXIST(scenario) end
--- @param p0 number
--- @return number
function TASK._0x22CD2C33ED4467A1(p0) end
--- Note: The current name for this native is the old name of 0x295514F198EFD0CA
--- Old name for this native: _GET_ENTITY_SCENARIO_POINT_IS_ATTACHED_TO
--- @param scenario number
--- @return number
function TASK._GET_SCENARIO_POINT_ENTITY(scenario) end
--- @param scenario number
--- @return number
function TASK._GET_PED_USING_SCENARIO_POINT(scenario) end
--- Params: p1 is always true in R* Scripts
--- @param scenario number
--- @param p1 boolean
--- @return { x: number, y: number, z: number }
function TASK._GET_SCENARIO_POINT_COORDS(scenario, p1) end
--- @param p0 number
--- @return { x: number, y: number, z: number }
function TASK._0x91CB5E431F579BA1(p0) end
--- @param p0 number
--- @return number
function TASK._0x370F57C47F68EBCA(p0) end
--- Params: p1 is always true in R* Scripts
--- @param scenario number
--- @param p1 boolean
--- @return number
function TASK._GET_SCENARIO_POINT_HEADING(scenario, p1) end
--- @param scenario number
--- @return number
function TASK._GET_SCENARIO_POINT_RADIUS(scenario) end
--- @param scenario number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param p4 boolean
function TASK._SET_SCENARIO_POINT_COORDS(scenario, xPos, yPos, zPos, p4) end
--- @param scenario number
--- @param heading number
--- @param p2 boolean
function TASK._SET_SCENARIO_POINT_HEADING(scenario, heading, p2) end
--- @param scenario number
--- @param radius number
function TASK._SET_SCENARIO_POINT_RADIUS(scenario, radius) end
--- _SET_SCENARIO_*
--- @param p0 number
--- @param p1 number
function TASK._0xA7479FB665361EDB(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xE69FDA40AAC3EFC0(p0, p1) end
--- Note: scenariosInRadius is an array, and its size and values should be aligned to 8 bytes.
--- @param posX number
--- @param posY number
--- @param posZ number
--- @param radius number
--- @param scenariosInRadius number
--- @param size number
--- @return number
function TASK.GET_SCENARIO_POINTS_IN_AREA(posX, posY, posZ, radius, scenariosInRadius, size) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function TASK._0xEFD875C2791EBEFD(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function TASK._0x152664AA3188B193(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function TASK._0xE7BBC4E56B989449(p0, p1, p2) end
--- @param ped number
--- @param p1 boolean
--- @return number
function TASK._GET_SCENARIO_POINT_PED_IS_USING(ped, p1) end
--- @param ped number
--- @return number
function TASK.GET_RANSACK_SCENARIO_POINT_PED_IS_USING(ped) end
--- Opens/closes containers: ChestDugUp
--- @param entity number
--- @param open boolean
function TASK._SET_SCENARIO_CONTAINER_OPENING_STATE(entity, open) end
--- @param p0 number
--- @return number
function TASK._0xA9E7672F8C6C6F74(p0) end
--- @param p0 number
--- @return number
function TASK._0x0A98A362C5A19A43(p0) end
--- @param p0 number
--- @return number
function TASK._0x849791EBBDBA0362(p0) end
--- @param p0 number
--- @return number
function TASK._0x640A602946A8C972(p0) end
--- @param p0 number
--- @return number
function TASK._0x01AF8A3729231A43(p0) end
--- Returns m_eContainerState
--- @param entity number
--- @return boolean
function TASK._GET_SCENARIO_CONTAINER_OPENING_STATE(entity) end
--- @param scenario number
--- @param entity number
function TASK._RESET_SCENARIO_FOR_ENTITY(scenario, entity) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x4161648394262FDF(p0, p1, p2, p3) end
--- @param p0 number
function TASK._0x9C8F42A5D1859DC1(p0) end
--- @param scenario number
function TASK._DELETE_SCENARIO_POINT(scenario) end
--- @param ped number
--- @param scenario number
--- @param conditionalAnim string
--- @param p3 number
--- @param p4 boolean
--- @param p5 boolean
--- @param p6 number
--- @param p7 boolean
--- @param p8 number
--- @param p9 boolean
function TASK.TASK_USE_SCENARIO_POINT(ped, scenario, conditionalAnim, p3, p4, p5, p6, p7, p8, p9) end
--- @param ped number
--- @param ped2 number
--- @param p2 number
--- @param p3 string
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 boolean
function TASK._TASK_USE_SCENARIO_POINT_2(ped, ped2, p2, p3, p4, p5, p6, p7) end
--- https://github.com/femga/rdr3_discoveries/blob/master/animations/scenarios
--- Params: duration in milliseconds
--- 
--- conditionalHash (optionally):
--- 0 = play random conditional anim.
--- Every conditional anim has requirements to play it.
--- If requirements are not met, ped plays random allowed conditional anim or can be stuck.
--- For example, this scenario type has possible conditional anim WORLD_HUMAN_LEAN_BACK_WALL_SMOKING_MALE_D, but it can not be played by player, because condition is set to NOT be CAIConditionIsPlayer (check file amb_rest.meta and amb_rest_CA.meta with OPENIV to clarify requirements).
--- @param ped number
--- @param scenarioHash number
--- @param duration number
--- @param playEnterAnim boolean
--- @param conditionalHash number
--- @param heading number
--- @param p6 boolean
function TASK.TASK_START_SCENARIO_IN_PLACE_HASH(ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading, p6) end
--- Takes scenario point handle instead of hash
--- @param ped number
--- @param p1 number
--- @param p2 string
--- @param p3 number
--- @param p4 boolean
--- @param p5 number
--- @param p6 boolean
function TASK._TASK_START_SCENARIO_IN_PLACE_2(ped, p1, p2, p3, p4, p5, p6) end
--- @param ped number
--- @param scenarioHash number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param duration number
--- @param sittingScenario boolean
--- @param teleport boolean
--- @param p9 string
--- @param p10 number
--- @param p11 boolean
function TASK.TASK_START_SCENARIO_AT_POSITION(ped, scenarioHash, x, y, z, heading, duration, sittingScenario, teleport, p9, p10, p11) end
--- @param p0 number
--- @return number
function TASK._0xF97F462779B31786(p0) end
--- @param p0 number
--- @return number
function TASK._0x6C269F673C47031E(p0) end
--- @param p0 number
function TASK._0x9667CCE29BFA0780(p0) end
--- @param p0 number
--- @return number
function TASK._0x00FFE0F85253C572(p0) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param duration number
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 boolean
function TASK._TASK_USE_NEAREST_SCENARIO_TO_COORD(ped, x, y, z, distance, duration, p6, p7, p8, p9) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param duration number
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
--- @param p9 boolean
function TASK.TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP(ped, x, y, z, distance, duration, p6, p7, p8, p9) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
function TASK.TASK_USE_NEAREST_TRAIN_SCENARIO_TO_COORD_WARP(ped, x, y, z, distance) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
function TASK.TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD(ped, x, y, z, distance, p5, p6, p7, p8) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param p5 boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param p8 boolean
function TASK.TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD_WARP(ped, x, y, z, distance, p5, p6, p7, p8) end
--- @param ped number
--- @return number
function TASK._0xFDECCA06E8B81346(ped) end
--- @param ped number
--- @param p1 number
--- @return number
function TASK._0x2D657B10F211C572(ped, p1) end
--- @param ped number
--- @param train number
--- @param scenarioPoint number
--- @param scenarioHash number
function TASK.TASK_RIDE_TRAIN(ped, train, scenarioPoint, scenarioHash) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function TASK._0x79197F7D2BB5E73A(p0, p1, p2, p3, p4, p5) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 boolean
--- @param p5 number
--- @param p6 boolean
--- @return boolean
function TASK.DOES_SCENARIO_EXIST_IN_AREA(x, y, z, radius, p4, p5, p6) end
--- @param x number
--- @param y number
--- @param z number
--- @param typeHash number
--- @param radius number
--- @param p5 boolean
--- @return boolean
function TASK.DOES_SCENARIO_OF_TYPE_EXIST_IN_AREA_HASH(x, y, z, typeHash, radius, p5) end
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param scenarioType number
--- @param distance number
--- @param p5 number
--- @param p6 boolean
--- @return number
function TASK.FIND_SCENARIO_OF_TYPE_HASH(xPos, yPos, zPos, scenarioType, distance, p5, p6) end
--- @param p0 number
--- @param p1 number
function TASK._0x0D322AEF8878B8FE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function TASK._0xD508FA229F1C4900(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK._0xB8E213D02F37947D(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
--- @return boolean
function TASK.IS_SCENARIO_OCCUPIED(p0, p1, p2, p3, p4) end
--- @param scenario number
--- @return number
function TASK._0x1ACBC313966C21F3(scenario) end
--- @param ped number
--- @return boolean
function TASK.PED_HAS_USE_SCENARIO_TASK(ped) end
--- @param ped number
--- @return boolean
function TASK._PED_IS_IN_SCENARIO_BASE(ped) end
--- @param p0 number
--- @param p1 number
--- @return number
function TASK._0x90703A8F75EE4ABD(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK._0xD999E379265A4501(p0, p1, p2) end
--- @param ped number
--- @param animDict string
--- @param animName string
function TASK.PLAY_ANIM_ON_RUNNING_SCENARIO(ped, animDict, animName) end
--- @return number
function TASK._0x74F0209674864CBD() end
--- @return number
function TASK._0xE1C105E6BBA48270() end
--- @param p0 number
--- @return number
function TASK._0x1AC5A8AB50CFAA33(p0) end
--- @param p0 number
function TASK._0xBEEFBB608D2AA68A(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK._0x19BC99C678FBA139(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x5D9B0BAAF04CF65B(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function TASK._0x9B6A58FDB0024F12(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xBC3F847AE2C3DC65(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x450080DDEDB91258(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x954451EA2D2120FB(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x0F4F6C4CE471259D(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xB8E3486D107F4194(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x827A58CED9D4D5B4(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x4A7D73989F52EB37(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xB79817DB31FF72B9(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x65D281985F2BDFC2(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x885D19AC2B6FBFF4(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x2064B33F6E6B92D4(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0xCE4E669400E5F8AA(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function TASK._0x2EB977293923C723(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xE9225354FB7437A7(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x764DB5A48390FBAD(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x8F8C84363810691A(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xFF8AFCA532B500D4(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function TASK._0xFE5D28B9B7837CC1(p0, p1, p2, p3) end
--- @param p0 number
function TASK._0x2B8AF29A78024BD3(p0) end
--- @param p0 number
--- @return number
function TASK._0x0365000D8BF86531(p0) end
--- @param p0 number
--- @return { x: number, y: number, z: number }
function TASK._0x865732725536EE39(p0) end
function TASK._0x0E184495B27BB57D() end
--- @param scenarioGroup string
--- @return boolean
function TASK.DOES_SCENARIO_GROUP_EXIST(scenarioGroup) end
--- @param scenarioGroup number
--- @return boolean
function TASK._DOES_SCENARIO_GROUP_EXIST_HASH(scenarioGroup) end
--- @param scenarioGroup string
--- @return boolean
function TASK.IS_SCENARIO_GROUP_ENABLED(scenarioGroup) end
--- @param scenarioGroup number
--- @return boolean
function TASK._IS_SCENARIO_GROUP_ENABLED_HASH(scenarioGroup) end
--- @param scenarioGroup string
--- @param toggle boolean
function TASK.SET_SCENARIO_GROUP_ENABLED(scenarioGroup, toggle) end
--- @param scenarioGroup number
--- @param toggle boolean
function TASK._SET_SCENARIO_GROUP_ENABLED_HASH(scenarioGroup, toggle) end
function TASK.RESET_SCENARIO_GROUPS_ENABLED() end
--- @param p0 number
function TASK._0x358A1A751B335A11(p0) end
--- @param p0 number
--- @param p1 number
function TASK.FORCE_SCENARIO_GROUP_PRIORITY(p0, p1) end
--- @param p0 number
--- @return number
function TASK._0xE55478C5EDF70AC2(p0) end
--- @param scenario number
--- @return boolean
function TASK._IS_SCENARIO_POINT_ACTIVE(scenario) end
--- @param scenario number
--- @param active boolean
function TASK._SET_SCENARIO_POINT_ACTIVE(scenario, active) end
--- @param scenario number
function TASK._RESET_SCENARIO_SCRIPT(scenario) end
--- @param scenarioType string
--- @return boolean
function TASK.IS_SCENARIO_TYPE_ENABLED(scenarioType) end
--- @param scenarioType string
--- @param toggle boolean
function TASK.SET_SCENARIO_TYPE_ENABLED(scenarioType, toggle) end
--- @param scenarioType number
--- @param toggle boolean
function TASK._SET_SCENARIO_TYPE_ENABLED_HASH(scenarioType, toggle) end
function TASK.RESET_SCENARIO_TYPES_ENABLED() end
--- @param ped number
--- @return number
function TASK._GET_SCENARIO_POINT_TYPE_PED_IS_USING(ped) end
--- @param scenario number
--- @return number
function TASK._GET_SCENARIO_POINT_TYPE(scenario) end
--- @param ped number
--- @param scenario number
--- @return boolean
function TASK.IS_PED_ACTIVE_IN_SCENARIO(ped, scenario) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function TASK.IS_PED_EXITING_SCENARIO(ped, p1) end
--- @param p0 number
--- @return number
function TASK._0x2C497BDEF897C6DF(p0) end
--- Despite its name, it only attacks ONE hated target. The one closest to the specified position.
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param flags number
--- @param p6 number
function TASK.TASK_COMBAT_HATED_TARGETS_IN_AREA(ped, x, y, z, radius, flags, p6) end
--- @param ped number
--- @param radius number
function TASK.TASK_COMBAT_HATED_TARGETS_NO_LOS_TEST(ped, radius) end
--- Despite its name, it only attacks ONE hated target. The one closest hated target.
--- @param ped number
--- @param radius number
--- @param flags number
--- @param p3 number
function TASK.TASK_COMBAT_HATED_TARGETS_AROUND_PED(ped, radius, flags, p3) end
--- @param ped number
--- @param radius number
--- @param time number
--- @param flags number
function TASK.TASK_COMBAT_HATED_TARGETS_AROUND_PED_TIMED(ped, radius, time, flags) end
--- @param ped number
--- @param radius number
function TASK.TASK_COMBAT_HATED_TARGETS(ped, radius) end
--- @param p0 number
function TASK._0x30B391915538EBE2(p0) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.TASK_THROW_PROJECTILE(ped, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._TASK_THROW_PROJECTILE_2(p0, p1, p2, p3) end
--- https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/aud_ped_whistle_types.lua
--- p2: UNSPECIFIED
--- @param ped number
--- @param audPedWhistleType number
--- @param p2 number
function TASK.TASK_WHISTLE_ANIM(ped, audPedWhistleType, p2) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.TASK_SWAP_WEAPON(ped, p1, p2, p3, p4) end
--- @param ped number
--- @param p1 boolean
function TASK._0x0000A8ACDC2E1B6A(ped, p1) end
--- @param ped number
--- @param unused boolean
function TASK.TASK_RELOAD_WEAPON(ped, unused) end
--- @param ped number
--- @param p1 number
function TASK.TASK_PICK_UP_WEAPON(ped, p1) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_GETTING_UP(ped) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK.TASK_ANIMAL_WRITHE(ped, p1, p2) end
--- @param ped number
--- @param killer number
--- @param p2 boolean
--- @param weaponHash number
--- @param p4 number
--- @param p5 number
function TASK._TASK_ANIMAL_BLEED_OUT(ped, killer, p2, weaponHash, p4, p5) end
--- This native checks if a ped is on the ground, in pain from a (gunshot) wound.
--- @param ped number
--- @return boolean
function TASK.IS_PED_IN_WRITHE(ped) end
--- Used for HORSE_REVIVE
--- @param scriptStruct number
--- @param p1 boolean
--- @return boolean
function TASK._0x3F8387DB1B9F31B7(scriptStruct, p1) end
--- @param p0 boolean
--- @return boolean
function TASK._0x756C7B4C43DF0422(p0) end
--- @return number
function TASK._0x351F74ED6177EBE7() end
--- @param ped number
--- @return boolean
function TASK._IS_ENTITY_REVIVABLE(ped) end
--- @param ped number
--- @param reviver number
--- @param tool number
function TASK.TASK_REVIVE_TARGET(ped, reviver, tool) end
--- Note: patrolRoute must be prefixed with 'miss_' for it to be valid
--- @param patrolRoute string
function TASK.OPEN_PATROL_ROUTE(patrolRoute) end
function TASK.CLOSE_PATROL_ROUTE() end
--- @param nodeId number
--- @param scenarioName string
--- @param x number
--- @param y number
--- @param z number
--- @param lookPosX number
--- @param lookPosY number
--- @param lookPosZ number
--- @param duration number
--- @param p9 boolean
function TASK.ADD_PATROL_ROUTE_NODE(nodeId, scenarioName, x, y, z, lookPosX, lookPosY, lookPosZ, duration, p9) end
--- @param node1 number
--- @param node2 number
function TASK.ADD_PATROL_ROUTE_LINK(node1, node2) end
function TASK.CREATE_PATROL_ROUTE() end
--- @param patrolRoute string
function TASK.DELETE_PATROL_ROUTE(patrolRoute) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function TASK._0x643FD1556F621772(p0, p1, p2) end
--- @param ped number
--- @param patrolRoute string
--- @param p2 number
--- @param p3 boolean
--- @param p4 boolean
function TASK.TASK_PATROL(ped, patrolRoute, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function TASK._TASK_PATROL_2(p0, p1, p2, p3, p4, p5, p6, p7) end
--- Makes the ped run to take cover
--- @param ped number
function TASK.TASK_STAY_IN_COVER(ped) end
--- @param ped number
--- @param target number
--- @param p2 number
function TASK.TASK_VEHICLE_SHOOT_AT_PED(ped, target, p2) end
--- @param ped number
--- @param target number
function TASK.TASK_VEHICLE_AIM_AT_PED(ped, target) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
function TASK.TASK_VEHICLE_SHOOT_AT_COORD(ped, x, y, z, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0xAF2EF28CE3084505(p0, p1, p2, p3) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
function TASK.TASK_VEHICLE_AIM_AT_COORD(ped, x, y, z) end
--- @param ped number
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param speed number
--- @param behaviorFlag number
--- @param stoppingRange number
function TASK.TASK_VEHICLE_GOTO_NAVMESH(ped, vehicle, x, y, z, speed, behaviorFlag, stoppingRange) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @param p15 number
function TASK.TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @param p15 number
function TASK.TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD_USING_COMBAT_STYLE(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) end
--- @param ped1 number
--- @param x number
--- @param y number
--- @param z number
--- @param ped2 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param firingPattern number
--- @param p13 number
--- @param p14 number
function TASK.TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY(ped1, x, y, z, ped2, p5, p6, p7, p8, p9, p10, p11, firingPattern, p13, p14) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
function TASK.TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY_USING_COMBAT_STYLE(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- shootatEntity:
--- If true, peds will shoot at Entity till it is dead.
--- If false, peds will just walk till they reach the entity and will cease shooting.
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function TASK.TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function TASK.TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY_USING_COMBAT_STYLE(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param ped number
--- @param goToLocationX number
--- @param goToLocationY number
--- @param goToLocationZ number
--- @param focusLocationX number
--- @param focusLocationY number
--- @param focusLocationZ number
--- @param speed number
--- @param shootAtEnemies boolean
--- @param distanceToStopAt number
--- @param noRoadsDistance number
--- @param unkTrue boolean
--- @param unkFlag number
--- @param aimingFlag number
--- @param firingPattern number
function TASK.TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(ped, goToLocationX, goToLocationY, goToLocationZ, focusLocationX, focusLocationY, focusLocationZ, speed, shootAtEnemies, distanceToStopAt, noRoadsDistance, unkTrue, unkFlag, aimingFlag, firingPattern) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
function TASK.TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD_USING_COMBAT_STYLE(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- Makes the ped ragdoll like when falling from a great height
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.SET_HIGH_FALL_TASK(ped, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK._0x5217B7B6DB78E1F3(p0, p1, p2, p3, p4) end
--- @param waypointRecording string
function TASK.REQUEST_WAYPOINT_RECORDING(waypointRecording) end
--- @param waypointRecording string
--- @return boolean
function TASK.GET_IS_WAYPOINT_RECORDING_LOADED(waypointRecording) end
--- @param waypointRecording string
function TASK.REMOVE_WAYPOINT_RECORDING(waypointRecording) end
function TASK._0xF718931A82EEB898() end
--- @param waypointRecording string
--- @param points any
--- @return boolean
function TASK.WAYPOINT_RECORDING_GET_NUM_POINTS(waypointRecording, points) end
--- @param waypointRecording string
--- @param point number
--- @param coord number
--- @return boolean
function TASK.WAYPOINT_RECORDING_GET_COORD(waypointRecording, point, coord) end
--- @param waypointRecording string
--- @param point number
--- @return number
function TASK.WAYPOINT_RECORDING_GET_SPEED_AT_POINT(waypointRecording, point) end
--- @param waypointRecording string
--- @param x number
--- @param y number
--- @param z number
--- @param point any
--- @return boolean
function TASK.WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT(waypointRecording, x, y, z, point) end
--- @param ped number
--- @param p1 number
function TASK.TASK_FOLLOW_WAYPOINT_RECORDING_ADVANCED(ped, p1) end
--- @param ped number
--- @param waypointRecording string
--- @param p2 number
--- @param flag number
--- @param p4 number
--- @param p5 boolean
--- @param p6 number
--- @param p7 number
function TASK.TASK_FOLLOW_WAYPOINT_RECORDING(ped, waypointRecording, p2, flag, p4, p5, p6, p7) end
--- @param ped number
--- @param waypointRecording string
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 boolean
function TASK.TASK_FOLLOW_WAYPOINT_RECORDING_AT_OFFSET(ped, waypointRecording, p2, p3, p4, p5, p6) end
--- @param ped0 number
--- @param ped1 number
--- @param waypointRecording string
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 boolean
function TASK.TASK_FOLLOW_ENTITY_ALONG_WAYPOINT_RECORDING_AT_OFFSET(ped0, ped1, waypointRecording, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param waypointRecording string
--- @return boolean
function TASK.IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_PED(ped, waypointRecording) end
--- @param ped number
--- @return number
function TASK.GET_PED_WAYPOINT_PROGRESS(ped) end
--- @param ped number
--- @return number
function TASK.GET_PED_WAYPOINT_DISTANCE(ped) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return boolean
function TASK.SET_PED_WAYPOINT_ROUTE_OFFSET(ped, p1, p2, p3) end
--- @param waypointRecording string
--- @param p1 number
--- @return number
function TASK.GET_WAYPOINT_DISTANCE_ALONG_ROUTE(waypointRecording, p1) end
--- @param waypointRecording string
--- @param x number
--- @param y number
--- @param z number
--- @return number
function TASK._0x3ACC128510142B9D(waypointRecording, x, y, z) end
--- @param ped number
--- @return boolean
function TASK.WAYPOINT_PLAYBACK_GET_IS_PAUSED(ped) end
--- @param ped number
--- @return boolean
function TASK.WAYPOINT_PLAYBACK_GET_IS_AIMING(ped) end
--- @param ped number
--- @return boolean
function TASK.WAYPOINT_PLAYBACK_GET_IS_SHOOTING(ped) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.WAYPOINT_PLAYBACK_PAUSE(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
function TASK.WAYPOINT_PLAYBACK_RESUME(ped, p1, p2, p3) end
--- @param ped number
--- @param speed number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.WAYPOINT_PLAYBACK_OVERRIDE_SPEED(ped, speed, p2, p3, p4) end
--- @param ped number
function TASK.WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED(ped) end
--- @param ped number
--- @return number
function TASK.GET_PED_WAYPOINT_OVERRIDE_SPEED(ped) end
--- @param waypointRecording string
--- @param p1 boolean
--- @param p2 number
--- @param p3 number
--- @param p4 boolean
function TASK.USE_WAYPOINT_RECORDING_AS_ASSISTED_MOVEMENT_ROUTE(waypointRecording, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.WAYPOINT_PLAYBACK_START_AIMING_AT_PED(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.WAYPOINT_PLAYBACK_START_AIMING_AT_ENTITY(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TASK.WAYPOINT_PLAYBACK_START_AIMING_AT_COORD(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.WAYPOINT_PLAYBACK_START_SHOOTING_AT_PED(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK.WAYPOINT_PLAYBACK_START_SHOOTING_AT_ENTITY(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK.WAYPOINT_PLAYBACK_START_SHOOTING_AT_COORD(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
function TASK.WAYPOINT_PLAYBACK_STOP_AIMING_OR_SHOOTING(p0) end
--- @param route string
function TASK.ASSISTED_MOVEMENT_REMOVE_ROUTE(route) end
--- @param pathName string
--- @param p1 number
--- @param nodes number
--- @param p3 number
--- @return boolean
function TASK._CREATE_WAYPOINT_PATH(pathName, p1, nodes, p3) end
--- @param route string
--- @return boolean
function TASK.ASSISTED_MOVEMENT_IS_ROUTE_LOADED(route) end
--- @param route string
--- @param props number
function TASK.ASSISTED_MOVEMENT_SET_ROUTE_PROPERTIES(route, props) end
--- @param p0 number
--- @param p1 number
function TASK.SET_ENABLE_SPEED_RESTRAIN_FOR_WAYPOINT_RECORDING_LEADER(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TASK.SET_UP_SPEED_RESTRAIN_INFORMATION_FOR_PLAYER_FOLLOWER(p0, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param ped number
--- @param vehicle number
--- @param waypointRecording string
--- @param drivingMode number
--- @param p4 number
--- @param eWaypoint number
--- @param flag number
--- @param p7 number
--- @param p8 boolean
--- @param stoppingDist number
--- @param p10 number
function TASK.TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING(ped, vehicle, waypointRecording, drivingMode, p4, eWaypoint, flag, p7, p8, stoppingDist, p10) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function TASK._TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING_2(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function TASK.IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE(p0, p1) end
--- @param vehicle number
--- @return number
function TASK.GET_VEHICLE_WAYPOINT_PROGRESS(vehicle) end
--- @param vehicle number
--- @return number
function TASK.GET_VEHICLE_WAYPOINT_TARGET_POINT(vehicle) end
--- @param vehicle number
function TASK.VEHICLE_WAYPOINT_PLAYBACK_PAUSE(vehicle) end
--- @param p0 number
--- @return number
function TASK.VEHICLE_WAYPOINT_PLAYBACK_GET_IS_PAUSED(p0) end
--- @param vehicle number
function TASK.VEHICLE_WAYPOINT_PLAYBACK_RESUME(vehicle) end
--- @param vehicle number
function TASK.VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED(vehicle) end
--- @param vehicle number
--- @param speed number
function TASK.VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED(vehicle, speed) end
--- @param p0 number
--- @return number
function TASK.GET_VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED(p0) end
--- @param ped number
--- @param toggle boolean
function TASK.TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, toggle) end
--- @param ped number
--- @param p1 boolean
--- @param p2 number
--- @param p3 boolean
function TASK.TASK_SET_STEALTH_MOVEMENT(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 boolean
--- @param p2 number
--- @param p3 boolean
function TASK.TASK_SET_CROUCH_MOVEMENT(ped, p1, p2, p3) end
--- motionStateHash: see FORCE_PED_MOTION_STATE
--- @param ped number
--- @param motionStateHash number
--- @param p2 boolean
function TASK.TASK_FORCE_MOTION_STATE(ped, motionStateHash, p2) end
--- @param ped number
--- @param task string
--- @param multiplier number
--- @param p3 boolean
--- @param animDict string
--- @param flags number
function TASK.TASK_MOVE_NETWORK_BY_NAME(ped, task, multiplier, p3, animDict, flags) end
--- @param ped number
--- @param moveNetworkDefName string
--- @param taskData number
--- @param p3 number
--- @param p4 boolean
--- @param animDict string
--- @param flags number
function TASK.TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS(ped, moveNetworkDefName, taskData, p3, p4, animDict, flags) end
--- @param ped number
--- @param moveNetworkDefName string
--- @param taskData number
--- @param xPos number
--- @param yPos number
--- @param zPos number
--- @param xRot number
--- @param yRot number
--- @param zRot number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param flag number
--- @param p14 number
function TASK.TASK_MOVE_NETWORK_ADVANCED_BY_NAME_WITH_INIT_PARAMS(ped, moveNetworkDefName, taskData, xPos, yPos, zPos, xRot, yRot, zRot, p9, p10, p11, p12, flag, p14) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @param p15 number
--- @param p16 number
--- @param p17 number
function TASK.TASK_MOVE_NETWORK_ADVANCED_BY_NAME_WITH_INIT_PARAMS_ATTACHED(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17) end
--- @param ped number
--- @return boolean
function TASK.IS_TASK_MOVE_NETWORK_ACTIVE(ped) end
--- Returns hash of the underlying move network def, see move_networks.xml
--- https://alloc8or.re/rdr3/doc/misc/move_networks.txt
--- @param ped number
--- @return number
function TASK._GET_TASK_MOVE_NETWORK_ID(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_TASK_MOVE_NETWORK_READY_FOR_TRANSITION(ped) end
--- @param ped number
--- @param name string
function TASK.REQUEST_TASK_MOVE_NETWORK_STATE_TRANSITION(ped, name) end
--- @param ped number
--- @return string
function TASK.GET_TASK_MOVE_NETWORK_STATE(ped) end
--- @param p0 number
--- @return number
function TASK._0xE9A6400D1A0E7A55(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK._0x615DC4A82E90BB48(p0, p1, p2) end
--- @param ped number
--- @param signalName string
--- @param value number
function TASK.SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT(ped, signalName, value) end
--- @param ped number
--- @param signalName string
--- @param value number
function TASK._SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_2(ped, signalName, value) end
--- @param ped number
--- @param signalName string
--- @param value boolean
function TASK.SET_TASK_MOVE_NETWORK_SIGNAL_BOOL(ped, signalName, value) end
--- @param ped number
--- @param signalName string
--- @param x number
--- @param y number
--- @param z number
function TASK._SET_TASK_MOVE_NETWORK_SIGNAL_VECTOR(ped, signalName, x, y, z) end
--- @param ped number
--- @param phaseName string
--- @return number
function TASK._GET_TASK_MOVE_NETWORK_PHASE_FLOAT(ped, phaseName) end
--- @param ped number
--- @param eventName string
--- @return boolean
function TASK.GET_TASK_MOVE_NETWORK_EVENT(ped, eventName) end
--- @param p0 number
--- @param p1 number
function TASK._0x9585FF23C4B8EDE0(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xEAF87DA2BE78A15B(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x3BBEECC5B8F35318(p0, p1) end
--- @param moveBlendRatio number
--- @return boolean
function TASK.IS_MOVE_BLEND_RATIO_STILL(moveBlendRatio) end
--- @param moveBlendRatio number
--- @return boolean
function TASK.IS_MOVE_BLEND_RATIO_WALKING(moveBlendRatio) end
--- @param moveBlendRatio number
--- @return boolean
function TASK.IS_MOVE_BLEND_RATIO_RUNNING(moveBlendRatio) end
--- @param moveBlendRatio number
--- @return boolean
function TASK.IS_MOVE_BLEND_RATIO_SPRINTING(moveBlendRatio) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_STILL(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_WALKING(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_RUNNING(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_SPRINTING(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_IN_HIT_REACT(ped) end
--- @param ped number
--- @param target number
function TASK.TASK_ARREST_PED(ped, target) end
--- This function is hard-coded to always return false.
--- @param ped number
--- @return boolean
function TASK.IS_PED_BEING_ARRESTED(ped) end
--- @param ped number
--- @return boolean
function TASK._IS_PED_ARRESTING_ANY_PED(ped) end
--- @param ped number
function TASK._CUFF_PED(ped) end
--- @param ped number
function TASK.UNCUFF_PED(ped) end
--- @param ped number
--- @return boolean
function TASK.IS_PED_CUFFED(ped) end
--- @param ped number
--- @return boolean
function TASK._IS_PED_DUELLING(ped) end
--- Params: p4 either 0.2f, 0.25f, 0.31f, 0.4f
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param entity number
--- @param p4 number
--- @param p5 number
--- @param vPosOpponentX number
--- @param vPosOpponentY number
--- @param vPosOpponentZ number
--- @param fOpponentHead number
--- @param p10 number
function TASK.TASK_DUEL(ped, p1, p2, entity, p4, p5, vPosOpponentX, vPosOpponentY, vPosOpponentZ, fOpponentHead, p10) end
--- @param p0 number
--- @return number
function TASK._0x908BB14BCE85C80E(p0) end
--- @param p0 number
--- @return number
function TASK._0x1F7A9A9C38C13A56(p0) end
--- @param p0 number
--- @return number
function TASK._0x3FEB770D8ED9047A(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function TASK._0x30146C25686B7836(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function TASK._0x59AE5CA4FFB4E378(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK._0x748D5E0D2A1A4C61(p0, p1, p2) end
--- @param ped number
--- @param p1 boolean
--- @param p2 number
function TASK.END_DUEL(ped, p1, p2) end
--- @param p0 number
--- @param p1 number
function TASK._0x651F0530083C0E5A(p0, p1) end
--- carriableSlot:
--- 7 > Back of a horse
--- 6 > Right side of a horse
--- 5 > Left side of a horse
--- flags:
--- 512: enables the prompt being the name of the item when using a generic item
--- @param entity number
--- @param carryConfig number
--- @param carrier number
--- @param carriableSlot number
--- @param flags number
function TASK.TASK_CARRIABLE(entity, carryConfig, carrier, carriableSlot, flags) end
--- @param p0 number
function TASK._0x9EBD34958AB6F824(p0) end
--- @param entity number
--- @return boolean
function TASK.GET_IS_CARRIABLE_ENTITY(entity) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function TASK._0x10ADFDF07B7DFFBA(p0, p1, p2) end
--- @param ped number
--- @param entity number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 number
--- @param flags number
function TASK.TASK_PLACE_CARRIED_ENTITY_AT_COORD(ped, entity, x, y, z, p5, flags) end
--- @param ped number
--- @param entity number
--- @param mount number
--- @param p3 number
function TASK.TASK_PLACE_CARRIED_ENTITY_ON_MOUNT(ped, entity, mount, p3) end
--- @param ped number
--- @param ped2 number
--- @param entity number
function TASK.TASK_DUMP_CARRIABLE_FROM_PARENT(ped, ped2, entity) end
--- @param ped number
function TASK._DETACH_CARRIABLE_PED(ped) end
--- @param p0 number
function TASK._0xE2CF104ADD49D4BF(p0) end
--- @param ped number
--- @param entity number
function TASK.TASK_PICKUP_CARRIABLE_ENTITY(ped, entity) end
--- @param ped number
--- @param targetPed number
function TASK.TASK_HOGTIE_TARGET_PED(ped, targetPed) end
--- @param ped number
--- @param targetPed number
function TASK._TASK_CUT_FREE_HOGTIED_TARGET_PED(ped, targetPed) end
--- @param ped number
--- @param targetPed number
--- @param p2 number
function TASK._TASK_CUT_FREE_HOGTIED_TARGET_PED_2(ped, targetPed, p2) end
--- Sets the time it takes for a hogtied ped to escape
--- -1.0f for ped to never escape
--- @param ped number
--- @param time number
function TASK._SET_HOGTIE_ESCAPE_TIMER(ped, time) end
--- @param ped number
--- @return number
function TASK._GET_HOGTIE_ESCAPE_TIMER(ped) end
--- @param p0 number
--- @return number
function TASK._0x03D741CB4052E26C(p0) end
--- https://github.com/femga/rdr3_discoveries/tree/master/objects/composites
--- @param asset number
--- @return boolean
function TASK._REQUEST_HERB_COMPOSITE_ASSET(asset) end
--- Returns true when requested asset is loaded
--- @param asset number
--- @return boolean
function TASK.ARE_COMPOSITE_LOOTABLE_ENTITY_DEF_ASSETS_LOADED(asset) end
--- groundSetting: 0: spawn on ground, 2 (1?): do not spawn on ground
--- p7: -1 in R* Scripts
--- Returns compositeId
--- @param asset number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param groundSetting number
--- @param p6 number
--- @param p7 number
--- @return number
function TASK._CREATE_HERB_COMPOSITES(asset, x, y, z, heading, groundSetting, p6, p7) end
--- Params: p1 is always false except in script nb_egg_protector
--- @param compositeId number
--- @param p1 boolean
function TASK._DELETE_PATCH_OBJECTS_FROM_HERB_COMPOSITES(compositeId, p1) end
--- Flowers, Stalks or whatever the composite has
--- @param compositeId number
--- @param outEntities number
--- @return number
function TASK._GET_HERB_COMPOSITE_NUM_ENTITIES(compositeId, outEntities) end
--- @param p0 number
--- @param p1 number
--- @return number
function TASK._0xDF56A2B50C04DEA4(p0, p1) end
--- @param ped number
--- @param entity number
function TASK.TASK_LOOT_ENTITY(ped, entity) end
--- @param ped number
--- @param vehicle number
function TASK.TASK_BREAK_VEHICLE_DOOR_LOCK(ped, vehicle) end
--- @param ped number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
--- @param p5 number
function TASK.TASK_LOOT_NEAREST_ENTITY(ped, x, y, z, p4, p5) end
--- @param ped number
--- @param targetPed number
function TASK.TASK_LASSO_PED(ped, targetPed) end
--- @param ped number
function TASK.TASK_HOGTIEABLE(ped) end
--- getupSetHash: see nm_blend_out_sets.meta
--- @param ped number
--- @param flags number
--- @param getupSetHash number
--- @param p3 string
--- @param p4 string
--- @param p5 number
function TASK.UNHOGTIE_PED(ped, flags, getupSetHash, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TASK._0x722D6A49200174FE(p0, p1, p2, p3, p4) end
--- @param object number
function TASK._MAKE_OBJECT_CARRIABLE(object) end
--- @param object number
function TASK.MAKE_OBJECT_NOT_CARRIABLE(object) end
--- @param p0 number
--- @param p1 number
function TASK._0x8E1DDE26D270CC5E(p0, p1) end
--- @param p0 number
--- @param item number
function TASK._0xA6A76D666A281F2D(p0, item) end
--- @param p0 number
--- @param p1 number
function TASK._0xA21AA2F0C2180125(p0, p1) end
--- @param item number
--- @return number
function TASK._FIND_MODEL_FOR_ITEM(item) end
--- Config: https://gist.github.com/WesternGamer/95a1f8daf02520cad2bf96af6d957e70
--- @param config number
function TASK._REQUEST_CARRIABLE_CONFIG(config) end
--- @param config number
--- @return boolean
function TASK._HAS_REQUESTED_CARRIABLE_CONFIG_LOADED(config) end
--- @param p0 number
function TASK._0x6AFDA2264925BD11(p0) end
--- @param p0 number
--- @param p1 number
function TASK._0x816A3ACD265E2297(p0, p1) end
--- @param p0 number
function TASK._0x4E806A395D43A458(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK.SET_TEAM_CARRIABLE_ENTITY(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @return boolean
function TASK.IS_TEAM_CARRIABLE_ENTITY(p0, p1) end
--- Returns true while a hat is being picked up
--- _IS_A* - _IS_D*
--- @param hatObject number
--- @return boolean
function TASK._IS_HAT_BEING_PICKED_UP(hatObject) end
--- @param object number
--- @param ped number
function TASK._0x9ADDBB9242179D56(object, ped) end
--- Returns true while a hat is being picked up. Similar to 0x11CD066F54DA0133
--- _IS_A* - _IS_D*
--- @param hatObject number
--- @return boolean
function TASK._IS_HAT_BEING_PICKED_UP_2(hatObject) end
--- _A*
--- @param hatObject number
--- @param ped number
function TASK._TASK_EQUIP_HAT(hatObject, ped) end
--- @param p0 number
--- @return number
function TASK._0x7CB99FADDE73CD1B(p0) end
--- @param entity number
--- @param p1 number
function TASK._0xF3C3503276F4A034(entity, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function TASK._0x6DAC799857EF3F11(p0, p1) end
--- @param p0 number
--- @return number
function TASK._0x920684BE432875B1(p0) end
--- clipset: CLIPSET@MECH_HOGTIE@HUMAN@BREAKOUT_MG@GROUND, CLIPSET@MECH_HOGTIE@HUMAN@BREAKOUT_MG@SHOULDER, CLIPSET@MECH_HOGTIE@HUMAN@BREAKOUT_MG@MOUNT
--- clipset can also be 0
--- @param ped number
--- @param p1 boolean
--- @param clipset string
--- @return boolean
function TASK.SET_ENHANCED_BREAK_FREE(ped, p1, clipset) end
--- @param p0 number
--- @return number
function TASK._0x6AFD84AEAA3EA538(p0) end
--- @param p0 number
--- @param p1 number
function TASK._0xBD1C3C0F271C39D3(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0x1ECF56C040FD839C(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TASK._0xF40A109B4B79A848(p0, p1, p2) end
--- @param ped number
--- @return boolean
function TASK._IS_PED_LEADING_HORSE(ped) end
--- @param p0 number
--- @return number
function TASK._0xAC5045AB7F1A34FD(p0) end
--- @param ped number
--- @return number
function TASK._GET_LED_HORSE_FROM_PED(ped) end
--- @param ped number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK.TASK_TURN_TO_FACE_CLOSEST_PED(ped, p1, p2, p3) end
--- @param ped number
--- @param targetPed number
--- @param p2 number
--- @return boolean
function TASK.TASK_CONFRONT(ped, targetPed, p2) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function TASK.TASK_POLICE(ped, p1) end
--- Params: p2: AR_TAKEDOWN_FRONT, AR_EXECUTION_FRONT, 0 in R* Scripts
--- @param ped number
--- @param targetPed number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @return boolean
function TASK.TASK_MELEE(ped, targetPed, p2, p3, p4, p5, p6, p7) end
--- grappleStyle: AR_GRAPPLE_MOUNT_STANDING_FROM_FRONT, AR_GRAPPLE_MOUNT_STANDING_FROM_RIGHT, AR_GRAPPLE_MOUNT_STANDING_FROM_BACK, AR_GRAPPLE_MOUNT_STANDING_FROM_LEFT, AR_GRAPPLE_MOUNT_FROM_FRONT, AR_WOLF_EXECUTION_ENTER_FROM_BACK, AR_GRAPPLE_DRAG_FRONT_ON_ASS, AR_GRAPPLE_FRONT_FROM_LEFT_FAR, AR_BEAR_CHALLENGE_FRONT, AR_GRAPPLE_FRONT_FROM_FRONT, AR_GRAPPLE_MOUNT_FACEUP_FROM_FRONT
--- @param ped number
--- @param targetPed number
--- @param grappleStyle number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return boolean
function TASK.TASK_GRAPPLE(ped, targetPed, grappleStyle, p3, p4, p5, p6) end
--- Only used in R* SP Script homeinvasion:
--- Params p2, p3, p4: 0, 0, 1
--- @param p0 number
--- @param ped number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return boolean
function TASK._TASK_INTIMIDATED(p0, ped, p2, p3, p4) end
--- @param victim number
--- @param attacker number
--- @param p2 number
--- @param p3 boolean
--- @param p4 boolean
--- @param everyFrame boolean
--- @param p6 boolean
--- @param p7 boolean
--- @param flag number
--- @return boolean
function TASK._TASK_INTIMIDATED_2(victim, attacker, p2, p3, p4, everyFrame, p6, p7, flag) end
--- @param p0 number
--- @param p1 number
function TASK._0x2948235DB2058E99(p0, p1) end
--- @param p0 number
--- @param p1 number
function TASK._0xB2F47A1AFDFCC595(p0, p1) end
--- _SET_PED_*
--- @param ped number
--- @param p1 number
--- @param p2 number
function TASK._0x41D1331AFAD5A091(ped, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x801BD27403F3CBA0(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TASK._0x0FE797DD9F70DFA6(p0, p1, p2, p3) end
--- @param ped number
function TASK.TASK_PERSISTENT_CHARACTER(ped) end
--- @param p0 number
function TASK._0xFC7F71CF49F70B6B(p0) end
--- @param p0 number
--- @param p1 number
function TASK._0xE01F55B2896F6B37(p0, p1) end
--- @param p0 number
--- @return number
function TASK._0xE62754D09354F6CF(p0) end
--- @param p0 number
--- @param p1 number
function TASK._0x4BA972D0E5AD8122(p0, p1) end
--- Fishing Research: https://pastebin.com/NmK5ZLVs
--- Only used in R* Scripts fishing_core and av_fishing_river
--- @param ped number
--- @param p1 number
--- @return boolean
function TASK._GET_TASK_FISHING(ped, p1) end
--- Only used in R* Scripts fishing_core and av_fishing_river
--- @param ped number
--- @param p1 number
--- @return boolean
function TASK._SET_TASK_FISHING(ped, p1) end
--- Baits: see 0x9B0C7FA063E67629
--- @param ped number
--- @param bait string
--- @param withoutBuoy boolean
function TASK.TASK_SWAP_FISHING_BAIT(ped, bait, withoutBuoy) end
--- Baits: p_fishHook02x, p_baitBread01x, p_baitCorn01x, p_baitCheese01x, p_baitWorm01x, p_baitCricket01x, p_crawdad01x, p_finisheDragonfly01x, p_finisdFishlure01x, p_finishdCrawd01x, p_finisheDragonflyLegendary01x, p_finisdFishlureLegendary01x, p_finishdCrawdLegendary01x, p_lgoc_spinner_v4
--- @param ped number
--- @param bait string
--- @param withoutBuoy boolean
--- @param instantly boolean
function TASK._SET_FISHING_BAIT(ped, bait, withoutBuoy, instantly) end
--- @param ped number
function TASK._0x1F298C7BD30D1240(ped) end
--- @param ped number
--- @param entity number
function TASK._PED_FISHINGROD_HOOK_ENTITY(ped, entity) end
--- Used with 'P_BODYPARTARMFLOAT02X' model in fishing_core.c
--- @param ped number
--- @param object number
function TASK._PED_FISHINGROD_HOOK_OBJECT(ped, object) end
--- @param ped number
--- @return boolean
function TASK._0xB520DBDA7FCF573F(ped) end
--- @param ped number
--- @param p1 boolean
function TASK._0x31BB338F64D5C861(ped, p1) end
--- @param ped number
--- @param entity number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TASK._0x517D01BF27B682D1(ped, entity, p2, p3, p4, p5, p6) end
--- @param ped number
function TASK._0x88FD60D846D9CD63(ped) end
--- @param ped number
--- @param p1 number
function TASK._0x9050DF2C53801208(ped, p1) end
--- @param ped number
function TASK._0x22CDBF317C40A122(ped) end
--- @return number
function TASK._0x5952DFA38FA529FE() end
--- https://github.com/femga/rdr3_discoveries/blob/master/animations/kit_emotes_list.lua
--- emote: https://alloc8or.re/rdr3/doc/enums/eEmote.txt
--- 
--- enum eEmoteType
--- {
--- EMOTE_TYPE_INVALID = -1,
--- EMOTE_TYPE_REACT,
--- EMOTE_TYPE_ACTION,
--- EMOTE_TYPE_TAUNT,
--- EMOTE_TYPE_GREET,
--- EMOTE_TYPE_TWIRL_GUN,
--- EMOTE_TYPE_DANCE_FLOOR
--- };
--- 
--- enum eEmotePlaybackMode
--- {
--- EMOTE_PM_INVALID = -1,
--- EMOTE_PM_UPPERBODY,
--- EMOTE_PM_UPPERBODY_LOOP,
--- EMOTE_PM_FULLBODY,
--- };
--- @param ped number
--- @param emoteType number
--- @param playbackMode number
--- @param emote number
--- @param isSecondaryTask boolean
--- @param canBreakOut boolean
--- @param disableEarlyOutAnimTag boolean
--- @param ignoreInvalidMainTask boolean
--- @param destroyProps boolean
function TASK.TASK_PLAY_EMOTE_WITH_HASH(ped, emoteType, playbackMode, emote, isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps) end
--- Similar to 0xB31A277C1AC7B7FF but checks if the ped's inventory contains the specified emote kit.
--- @param ped number
--- @param emoteType number
--- @param playbackMode number
--- @param emote number
--- @param isSecondaryTask boolean
--- @param canBreakOut boolean
--- @param disableEarlyOutAnimTag boolean
--- @param ignoreInvalidMainTask boolean
--- @param destroyProps boolean
function TASK._TASK_PLAY_EMOTE(ped, emoteType, playbackMode, emote, isSecondaryTask, canBreakOut, disableEarlyOutAnimTag, ignoreInvalidMainTask, destroyProps) end
--- @param p0 number
function TASK._0x6A1AF481407BF6E9(p0) end
--- @param ped number
function TASK._TASK_EMOTE_OUTRO(ped) end
--- @param p0 number
function TASK._0xEC516FE805D2CB2D(p0) end
--- @param p0 number
--- @param p1 number
function TASK._0x59AEA4DC640814B9(p0, p1) end
--- @param p0 number
--- @return number
function TASK._0x11C7CE1AE38911B5(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function TASK._0xD0ABC4EA3B5E21A0(p0, p1) end
--- @param ped number
--- @param p1 number
--- @return boolean
function TASK.IS_EMOTE_TASK_RUNNING(ped, p1) end

TELEMETRY = {}

--- @param toggle boolean
function TELEMETRY._TELEMETRY_SET_IS_FLOW(toggle) end
--- @param toggle boolean
function TELEMETRY._0xEC0BD8736DCAF841(toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_MISSION_STARTED(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_MISSION_OVER(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TELEMETRY._TELEMETRY_MISSION_CHECKPOINT(p0, p1, p2) end
--- @param ped number
function TELEMETRY._TELEMETRY_PLAYER_SPAWNED(ped) end
--- Works in MP only.
--- @param uuid number
--- @return boolean
function TELEMETRY._TELEMETRY_CREATE_UUID(uuid) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TELEMETRY._TELEMETRY_MATCH_QUEUE(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_MATCH_STARTED(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TELEMETRY._TELEMETRY_MATCH_OVER(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_MATCH_VOTE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_LOBBY_PROGRESSION(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_GAME_PROGRESS(p0, p1) end
--- @param herbType number
function TELEMETRY._TELEMETRY_HERB_PICKED(herbType) end
--- @param type number
--- @param items number
function TELEMETRY._TELEMETRY_ANIMAL_SKINNED(type, items) end
--- @param p0 number
function TELEMETRY._TELEMETRY_CAMP_CREATED(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TELEMETRY._TELEMETRY_CAMP_SUPPLIES(p0, p1, p2, p3, p4) end
--- @param regionHash number
function TELEMETRY._TELEMETRY_REGION(regionHash) end
--- @param shopType number
--- @param shopRegion number
--- @param region number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TELEMETRY._TELEMETRY_SHOP_ENTRY(shopType, shopRegion, region, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_SHOP_EXIT(p0, p1) end
--- @param transactionId number
--- @param p1 number
--- @param p2 number
function TELEMETRY._TELEMETRY_SET_SHOP_FOR_TRANSACTION(transactionId, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TELEMETRY._TELEMETRY_SHOP_PURCHASE(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param centSalePrice number
function TELEMETRY._TELEMETRY_SHOP_SELL(p0, p1, p2, p3, centSalePrice) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_GOLD_STORE(p0, p1, p2, p3) end
function TELEMETRY._CLEAR_TELEMETRY_SHOP_UI() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_SHOP_CUTSCENE(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TELEMETRY._TELEMETRY_AMBIENT_VIGNETTE(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
function TELEMETRY._TELEMETRY_DISCOVERABLE(p0) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_HONOR(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param quantity number
function TELEMETRY._TELEMETRY_CRAFT_ITEM(p0, p1, p2, quantity) end
--- @param transactionId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param slotId number
--- @param p6 number
--- @param p7 number
--- @param p8 boolean
function TELEMETRY.TELEMETRY_CAMP_DONATE(transactionId, p1, p2, p3, p4, slotId, p6, p7, p8) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function TELEMETRY._TELEMETRY_MOONSHINE_BREW(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param transactionId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TELEMETRY._TELEMETRY_COLLECT(transactionId, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
function TELEMETRY._TELEMETRY_MISSION_ILO_OPTION(p0, p1) end
--- _TELEMETRY_C* - _TELEMETRY_G*
--- @param p0 number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param reason number
function TELEMETRY._TELEMETRY_MISSION_FAILED_TO_LAUNCH(p0, p1, x, y, z, reason) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_GANG_SHARES(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TELEMETRY._TELEMETRY_FAST_TRAVEL(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TELEMETRY._TELEMETRY_NET_CAMP(p0, p1, p2, p3, p4, p5, p6) end
--- Creation of the metric is related to attribute filling, i. e. at camp fires, when the ped is resting.
--- _TELEMETRY_C* - _TELEMETRY_P*
function TELEMETRY._TELEMETRY_RPG_GLOBAL_CALCULATE_ATTRIBUTE_CORE_DELTA() end
--- @param p0 number
function TELEMETRY._TELEMETRY_SLEEP(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function TELEMETRY._TELEMETRY_PARLEY_FEUD(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY.TELEMETRY_PLAYER_MENU_PIN(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_NOTORIETY(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TELEMETRY._TELEMETRY_DEFENSIVE(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_LOOT(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param emote number
function TELEMETRY._TELEMETRY_EMOTE_ADD_CATEGORY_TO_SAVE(p0, p1, emote) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TELEMETRY._TELEMETRY_FAVOR_EMOTE(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function TELEMETRY._TELEMETRY_POKER_OVER(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- Returns false when transaction request is failing
--- @param requestId number
--- @param transactionId number
--- @return boolean
function TELEMETRY._TELEMETRY_TRIGGER_TRANSACTION_REQUEST(requestId, transactionId) end
--- @param transactionId number
--- @param requestId number
--- @return boolean
function TELEMETRY._TRY_GET_TELEMETRY_ID_FROM_TRANSACTION_ID(transactionId, requestId) end
--- @param p0 number
function TELEMETRY._TELEMETRY_ROLE_BOUNTY(p0) end
--- @param data number
function TELEMETRY._TELEMETRY_BOUNTY_TARGET(data) end
--- @param transactionId number
--- @param bountyAmount number
--- @param ped number
--- @param completionType number
--- @param jailTimeServed number
--- @param jailTimeLeft number
--- @param posseRole number
function TELEMETRY._TELEMETRY_PRISON(transactionId, bountyAmount, ped, completionType, jailTimeServed, jailTimeLeft, posseRole) end
--- @param p0 number
--- @param transactionId number
function TELEMETRY._TELEMETRY_ROLE_TRADER(p0, transactionId) end
--- @param p0 number
--- @param transactionId number
function TELEMETRY._TELEMETRY_ROLE_MOONSHINER(p0, transactionId) end
--- @param transactionId number
--- @param collectible number
--- @param category number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TELEMETRY._TELEMETRY_ROLE_COLLECTOR(transactionId, collectible, category, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_PHOTO(p0, p1, p2, p3) end
function TELEMETRY._TELEMETRY_START_GUN_LOCKER_INTERACTION() end
function TELEMETRY._TELEMETRY_GUN_LOCKER() end
--- @param p0 number
function TELEMETRY._TELEMETRY_GUN_LOCKER_WEAPON_STORED(p0) end
--- @param p0 number
function TELEMETRY._TELEMETRY_GUN_LOCKER_WEAPON_REMOVED(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TELEMETRY._TELEMETRY_ROLE_TOKEN_TRANSACTION(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function TELEMETRY._TELEMETRY_COUPON(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY.TELEMETRY_PERSONAL_VEHICLE_MOUNT(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TELEMETRY._TELEMETRY_PERSONAL_VEHICLE_WAGON(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_MENU_NAVIGATION(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function TELEMETRY._TELEMETRY_HUB_NAVIGATION(p0, p1, p2, p3) end
--- @param couponItem number
--- @param p1 number
function TELEMETRY._TELEMETRY_HUB_OFFERS(couponItem, p1) end
--- @param transactionId number
--- @param animal number
--- @param p2 number
--- @param bSampled number
--- @param bTranq boolean
function TELEMETRY._TELEMETRY_SAMPLE(transactionId, animal, p2, bSampled, bTranq) end
--- @param transactionId number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function TELEMETRY._TELEMETRY_ROLE_NATURALIST(transactionId, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
function TELEMETRY._TELEMETRY_PHOTO_CAM(p0, p1, p2, p3, p4, p5, p6, p7, p8) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function TELEMETRY._TELEMETRY_INTRO_SKIP(p0, p1, p2) end
function TELEMETRY.ANALYTICS_PLAYTIME_FREEMODE_START() end
function TELEMETRY.ANALYTICS_PLAYTIME_FREEMODE_END() end
--- @param args number
function TELEMETRY._TELEMETRY_CUSTOM(args) end
--- @param args number
function TELEMETRY._TELEMETRY_MATCH_NOMINATION(args) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function TELEMETRY._TELEMETRY_CHAR_CREATOR(p0, p1, p2, p3, p4, p5, p6) end
--- Note: this native was added in build 1491.50
--- @param linkID number
--- @param type number
--- @param contentId string
function TELEMETRY._0x6F5BC5C4EAB42B15(linkID, type, contentId) end

TXD = {}

--- @param txdHash number
--- @return boolean
function TXD.DOES_STREAMED_TXD_EXIST(txdHash) end
--- @param txdHash number
--- @param p1 boolean
function TXD.REQUEST_STREAMED_TXD(txdHash, p1) end
--- @param txdHash number
--- @return boolean
function TXD.HAS_STREAMED_TXD_LOADED(txdHash) end
--- @param txdHash number
function TXD.SET_STREAMED_TXD_AS_NO_LONGER_NEEDED(txdHash) end
--- @param textureDict string
--- @return boolean
function TXD.DOES_STREAMED_TEXTURE_DICT_EXIST(textureDict) end
--- @param textureDict string
--- @param p1 boolean
function TXD.REQUEST_STREAMED_TEXTURE_DICT(textureDict, p1) end
--- @param textureDict string
--- @return boolean
function TXD.HAS_STREAMED_TEXTURE_DICT_LOADED(textureDict) end
--- @param textureDict string
function TXD.SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED(textureDict) end

UIAPPS = {}

--- @param appNameHash number
--- @return boolean
function UIAPPS.IS_UIAPP_ACTIVE_BY_HASH(appNameHash) end
--- @return boolean
function UIAPPS.IS_ANY_UIAPP_ACTIVE() end
--- @param appNameHash number
--- @return boolean
function UIAPPS.IS_UIAPP_RUNNING_BY_HASH(appNameHash) end
--- @param appName string
--- @return boolean
function UIAPPS.IS_UIAPP_RUNNING(appName) end
--- @return boolean
function UIAPPS.IS_ANY_UIAPP_RUNNING() end
--- @param appNameHash number
--- @return number
function UIAPPS._GET_UIAPP_CURRENT_ACTIVITY_BY_HASH(appNameHash) end
--- @param appNameHash number
function UIAPPS._CLOSE_UIAPP_BY_HASH(appNameHash) end
--- @param appNameHash number
function UIAPPS._CLOSE_UIAPP_BY_HASH_IMMEDIATE(appNameHash) end
--- @param appName string
function UIAPPS._CLOSE_UIAPP(appName) end
--- @param appName string
function UIAPPS._CLOSE_UIAPP_IMMEDIATE(appName) end
function UIAPPS._CLOSE_ALL_UIAPPS() end
function UIAPPS._CLOSE_ALL_UIAPPS_IMMEDIATE() end
--- @param appNameHash number
--- @param entryHash number
--- @return number
function UIAPPS.LAUNCH_UIAPP_BY_HASH_WITH_ENTRY(appNameHash, entryHash) end
--- @param appNameHash number
--- @return number
function UIAPPS.LAUNCH_UIAPP_BY_HASH(appNameHash) end
--- @param appName string
--- @param entry string
--- @return number
function UIAPPS.LAUNCH_UIAPP_WITH_ENTRY(appName, entry) end
--- @param appNameHash number
--- @param entryHash number
--- @return boolean
function UIAPPS.CAN_LAUNCH_UIAPP_BY_HASH_WITH_ENTRY(appNameHash, entryHash) end
--- @param appNameHash number
--- @return boolean
function UIAPPS.CAN_LAUNCH_UIAPP_BY_HASH(appNameHash) end
--- @param appNameHash number
--- @param transitionHash number
--- @return boolean
function UIAPPS.REQUEST_UIAPP_TRANSITION_BY_HASH(appNameHash, transitionHash) end
--- @param appNameHash number
--- @return boolean
function UIAPPS.IS_UIAPP_TRANSITIONING_BY_HASH(appNameHash) end

UIDEBUG = {}

--- Note: you must use VAR_STRING
--- @param text string
--- @param x number
--- @param y number
function UIDEBUG._BG_DISPLAY_TEXT(text, x, y) end
--- @param scaleX number
--- @param scaleY number
function UIDEBUG._BG_SET_TEXT_SCALE(scaleX, scaleY) end
--- https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/colours
--- @param red number
--- @param green number
--- @param blue number
--- @param alpha number
function UIDEBUG._BG_SET_TEXT_COLOR(red, green, blue, alpha) end

UIEVENTS = {}

--- Old name: _EVENT_MANAGER_IS_EVENT_PENDING
--- @param hash number
--- @return boolean
function UIEVENTS.EVENTS_UI_IS_PENDING(hash) end
--- eventData:
--- struct UI_SCRIPT_EVENT
--- {
--- alignas(8) eUIScriptEventType eventType; // https://alloc8or.re/rdr3/doc/enums/eUIScriptEventType.txt
--- alignas(8) int intParam;
--- alignas(8) Hash hashParam;
--- alignas(8) Hash datastoreParam;
--- };
--- 
--- Old name: _EVENT_MANAGER_GET_EVENT
--- @param hash number
--- @param eventData number
--- @return boolean
function UIEVENTS.EVENTS_UI_GET_MESSAGE(hash, eventData) end
--- eventData: see EVENTS_UI_GET_MESSAGE
--- 
--- Old name: _EVENT_MANAGER_PEEK_EVENT
--- @param hash number
--- @param eventData number
--- @return boolean
function UIEVENTS.EVENTS_UI_PEEK_MESSAGE(hash, eventData) end
--- Old name: _EVENT_MANAGER_POP_EVENT
--- @param hash number
function UIEVENTS.EVENTS_UI_POP_MESSAGE(hash) end

UIFEED = {}

--- Example : https://pastebin.com/GvdBp8Dh
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_HELP_TEXT(p0, p1, p2) end
--- Example : https://pastebin.com/h1YzycuR
--- @param duration number
--- @param data number
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function UIFEED._UI_FEED_POST_LOCATION_SHARD(duration, data, p2, p3) end
--- Example : https://pastebin.com/13tuRa63
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_OBJECTIVE(p0, p1, p2) end
--- Display text on right of the screen, Example : https://pastebin.com/n1YmNe25
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_FEED_TICKER(p0, p1, p2) end
--- Example : https://pastebin.com/YZMBkAmW
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function UIFEED._UI_FEED_POST_SAMPLE_TOAST(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
--- @param collectableCategory number
--- @return number
function UIFEED._0xAFF5BE9BA496CE40(p0, p1, p2, p3, collectableCategory) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
--- @return number
function UIFEED._UI_FEED_POST_SAMPLE_TOAST_WITH_APP_LINK(p0, p1, p2, p3, p4) end
--- Example : https://pastebin.com/kAtEMQTD
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function UIFEED._UI_FEED_POST_SAMPLE_NOTIFICATION(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function UIFEED._UI_FEED_POST_RANKUP_TOAST(p0, p1, p2, p3) end
--- Only used in R* SP Scripts
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function UIFEED._0x18D6869FBFFEC0F8(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_SAMPLE_TOAST_RIGHT(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_MISSION_NAME(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_RETICLE_MESSAGE(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_ONE_TEXT_SHARD(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function UIFEED._UI_FEED_POST_TWO_TEXT_SHARD(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
--- @return number
function UIFEED._UI_FEED_POST_THREE_TEXT_SHARD(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_GAME_UPDATE_SHARD(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UIFEED._UI_FEED_POST_VOICE_CHAT_FEED(p0, p1, p2) end
--- feedChannel: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIFeedChannel
--- @param feedChannel number
--- @param p1 boolean
--- @param p2 boolean
function UIFEED.UI_FEED_CLEAR_CHANNEL(feedChannel, p1, p2) end
--- Hides Toast Notifications
function UIFEED._UI_FEED_CLEAR_ALL_CHANNELS() end
--- Clears help text
--- @param feedMessage number
--- @param p1 boolean
function UIFEED._UI_FEED_CLEAR_HELP_TEXT_FEED(feedMessage, p1) end
--- @param feedChannel number
--- @param p1 number
--- @param p2 boolean
function UIFEED._0x6D85126F6CCF02C9(feedChannel, p1, p2) end
--- Returns feedMessage
--- @param p0 number
--- @param p1 boolean
--- @return number
function UIFEED._0x4E88A65968A55C78(p0, p1) end
--- Only used in R* SP Script beat_animal_attack
--- Returns feedMessage
--- @param p0 number
--- @param p1 boolean
--- @return number
function UIFEED._0x0FD07141AD048AAE(p0, p1) end
--- Returns messageState, see https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIMessageState
--- @param feedMessage number
--- @return number
function UIFEED._UI_FEED_GET_MESSAGE_STATE(feedMessage) end
--- feedChannel: see UI_FEED_CLEAR_CHANNEL
--- Returns feedMessage
--- @param feedChannel number
--- @return number
function UIFEED.UI_FEED_GET_CURRENT_MESSAGE(feedChannel) end
--- @param feedChannel number
--- @return boolean
function UIFEED._0xB7223B91CD6B7E07(feedChannel) end

UILOG = {}

--- @param p0 number
--- @param p1 number
--- @return boolean
function UILOG._UILOG_IS_ENTRY_REGISTERED(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param x number
--- @param y number
--- @param z number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function UILOG._UILOG_ADD_ENTRY_HASH(p0, p1, x, y, z, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
function UILOG._UILOG_ADD_ITEM_TO_TASK_LIST(p0, p1, p2, p3, p4, p5, p6, p7) end
--- @param p0 number
--- @param p1 number
--- @param icon number
--- @param iconDictionary number
function UILOG._UILOG_SET_ENTRY_ICON_TEXTURE(p0, p1, icon, iconDictionary) end
--- @param p0 number
--- @param p1 number
--- @param texture number
--- @param textureDictionary number
function UILOG._UILOG_SET_ENTRY_BRIEF_TEXTURE(p0, p1, texture, textureDictionary) end
--- @param p0 number
--- @param p1 number
--- @param p2 string
function UILOG._UILOG_UPDATE_ENTRY_SUBHEADER(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
function UILOG._UILOG_SET_ENTRY_PINNED(p0, p1, p2) end
--- @param p0 number
function UILOG._UILOG_MARK_MISSION_COMPLETED(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 string
function UILOG._UILOG_MARK_ENTRY_AVAILABILITY(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 string
function UILOG._UILOG_MARK_ALL_ENTRIES_AVAILABILITY(p0, p1) end
--- @param p0 number
--- @param p1 number
function UILOG._UILOG_REMOVE_ENTRY(p0, p1) end
--- @param logEntryType number
--- @param p1 number
--- @param p2 boolean
function UILOG._UILOG_SET_DISPLAY_COMPLETION_RATING(logEntryType, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function UILOG._0xA49D6D503E3EA847(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @param p2 string
function UILOG._0x763637F9B838B0A7(p0, p1, p2) end
function UILOG._UILOG_CLEAR_ALL_ENTRIES() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 string
--- @param p4 boolean
--- @param p5 boolean
--- @param p6 boolean
function UILOG._UILOG_ADD_OR_UPDATE_OBJECTIVE(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function UILOG._0xA20398536B7F1134(p0, p1, p2, p3, p4, p5) end
--- @param p0 string
function UILOG._UILOG_SET_CACHED_OBJECTIVE(p0) end
function UILOG._UILOG_CLEAR_CACHED_OBJECTIVE() end
--- @return boolean
function UILOG._UILOG_HAS_DISPLAYED_CACHED_OBJECTIVE() end
function UILOG._UILOG_CLEAR_HAS_DISPLAYED_CACHED_OBJECTIVE() end
function UILOG._UILOG_SET_HAS_DISPLAYED_CACHED_OBJECTIVE() end
--- @return string
function UILOG._UILOG_GET_CACHED_OBJECTIVE() end
function UILOG._UILOG_PRINT_CACHED_OBJECTIVE() end
--- @param p0 number
--- @param p1 number
--- @return number
function UILOG._UILOG_SET_PENDING_DETAILS_ID(p0, p1) end
--- @return number
function UILOG._0x2A4765812202E671() end
--- @param p0 number
--- @param p1 number
--- @param p2 string
--- @param p3 string
--- @param p4 number
function UILOG._UILOG_ADD_TOTAL_TAKE_ENTRY(p0, p1, p2, p3, p4) end
--- @param p0 string
--- @param p1 string
function UILOG._UILOG_SET_TOTAL_TAKE_SUMMARY(p0, p1) end
--- @param data number
--- @return number
function UILOG._UILOG_POST_NOTIFICATION(data) end
function UILOG._0xDA0A30153FCC0FFD() end

UIPINNING = {}

--- @param hash number
--- @return string
function UIPINNING._UIPINNING_GET_TOOLTIP_TEXT(hash) end

UITUTORIAL = {}

--- @return boolean
function UITUTORIAL._UITUTORIAL_GET_IS_THREAT_INDICATOR_CAPABLE_RADAR_SHOWN() end
--- @return boolean
function UITUTORIAL._UITUTORIAL_GET_IS_THREAT_INDICATOR_ON() end
--- enum eRpgIcons
--- {
--- ICON_STAMINA,
--- ICON_STAMINA_CORE,
--- ICON_DEADEYE,
--- ICON_DEADEYE_CORE,
--- ICON_HEALTH,
--- ICON_HEALTH_CORE,
--- ICON_HORSE_HEALTH,
--- ICON_HORSE_HEALTH_CORE,
--- ICON_HORSE_STAMINA,
--- ICON_HORSE_STAMINA_CORE,
--- ICON_HORSE_COURAGE,
--- ICON_HORSE_COURAGE_CORE
--- };
--- 
--- enum eRpgIconVisibility
--- {
--- ICON_VISIBILITY_WAIT_TO_HIDE,
--- ICON_VISIBILITY_ALWAYS_SHOW,
--- ICON_VISIBILITY_ALWAYS_HIDE,
--- ICON_VISIBILITY_ALWAYS_BLINK
--- };
--- @param rpgIcon number
--- @param visibility number
function UITUTORIAL._UITUTORIAL_SET_RPG_ICON_VISIBILITY(rpgIcon, visibility) end

UISTATEMACHINE = {}

--- @param p0 number
--- @return number
function UISTATEMACHINE._UIFLOWBLOCK_REQUEST(p0) end
--- @param p0 number
function UISTATEMACHINE._UIFLOWBLOCK_RELEASE(p0) end
--- @param p0 number
--- @return number
function UISTATEMACHINE._UIFLOWBLOCK_IS_LOADED(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function UISTATEMACHINE._UIFLOWBLOCK_ENTER(p0, p1) end
--- @param p0 number
--- @return number
function UISTATEMACHINE.UI_STATE_MACHINE_EXISTS(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function UISTATEMACHINE.UI_STATE_MACHINE_CREATE(p0, p1) end
--- @param p0 number
--- @return number
function UISTATEMACHINE.UI_STATE_MACHINE_CAN_REQUEST_TRANSITION(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function UISTATEMACHINE.UI_STATE_MACHINE_REQUEST_TRANSITION(p0, p1) end
--- @param p0 number
--- @param p1 number
function UISTATEMACHINE.UI_STATE_MACHINE_REQUEST_EXIT(p0, p1) end
--- It's either EXITED or EXITING
--- @param p0 number
--- @return boolean
function UISTATEMACHINE._UI_STATE_MACHINE_IS_EXITED(p0) end
--- @param p0 number
function UISTATEMACHINE.UI_STATE_MACHINE_DESTROY(p0) end
--- @param p0 number
function UISTATEMACHINE.UI_STATE_MACHINE_DESTROY_AND_CLEAR(p0) end

UISTICKYFEED = {}

--- Example: https://pastebin.com/EJD7ytnz
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UISTICKYFEED._UI_STICKY_FEED_CREATE_ERROR_MESSAGE(p0, p1, p2) end
--- Example: https://pastebin.com/JygJShNU
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UISTICKYFEED._UI_STICKY_FEED_CREATE_DEATH_FAIL_MESSAGE(p0, p1, p2) end
--- Example: https://pastebin.com/6mLtee2S
--- @param p0 number
--- @param p1 number
--- @param p2 boolean
--- @return number
function UISTICKYFEED._UI_STICKY_FEED_CREATE_WARNING_MESSAGE(p0, p1, p2) end
--- Seems to only update _UI_STICKY_FEED_CREATE_ERROR_MESSAGE(0x9F2CC2439A04E7BA) and _UI_STICKY_FEED_CREATE_DEATH_FAIL_MESSAGE(0x815C4065AE6E6071) message.
--- Example: https://pastebin.com/nDrJyWq2
--- @param msgId number
--- @param p1 number
--- @param p2 boolean
function UISTICKYFEED._UI_STICKY_FEED_UPDATE_MESSAGE(msgId, p1, p2) end
--- @param msgId number
function UISTICKYFEED._UI_STICKY_FEED_CLEAR_MESSAGE(msgId) end
--- stickyFeedChannel: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eUIStickyFeedChannel
--- @param stickyFeedChannel number
--- @return boolean
function UISTICKYFEED._UI_STICKY_FEED_IS_CHANNEL_ACTIVE(stickyFeedChannel) end
--- @return boolean
function UISTICKYFEED._UI_STICKY_FEED_IS_ALERT_SCREEN_ACTIVE() end
--- Returns state of sticky feed message, see 0x59FA676177DBE4C9
--- @param msgId number
--- @return number
function UISTICKYFEED._UI_STICKY_FEED_GET_MESSAGE_STATE(msgId) end

UNLOCK = {}

--- @param unlockHash number
--- @param flag number
--- @return boolean
function UNLOCK._UNLOCK_IS_UNLOCK_FLAG_SET(unlockHash, flag) end
--- @param unlockHash number
--- @return boolean
function UNLOCK.UNLOCK_IS_UNLOCKED(unlockHash) end
--- @param unlockHash number
--- @param toggle boolean
function UNLOCK.UNLOCK_SET_UNLOCKED(unlockHash, toggle) end
--- @param unlockHash number
--- @return boolean
function UNLOCK.UNLOCK_IS_VISIBLE(unlockHash) end
--- @param unlockHash number
--- @param toggle boolean
function UNLOCK.UNLOCK_SET_VISIBLE(unlockHash, toggle) end
--- @param unlockHash number
--- @return boolean
function UNLOCK._UNLOCK_IS_NEW(unlockHash) end
--- @param unlockHash number
--- @param toggle boolean
function UNLOCK._UNLOCK_SET_NEW(unlockHash, toggle) end
--- @param unlockHash number
--- @return boolean
function UNLOCK._UNLOCK_IS_LOOTABLE(unlockHash) end
--- @param unlockHash number
--- @param outData number
function UNLOCK._UNLOCK_GET_ITEM_ROLE_UNLOCK_INFO(unlockHash, outData) end

VEHICLE = {}

--- Only used in R* Script beat_train_holdup: p1 = 1
--- @param entity number
--- @param p1 number
function VEHICLE._0x6355602C02EDC6DF(entity, p1) end
--- @param vehicle number
--- @param enabled boolean
function VEHICLE._SET_VEHICLE_IS_IN_HURRY(vehicle, enabled) end
--- @param modelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param isNetwork boolean
--- @param bScriptHostVeh boolean
--- @param bDontAutoCreateDraftAnimals boolean
--- @param p8 boolean
--- @return number
function VEHICLE.CREATE_VEHICLE(modelHash, x, y, z, heading, isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, p8) end
--- Identical to CREATE_VEHICLE but allows to set draftAnimalPopGroup (see popgroups.#mt for DRAFT_HORSES_*)
--- @param modelHash number
--- @param x number
--- @param y number
--- @param z number
--- @param heading number
--- @param isNetwork boolean
--- @param bScriptHostVeh boolean
--- @param bDontAutoCreateDraftAnimals boolean
--- @param draftAnimalPopGroup number
--- @param p9 boolean
--- @return number
function VEHICLE._CREATE_DRAFT_VEHICLE(modelHash, x, y, z, heading, isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, draftAnimalPopGroup, p9) end
--- Deletes a vehicle.
--- The vehicle must be a mission entity to delete, so call this before deleting: SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);
--- 
--- eg how to use:
--- SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);
--- DELETE_VEHICLE(&vehicle);
--- 
--- Deletes the specified vehicle, then sets the handle pointed to by the pointer to NULL.
--- @param vehicle number
function VEHICLE.DELETE_VEHICLE(vehicle) end
--- @param vehicle number
function VEHICLE._FADE_AND_DESTROY_VEHICLE(vehicle) end
--- @param vehicle number
--- @return boolean
function VEHICLE._IS_VEHICLE_FADING_OUT(vehicle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_ALLOW_HOMING_MISSLE_LOCKON(vehicle, toggle) end
--- Makes the vehicle accept no passengers.
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_ALLOW_NO_PASSENGERS_LOCKON(vehicle, toggle) end
--- @param vehicle number
--- @param model number
--- @return boolean
function VEHICLE.IS_VEHICLE_MODEL(vehicle, model) end
--- @param volume number
--- @param toggle boolean
function VEHICLE._SET_ALL_VEHICLE_GENERATORS_DISABLED_FOR_VOLUME(volume, toggle) end
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param p6 boolean
--- @param p7 boolean
function VEHICLE.SET_ALL_VEHICLE_GENERATORS_ACTIVE_IN_AREA(x1, y1, z1, x2, y2, z2, p6, p7) end
function VEHICLE.SET_ALL_VEHICLE_GENERATORS_ACTIVE() end
--- @param vehicle number
--- @param p1 boolean
--- @return boolean
function VEHICLE.SET_VEHICLE_ON_GROUND_PROPERLY(vehicle, p1) end
--- Returns true if the vehicle's current speed is less than, or equal to 0.0025f.
--- 
--- For some vehicles it returns true if the current speed is <= 0.00039999999.
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_VEHICLE_STOPPED(vehicle) end
--- Gets the number of passengers, NOT including the driver. Use IS_VEHICLE_SEAT_FREE(Vehicle, -1) to also check for the driver
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_NUMBER_OF_PASSENGERS(vehicle) end
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) end
--- @param modelHash number
--- @return number
function VEHICLE.GET_VEHICLE_MODEL_NUMBER_OF_SEATS(modelHash) end
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- @param vehicle number
--- @param seatIndex number
--- @return boolean
function VEHICLE.IS_SEAT_WARP_ONLY(vehicle, seatIndex) end
--- @param vehicle number
--- @param seatIndex any
--- @return boolean
function VEHICLE._GET_VEHICLE_TURRET_SEAT(vehicle, seatIndex) end
--- @param p0 number
--- @param p1 number
--- @return number
function VEHICLE._0xA9E185D498B9AC67(p0, p1) end
--- @param multiplier number
function VEHICLE.SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function VEHICLE.SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- @param multiplier number
function VEHICLE.SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(multiplier) end
--- nullsub, doesn't do anything
--- @param toggle boolean
function VEHICLE.SET_DISABLE_RANDOM_TRAINS_THIS_FRAME(toggle) end
--- @param vehicle number
--- @param doorLockStatus number
function VEHICLE.SET_VEHICLE_DOORS_LOCKED(vehicle, doorLockStatus) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- @param vehicle number
--- @param doorId number
--- @param doorLockStatus number
function VEHICLE.SET_VEHICLE_INDIVIDUAL_DOORS_LOCKED(vehicle, doorId, doorLockStatus) end
--- @param vehicle number
--- @param player number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER(vehicle, player, toggle) end
--- @param vehicle number
--- @param player number
--- @return boolean
function VEHICLE.GET_VEHICLE_DOORS_LOCKED_FOR_PLAYER(vehicle, player) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(vehicle, toggle) end
--- @param vehicle number
--- @param team number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_DOORS_LOCKED_FOR_TEAM(vehicle, team, toggle) end
--- @param vehicle number
--- @param team number
--- @return boolean
function VEHICLE._GET_VEHICLE_DOORS_LOCKED_FOR_TEAM(vehicle, team) end
--- Explodes a selected vehicle.
--- 
--- Vehicle vehicle = Vehicle you want to explode.
--- BOOL isAudible = If explosion makes a sound.
--- BOOL isInvisible = If the explosion is invisible or not.
--- 
--- First BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn.
--- @param vehicle number
--- @param isAudible boolean
--- @param isInvisible boolean
--- @param p3 number
--- @param p4 number
function VEHICLE.EXPLODE_VEHICLE(vehicle, isAudible, isInvisible, p3, p4) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x750D42C013F64AE7(p0, p1) end
--- @param p0 number
function VEHICLE._0xE78993FF9022C064(p0) end
--- nullsub, doesn't do anything
--- @param p0 number
function VEHICLE._0x9868C0D0134855F7(p0) end
--- @param vehicle number
function VEHICLE._HIDE_HORSE_REINS(vehicle) end
--- @param vehicle number
function VEHICLE._SHOW_HORSE_REINS(vehicle) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xD21A3D421E7F09F7(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xA13028E22564A1BD(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x485B05EF05B9AEE9(p0, p1) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_BOAT_ANCHOR(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE._0x6B53F4B811E583D2(vehicle, toggle) end
--- @param vehicle number
--- @return boolean
function VEHICLE.CAN_ANCHOR_BOAT_HERE(vehicle) end
--- Old name: _SET_BOAT_FROZEN_WHEN_ANCHORED
--- @param vehicle number
--- @param p1 boolean
--- @param p2 boolean
function VEHICLE.SET_BOAT_REMAINS_ANCHORED_WHILE_PLAYER_IS_DRIVER(vehicle, p1, p2) end
--- Sets boat to be anchored on spawn, called together with SET_BOAT_ANCHOR and _SET_BOAT_ANCHOR_BUOYANCY_COEFFICIENT
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_FORCE_LOW_LOD_ANCHOR_MODE(vehicle, p1) end
--- Value: mostly 99999.9f
--- 
--- Old name: _SET_BOAT_MOVEMENT_RESISTANCE
--- @param vehicle number
--- @param value number
function VEHICLE.SET_BOAT_LOW_LOD_ANCHOR_DISTANCE(vehicle, value) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_BOAT_SINKS_WHEN_WRECKED(vehicle, toggle) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._SET_FORCE_HIGH_LOD_VEHICLE(vehicle, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VEHICLE._0x98A7598C579EE871(p0, p1, p2) end
--- Forcing high LOD buoyancy for vehicle: p1 = false
--- _SET_A*
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0x9E8711C81AA17876(vehicle, p1) end
--- If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_STRONG(vehicle, toggle) end
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- Use GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) - 1 for last seat index.
--- @param vehicle number
--- @param seatIndex number
--- @return boolean
function VEHICLE.IS_VEHICLE_SEAT_FREE(vehicle, seatIndex) end
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- @param vehicle number
--- @param seatIndex number
--- @return number
function VEHICLE.GET_PED_IN_VEHICLE_SEAT(vehicle, seatIndex) end
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- @param vehicle number
--- @param seatIndex number
--- @return number
function VEHICLE.GET_LAST_PED_IN_VEHICLE_SEAT(vehicle, seatIndex) end
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_DRAFT_VEHICLE(vehicle) end
--- enum eDraftHarness
--- {
--- DRAFT_HARNESS_LR,
--- DRAFT_HARNESS_RR,
--- DRAFT_HARNESS_LM,
--- DRAFT_HARNESS_RM,
--- DRAFT_HARNESS_LF,
--- DRAFT_HARNESS_RF,
--- DRAFT_HARNESS_COUNT
--- };
--- @param vehicle number
--- @param harnessId number
--- @return number
function VEHICLE._GET_PED_IN_DRAFT_HARNESS(vehicle, harnessId) end
--- @param vehicle number
--- @param speed number
function VEHICLE.SET_VEHICLE_FORWARD_SPEED(vehicle, speed) end
--- This native makes the vehicle stop immediately
--- 
--- distance defines how far it will travel until stopping.
--- @param vehicle number
--- @param distance number
--- @param duration number
--- @param unknown boolean
function VEHICLE.BRING_VEHICLE_TO_HALT(vehicle, distance, duration, unknown) end
--- Only returns true if BRING_VEHICLE_TO_HALT is called on vehicle beforehand
--- @param vehicle number
--- @return boolean
function VEHICLE._IS_VEHICLE_BROUGHT_TO_HALT(vehicle) end
--- Old name: _STOP_BRING_VEHICLE_TO_HALT
--- @param vehicle number
function VEHICLE.STOP_BRINGING_VEHICLE_TO_HALT(vehicle) end
--- @param p0 number
function VEHICLE._0xE12F5ED49F44D40D(p0) end
--- @param p0 number
function VEHICLE._0xF6E3D38869D0F7AD(p0) end
--- Closes all doors of a vehicle:
--- @param vehicle number
--- @param closeInstantly boolean
function VEHICLE.SET_VEHICLE_DOORS_SHUT(vehicle, closeInstantly) end
--- Allows you to toggle bulletproof tires.
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_TYRES_CAN_BURST(vehicle, toggle) end
--- @param vehicle number
--- @param enabled boolean
function VEHICLE.SET_VEHICLE_WHEELS_CAN_BREAK(vehicle, enabled) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_DOORS_TO_OPEN_AT_ANY_DISTANCE(vehicle, toggle) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- Can also be used on trains and its wagons
--- @param vehicle number
--- @param doorId number
--- @param loose boolean
--- @param openInstantly boolean
function VEHICLE.SET_VEHICLE_DOOR_OPEN(vehicle, doorId, loose, openInstantly) end
--- windowIndex:
--- 0 = Front Right Window
--- 1 = Front Left Window
--- 2 = Back Right Window
--- 3 = Back Left Window
--- @param vehicle number
--- @param windowIndex number
function VEHICLE.REMOVE_VEHICLE_WINDOW(vehicle, windowIndex) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x8878FF3EEE2868A9(p0, p1) end
--- dirtLevel: 0.0 - 1.0
--- @param vehicle number
--- @param dirtLevel number
function VEHICLE._SET_VEHICLE_DIRT_LEVEL_2(vehicle, dirtLevel) end
--- mudLevel: 0.0 - 1.0
--- @param vehicle number
--- @param mudLevel number
function VEHICLE._SET_VEHICLE_MUD_LEVEL(vehicle, mudLevel) end
--- Sets the vehicle's lights state.
--- @param vehicle number
--- @param state number
function VEHICLE.SET_VEHICLE_LIGHTS(vehicle, state) end
--- @param toggle boolean
function VEHICLE.SET_RANDOM_TRAINS(toggle) end
--- Returns trackIndex
--- @param configHash number
--- @param x number
--- @param y number
--- @param z number
--- @param direction boolean
--- @param p5 boolean
--- @return number
function VEHICLE._0x331CBD247FC5DAA8(configHash, x, y, z, direction, p5) end
--- Takes value returned from 0x45853F4E17D847D5
--- @param trackIndex number
--- @return boolean
function VEHICLE._0x0516FAE561276EFC(trackIndex) end
--- Returns trackIndex
--- @param train number
--- @return number
function VEHICLE._GET_TRAIN_TRACK_FROM_TRAIN_VEHICLE(train) end
--- Returns train
--- @param trackIndex number
--- @return number
function VEHICLE._GET_TRAIN_VEHICLE_FROM_TRACK_INDEX(trackIndex) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x15206E88FF7617DF(trackIndex, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0xA7966807953A18EE(trackIndex, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x6B34BE961F639E21(trackIndex, p1) end
--- @param train number
--- @param p1 boolean
function VEHICLE._0xE6BD7DD3FD474415(train, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x615B3B8E73634509(trackIndex, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x38E7DD70A242D5CB(trackIndex, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x63509DDF102E08E8(trackIndex, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
function VEHICLE._0x7408B5C66BA31ADB(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x41365DB586CD9E8E(trackIndex, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0xD0AABE5B9F8FA589(trackIndex, p1) end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x427C919E9809E370(trackIndex, p1) end
--- @param trackIndex number
--- @return boolean
function VEHICLE._DOES_TRAIN_EXIST_ON_TRACK(trackIndex) end
--- @param trackIndex number
--- @return { x: number, y: number, z: number }
function VEHICLE._GET_TRAIN_POSITION_ON_TRACK(trackIndex) end
--- @param trackIndex number
--- @return boolean
function VEHICLE._0xB4241AD8F5AEE9ED(trackIndex) end
--- @param p0 number
function VEHICLE._0xA230A5DDE12ED374(p0) end
--- @param trackIndex number
function VEHICLE._0x0D5FDF0D36FA10CD(trackIndex) end
--- @param p0 number
function VEHICLE._0xE682002DB1F30669(p0) end
--- @param trackIndex number
function VEHICLE._0x718EB706B6E998A0(trackIndex) end
--- _IS_* (related to CREATE_MISSION_TRAIN)
--- @param trainConfig number
--- @param x number
--- @param y number
--- @param z number
--- @param direction boolean
--- @param p5 boolean
--- @return boolean
function VEHICLE._0xF05DFAF1ADFEF2CD(trainConfig, x, y, z, direction, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function VEHICLE._0xD1DF5E54F4ACBE1A(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
--- @return number
function VEHICLE._0x0FDDEE66E3465726(p0) end
function VEHICLE._0x4C05B42A8D937796() end
function VEHICLE._0xB961DD799A837BD7() end
function VEHICLE._0x16B86A49E072AA85() end
function VEHICLE._0x2A7413168F6CD5A8() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VEHICLE._0xFFFE15B433300B8C(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VEHICLE._0x6EA1273D525427F4(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @return number
function VEHICLE._0x7BE0746539DEF0C8(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x3137EDC899E6DAE4(p0, p1) end
--- Returns trackIndex
--- @param x number
--- @param y number
--- @param z number
--- @return number
function VEHICLE._0x6C87F49BFA181DB5(x, y, z) end
--- Returns trackIndex
--- _E* - _F*
--- @param x number
--- @param y number
--- @param z number
--- @return number
function VEHICLE._GET_TRACK_INDEX_FROM_COORDS(x, y, z) end
--- @param x number
--- @param y number
--- @param z number
--- @return { x: number, y: number, z: number }
function VEHICLE._GET_NEAREST_TRAIN_TRACK_POSITION(x, y, z) end
function VEHICLE.DELETE_ALL_TRAINS() end
--- @param p0 number
--- @param p1 number
--- @return number
function VEHICLE._0x0E558D3A49D759D6(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xD4907EF4334C7602(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x68830738A6BFB370(p0, p1) end
--- @param train number
--- @param speed number
function VEHICLE.SET_TRAIN_SPEED(train, speed) end
--- Maximum possible speed is 30.0 (108 km/h)
--- @param train number
--- @param speed number
function VEHICLE._SET_TRAIN_MAX_SPEED(train, speed) end
--- @param train number
--- @param speed number
function VEHICLE.SET_TRAIN_CRUISE_SPEED(train, speed) end
--- Returns iNumCars - to be used with GET_TRAIN_CARRIAGE (trailerNumber)
--- _C* (O, P, Q, R)
--- @param train number
--- @return number
function VEHICLE._GET_TRAIN_CARRIAGE_TRAILER_NUMBER(train) end
--- Returns modelHash
--- @param trainConfig number
--- @param trainCarIndex number
--- @return number
function VEHICLE._GET_TRAIN_MODEL_FROM_TRAIN_CONFIG_BY_CAR_INDEX(trainConfig, trainCarIndex) end
--- Returns amount for CAN_REGISTER_MISSION_VEHICLES
--- @param trainConfig number
--- @return number
function VEHICLE._GET_NUM_CARS_FROM_TRAIN_CONFIG(trainConfig) end
--- Returns train car, use GET_TRAIN_CARRIAGE when trailerNumber is bigger than 0
--- @param train number
--- @return number
function VEHICLE._GET_TRAIN_CAR(train) end
--- @param train number
--- @param toggle boolean
function VEHICLE._SET_TRAIN_STOPS_FOR_STATIONS(train, toggle) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xDD100CE1EBBF37E3(p0, p1) end
--- @param train number
--- @param p1 number
function VEHICLE._0x160C1B5AB48AB87C(train, p1) end
--- @param train number
--- @return boolean
function VEHICLE.IS_TRAIN_WAITING_AT_STATION(train) end
--- @param train number
function VEHICLE._SET_TRAIN_HALT(train) end
--- Restarts the train
--- @param train number
function VEHICLE._SET_TRAIN_LEAVE_STATION(train) end
--- @param toggle boolean
function VEHICLE.SET_RANDOM_BOATS(toggle) end
--- Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, REQUEST_VEHICLE_RECORDING(1, "FBIs1UBER") corresponds to fbis1uber001.yvr.
--- For all vehicle recording/playback natives, "script" is a common prefix that usually corresponds to the script/mission the recording is used in, "recording" is its int suffix, and "id" corresponds to a unique identifier within the recording streaming module.
--- (GTA) Note that only 24 recordings (hardcoded in multiple places) can ever active at a given time before clobbering begins.
--- @param recording number
--- @param script string
function VEHICLE.REQUEST_VEHICLE_RECORDING(recording, script) end
--- See REQUEST_VEHICLE_RECORDING
--- @param recording number
--- @param script string
--- @return boolean
function VEHICLE.HAS_VEHICLE_RECORDING_BEEN_LOADED(recording, script) end
--- See REQUEST_VEHICLE_RECORDING
--- @param p0 number
--- @param p1 number
function VEHICLE.REMOVE_VEHICLE_RECORDING(p0, p1) end
--- This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording.
--- 
--- See REQUEST_VEHICLE_RECORDING
--- @param recording number
--- @param time number
--- @param script string
--- @return { x: number, y: number, z: number }
function VEHICLE.GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME(recording, time, script) end
--- This native does no interpolation between pathpoints. The same rotation will be returned for all times up to the next pathpoint in the recording.
--- 
--- See REQUEST_VEHICLE_RECORDING
--- @param recording number
--- @param time number
--- @param script string
--- @return { x: number, y: number, z: number }
function VEHICLE.GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME(recording, time, script) end
--- @param vehicle number
--- @return number
function VEHICLE.GET_TIME_POSITION_IN_RECORDING(vehicle) end
--- p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer).
--- 
--- See REQUEST_VEHICLE_RECORDING
--- @param vehicle number
--- @param recording number
--- @param script string
--- @param p3 boolean
function VEHICLE.START_PLAYBACK_RECORDED_VEHICLE(vehicle, recording, script, p3) end
--- Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.FORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE(vehicle, p1) end
--- @param vehicle number
function VEHICLE.STOP_PLAYBACK_RECORDED_VEHICLE(vehicle) end
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehicle) end
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_PLAYBACK_USING_AI_GOING_ON_FOR_VEHICLE(vehicle) end
--- @param vehicle number
--- @param speed number
function VEHICLE.SET_PLAYBACK_SPEED(vehicle, speed) end
--- SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle)
--- @param vehicle number
--- @param time number
function VEHICLE.SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehicle, time) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param modelHash number
--- @param flags number
--- @return number
function VEHICLE.GET_CLOSEST_VEHICLE(x, y, z, radius, modelHash, flags) end
--- @param train number
--- @param trailerNumber number
--- @return number
function VEHICLE.GET_TRAIN_CARRIAGE(train, trailerNumber) end
--- @param train number
function VEHICLE.DELETE_MISSION_TRAIN(train) end
--- flags = 0: DEFAULT; 1: KEEP_OLD_SPEED
--- @param train number
--- @param flags number
function VEHICLE.SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED(train, flags) end
--- @param train number
--- @param x number
--- @param y number
--- @param z number
function VEHICLE.SET_MISSION_TRAIN_COORDS(train, x, y, z) end
--- Notice: BOOL p4 was wrongly named takePassengers (?)
--- Can be used to rotate the train by setting the BOOL direction
--- @param train number
--- @param x number
--- @param y number
--- @param z number
--- @param direction boolean
function VEHICLE._SET_MISSION_TRAIN_WARP_TO_COORDS(train, x, y, z, direction) end
--- @param train number
--- @param p1 boolean
function VEHICLE._0xA72B1BF3857B94D7(train, p1) end
--- @param model number
--- @return boolean
function VEHICLE._IS_THIS_MODEL_A_DRAFT_VEHICLE(model) end
--- @param model number
--- @return boolean
function VEHICLE.IS_THIS_MODEL_A_BOAT(model) end
--- @param model number
--- @return boolean
function VEHICLE.IS_THIS_MODEL_A_TRAIN(model) end
--- @param vehicle number
--- @param state boolean
function VEHICLE.SET_VEHICLE_CAN_BE_TARGETTED(vehicle, state) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_DONT_ALLOW_PLAYER_TO_ENTER_VEHICLE_IF_LOCKED_FOR_PLAYER(vehicle, p1) end
--- @param vehicle number
--- @param state boolean
function VEHICLE.SET_VEHICLE_CAN_BE_VISIBLY_DAMAGED(vehicle, state) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_HAS_UNBREAKABLE_LIGHTS(vehicle, p1) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_RESPECTS_LOCKS_WHEN_HAS_DRIVER(vehicle, p1) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_CAN_EJECT_PASSENGERS_IF_LOCKED(vehicle, p1) end
--- @param vehicle number
--- @param dirtLevel number
function VEHICLE.SET_VEHICLE_DIRT_LEVEL(vehicle, dirtLevel) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- @param vehicle number
--- @param doorId number
--- @return boolean
function VEHICLE.IS_VEHICLE_DOOR_FULLY_OPEN(vehicle, doorId) end
--- Starts or stops the engine on the specified vehicle.
--- 
--- vehicle: The vehicle to start or stop the engine on.
--- value: true to turn the vehicle on; false to turn it off.
--- instantly: if true, the vehicle will be set to the state immediately; otherwise, the current driver will physically turn on or off the engine.
--- @param vehicle number
--- @param value boolean
--- @param instantly boolean
function VEHICLE.SET_VEHICLE_ENGINE_ON(vehicle, value, instantly) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_UNDRIVEABLE(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_PROVIDES_COVER(vehicle, toggle) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x3053064F909B5F42(p0, p1) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- @param vehicle number
--- @param doorId number
--- @param speed number
--- @param angle number
function VEHICLE.SET_VEHICLE_DOOR_CONTROL(vehicle, doorId, speed, angle) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- @param vehicle number
--- @param doorId number
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
function VEHICLE.SET_VEHICLE_DOOR_LATCHED(vehicle, doorId, p2, p3, p4) end
--- doorId: enum eDoorId
--- {
--- VEH_EXT_DOOR_INVALID_ID = -1,
--- VEH_EXT_DOOR_DSIDE_F,
--- VEH_EXT_DOOR_DSIDE_M,
--- VEH_EXT_DOOR_DSIDE_M1,
--- VEH_EXT_DOOR_DSIDE_M2,
--- VEH_EXT_DOOR_DSIDE_R,
--- VEH_EXT_DOOR_PSIDE_F,
--- VEH_EXT_DOOR_PSIDE_M,
--- VEH_EXT_DOOR_PSIDE_M1,
--- VEH_EXT_DOOR_PSIDE_M2,
--- VEH_EXT_DOOR_PSIDE_R,
--- VEH_EXT_BONNET,
--- VEH_EXT_BOOT
--- };
--- @param vehicle number
--- @param doorId number
--- @param closeInstantly boolean
function VEHICLE.SET_VEHICLE_DOOR_SHUT(vehicle, doorId, closeInstantly) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- @param vehicle number
--- @param doorId number
--- @param deleteDoor boolean
function VEHICLE.SET_VEHICLE_DOOR_BROKEN(vehicle, doorId, deleteDoor) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_CAN_BREAK(vehicle, toggle) end
--- Setting this to false, makes the specified vehicle to where if you press Y your character doesn't even attempt the animation to enter the vehicle. Hence it's not considered aka ignored.
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_IS_CONSIDERED_BY_PLAYER(vehicle, toggle) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_MAY_BE_USED_BY_GOTO_POINT_ANY_MEANS(vehicle, p1) end
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_DOOR_LOCK_STATUS(vehicle) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- 
--- Old name: _SET_VEHICLE_DOOR_CAN_BREAK
--- @param vehicle number
--- @param doorId number
--- @param isBreakable boolean
function VEHICLE.SET_DOOR_ALLOWED_TO_BE_BROKEN_OFF(vehicle, doorId, isBreakable) end
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_VEHICLE_ON_ALL_WHEELS(vehicle) end
--- @param train number
--- @return boolean
function VEHICLE._GET_TRAIN_DIRECTION(train) end
--- https://i.imgur.com/1rHibjW.jpg
--- @param trackIndex number
--- @return boolean
function VEHICLE._GET_TRAIN_DIRECTION_FROM_INDEX(trackIndex) end
--- Outputs track hash and junction index on given train vehicle handle.
--- _RESET_VEHICLE_* (?)
--- @param train number
--- @param trainTrack any
--- @param junctionIndex any
--- @return boolean
function VEHICLE._RETURN_TRAIN_INFO_FROM_HANDLE(train, trainTrack, junctionIndex) end
--- Outputs junctionIndex, to be used with 0xE6C5E2125EB210C1
--- @param trainTrack number
--- @param x number
--- @param y number
--- @param z number
--- @param junctionIndex any
--- @return boolean
function VEHICLE._GET_TRAIN_TRACK_JUNCTION_AT_COORDS(trainTrack, x, y, z, junctionIndex) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return number
function VEHICLE._0xD9BF3ED8EFB67EA3(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
--- @return { x: number, y: number, z: number }
function VEHICLE._0x785639D89F8451AB(p0, p1) end
--- trainTrack: FREIGHT_GROUP, TRAINS3, BRAITHWAITES2_TRACK_CONFIG, TRAINS_OLD_WEST01, TRAINS_OLD_WEST03, TRAINS_NB1, TRAINS_INTERSECTION1_ANN
--- @param trainTrack number
--- @param junctionIndex number
--- @param enabled boolean
function VEHICLE._SET_TRAIN_TRACK_JUNCTION_SWITCH(trainTrack, junctionIndex, enabled) end
--- Called together with 0xE6C5E2125EB210C1 in R* Script medium_update
--- @param trainTrack number
--- @param junctionIndex number
--- @param enabled boolean
function VEHICLE._0x3ABFA128F5BF5A70(trainTrack, junctionIndex, enabled) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function VEHICLE._0x2C46D2A591D8C322(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function VEHICLE._0xCAFF2C9747103C02(p0, p1, p2) end
function VEHICLE._SET_ALL_JUNCTIONS_CLEARED() end
--- @param trackIndex number
--- @param p1 number
function VEHICLE._0x34BCF6209B9668A7(trackIndex, p1) end
--- @param trackIndex number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 number
function VEHICLE._0xD0BA1853D76683C8(trackIndex, x, y, z, p4) end
--- @param train number
--- @param offset number
function VEHICLE.SET_TRAIN_OFFSET_FROM_STATION(train, offset) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xDC69F6913CCA0B99(p0, p1) end
--- @param train number
--- @param p1 boolean
function VEHICLE._0x7840576C50A13DBA(train, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function VEHICLE._0xD0116DF21E6C7B36(p0, p1) end
--- Only used in train_robbery4 R* Script
--- _C* - _DEL*
--- @param entity number
function VEHICLE._DETACH_WAGON_ENTITY_FROM_TRAIN(entity) end
--- Returns p1 for 0xBA958F68031DDBFC (stationIndex)
--- _GET_N* (NEAREST_STATION_FOR_TRAIN?)
--- @param train number
--- @return number
function VEHICLE._0x1180A2974D251B7B(train) end
--- Returns p1 for 0xBA958F68031DDBFC (stationIndex)
--- @param train number
--- @return number
function VEHICLE.GET_CURRENT_STATION_FOR_TRAIN(train) end
--- _GET_P - _GET_T*
--- @param trackIndex number
--- @param stationIndex number
--- @return number
function VEHICLE._0x9CC94A948EAF5372(trackIndex, stationIndex) end
--- @param train number
--- @return number
function VEHICLE._0xDE8C5B9F65017FA1(train) end
--- Returns p0 for 0xBA958F68031DDBFC (trackIndex)
--- @param train number
--- @return number
function VEHICLE._GET_CURRENT_TRACK_FOR_TRAIN(train) end
--- Returns Coords of vStation
--- p0 - NET_TRAIN_MANAGER_GET_TRAIN_STATION_DATA
--- _GET_P* - _GET_T*
--- @param trackIndex number
--- @param stationIndex number
--- @return { x: number, y: number, z: number }
function VEHICLE._GET_STATION_COORDS_FROM_TRAIN_STATION_DATA(trackIndex, stationIndex) end
--- @param train number
--- @return number
function VEHICLE.GET_TRACK_INDEX_OF_TRAIN(train) end
--- @param train number
--- @param p1 boolean
function VEHICLE._0x1A861F899EBBE17C(train, p1) end
--- @param trackIndex number
--- @param p1 boolean
function VEHICLE._0xF8F7DA13CFBD4532(trackIndex, p1) end
--- whistleSequence: ACKNOWLEDGE, BACKING_UP, CROSSING, DANGER, MOVING, NEXT_STATION, PASSING, STOPPED
--- p2 = true seems to mute the sound
--- @param train number
--- @param whistleSequence string
--- @param p2 boolean
--- @param p3 boolean
function VEHICLE._TRIGGER_TRAIN_WHISTLE(train, whistleSequence, p2, p3) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x2BB2B5BCF0DF8008(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x6703872EC09BC158(p0, p1) end
--- @param train number
--- @param p1 boolean
function VEHICLE._0x1BFBAFCC6760FF02(train, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function VEHICLE._0xF5EA41C1408695FB(p0, p1, p2, p3) end
--- This fixes a vehicle.
--- If the vehicle's engine's broken then you cannot fix it with this native.
--- @param vehicle number
function VEHICLE.SET_VEHICLE_FIXED(vehicle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_DISABLE_VEHICLE_PETROL_TANK_FIRES(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_DISABLE_VEHICLE_PETROL_TANK_DAMAGE(vehicle, toggle) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_DISABLE_VEHICLE_ENGINE_FIRES(vehicle, p1) end
--- _SET_VEHICLE_LI*
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_LIMIT_SPEED_WHEN_PLAYER_INACTIVE(vehicle, p1) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_STOP_INSTANTLY_WHEN_PLAYER_INACTIVE(vehicle, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function VEHICLE.REMOVE_VEHICLES_FROM_GENERATORS_IN_AREA(p0, p1, p2, p3, p4, p5) end
--- Locks the vehicle's steering to the desired angle, explained below.
--- 
--- Requires to be called onTick. Steering is unlocked the moment the function stops being called on the vehicle.
--- 
--- Steer bias:
--- -1.0 = full right
--- 0.0 = centered steering
--- 1.0 = full left
--- @param vehicle number
--- @param value number
function VEHICLE.SET_VEHICLE_STEER_BIAS(vehicle, value) end
--- @param vehicle number
--- @param extraId number
--- @return boolean
function VEHICLE.IS_VEHICLE_EXTRA_TURNED_ON(vehicle, extraId) end
--- Note: only some vehicle have extras
--- https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_extras.lua
--- @param vehicle number
--- @param extraId number
--- @param disable boolean
function VEHICLE.SET_VEHICLE_EXTRA(vehicle, extraId, disable) end
--- @param vehicle number
--- @param extraId number
--- @return boolean
function VEHICLE.DOES_EXTRA_EXIST(vehicle, extraId) end
--- Apply damage to vehicle at a location. Location is relative to vehicle model (not world).
--- 
--- Radius of effect damage applied in a sphere at impact location
--- @param vehicle number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param damage number
--- @param radius number
--- @param p6 boolean
function VEHICLE.SET_VEHICLE_DAMAGE(vehicle, xOffset, yOffset, zOffset, damage, radius, p6) end
--- Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle.
--- 
--- Minimum: -4000
--- Maximum: 1000
--- 
--- -4000: Engine is destroyed
--- 0 and below: Engine catches fire and health rapidly declines
--- 300: Engine is smoking and losing functionality
--- 1000: Engine is perfect
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_ENGINE_HEALTH(vehicle) end
--- 1000 is max health
--- Begins leaking gas at around 650 health
--- -999.90002441406 appears to be minimum health, although nothing special occurs <- false statement
--- 
--- -------------------------
--- Minimum: -4000
--- Maximum: 1000
--- 
--- -4000: Engine is destroyed
--- 0 and below: Engine catches fire and health rapidly declines
--- 300: Engine is smoking and losing functionality
--- 1000: Engine is perfect
--- @param vehicle number
--- @param health number
function VEHICLE.SET_VEHICLE_ENGINE_HEALTH(vehicle, health) end
--- 1000 is max health
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_PETROL_TANK_HEALTH(vehicle) end
--- 1000 is max health
--- @param vehicle number
--- @param health number
function VEHICLE.SET_VEHICLE_PETROL_TANK_HEALTH(vehicle, health) end
--- VEH_STUCK_ON_ROOF = 0,
--- VEH_STUCK_ON_SIDE,
--- VEH_STUCK_HUNG_UP,
--- VEH_STUCK_JAMMED
--- @param vehicle number
--- @param stuckType number
--- @param ms number
--- @return boolean
function VEHICLE.IS_VEHICLE_STUCK_TIMER_UP(vehicle, stuckType, ms) end
--- @param vehicle number
--- @param nullAttributes number
function VEHICLE.RESET_VEHICLE_STUCK_TIMER(vehicle, nullAttributes) end
--- @param vehicle number
--- @param p1 boolean
--- @param p2 boolean
--- @return boolean
function VEHICLE.IS_VEHICLE_DRIVEABLE(vehicle, p1, p2) end
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_VEHICLE_WRECKED(vehicle) end
--- @param vehicle number
--- @return boolean
function VEHICLE._IS_VEHICLE_ON_FIRE(vehicle) end
--- @param vehicle number
--- @param owned boolean
function VEHICLE.SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER(vehicle, owned) end
--- Sounds the horn for the specified vehicle.
--- 
--- vehicle: The vehicle to activate the horn for.
--- mode: The hash of "NORMAL" or "HELDDOWN". Can be 0.
--- duration: The duration to sound the horn, in milliseconds.
--- 
--- Note: If a player is in the vehicle, it will only sound briefly.
--- @param vehicle number
--- @param duration number
--- @param mode number
--- @param forever boolean
function VEHICLE.START_VEHICLE_HORN(vehicle, duration, mode, forever) end
--- if true, axles won't bend.
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_HAS_STRONG_AXLES(vehicle, toggle) end
--- snowLevel: 0.0 - 1.0
--- @param vehicle number
--- @param snowLevel number
function VEHICLE._SET_VEHICLE_SNOW_LEVEL(vehicle, snowLevel) end
--- wetLevel: 0.0 - 1.0
--- @param vehicle number
--- @param wetLevel number
function VEHICLE._SET_VEHICLE_WET_LEVEL(vehicle, wetLevel) end
--- https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_tints.lua
--- @param vehicle number
--- @param tintId number
function VEHICLE._SET_VEHICLE_TINT(vehicle, tintId) end
--- https://github.com/femga/rdr3_discoveries/blob/master/vehicles/vehicle_modding/vehicle_liveries.lua
--- @param vehicle number
--- @param liveryIndex number
function VEHICLE._SET_VEHICLE_LIVERY(vehicle, liveryIndex) end
--- @param vehicle number
--- @return number
function VEHICLE._GET_VEHICLE_TINT(vehicle) end
--- @param vehicle number
--- @return number
function VEHICLE._GET_VEHICLE_LIVERY(vehicle) end
--- @param vehicle number
--- @param windowIndex number
--- @return boolean
function VEHICLE.IS_VEHICLE_WINDOW_INTACT(vehicle, windowIndex) end
--- Returns false if every seat is occupied.
--- @param vehicle number
--- @return boolean
function VEHICLE.ARE_ANY_VEHICLE_SEATS_FREE(vehicle) end
--- Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off.
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_EXPLODES_ON_HIGH_EXPLOSION_DAMAGE(vehicle, toggle) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_ALLOW_VEHICLE_EXPLODES_ON_CONTACT(vehicle, p1) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @return boolean
function VEHICLE.IS_ANY_VEHICLE_NEAR_POINT(x, y, z, radius) end
--- @param vehicle number
function VEHICLE.REQUEST_VEHICLE_HIGH_DETAIL_MODEL(vehicle) end
--- @param vehicleHash number
--- @param vehicleAsset number
function VEHICLE.REQUEST_VEHICLE_ASSET(vehicleHash, vehicleAsset) end
--- @param ped number
--- @param entity number
--- @param vehicleAsset number
function VEHICLE._REQUEST_VEHICLE_ASSET_ANIMS(ped, entity, vehicleAsset) end
--- @param vehicleAsset number
--- @return boolean
function VEHICLE.HAS_VEHICLE_ASSET_LOADED(vehicleAsset) end
--- @param vehicleAsset number
function VEHICLE.REMOVE_VEHICLE_ASSET(vehicleAsset) end
--- @param vehicle number
--- @param p1 boolean
--- @param p2 number
--- @return number
function VEHICLE.SET_VEHICLE_AUTOMATICALLY_ATTACHES(vehicle, p1, p2) end
--- @param vehicle number
--- @param p1 number
function VEHICLE._0x104D9A7B1C0D0783(vehicle, p1) end
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_VEHICLE_IN_BURNOUT(vehicle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_HANDBRAKE(vehicle, toggle) end
function VEHICLE.INSTANTLY_FILL_VEHICLE_POPULATION() end
--- @return boolean
function VEHICLE.HAS_INSTANT_FILL_VEHICLE_POPULATION_FINISHED() end
--- Gets the trailer of a vehicle and puts it into the trailer parameter.
--- @param vehicle number
--- @param trailer number
--- @return boolean
function VEHICLE.GET_VEHICLE_TRAILER_VEHICLE(vehicle, trailer) end
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_ESTIMATED_MAX_SPEED(vehicle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @return number
function VEHICLE.ADD_ROAD_NODE_SPEED_ZONE(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) end
--- @param speedzone number
--- @return boolean
function VEHICLE.REMOVE_ROAD_NODE_SPEED_ZONE(speedzone) end
--- @param ped number
--- @param vehicle number
--- @param seatIndex number
--- @param side boolean
--- @param onEnter boolean
--- @return boolean
function VEHICLE.IS_ENTRY_POINT_FOR_SEAT_CLEAR(ped, vehicle, seatIndex, side, onEnter) end
--- seatIndex: see CREATE_PED_INSIDE_VEHICLE
--- @param vehicle number
--- @param seatIndex number
--- @return boolean
function VEHICLE.CAN_SHUFFLE_SEAT(vehicle, seatIndex) end
--- @param vehicle number
--- @param value number
function VEHICLE.MODIFY_VEHICLE_TOP_SPEED(vehicle, value) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_STAYS_FROZEN_WHEN_CLEANED_UP(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_INFLUENCES_WANTED_LEVEL(vehicle, toggle) end
--- @param vehicle number
--- @return boolean
function VEHICLE._IS_BOAT_GROUNDED(vehicle) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_NOT_STEALABLE_AMBIENTLY(vehicle, p1) end
--- @param vehicle number
function VEHICLE.LOCK_DOORS_WHEN_NO_LONGER_NEEDED(vehicle) end
--- @return number
function VEHICLE.GET_LAST_DRIVEN_VEHICLE() end
function VEHICLE.CLEAR_LAST_DRIVEN_VEHICLE() end
--- @param ped number
--- @param vehicle number
function VEHICLE.SET_PED_OWNS_VEHICLE(ped, vehicle) end
--- @param vehicle number
--- @return number
function VEHICLE._GET_VEHICLE_OWNER(vehicle) end
--- @param vehicle number
--- @param multiplier number
function VEHICLE.SET_VEHICLE_LOD_MULTIPLIER(vehicle, multiplier) end
--- Ranges from -1 to 2? (internal type is int8)
--- https://imgur.com/a/bPzHcft
--- @param vehicle number
--- @param lodLevel number
function VEHICLE._SET_VEHICLE_LOD_LEVEL(vehicle, lodLevel) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_FORCE_VEHICLE_ENGINE_DAMAGE_BY_BULLET(vehicle, toggle) end
--- Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.
--- @param sourceVehicle number
--- @param targetVehicle number
function VEHICLE.COPY_VEHICLE_DAMAGES(sourceVehicle, targetVehicle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
function VEHICLE.SET_VEHICLE_SHOOT_AT_TARGET(p0, p1, p2, p3, p4, p5) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_FORCE_HD_VEHICLE(vehicle, toggle) end
--- @param vehicle number
function VEHICLE.TRACK_VEHICLE_VISIBILITY(vehicle) end
--- Requires a visibility tracker on the vehicle (TRACK_VEHICLE_VISIBILITY)
--- @param vehicle number
--- @return boolean
function VEHICLE.IS_VEHICLE_VISIBLE(vehicle) end
--- @param p0 number
--- @return number
function VEHICLE._0x13C190302369308B(p0) end
--- @param p0 boolean
function VEHICLE.SET_ENABLE_VEHICLE_SLIPSTREAMING(p0) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_INACTIVE_DURING_PLAYBACK(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_ENGINE_CAN_DEGRADE(vehicle, toggle) end
--- @param vehicle number
--- @param isStolen boolean
function VEHICLE.SET_VEHICLE_IS_STOLEN(vehicle, isStolen) end
--- Used in Script Function MC_LOCAL_SETUP_VEH - enabling transitions
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0xCBF88256E44D5D39(vehicle, p1) end
--- Used in Script Function MC_LOCAL_SETUP_VEH - enabling transitions
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0xC325A6BAA62CF8A2(vehicle, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x0CD7914D17A970AB(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x23F66C36F8E5EAAB(p0, p1) end
--- @param p0 number
function VEHICLE._0x697DF68F3A761A50(p0) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x27E3F2B57209FA54(p0, p1) end
--- @param disabled boolean
--- @param weaponHash number
--- @param vehicle number
--- @param owner number
function VEHICLE.DISABLE_VEHICLE_WEAPON(disabled, weaponHash, vehicle, owner) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_KEEP_ENGINE_ON_WHEN_ABANDONED(vehicle, toggle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_WHEELS_CAN_BREAK_OFF_WHEN_BLOW_UP(vehicle, toggle) end
--- @param vehicle number
--- @param p1 number
function VEHICLE._0x15CC8C33D7FFCC4A(vehicle, p1) end
--- Used to be incorrectly named SET_VEHICLE_EXCLUSIVE_DRIVER
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_VEHICLE_AI_CAN_USE_EXCLUSIVE_SEATS(vehicle, toggle) end
--- index: 0 - 1
--- 
--- Used to be incorrectly named _SET_VEHICLE_EXCLUSIVE_DRIVER_2
--- @param vehicle number
--- @param ped number
--- @param index number
function VEHICLE.SET_VEHICLE_EXCLUSIVE_DRIVER(vehicle, ped, index) end
--- @param ped number
--- @param vehicle number
--- @param outIndex any
--- @return boolean
function VEHICLE._IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE(ped, vehicle, outIndex) end
--- @param p0 number
function VEHICLE._0xDC0556D0F484ECAA(p0) end
--- Old name: _SET_DISABLE_SUPERDUMMY_MODE
--- @param vehicle number
--- @param disable boolean
function VEHICLE.SET_DISABLE_SUPERDUMMY(vehicle, disable) end
--- Seems related to vehicle health, like the one in IV.
--- Max 1000, min 0.
--- Vehicle does not necessarily explode or become undrivable at 0.
--- @param vehicle number
--- @return number
function VEHICLE.GET_VEHICLE_BODY_HEALTH(vehicle) end
--- @param vehicle number
--- @param value number
function VEHICLE.SET_VEHICLE_BODY_HEALTH(vehicle, value) end
--- @param p0 number
--- @return number
function VEHICLE._0xE777DDF3E78397E8(p0) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE.SET_VEHICLE_BROKEN_PARTS_DONT_AFFECT_AI_HANDLING(vehicle, p1) end
--- Only used in SP Scripts.
--- Related to Vehicle Speed.
--- @param p0 number
--- @param p1 number
function VEHICLE._0x012701ED938B85DE(p0, p1) end
function VEHICLE._0x8379E05871AD24E0() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function VEHICLE._SET_HORSE_TRAFFIC_GROUPING_DISTRIBUTION(p0, p1, p2, p3) end
--- @param mount number
--- @param draft number
--- @param harnessId number
--- @return boolean
function VEHICLE._ATTACH_DRAFT_VEHICLE_HARNESS_PED(mount, draft, harnessId) end
--- @param draft number
--- @param harnessId number
--- @return boolean
function VEHICLE._DETACH_DRAFT_VEHICLE_HARNESS_FROM_INDEX(draft, harnessId) end
--- @param draft number
--- @param ped number
--- @return boolean
function VEHICLE._DETACH_DRAFT_VEHICLE_HARNESS_PED(draft, ped) end
--- @param p0 number
function VEHICLE._0x0F7F603BDE08C4D3(p0) end
--- Returns number of horses a wagon can have
--- @param modelHash number
--- @return number
function VEHICLE._GET_NUM_DRAFT_VEHICLE_HARNESS_PED(modelHash) end
--- @param trackIndex number
--- @param x number
--- @param y number
--- @param z number
--- @param distance number
--- @param direction boolean
--- @return { x: number, y: number, z: number }
function VEHICLE._GET_CHECKPOINT_TRAIN_SPAWN_LOCATION(trackIndex, x, y, z, distance, direction) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0xC399CC89FBA05DA0(vehicle, p1) end
--- Returns handles of boat paddles entities.
--- @param vehicle number
--- @param left number
--- @param right number
function VEHICLE._GET_ROWING_OARS(vehicle, left, right) end
--- @param vehicle number
--- @return number
function VEHICLE.GET_DRIVER_OF_VEHICLE(vehicle) end
--- Hashes: COACH2_BOOT_LOOT_ITEMS_COACHROB_RSC, COACH2_BOOT_LOOT_ITEMS_COACHROB, COACH2_MARY3
--- @param vehicle number
--- @param coachrobberyLoot number
function VEHICLE._SET_FORCE_COACH_ROBBERY_LOOT(vehicle, coachrobberyLoot) end
--- @param p0 number
--- @return number
function VEHICLE._0x0BA4250D20007C2E(p0) end
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
--- @param p4 boolean
--- @param p5 number
function VEHICLE._0x2200AB13CBD10F4E(vehicle, x, y, z, p4, p5) end
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
function VEHICLE._0xB42C87521D1BDD2F(vehicle, x, y, z) end
--- @param p0 number
function VEHICLE._0xC351394B932A6A50(p0) end
--- @param p0 number
function VEHICLE._0x172E9DD35858DCD7(p0) end
--- @param vehicle number
--- @return number
function VEHICLE._GET_BREAKABLE_VEHICLE_LOCKS_STATE(vehicle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function VEHICLE._0x877EA24EB1614495(p0, p1, p2) end
--- @param vehicle number
--- @param index number
--- @return number
function VEHICLE._GET_BREAKABLE_VEHICLE_LOCK_OBJECT(vehicle, index) end
--- @param vehicle number
--- @return number
function VEHICLE._GET_NUM_BREAKABLE_VEHICLE_LOCK_OBJECTS(vehicle) end
--- @param vehicle number
--- @param toggle boolean
function VEHICLE.SET_BREAKABLE_VEHICLE_LOCKS_UNBREAKABLE(vehicle, toggle) end
--- @param p0 number
function VEHICLE._0x9D12796EF4BF9EA9(p0) end
--- @param vehicle number
--- @param p1 number
function VEHICLE._0x850CE59DEC2028F3(vehicle, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x0355FE37240E2C77(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x3D86997A86FEEF0D(p0, p1) end
--- @param vehicle number
--- @param p1 number
function VEHICLE._0xD826690B5CF3BEFF(vehicle, p1) end
--- Params: destroyingForce is usually 100f in R* Scripts
--- Similar to 0xD4F5EFB55769D272, _A*
--- @param vehicle number
--- @param wheelIndex number
--- @param destroyingForce number
function VEHICLE._BREAK_OFF_DRAFT_WHEEL(vehicle, wheelIndex, destroyingForce) end
--- @param vehicle number
--- @param expected any
--- @param actual any
--- @return boolean
function VEHICLE.GET_DRAFT_ANIMAL_COUNT(vehicle, expected, actual) end
--- @param p0 number
function VEHICLE._0x165BE2001E5E4B75(p0) end
--- @param draft number
--- @param canDetach boolean
function VEHICLE._SET_DRAFT_VEHICLE_ANIMALS_CAN_DETACH(draft, canDetach) end
--- @param draft number
--- @param canBreak boolean
function VEHICLE._SET_DRAFT_VEHICLE_YOKE_CAN_BREAK(draft, canBreak) end
--- @param train number
--- @param trackIndex number
--- @param x number
--- @param y number
--- @param z number
function VEHICLE._ADD_TRAIN_TEMPORARY_STOP(train, trackIndex, x, y, z) end
--- _SET_VEHICLE_S*
--- @param wagon number
--- @param p1 boolean
function VEHICLE._0x0794199B25E499E1(wagon, p1) end
--- _SET_VEHICLE_WHEELS_*
--- @param wagon number
--- @param p1 number
--- @param p2 boolean
function VEHICLE._0x73118A3EE9C9B6DB(wagon, p1, p2) end
--- Only used in R* SP Script rcm_abigail31: p1 = 5
--- _GET_VEHICLE_T* - _GET_VO*
--- @param wagon number
--- @param p1 number
--- @return boolean
function VEHICLE._0xE1C0F8781BF130C2(wagon, p1) end
--- @param vehicle number
--- @param wheel number
--- @return boolean
function VEHICLE._IS_VEHICLE_WHEEL_DESTROYED(vehicle, wheel) end
--- _ARE_ANY_VEHICLE_(WHEELS_DESTROYED?)*
--- @param vehicle number
--- @return boolean
function VEHICLE._0x18714953CCED17D3(vehicle) end
--- _H*
--- @param wagon number
function VEHICLE._0x41F0B254DDF71473(wagon) end
--- @param vehicle number
--- @param amount number
--- @param p2 number
--- @param p3 boolean
function VEHICLE._SET_VEHICLE_DETERIORATION(vehicle, amount, p2, p3) end
--- doorId: see SET_VEHICLE_DOOR_SHUT
--- @param vehicle number
--- @param doorId number
--- @return boolean
function VEHICLE._IS_VEHICLE_DOOR_BROKEN(vehicle, doorId) end
--- wheelIndex 0: left, wheelIndex 1: right, 4 & 5: unknown
--- @param vehicle number
--- @param wheelIndex number
--- @return number
function VEHICLE._BREAK_OFF_VEHICLE_WHEEL(vehicle, wheelIndex) end
--- Spawn without lanterns set
--- @param vehicle number
--- @return boolean
function VEHICLE._DELETE_VEHICLE_LANTERNS(vehicle) end
--- _SET_INSTANTLY_* - _SET_MISSION_TRAIN*
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0x6DE072AC8A95FFC1(vehicle, p1) end
--- @param vehicle number
--- @param speed number
function VEHICLE._SET_DRAFT_VEHICLE_DESIRED_SPEED(vehicle, speed) end
--- Returns rage::NumericLimits<float>::kMax (3.402823466e+38) if vehicle is not a valid vehicle of type VEHICLE_TYPE_DRAFT.
--- @param vehicle number
--- @return number
function VEHICLE._GET_DRAFT_VEHICLE_DESIRED_SPEED(vehicle) end
--- _SET_DRAFT_VEHICLE_(STOP?)*
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0xC4A2C11FC0D41916(vehicle, p1) end
--- _SET_DRAFT_VEHICLE_*
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0xFC4F15A7DDDC47B1(vehicle, p1) end
--- Params: p1 usually true in R* Scripts
--- _SET_DRAFT_VEHICLE_*
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0x4C60C333F9CCA2B6(vehicle, p1) end
--- @param vehicle number
--- @param p1 number
function VEHICLE._0xCF342503CA4C8DF1(vehicle, p1) end
--- _SET_TRAIN_*
--- @param train number
--- @param p1 boolean
function VEHICLE._0x06A09A6E0C6D2A84(train, p1) end
--- _SET_TRAIN_*
--- @param train number
--- @param p1 boolean
function VEHICLE._0xAE7E66A61E7C17A5(train, p1) end
--- _SET_TRAIN_*
--- @param train number
--- @param p1 boolean
function VEHICLE._0xEF28A614B4B264B8(train, p1) end
--- _SET_VEHICLE_*
--- @param vehicle number
function VEHICLE._0x04F0579DBDD32F34(vehicle) end
--- Params: coords = GET_ENTITY_VELOCITY
--- _SET_VELOCITY*
--- @param vehicle number
--- @param x number
--- @param y number
--- @param z number
function VEHICLE._0x12F6C6ED3EFF42DE(vehicle, x, y, z) end
--- @param vehicle number
--- @param p1 boolean
function VEHICLE._0x87B974E54C71BA7B(vehicle, p1) end
--- @param train number
--- @return boolean
function VEHICLE._HAS_TRAIN_LOADED(train) end
--- configHash: https://alloc8or.re/rdr3/doc/enums/eTrainConfig.txt
--- For more information, see trainconfigs.ymt
--- To make the train AI controlled, set conductor to true and set the speed once.
--- @param configHash number
--- @param x number
--- @param y number
--- @param z number
--- @param direction boolean
--- @param passengers boolean
--- @param p6 boolean
--- @param conductor boolean
--- @return number
function VEHICLE._CREATE_MISSION_TRAIN(configHash, x, y, z, direction, passengers, p6, conductor) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function VEHICLE._0xD1EFA8D68BF5D63D(p0, p1, p2, p3) end
--- @param p0 number
--- @return number
function VEHICLE._0x1121B07088ED3013(p0) end
--- @param p0 number
--- @return number
function VEHICLE._0x42404D57D621601A(p0) end
--- @param p0 number
--- @return number
function VEHICLE._0x288CBB414C3C2FBB(p0) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x6FD7BDF10304363A(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xCEB1F1EED484A5B4(p0, p1) end
--- @param p0 number
--- @return number
function VEHICLE._0xF57DB8E83DCD8349(p0) end
--- Params: 1.0f will make balloon hover
--- @param balloon number
--- @param p1 number
function VEHICLE._SET_BALLOON_HOVER_STATE(balloon, p1) end
--- @param vehicle number
--- @param allow boolean
function VEHICLE._SET_DRAFT_VEHICLE_ALLOW_DRAFT_ANIMAL_AUTO_CREATION(vehicle, allow) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x6835AFEA10E186F4(p0, p1) end
--- @param vehicle number
--- @param seed number
function VEHICLE._SET_DRAFT_ANIMAL_RANDOM_SEED(vehicle, seed) end
--- @param p0 number
--- @return number
function VEHICLE._0x14DA8C4BC2CCD90A(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function VEHICLE._0xCACAB2B123BBDBD6(p0, p1, p2) end
--- @param p0 number
function VEHICLE._0xFF2B1F59FB892F14(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
function VEHICLE._0x5AADC7BBBB1BCEEB(p0, p1, p2, p3, p4) end
--- @param vehicle number
--- @return boolean
function VEHICLE._GET_VEHICLE_IS_PROP_SET_APPLIED(vehicle) end
--- Total height is calculated using: cargo ratio + pelt ratio (by pelt count)
--- Screenshot: https://imgur.com/a/nsomtiv
--- @param vehicle number
--- @param height number
--- @param immediately boolean
function VEHICLE._SET_BATCH_TARP_HEIGHT(vehicle, height, immediately) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x07E2E21E799080A0(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
function VEHICLE._0xC2E62678D602853C(p0, p1, p2, p3, p4, p5, p6) end
--- @param p0 number
function VEHICLE._0x873AAF600CC36DAC(p0) end
--- @param p0 number
--- @return number
function VEHICLE._0x51C7694E140FAE43(p0) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x8DECD262602548B9(p0, p1) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0xCBC7B6F9A56B79F6(p0, p1) end
--- @param trackIndex number
--- @return boolean
function VEHICLE._0x37D238BE69F7378A(trackIndex) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x703D4FB366DA4452(p0, p1) end
--- Seems to be related while setting a (door) state of specific trains (midlandboxcar05x, privateboxcar01x, privateboxcar02x, midlandrefrigeratorCar, privateArmoured, armoredCar01x)
--- @param trainCarriage number
--- @param p1 boolean
function VEHICLE._0x762FDC4C19E5A981(trainCarriage, p1) end
--- @param p0 number
--- @return number
function VEHICLE._0x2045429505158D1A(p0) end
--- @param p0 number
--- @param p1 number
function VEHICLE._0x13EB275BF81636D1(p0, p1) end

VOICE = {}

--- @return boolean
function VOICE._0xCCF71FCFA0070B1A() end
--- @param enabled boolean
function VOICE._0x79F478FF5F9F4F05(enabled) end
--- @param player number
--- @return boolean
function VOICE._0xAA35FD9ABAB490A3(player) end
--- @param gamerHandle number
--- @return boolean
function VOICE._0x356135B9B10A2A82(gamerHandle) end
--- @param player number
--- @return boolean
function VOICE._0xEF6F2A35FAAF2ED7(player) end
--- @param player number
--- @param muted boolean
--- @return boolean
function VOICE._0x49623BCFC3A3D829(player, muted) end
--- @param player number
--- @return boolean
function VOICE._0x919AF2D93E9AA89D(player) end
--- @param player number
--- @return boolean
function VOICE._0x0DED260A1958A82E(player) end
--- @param player number
--- @return boolean
function VOICE._0x8E462DB1EAA9C47C(player) end
--- @param player number
--- @return number
function VOICE._0x5CA7FB7D6DE49DCC(player) end
--- @param proximity number
function VOICE._0x58125B691F6827D5(proximity) end
--- @param player number
--- @return number
function VOICE._0x2F82CAB262C8AE26(player) end
--- @param threshold number
function VOICE._0x08797A8C03868CB8(threshold) end
--- @param flag boolean
function VOICE._0xB779F4FA19269AEC(flag) end
--- @param p0 number
function VOICE._0x1FBF7F5BA7E4BE3A(p0) end
--- @param player number
function VOICE._0xDC9B361CB7776673(player) end
function VOICE._0xEC8703E4536A9952() end
--- @param player number
--- @return boolean
function VOICE._0xDB622ECD3DCBE078(player) end
--- @param teamId number
--- @param allow boolean
function VOICE._0xB6E79850B759A30E(teamId, allow) end
--- Params: p1 = 2; p2 = 3 in R* Script net_main_offline
--- @param player number
--- @param p1 number
--- @param p2 number
function VOICE._0x4791899615D70FA2(player, p1, p2) end
--- @param player number
function VOICE._0xF8938CF3984092A5(player) end
--- Returns p2 value of 0x4791899615D70FA2
--- @param player number
--- @param p1 number
--- @return number
function VOICE._0x767931C727DF2ED7(player, p1) end
function VOICE._0x1C38C3577901AF1F() end
function VOICE._0xB3E8841F6BDAF83E() end

VOLUME = {}

--- @param volumeType number
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return number
function VOLUME._CREATE_VOLUME_BY_HASH(volumeType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return number
function VOLUME.CREATE_VOLUME_BOX(x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return number
function VOLUME.CREATE_VOLUME_CYLINDER(x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return number
function VOLUME.CREATE_VOLUME_SPHERE(x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @return number
function VOLUME.CREATE_VOLUME_AGGREGATE() end
--- @param volumeType number
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @param name string
--- @return number
function VOLUME._CREATE_VOLUME_BY_HASH_WITH_CUSTOM_NAME(volumeType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) end
--- @param volumeType number
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return number
function VOLUME._CREATE_ANTI_GRIEF_VOLUME(volumeType, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param volume number
--- @param toggle boolean
function VOLUME._SET_ANTI_GRIEF_VOLUME_BLOCKS_HORSE(volume, toggle) end
--- @param volume number
--- @param toggle boolean
function VOLUME._SET_ANTI_GRIEF_VOLUME_BLOCKS_PLAYER(volume, toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @return number
function VOLUME._CREATE_WALK_AND_TALK_VOLUME(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
--- @param p10 number
--- @param p11 number
--- @param p12 number
--- @param p13 number
--- @param p14 number
--- @return number
function VOLUME._CREATE_SPEED_VOLUME(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @param name string
--- @return number
function VOLUME._CREATE_VOLUME_BOX_WITH_CUSTOM_NAME(x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @param name string
--- @return number
function VOLUME._CREATE_VOLUME_CYLINDER_WITH_CUSTOM_NAME(x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) end
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @param name string
--- @return number
function VOLUME._CREATE_VOLUME_SPHERE_WITH_CUSTOM_NAME(x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, name) end
--- @param name string
--- @return number
function VOLUME._CREATE_VOLUME_AGGREGATE_WITH_CUSTOM_NAME(name) end
--- _ADD_R* - _ADD_V(OLUME?)*
--- @param volume number
--- @param aggregate number
function VOLUME._ADD_BOUNDS_TO_AGGREGATE_VOLUME(volume, aggregate) end
--- _REMOVE_E* - _REMOVE_R*
--- @param volume number
--- @param aggregate number
function VOLUME._REMOVE_BOUNDS_FROM_AGGREGATE_VOLUME(volume, aggregate) end
--- @param aggregate number
--- @param typeHash number
--- @param x number
--- @param y number
--- @param z number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
function VOLUME._ADD_VOLUME_TO_VOLUME_AGGREGATE(aggregate, typeHash, x, y, z, rotX, rotY, rotZ, scaleX, scaleY, scaleZ) end
--- @param aggregate number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function VOLUME._ADD_BOX_VOLUME_TO_VOLUME_AGGREGATE(aggregate, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param aggregate number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function VOLUME._ADD_CYLINDER_VOLUME_TO_VOLUME_AGGREGATE(aggregate, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param aggregate number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @param p7 number
--- @param p8 number
--- @param p9 number
function VOLUME._ADD_SPHERE_VOLUME_TO_VOLUME_AGGREGATE(aggregate, p1, p2, p3, p4, p5, p6, p7, p8, p9) end
--- @param volume number
function VOLUME.DELETE_VOLUME(volume) end
--- @param volume number
--- @return boolean
function VOLUME.DOES_VOLUME_EXIST(volume) end
--- Old name: _IS_POSITION_INSIDE_VOLUME
--- @param volume number
--- @param x number
--- @param y number
--- @param z number
--- @return boolean
function VOLUME.IS_POINT_IN_VOLUME(volume, x, y, z) end
--- @param volume number
--- @return { x: number, y: number, z: number }
function VOLUME.GET_VOLUME_COORDS(volume) end
--- @param volume number
--- @param posX number
--- @param posY number
--- @param posZ number
--- @return boolean
function VOLUME.SET_VOLUME_COORDS(volume, posX, posY, posZ) end
--- @param volume number
--- @return { x: number, y: number, z: number }
function VOLUME.GET_VOLUME_ROTATION(volume) end
--- @param volume number
--- @param rotX number
--- @param rotY number
--- @param rotZ number
--- @return boolean
function VOLUME.SET_VOLUME_ROTATION(volume, rotX, rotY, rotZ) end
--- @param volume number
--- @return { x: number, y: number, z: number }
function VOLUME.GET_VOLUME_SCALE(volume) end
--- @param volume number
--- @param scaleX number
--- @param scaleY number
--- @param scaleZ number
--- @return boolean
function VOLUME.SET_VOLUME_SCALE(volume, scaleX, scaleY, scaleZ) end
--- @param volume number
--- @param min number
--- @param max number
function VOLUME._GET_VOLUME_BOUNDS(volume, min, max) end
--- nullsub, doesn't do anything
--- @param p0 boolean
function VOLUME._0x748C5F51A18CB8F0(p0) end
--- Indexes items (including entyties and peds) in a set volume
--- Counts up as its the return value of how many items it writes to given itemSet
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param itemSet number
--- @return number
function VOLUME._GET_VOLUME_AMOUNT_OF_INDEXED_ITEMS(x, y, z, radius, itemSet) end
--- @param p0 number
--- @param p1 number
--- @return number
function VOLUME._0x40F769D31A00D5A0(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @return { x: number, y: number, z: number }
function VOLUME._0xD882C5B3991575B7(p0, p1, p2, p3, p4) end
--- @param p0 number
--- @param p1 number
function VOLUME._0xB469CFD9E065EB99(p0, p1) end
--- @param p0 number
--- @return number
function VOLUME._0x7FD78DFD0C5D7B9B(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function VOLUME._0xEE1D6FF54CAF7714(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VOLUME._0xD52DF30355EA7C8E(p0, p1, p2) end
--- @param volume number
--- @param persChar number
--- @param p2 boolean
function VOLUME.SET_VOLUME_OWNER_PERSISTENT_CHARACTER(volume, persChar, p2) end
--- @param p0 number
function VOLUME._0x6D5F9E69BA1BE783(p0) end
--- @param p0 number
function VOLUME._0x998202B206872672(p0) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VOLUME._0x4A8FEFC43FD8AC9B(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function VOLUME._0xF3A2FBA5985C8CD5(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
function VOLUME._0x53D05D60E5F5B40C(p0, p1, p2, p3) end
--- @param p0 number
--- @param p1 number
--- @return number
function VOLUME._0xCA5C90D40665D5CE(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VOLUME._0x3EFABB21E14A6BD1(p0, p1, p2) end
--- @param volume number
--- @return boolean
function VOLUME._IS_AGGREGATE_VOLUME(volume) end
--- Params: p5 is always 0
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param flag number
--- @param p5 number
--- @return number
function VOLUME._CREATE_VOLUME_LOCK(x, y, z, radius, flag, p5) end
--- Params: p3 is always 0
--- @param entity number
--- @param radius number
--- @param flag number
--- @param p3 number
--- @return number
function VOLUME._CREATE_VOLUME_LOCK_ATTACHED_TO_ENTITY(entity, radius, flag, p3) end
--- @param volLockRequestId number
--- @return boolean
function VOLUME._IS_VOLUME_LOCK_REQUEST_VALID_2(volLockRequestId) end
--- @param volLockRequestId number
--- @return { x: number, y: number, z: number }
function VOLUME._0xC4019CF9AE8E931A(volLockRequestId) end
--- @param p0 number
--- @return number
function VOLUME._0xF6CE6F9C3897804E(p0) end
--- @param p0 number
--- @return number
function VOLUME._0xF6F5447D418DAA82(p0) end
--- @param p0 number
--- @param p1 number
function VOLUME._0xD4FA73FE628FEC63(p0, p1) end
--- @param volume number
--- @param p1 number
function VOLUME._0xB440F4E35393FC39(volume, p1) end
--- @param volume number
--- @param p1 number
function VOLUME._0xD460135C98940274(volume, p1) end
--- @param p0 number
--- @param p1 number
function VOLUME._0xEBA87B9273835CF3(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function VOLUME._0xAA9EE2AAFC717623(p0, p1, p2, p3, p4, p5) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @return number
function VOLUME._0x870E9981ED27C815(p0, p1, p2, p3, p4, p5) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 boolean
--- @param p5 number
--- @param p6 number
--- @return boolean
function VOLUME.DOES_VOLUME_COLLIDE_WITH_ANY_VOLUME_LOCK(x, y, z, radius, p4, p5, p6) end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 number
--- @param p5 number
--- @param flags number
--- @return boolean
function VOLUME._IS_POINT_NEAR_VOLUME_LOCK_CENTER(x, y, z, radius, p4, p5, flags) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @param p4 number
--- @param p5 number
--- @param p6 number
--- @return number
function VOLUME._0x51E52C9687FCDEEC(p0, p1, p2, p3, p4, p5, p6) end
--- @param args number
--- @return number
function VOLUME._FIND_VOLUME_LOCK_REQUEST_ID_WITH_ARGS(args) end
--- @param volLock number
--- @param x number
--- @param y number
--- @param z number
function VOLUME._MODIFY_VOLUME_LOCK_LOCATION(volLock, x, y, z) end
--- @param p0 number
--- @param p1 number
function VOLUME._0x695DAC2DB928F308(p0, p1) end
--- @param volLockRequestId number
function VOLUME._RELEASE_LOCK_VOLUME(volLockRequestId) end
--- @param p0 number
function VOLUME._0xAC355980681A7F89(p0) end
--- @param args number
--- @return boolean
function VOLUME._ADD_ENTRY_VOLUME_LOCK(args) end
function VOLUME._0xC61E2FD926DBB406() end
--- @param x number
--- @param y number
--- @param z number
--- @param radius number
--- @param p4 number
--- @param p5 number
--- @return number
function VOLUME.REQUEST_VOLUME_LOCK(x, y, z, radius, p4, p5) end
--- @param args number
--- @return number
function VOLUME.REQUEST_VOLUME_LOCK_WITH_ARGS(args) end
--- @param volLockRequestId number
--- @return boolean
function VOLUME.IS_VOLUME_LOCK_REQUEST_VALID(volLockRequestId) end
--- enum eVolumeLockRequestStatus
--- {
--- VOLUME_LOCK_REQUEST_STATUS_INVALID,
--- VOLUME_LOCK_REQUEST_STATUS_READY,
--- VOLUME_LOCK_REQUEST_STATUS_IN_PROGRESS,
--- VOLUME_LOCK_REQUEST_STATUS_SUCCEEDED,
--- VOLUME_LOCK_REQUEST_STATUS_FAILED
--- };
--- @param volLockRequestId number
--- @return number
function VOLUME.GET_VOLUME_LOCK_REQUEST_STATUS(volLockRequestId) end
--- @param p0 number
--- @return number
function VOLUME._0x351D71B8B72B858B(p0) end
--- nullsub, doesn't do anything
function VOLUME._0xFA15C9A320E707B0() end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function VOLUME._0x52572B331E693AED(p0, p1, p2) end
--- nullsub, doesn't do anything
--- @param p0 number
function VOLUME._0x128FC3A893BF853A(p0) end
--- @param volume number
--- @param relationshipGroup number
function VOLUME._SET_VOLUME_RELATIONSHIP(volume, relationshipGroup) end
--- Returns relationshipGroup Hash
--- @param volume number
--- @return number
function VOLUME._GET_VOLUME_RELATIONSHIP(volume) end

WATER = {}

--- Must be called every frame to take full effect.
function WATER.DISABLE_WATER_LOOKUP() end
function WATER.ENABLE_WATER_LOOKUP() end
--- Checks against a global variable that is set by _SET_WORLD_WATER_TYPE. If that is set to one it will fail. Likely not the only issue but part of it.
--- @param x number
--- @param y number
--- @param z number
--- @param height any
--- @return boolean
function WATER.GET_WATER_HEIGHT(x, y, z, height) end
--- @param x number
--- @param y number
--- @param z number
--- @param height any
--- @return boolean
function WATER.GET_WATER_HEIGHT_NO_WAVES(x, y, z, height) end
--- enum eScriptWaterTestResult
--- {
--- SCRIPT_WATER_TEST_RESULT_NONE,
--- SCRIPT_WATER_TEST_RESULT_WATER,
--- SCRIPT_WATER_TEST_RESULT_BLOCKED,
--- };
--- @param x1 number
--- @param y1 number
--- @param z1 number
--- @param x2 number
--- @param y2 number
--- @param z2 number
--- @param flags number
--- @param intersectionPos number
--- @return number
function WATER.TEST_PROBE_AGAINST_ALL_WATER(x1, y1, z1, x2, y2, z2, flags, intersectionPos) end
--- Checks against a global variable that is set by _SET_WORLD_WATER_TYPE. If it's set to 1 (Guarma) it will fail.
--- 
--- See TEST_PROBE_AGAINST_ALL_WATER.
--- @param x number
--- @param y number
--- @param z number
--- @param flags number
--- @param waterHeight any
--- @return number
function WATER.TEST_VERTICAL_PROBE_AGAINST_ALL_WATER(x, y, z, flags, waterHeight) end
--- Only used in rcm_crackpot1 R* Script: p0 = 0
--- @param index number
function WATER.REMOVE_EXTRA_CALMING_QUAD(index) end
--- Called together with REMOVE_EXTRA_CALMING_QUAD in rcm_crackpot1 R* Script: p0 = 0
--- _REMOVE_*
--- @param p0 number
function WATER._0x09A1C7DFDCE54FBC(p0) end
--- Only used in fishing_core R* Script
--- @param ped number
function WATER._0xF0FBF193F1F5C0EA(ped) end
--- Only used in fishing_core R* Script
function WATER._0xA33F5069B0CB89B8() end
--- Used in bounty1, fanale3, sean1 R* Scripts
--- @param entity number
function WATER._0xB34A6009A0DB80B8(entity) end
--- Only used in R* Script guama1
--- @param wavesHeight number
--- @param p1 number
--- @param wavesDirection number
--- @param p3 number
--- @param wavesAmount number
--- @param p5 number
--- @param wavesSpeed number
--- @param wavesStrength number
--- @param ignoreHeight boolean
function WATER._SET_OCEAN_GUARMA_WATER_QUADRANT(wavesHeight, p1, wavesDirection, p3, wavesAmount, p5, wavesSpeed, wavesStrength, ignoreHeight) end
--- Only used in guama1 / guama3 R* Script
--- _REQUEST_* or _RESET_*
function WATER._RESET_GUARMA_WATER_STATE() end
--- 0 = World
--- 1 = Guarma
--- @param waterType number
function WATER._SET_WORLD_WATER_TYPE(waterType) end
--- @return number
function WATER._GET_WORLD_WATER_TYPE() end
--- Only used in native_son1 R* Script: p1 = 1
--- @param entity number
--- @param p1 number
function WATER._0x0DCEC6A92E497E17(entity, p1) end
--- Only used in fussar1 / train_robbery2 R* Script
function WATER._0xE8126623008372AA() end

WEAPON = {}

--- @param weaponHash number
--- @return number
function WEAPON._GET_WEAPON_UNLOCK(weaponHash) end
--- addReason:
--- enum eAddItemReason : Hash
--- {
--- ADD_REASON_AWARDS = 0xB784AD1E,
--- ADD_REASON_CREATE_CHARACTER = 0xE2C4FF71,
--- ADD_REASON_DEBUG = 0x5C05C64D,
--- ADD_REASON_DEFAULT = 0x2CD419DC,
--- ADD_REASON_GET_INVENTORY = 0xD8188685,
--- ADD_REASON_INCENTIVE = 0x8ADC2E95,
--- ADD_REASON_LOADOUT = 0xCA3454E6,
--- ADD_REASON_LOAD_SAVEGAME = 0x56212906,
--- ADD_REASON_LOOTED = 0xCA806A55,
--- ADD_REASON_MELEE = 0x7B9BDCE7,
--- ADD_REASON_MP_MISSION = 0xEC0E0194,
--- ADD_REASON_NOTIFICATION = 0xC56292D2,
--- ADD_REASON_PICKUP = 0x1A770E22,
--- ADD_REASON_PURCHASED = 0x4A6726C9,
--- ADD_REASON_SET_AMOUNT = 0x4504731E,
--- ADD_REASON_SYNCING = 0x8D4B4FF4,
--- ADD_REASON_USE_FAILED = 0xD385B670
--- };
--- @param ped number
--- @param weaponHash number
--- @param amount number
--- @param addReason number
function WEAPON._ADD_AMMO_TO_PED(ped, weaponHash, amount, addReason) end
--- addReason: see _ADD_AMMO_TO_PED
--- @param ped number
--- @param ammoType number
--- @param amount number
--- @param addReason number
function WEAPON._ADD_AMMO_TO_PED_BY_TYPE(ped, ammoType, amount, addReason) end
--- removeReason must be REMOVE_REASON_USED, REMOVE_REASON_GIVEN, REMOVE_REASON_DROPPED or REMOVE_REASON_DEBUG, unless amount is -1
--- 
--- removeReason: see REMOVE_WEAPON_FROM_PED
--- @param ped number
--- @param weaponHash number
--- @param amount number
--- @param removeReason number
function WEAPON._REMOVE_AMMO_FROM_PED(ped, weaponHash, amount, removeReason) end
--- removeReason must be REMOVE_REASON_USED, REMOVE_REASON_GIVEN, REMOVE_REASON_DROPPED or REMOVE_REASON_DEBUG, unless amount is -1
--- 
--- removeReason: see REMOVE_WEAPON_FROM_PED
--- @param ped number
--- @param ammoHash number
--- @param amount number
--- @param removeReason number
function WEAPON._REMOVE_AMMO_FROM_PED_BY_TYPE(ped, ammoHash, amount, removeReason) end
--- @param ped number
function WEAPON._REMOVE_ALL_PED_AMMO(ped) end
--- @param ped number
--- @param weaponHash number
--- @param ammo number
function WEAPON.SET_PED_AMMO(ped, weaponHash, ammo) end
--- Only used in R* SP Scripts native_son2, native_son3 and smuggler2
--- Params: p2 = -1
--- @param ped number
--- @param p1 boolean
--- @param p2 number
function WEAPON._0x8A779706DA5CA3DD(ped, p1, p2) end
--- Only used in R* SP Script guama3
--- @param vehicle number
--- @param p1 boolean
function WEAPON._0x9409C62504A8F9E9(vehicle, p1) end
--- @param vehicle number
--- @param p1 number
--- @param minHeading number
--- @param maxHeading number
function WEAPON._SET_VEHICLE_WEAPON_HEADING_LIMITS(vehicle, p1, minHeading, maxHeading) end
--- @param vehicle number
--- @param p1 number
--- @param minHeading number
--- @param maxHeading number
--- @return number
function WEAPON._SET_VEHICLE_WEAPON_HEADING_LIMITS_2(vehicle, p1, minHeading, maxHeading) end
--- @param vehicle number
--- @param seatIndex number
--- @param heading number
--- @param p3 boolean
function WEAPON.SET_VEHICLE_WEAPON_HEADING(vehicle, seatIndex, heading, p3) end
--- @param ped number
--- @param toggle boolean
--- @param weaponHash number
function WEAPON.SET_PED_INFINITE_AMMO(ped, toggle, weaponHash) end
--- @param ped number
--- @param toggle boolean
function WEAPON._SET_PED_INFINITE_AMMO_CLIP(ped, toggle) end
--- @param ped number
--- @param weaponHash number
--- @return number
function WEAPON.GET_AMMO_IN_PED_WEAPON(ped, weaponHash) end
--- @param ped number
--- @param weaponHash number
--- @param p2 boolean
--- @return number
function WEAPON.GET_MAX_AMMO_IN_CLIP(ped, weaponHash, p2) end
--- @param ped number
--- @param ammo any
--- @param weaponHash number
--- @return boolean
function WEAPON.GET_AMMO_IN_CLIP(ped, ammo, weaponHash) end
--- @param ped number
--- @param ammo any
--- @param inventoryUid number
--- @return boolean
function WEAPON._GET_AMMO_IN_CLIP_BY_INVENTORY_UID(ped, ammo, inventoryUid) end
--- @param ped number
--- @param weaponHash number
--- @param ammo number
--- @return boolean
function WEAPON.SET_AMMO_IN_CLIP(ped, weaponHash, ammo) end
--- @param ped number
--- @param clipInventoryUid number
--- @param p2 number
--- @return number
function WEAPON._REFILL_AMMO_IN_CLIP(ped, clipInventoryUid, p2) end
--- @param ped number
--- @param ammo any
--- @param weaponHash number
--- @return boolean
function WEAPON.GET_MAX_AMMO(ped, ammo, weaponHash) end
--- @param ped number
--- @param ammoType number
--- @param ammo number
function WEAPON.SET_PED_AMMO_BY_TYPE(ped, ammoType, ammo) end
--- @param ped number
--- @param ammoType number
--- @return number
function WEAPON.GET_PED_AMMO_BY_TYPE(ped, ammoType) end
--- @param ped number
--- @param p1 number
--- @param p2 number
function WEAPON.SET_PED_AMMO_TO_DROP(ped, p1, p2) end
--- @param weaponHash number
--- @return number
function WEAPON._GET_AMMO_TYPE_FOR_WEAPON(weaponHash) end
--- Returns the current ammo type of the specified ped's specified weapon.
--- @param ped number
--- @param weaponHash number
--- @return number
function WEAPON.GET_PED_AMMO_TYPE_FROM_WEAPON(ped, weaponHash) end
--- @param ammoType number
--- @return number
function WEAPON._GET_WEAPON_TYPE_FROM_AMMO_TYPE(ammoType) end
--- @param componentHash number
--- @return number
function WEAPON._GET_WEAPON_COMPONENT_TYPE_MODEL(componentHash) end
--- Gets the model hash from the weapon hash.
--- @param weaponHash number
--- @return number
function WEAPON._GET_WEAPONTYPE_MODEL(weaponHash) end
--- Returns hash where WEAPON_ is replaced with SLOT_
--- @param weaponHash number
--- @return number
function WEAPON._GET_WEAPONTYPE_SLOT(weaponHash) end
--- @param weaponHash number
--- @return number
function WEAPON.GET_WEAPONTYPE_GROUP(weaponHash) end
--- Returns weaponHash
--- @param weaponGroupHash number
--- @param p1 number
--- @param p2 number
--- @param p3 number
--- @return number
function WEAPON._0xF8204EF17410BF43(weaponGroupHash, p1, p2, p3) end
--- Returns true when the weapon passed is either a lasso, the camera or the binoculars
--- _IS_WEAPON_M* - _IS_WEAPON_P*
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_KIT(weaponHash) end
--- Returns true when the weapon passed is either the fishingrod, a lasso, the camera or the binoculars
--- _IS_WEAPON_M* - _IS_WEAPON_P*
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_KIT_2(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_BOW(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_LANTERN(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_TORCH(weaponHash) end
--- @param ped number
--- @param inData number
--- @param outData number
--- @return boolean
function WEAPON.GIVE_WEAPON_TO_PED_WITH_OPTIONS(ped, inData, outData) end
--- Gives the ped the weapon.
--- List: https://github.com/femga/rdr3_discoveries/blob/master/weapons/weapons.lua
--- 
--- Params: p7 is 0.5f, and p8 is 1.0f. p11 and p12 are both 0 in R* Scripts
--- attachPoint: see SET_CURRENT_PED_WEAPON
--- addReason: see _ADD_AMMO_TO_PED
--- permanentDegradation: default 0.5, any higher than 0 it will automatically make the weapon worn, you can also adjust the value to change the weapons maximum cleanliness
--- @param ped number
--- @param weaponHash number
--- @param ammoCount number
--- @param bForceInHand boolean
--- @param bForceInHolster boolean
--- @param attachPoint number
--- @param bAllowMultipleCopies boolean
--- @param p7 number
--- @param p8 number
--- @param addReason number
--- @param bIgnoreUnlocks boolean
--- @param permanentDegradation number
--- @param p12 boolean
--- @return number
function WEAPON.GIVE_WEAPON_TO_PED(ped, weaponHash, ammoCount, bForceInHand, bForceInHolster, attachPoint, bAllowMultipleCopies, p7, p8, addReason, bIgnoreUnlocks, permanentDegradation, p12) end
--- @param ped number
--- @param attachPoint number
function WEAPON._SET_FORCE_CURRENT_WEAPON_INTO_COCKED_STATE(ped, attachPoint) end
--- @param p0 boolean
--- @return number
function WEAPON._0x9F0E1892C7F228A8(p0) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @param immediately boolean
function WEAPON._HOLSTER_PED_WEAPONS(ped, p1, p2, p3, immediately) end
--- Unequip current weapon and set current weapon to WEAPON_UNARMED.
--- p0 usually 2 in R* scripts. Doesn't seem to have any effect if changed....
--- immediately: if true it will instantly switch to unarmed
--- @param ped number
--- @param p0 number
--- @param immediately boolean
function WEAPON._HIDE_PED_WEAPONS(ped, p0, immediately) end
--- @param ped number
--- @param disableAnim boolean
function WEAPON._SET_WEAPON_HOLSTERED(ped, disableAnim) end
--- attachPoint:
--- enum eWeaponAttachPoint
--- {
--- WEAPON_ATTACH_POINT_INVALID = -1,
--- WEAPON_ATTACH_POINT_HAND_PRIMARY = 0,
--- WEAPON_ATTACH_POINT_HAND_SECONDARY = 1,
--- WEAPON_ATTACH_POINT_PISTOL_R = 2,
--- MAX_HAND_WEAPON_ATTACH_POINTS = 2,
--- WEAPON_ATTACH_POINT_PISTOL_L = 3,
--- WEAPON_ATTACH_POINT_KNIFE = 4,
--- WEAPON_ATTACH_POINT_LASSO = 5,
--- WEAPON_ATTACH_POINT_THROWER = 6,
--- WEAPON_ATTACH_POINT_BOW = 7,
--- WEAPON_ATTACH_POINT_BOW_ALTERNATE = 8,
--- WEAPON_ATTACH_POINT_RIFLE = 9,
--- WEAPON_ATTACH_POINT_RIFLE_ALTERNATE = 10,
--- WEAPON_ATTACH_POINT_LANTERN = 11,
--- WEAPON_ATTACH_POINT_TEMP_LANTERN = 12,
--- WEAPON_ATTACH_POINT_MELEE = 13,
--- MAX_SYNCED_WEAPON_ATTACH_POINTS = 13,
--- WEAPON_ATTACH_POINT_HIP = 14,
--- WEAPON_ATTACH_POINT_BOOT = 15,
--- WEAPON_ATTACH_POINT_BACK = 16,
--- WEAPON_ATTACH_POINT_FRONT = 17,
--- WEAPON_ATTACH_POINT_SHOULDERSLING = 18,
--- WEAPON_ATTACH_POINT_LEFTBREAST = 19,
--- WEAPON_ATTACH_POINT_RIGHTBREAST = 20,
--- WEAPON_ATTACH_POINT_LEFTARMPIT = 21,
--- WEAPON_ATTACH_POINT_RIGHTARMPIT = 22,
--- WEAPON_ATTACH_POINT_LEFTARMPIT_RIFLE = 23,
--- WEAPON_ATTACH_POINT_SATCHEL = 24,
--- WEAPON_ATTACH_POINT_LEFTARMPIT_BOW = 25,
--- WEAPON_ATTACH_POINT_RIGHT_HAND_EXTRA = 26,
--- WEAPON_ATTACH_POINT_LEFT_HAND_EXTRA = 27,
--- WEAPON_ATTACH_POINT_RIGHT_HAND_AUX = 28,
--- MAX_WEAPON_ATTACH_POINTS = 29
--- };
--- @param ped number
--- @param weaponHash number
--- @param equipNow boolean
--- @param attachPoint number
--- @param p4 boolean
--- @param p5 boolean
function WEAPON.SET_CURRENT_PED_WEAPON(ped, weaponHash, equipNow, attachPoint, p4, p5) end
--- attachPoint: see SET_CURRENT_PED_WEAPON
--- @param ped number
--- @param weaponHash any
--- @param p2 boolean
--- @param attachPoint number
--- @param p4 boolean
--- @return boolean
function WEAPON.GET_CURRENT_PED_WEAPON(ped, weaponHash, p2, attachPoint, p4) end
--- Returns weaponObject, attachPoint: see SET_CURRENT_PED_WEAPON
--- @param ped number
--- @param attachPoint number
--- @return number
function WEAPON.GET_CURRENT_PED_WEAPON_ENTITY_INDEX(ped, attachPoint) end
--- @param ped number
--- @return boolean
function WEAPON._ENABLE_WEAPON_RESTORE(ped) end
--- @param ped number
--- @param p1 boolean
--- @return number
function WEAPON.GET_PED_BACKUP_WEAPON(ped, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0x486C96A0DCD2BC92(p0, p1) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function WEAPON._GET_PED_WORST_WEAPON(ped, p1, p2, p3) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
--- @return number
function WEAPON.GET_BEST_PED_WEAPON(ped, p1, p2) end
--- @param ped number
--- @param p1 number
--- @param guidPrimary number
--- @return number
function WEAPON._GET_BEST_PED_WEAPON_IN_INVENTORY(ped, p1, guidPrimary) end
--- @param ped number
--- @param outGUID number
--- @param p2 boolean
--- @param p3 boolean
function WEAPON.GET_BEST_PED_SHORTARM_GUID(ped, outGUID, p2, p3) end
--- @param ped number
--- @param attachPoint number
--- @param weaponGuid number
--- @return boolean
function WEAPON.GET_PED_WEAPON_GUID_AT_ATTACH_POINT(ped, attachPoint, weaponGuid) end
--- If near your horse when called, weapons stored on your horse will be considered
--- Returns weaponHash
--- @param ped number
--- @param weaponGroup number
--- @param p2 boolean
--- @param p3 boolean
--- @return number
function WEAPON._GET_BEST_PED_WEAPON_IN_GROUP(ped, weaponGroup, p2, p3) end
--- Returns the ped's default unarmed weapon hash as defined in CPedModelInfo (DefaultUnarmedWeapon).
--- Falls back to WEAPON_UNARMED if the ped doesn't have a valid model info pointer, or 0 if the ped doesn't exist.
--- @param ped number
--- @return number
function WEAPON._GET_DEFAULT_UNARMED_WEAPON_HASH(ped) end
--- turretHash: WEAPON_TURRET_MAXIUM, WEAPON_TURRET_GATLING, WEAPON_TURRET_CANNON, WEAPON_TURRET_REVOLVING_CANNON
--- @param vehicle number
--- @param turretHash number
--- @param ammo number
function WEAPON._SET_AMMO_IN_TURRET(vehicle, turretHash, ammo) end
--- @param ped number
--- @param weaponHash number
--- @return boolean
function WEAPON.SET_CURRENT_PED_VEHICLE_WEAPON(ped, weaponHash) end
--- @param ped number
--- @param weaponHash any
--- @return boolean
function WEAPON.GET_CURRENT_PED_VEHICLE_WEAPON(ped, weaponHash) end
--- @param ped number
--- @param flags number
--- @return boolean
function WEAPON.IS_PED_ARMED(ped, flags) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0xA2091482ED42EF85(p0, p1) end
--- Returns true if the ped is currently holstering or unholstering a weapon
--- @param ped number
--- @return boolean
function WEAPON._IS_WEAPON_HOLSTER_STATE_CHANGING(ped) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_VALID(weaponHash) end
--- @param ammoHash number
--- @return boolean
function WEAPON._IS_AMMO_VALID(ammoHash) end
--- @param p0 number
--- @return number
function WEAPON._0x23BF601A42F329A0(p0) end
--- @param ped number
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_PED_CARRYING_WEAPON(ped, weaponHash) end
--- onlyCheckPlayerInventory: If true, it will only check the players current inventory. If false, it also checks your horse inventory
--- @param ped number
--- @param weaponHash number
--- @param p2 number
--- @param onlyCheckPlayerInventory boolean
--- @return boolean
function WEAPON.HAS_PED_GOT_WEAPON(ped, weaponHash, p2, onlyCheckPlayerInventory) end
--- Seems to return true if the passed weapon is some sort of non-lethal melee weapon.
--- Weapon must currently be held/equipped by the ped.
--- @param ped number
--- @param weapon number
--- @return boolean
function WEAPON._0x07E1C35F0078C3F9(ped, weapon) end
--- @param ped number
--- @return boolean
function WEAPON.IS_PED_WEAPON_READY_TO_SHOOT(ped) end
--- slotHash is usually just the weaponHash name, but WEAPON_* is replaced with SLOT_*
--- @param ped number
--- @param slotHash number
--- @return number
function WEAPON._GET_PED_WEAPON_IN_SLOT(ped, slotHash) end
--- addReason: see _ADD_AMMO_TO_PED
--- @param ped number
--- @param weaponHash number
--- @param ammoCount number
--- @param p3 boolean
--- @param addReason number
function WEAPON.GIVE_DELAYED_WEAPON_TO_PED(ped, weaponHash, ammoCount, p3, addReason) end
--- @param ped number
--- @param p1 boolean
--- @param p2 boolean
function WEAPON.REMOVE_ALL_PED_WEAPONS(ped, p1, p2) end
--- removeReason:
--- enum eRemoveItemReason : Hash
--- {
--- REMOVE_REASON_CLIENT_PURGED = 0x4A4E94DC,
--- REMOVE_REASON_COALESCE = 0x2ABE393E,
--- REMOVE_REASON_DEBUG = 0xA07362E6,
--- REMOVE_REASON_DEFAULT = 0xF77DE93D,
--- REMOVE_REASON_DELETE_CHARACTER = 0x20AFBDE9,
--- REMOVE_REASON_DROPPED = 0xEC7FB5D5,
--- REMOVE_REASON_DUPLICATE = 0x19047132,
--- REMOVE_REASON_GIFTED_INCORRECTLY = 0x9C4E3829,
--- REMOVE_REASON_GIVEN = 0xAD5377D4,
--- REMOVE_REASON_INSUFFICIENT_INVENTORY = 0x518D1AAE,
--- REMOVE_REASON_ITEM_DOES_NOT_EXIST = 0xEAD5D889,
--- REMOVE_REASON_LOADOUT = 0x1B94E3BA,
--- REMOVE_REASON_SET_AMOUNT = 0x19D5CFA5,
--- REMOVE_REASON_SOLD = 0x76C4B482,
--- REMOVE_REASON_USED = 0x2188E0A3,
--- REMOVE_REASON_USE_FAILED = 0x671F9EAD
--- };
--- @param ped number
--- @param weaponHash number
--- @param p2 boolean
--- @param removeReason number
function WEAPON.REMOVE_WEAPON_FROM_PED(ped, weaponHash, p2, removeReason) end
--- @param ped number
--- @param weaponGuid number
--- @param removeReason number
function WEAPON._REMOVE_WEAPON_FROM_PED_BY_GUID(ped, weaponGuid, removeReason) end
--- Hides the ped's weapon during a cutscene.
--- @param ped number
--- @param toggle boolean
function WEAPON.HIDE_PED_WEAPON_FOR_SCRIPTED_CUTSCENE(ped, toggle) end
--- @param ped number
--- @param visible boolean
--- @param deselectWeapon boolean
--- @param p3 boolean
--- @param p4 boolean
function WEAPON.SET_PED_CURRENT_WEAPON_VISIBLE(ped, visible, deselectWeapon, p3, p4) end
--- attachPoint: see SET_CURRENT_PED_WEAPON
--- @param ped number
--- @param attachPoint number
--- @param visible boolean
function WEAPON._SET_PED_WEAPON_ATTACH_POINT_VISIBILITY(ped, attachPoint, visible) end
--- @param ped number
--- @param visible boolean
function WEAPON._SET_PED_ALL_WEAPONS_VISIBILITY(ped, visible) end
--- @param ped number
--- @param toggle boolean
function WEAPON.SET_PED_DROPS_WEAPONS_WHEN_DEAD(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function WEAPON._0x431240A58484D5D0(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function WEAPON._0x45E57FDD531C9477(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function WEAPON._0xF08D8FEB455F2C8C(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function WEAPON._0x16D9841A85FA627E(ped, toggle) end
--- @param ped number
--- @param coords number
--- @return boolean
function WEAPON.GET_PED_LAST_WEAPON_IMPACT_COORD(ped, coords) end
--- @param ped number
function WEAPON._CLEAR_PED_LAST_WEAPON_DAMAGE(ped) end
--- @param entity number
--- @param weaponName number
--- @param weaponType number
--- @return boolean
function WEAPON._HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(entity, weaponName, weaponType) end
--- @param ped number
--- @param weaponHash number
--- @param xOffset number
--- @param yOffset number
--- @param zOffset number
--- @param ammoCount number
function WEAPON.SET_PED_DROPS_INVENTORY_WEAPON(ped, weaponHash, xOffset, yOffset, zOffset, ammoCount) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function WEAPON._0xB0FB9B196A3D13F0(p0, p1, p2) end
--- _SET_A* - _SET_B*
--- @param ped number
--- @param p1 number
function WEAPON._0x2EBF70E1D8C06683(ped, p1) end
--- Only used in R* Script fme_escaped_convicts, p0 = 0
--- @param p0 number
function WEAPON._0x63B83A526329AFBC(p0) end
--- @param ped number
--- @return number
function WEAPON._MAKE_PED_RELOAD(ped) end
--- @param ped number
--- @return number
function WEAPON._REFILL_AMMO_IN_CURRENT_PED_WEAPON(ped) end
--- Old name: _DROP_CURRENT_PED_WEAPON
--- @param ped number
--- @param p1 boolean
--- @param attachPoint number
--- @param p3 boolean
--- @param p4 boolean
--- @return number
function WEAPON.MAKE_PED_DROP_WEAPON(ped, p1, attachPoint, p3, p4) end
--- Returns eCurrentHeldWeapon
--- _GET_R* - _GET_T*
--- @param ped number
--- @return number
function WEAPON._GET_PED_CURRENT_HELD_WEAPON(ped) end
--- @param ped number
--- @param toggle boolean
function WEAPON.SET_ALLOW_ANY_WEAPON_DROP(ped, toggle) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function WEAPON._0xA3716A77DCF17424(p0, p1, p2) end
--- @param p0 number
function WEAPON._0x457B16951AD77C1B(p0) end
--- @param p0 number
--- @return number
function WEAPON._0x3799EFCC3C8CD5E1(p0) end
--- @param ped number
--- @return number
function WEAPON._GET_MAX_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON(ped) end
--- @param ped number
--- @param componentHash number
--- @param weaponHash number
function WEAPON._REMOVE_WEAPON_COMPONENT_FROM_PED(ped, componentHash, weaponHash) end
--- @param ped number
--- @param componentHash number
--- @param weaponHash number
--- @return boolean
function WEAPON._HAS_PED_GOT_WEAPON_COMPONENT(ped, componentHash, weaponHash) end
--- @param ped number
--- @return boolean
function WEAPON._IS_PED_CURRENT_WEAPON_HOLSTERED(ped) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0xD2209866B0CB72EA(p0, p1) end
--- @param weaponHash number
--- @param p1 number
--- @param p2 boolean
function WEAPON._REQUEST_WEAPON_ASSET(weaponHash, p1, p2) end
--- @param weaponHash number
--- @return boolean
function WEAPON._HAS_WEAPON_ASSET_LOADED(weaponHash) end
--- @param weaponHash number
function WEAPON._REMOVE_WEAPON_ASSET(weaponHash) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function WEAPON._0xE9B3FEC825668291(p0, p1, p2) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
--- @return number
function WEAPON._0x9CCA3131E6B53C68(p0, p1, p2) end
--- @param weaponHash number
--- @return string
function WEAPON._GET_WEAPON_NAME_2(weaponHash) end
--- Returns "WNS_INVALID" if the weapon is invalid/doesn't exist.
--- @param weaponHash number
--- @return string
function WEAPON._GET_WEAPON_NAME(weaponHash) end
--- @param weaponHash number
--- @param permanentDegradationLevel number
--- @return string
function WEAPON._GET_WEAPON_NAME_WITH_PERMANENT_DEGRADATION(weaponHash, permanentDegradationLevel) end
--- Stores longarms to your horse on dismount
--- Params: p2 = 0
--- SET_[I - M]*
--- @param ped number
--- @param storeLongarms boolean
--- @param p2 number
function WEAPON._SET_INSTANTLY_STORE_LONGARMS_ON_DISMOUNT(ped, storeLongarms, p2) end
--- Returns true if ped is on a horse while inside of a town
--- Params: p1 = 0
--- GET_L* - GET_MA*
--- @param ped number
--- @param p1 number
--- @return boolean
function WEAPON._0x5A695BD328586B44(ped, p1) end
--- @param p0 number
--- @param p1 number
function WEAPON._0x641351E9AD103890(p0, p1) end
--- @param ped number
--- @param toggle boolean
function WEAPON.SET_INSTANTLY_EQUIP_WEAPON_PICKUPS(ped, toggle) end
--- @param ped number
--- @param toggle boolean
function WEAPON._SET_FORCE_AUTO_EQUIP(ped, toggle) end
--- Appears to just send specified weapon to your horse holster without having to be close
--- However, the weapon is not visible on the horse holster, but you can reach the weapon on the weapon wheel
--- @param ped number
--- @param weaponHash number
function WEAPON._SEND_WEAPON_TO_INVENTORY(ped, weaponHash) end
--- Puts the gun visibly in your horse's holster without having to be close to the horse. Use 0xE9BD19F8121ADE3E before using this native
--- _A* or _B*
--- @param horse number
--- @param weaponHash number
--- @param ped number
function WEAPON._0x14FF0C2545527F9B(horse, weaponHash, ped) end
--- @param p0 number
function WEAPON._0xD4C6E24D955FF061(p0) end
--- @param p0 number
--- @return number
function WEAPON._0xAFFD0CCF31F469B8(p0) end
--- @param weaponHash number
--- @return number
function WEAPON._GET_WEAPON_STAT_ID(weaponHash) end
--- @param entity number
--- @param weaponHash number
--- @param ms number
--- @return boolean
function WEAPON._HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON_RECENTLY(entity, weaponHash, ms) end
--- @param ped number
--- @return number
function WEAPON._GET_PED_HOGTIE_WEAPON(ped) end
--- @param weaponHash number
--- @param ammoCount number
--- @param x number
--- @param y number
--- @param z number
--- @param showWorldModel boolean
--- @param scale number
--- @return number
function WEAPON._CREATE_WEAPON_OBJECT(weaponHash, ammoCount, x, y, z, showWorldModel, scale) end
--- @param weaponObject number
--- @param component number
function WEAPON.REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT(weaponObject, component) end
--- @param weapon number
--- @param addonHash number
--- @return boolean
function WEAPON.HAS_WEAPON_GOT_WEAPON_COMPONENT(weapon, addonHash) end
--- @param weaponObject number
--- @param ped number
--- @param componentHash number
--- @param p3 boolean
function WEAPON._GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT(weaponObject, ped, componentHash, p3) end
--- Detaches the weapon from the ped and actually removes the ped's weapon
--- @param ped number
--- @param p1 boolean
--- @return number
function WEAPON._GET_WEAPON_OBJECT_FROM_PED(ped, p1) end
--- _GET_M* - _GET_PED_A*
--- @param ped number
--- @param p1 boolean
--- @return number
function WEAPON._GET_PED_WEAPON_OBJECT(ped, p1) end
--- entity can be a ped or weapon object.
--- @param entity number
--- @param componentHash number
--- @param weaponHash number
--- @param p3 boolean
function WEAPON._GIVE_WEAPON_COMPONENT_TO_ENTITY(entity, componentHash, weaponHash, p3) end
--- @param p0 number
--- @param p1 number
function WEAPON._0x74C9080FDD1BB48E(p0, p1) end
--- @param p0 number
--- @param p1 number
function WEAPON._0x74C9080FDD1BB48F(p0, p1) end
--- @param p0 number
--- @param p1 number
function WEAPON._0x74C2365FDD1BB48F(p0, p1) end
--- @param p0 number
function WEAPON._0x74C90AAACC1DD48F(p0) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0x74C8000FDD1BB111(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0x74C8000FDD1BB222(p0, p1) end
--- Returns iSpinHash
--- @param emote number
--- @param weaponEmoteTrickType number
--- @return number
function WEAPON._GET_WEAPON_GUN_SPINNING_WEAPON_EMOTE_TRICK_TYPE_HASH(emote, weaponEmoteTrickType) end
--- emote hashes: KIT_EMOTE_TWIRL_GUN, KIT_EMOTE_TWIRL_GUN_LEFT_HOLSTER, KIT_EMOTE_TWIRL_GUN_DUAL, 0 (to unequip)
--- @param ped number
--- @param emote number
function WEAPON._SET_ACTIVE_GUN_SPINNING_EQUIP_KIT_EMOTE_TWIRL(ped, emote) end
--- Returns emote Hash
--- @param ped number
--- @return number
function WEAPON._GET_PED_GUN_SPINNING_EQUIPPED_KIT_EMOTE_TWIRL(ped) end
--- spinHash can be -1, 0 to disable
--- @param ped number
--- @param weaponEmoteTrickType number
--- @param spin number
function WEAPON._SET_ACTIVE_GUN_SPINNING_KIT_EMOTE_TWIRL(ped, weaponEmoteTrickType, spin) end
--- Returns iSpinHash / iVariationSpin
--- @param ped number
--- @param weaponEmoteVariation number
--- @return number
function WEAPON._GET_PED_GUN_SPINNING_HASH_FROM_WEAPON_EMOTE_VARIATION(ped, weaponEmoteVariation) end
--- Returns weaponEmoteVariation
--- 
--- WEAPON_EMOTE_VARIATION_INVALID = -2,
--- WEAPON_EMOTE_VARIATION_BASE,
--- WEAPON_EMOTE_VARIATION_A,
--- WEAPON_EMOTE_VARIATION_B,
--- WEAPON_EMOTE_VARIATION_C,
--- WEAPON_EMOTE_VARIATION_D,
--- WEAPON_EMOTE_VARIATION_PREVIEW,
--- WEAPON_EMOTE_NUM_VARIATIONS
--- @param ped number
--- @param variation number
--- @return number
function WEAPON._GET_WEAPON_EMOTE_VARIATION(ped, variation) end
--- _STOP_* - _TEST_*
--- @param ped number
--- @param emoteType number
function WEAPON._SET_GUN_SPINNING_INVENTORY_SLOT_ID_ACTIVATE(ped, emoteType) end
--- @param weaponHash number
--- @return boolean
function WEAPON._GET_CAN_TWIRL_WEAPON(weaponHash) end
--- _GET_BEST_* - _GET_CLOSEST_*
--- @param ped number
--- @param weaponGuid number
--- @return boolean
function WEAPON._GET_CORRECT_KIT_EMOTE_TWIRL_GUN(ped, weaponGuid) end
--- @param p0 number
--- @return number
function WEAPON._0xBC9444F2FF94A9C0(p0) end
--- Returns weaponCollection Hash
--- Example: RE_POLICECHASE_MALES_01: Carbine Repeater + Knife, LO_AGRO_PED
--- @param pedModel number
--- @return number
function WEAPON._GET_DEFAULT_PED_WEAPON_COLLECTION(pedModel) end
--- @param ped number
--- @param weaponCollection number
function WEAPON._GIVE_WEAPON_COLLECTION_TO_PED(ped, weaponCollection) end
--- @param weaponCollection number
--- @param dualwieldVariant number
--- @return boolean
function WEAPON._0xF252A85B8F3F8C58(weaponCollection, dualwieldVariant) end
--- Returns a random weaponHash from default ped weapon collection (see _GET_DEFAULT_PED_WEAPON_COLLECTION).
--- @param weaponCollection number
--- @param weaponGroup number
--- @return number
function WEAPON._GET_WEAPON_FROM_DEFAULT_PED_WEAPON_COLLECTION(weaponCollection, weaponGroup) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0xF2F585411E748B9C(p0, p1) end
--- @param weaponHash number
--- @return number
function WEAPON.GET_WEAPON_CLIP_SIZE(weaponHash) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function WEAPON._0xA769D753922B031B(p0, p1, p2) end
--- @param p0 number
function WEAPON._0xC5899C4CD2E2495D(p0) end
--- @param ped number
--- @return boolean
function WEAPON.GET_ALLOW_DUAL_WIELD(ped) end
--- @param ped number
--- @param allow boolean
function WEAPON._SET_ALLOW_DUAL_WIELD(ped, allow) end
--- @param ped number
--- @param ammoHash number
--- @return boolean
function WEAPON._0x44C8F4908F1B2622(ped, ammoHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_KNIFE(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_REVOLVER(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_PISTOL(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_REPEATER(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_RIFLE(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_SHOTGUN(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_SNIPER(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_MELEE_WEAPON(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_THROWABLE(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_LASSO(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_BINOCULARS(weaponHash) end
--- Returns true if CWeaponInfoFlags::Flags::Gun is set.
--- @param weaponHash number
--- @return boolean
function WEAPON.IS_WEAPON_A_GUN(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_TWO_HANDED(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_ONE_HANDED(weaponHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_SILENT(weaponHash) end
--- Returns true for lassos, melee, thrown weapons (machetes and unarmed return false)
--- Returns false for all guns, bows and animal weapons
--- _IS_WEAPON_S* - _IS_WEAPON_V*
--- @param weaponHash number
--- @return boolean
function WEAPON._IS_WEAPON_CLOSE_RANGE(weaponHash) end
--- @param ammoHash number
--- @return boolean
function WEAPON._IS_AMMO_SILENT(ammoHash) end
--- @param ammoHash number
--- @return boolean
function WEAPON._IS_AMMO_SILENT_2(ammoHash) end
--- @param weaponHash number
--- @return boolean
function WEAPON.SHOULD_WEAPON_BE_DISCARDED_WHEN_SWAPPED(weaponHash) end
--- Preview: https://imgur.com/a/U8Q04Xu
--- @param ped number
--- @param p1 boolean
--- @return boolean
function WEAPON._DOES_PED_HAVE_REVOLVER(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function WEAPON._DOES_PED_HAVE_PISTOL(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function WEAPON._DOES_PED_HAVE_REPEATER(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function WEAPON._DOES_PED_HAVE_RIFLE(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function WEAPON._DOES_PED_HAVE_SHOTGUN(ped, p1) end
--- @param ped number
--- @param p1 boolean
--- @return boolean
function WEAPON._DOES_PED_HAVE_SNIPER(ped, p1) end
--- Related to weapon visual damage, not actual damage.
--- @param weaponObject number
--- @return number
function WEAPON._GET_WEAPON_DAMAGE(weaponObject) end
--- Related to weapon visual damage, not actual damage.
--- @param weaponObject number
--- @param level number
--- @param p2 boolean
function WEAPON._SET_WEAPON_DAMAGE(weaponObject, level, p2) end
--- @param weaponObject number
--- @return number
function WEAPON._GET_WEAPON_DIRT(weaponObject) end
--- @param weaponObject number
--- @param level number
--- @param p2 boolean
function WEAPON._SET_WEAPON_DIRT(weaponObject, level, p2) end
--- @param weaponObject number
--- @return number
function WEAPON._GET_WEAPON_SOOT(weaponObject) end
--- @param weaponObject number
--- @param level number
--- @param p2 boolean
function WEAPON._SET_WEAPON_SOOT(weaponObject, level, p2) end
--- every other level will have the max value of (brokeLevel - threshold)
--- @param weaponObject number
--- @param threshold number
function WEAPON._SET_WEAPON_LEVEL_THRESHOLD(weaponObject, threshold) end
--- 0.0: good condition, 1.0: poor condition
--- @param weaponObject number
--- @return number
function WEAPON.GET_WEAPON_DEGRADATION(weaponObject) end
--- Related to rust of weapons
--- @param weaponObject number
--- @return number
function WEAPON.GET_WEAPON_PERMANENT_DEGRADATION(weaponObject) end
--- @param weaponObject number
--- @param level number
function WEAPON._SET_WEAPON_DEGRADATION(weaponObject, level) end
--- @param listen boolean
function WEAPON._LISTEN_PROJECTILE_HIT_EVENTS(listen) end
--- @param weaponObject number
--- @return number
function WEAPON._GET_WEAPON_SCALE(weaponObject) end
--- @param weaponObject number
--- @param scale number
function WEAPON._SET_WEAPON_SCALE(weaponObject, scale) end
--- Example: https://imgur.com/a/fCaPJ1x
--- @param weaponHash number
--- @return boolean
function WEAPON._GET_WEAPON_HAS_MULTIPLE_AMMO_TYPES(weaponHash) end
--- @param p0 number
--- @return number
function WEAPON._0xEC97101A8F311282(p0) end
--- Returns ammoHash from weaponObject (Returned by 0x6CA484C9A7377E4F)
--- @param ped number
--- @param weaponObject number
--- @return number
function WEAPON._GET_CURRENT_PED_WEAPON_AMMO_TYPE(ped, weaponObject) end
--- Returns ammoHash
--- @param ped number
--- @param weaponGuid number
--- @return number
function WEAPON._GET_CURRENT_AMMO_TYPE_FROM_GUID(ped, weaponGuid) end
--- @param weaponHash number
--- @param ammoHash number
--- @return boolean
function WEAPON._IS_AMMO_TYPE_VALID_FOR_WEAPON(weaponHash, ammoHash) end
--- @param ped number
--- @param weaponHash number
--- @param ammoHash number
function WEAPON._SET_AMMO_TYPE_FOR_PED_WEAPON(ped, weaponHash, ammoHash) end
--- @param p0 number
--- @param p1 number
function WEAPON._0x183CE355115B6E75(p0, p1) end
--- @param ped number
--- @param weaponInventoryUid number
--- @param ammoHash number
function WEAPON._SET_AMMO_TYPE_FOR_PED_WEAPON_INVENTORY(ped, weaponInventoryUid, ammoHash) end
--- @param ped number
--- @param weaponHash number
--- @param ammoHash number
function WEAPON._DISABLE_AMMO_TYPE_FOR_PED_WEAPON(ped, weaponHash, ammoHash) end
--- @param ped number
--- @param ammoHash number
function WEAPON._DISABLE_AMMO_TYPE_FOR_PED(ped, ammoHash) end
--- @param p0 number
--- @param p1 number
function WEAPON._0xD63B4BA3A02A99E0(p0, p1) end
--- @param ped number
--- @param weaponHash number
--- @param ammoHash number
function WEAPON._ENABLE_AMMO_TYPE_FOR_PED_WEAPON(ped, weaponHash, ammoHash) end
--- @param ped number
--- @param weaponHash number
function WEAPON._ENABLE_AMMO_TYPE_FOR_PED(ped, weaponHash) end
--- @param p0 number
--- @param p1 number
function WEAPON._0x404514D231DB27A0(p0, p1) end
--- @param p0 number
--- @param p1 number
--- @param p2 number
function WEAPON._0xD53846B9C931C181(p0, p1, p2) end
--- @param p0 number
function WEAPON._0x000FA7A4A8443AF7(p0) end
--- @param p0 number
function WEAPON._0xECBB26529A737EF6(p0) end
--- Returns WeaponAttachPoint
--- @param ped number
--- @param attachPoint number
--- @return number
function WEAPON._GET_WEAPON_ATTACH_POINT(ped, attachPoint) end
--- @param p0 number
--- @param p1 number
--- @return number
function WEAPON._0x4823F13A21F51964(p0, p1) end
--- Equips a weapon from a weaponItem, similar to GIVE_WEAPON_TO_PED
--- @param ped number
--- @param weaponUid number
--- @param p2 boolean
--- @param p3 boolean
--- @param p4 boolean
--- @param p5 boolean
function WEAPON.SET_CURRENT_PED_WEAPON_BY_GUID(ped, weaponUid, p2, p3, p4, p5) end
--- @param ped number
--- @param guidPrimary number
--- @param guidSecondary number
function WEAPON.SET_PLAYER_PED_QUICK_SWAP_WEAPON_BY_GUID(ped, guidPrimary, guidSecondary) end
--- Outputs cached guids
--- @param ped number
--- @param guidPrimary number
--- @param guidSecondary number
function WEAPON._GET_PLAYER_PED_QUICK_SWAP_WEAPON_BY_GUID(ped, guidPrimary, guidSecondary) end
--- _GET_D* - _GET_L*
--- @param ped number
--- @return boolean
function WEAPON._0x0DE0944ECCB3DF5D(ped) end
--- @param ped number
--- @return number
function WEAPON._GET_NUM_PEDS_RESTRAINED_FROM_BOLAS(ped) end
--- @param ped number
--- @param targetPed number
--- @return boolean
function WEAPON._IS_TARGET_PED_CONSTRAINED_BY_PED_USING_BOLAS(ped, targetPed) end
--- Returns default attach point for given weapon hash. Returns -1 for melee as they can't be attached.
--- Example: https://imgur.com/a/mUE5fug
--- @param weaponHash number
--- @return number
function WEAPON._GET_DEFAULT_WEAPON_ATTACH_POINT(weaponHash) end

ZONE = {}

--- Returns name hash, see common:/data/levels/rdr3/mapzones.meta
--- 
--- type (-1 matches any type):
--- class CMapZone
--- {
--- public:
--- enum class Type
--- {
--- STATE,
--- TOWN,
--- LAKE,
--- RIVER,
--- OIL_SPILL,
--- SWAMP,
--- OCEAN,
--- CREEK,
--- POND,
--- GLACIER,
--- DISTRICT,
--- TEXT_PRINTED,
--- TEXT_WRITTEN
--- };
--- };
--- 
--- https://github.com/femga/rdr3_discoveries/tree/master/zones & https://alloc8or.re/rdr3/doc/enums/CMapZone__Type.txt
--- @param x number
--- @param y number
--- @param z number
--- @param type number
--- @return number
function ZONE._GET_MAP_ZONE_AT_COORDS(x, y, z, type) end
--- Returns the zone's name hash if its type matches one of the following:
--- - LAKE
--- - RIVER
--- - OIL_SPILL
--- - SWAMP
--- - OCEAN
--- - CREEK
--- - POND
--- - GLACIER
--- @param x number
--- @param y number
--- @param z number
--- @return number
function ZONE._GET_WATER_MAP_ZONE_AT_COORDS(x, y, z) end

COMPAPP = {}

--- nullsub, doesn't do anything
--- @param p0 number
--- @param p1 boolean
function COMPAPP._0xB6FD96420C0126A1(p0, p1) end
--- nullsub, doesn't do anything
--- @param p0 number
--- @param p1 number
function COMPAPP._0x74BCCEB233AD95B2(p0, p1) end
--- nullsub, doesn't do anything
--- @param p0 number
--- @param p1 string
function COMPAPP._0x29C733459A9011EB(p0, p1) end
--- Hardcoded to return false.
--- @return boolean
function COMPAPP._0x7AF1BB4504EA5ED9() end
--- nullsub, doesn't do anything
function COMPAPP._0xCCB4635A071FB62D() end
