### Get Entity Type Enum and Usage Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Defines entity categories and provides an example of how to check the type of an entity the player is looking at. ```cpp // Native: ENTITY::GET_ENTITY_TYPE (0x97F696ACA466B4E0) enum eEntityType { ET_NONE, // No entity or invalid ET_PED, // Character/NPC ET_VEHICLE, // Any vehicle including horses, wagons ET_OBJECT, // World objects }; // Example usage in script Entity entity = GET_ENTITY_PLAYER_IS_LOOKING_AT(PLAYER_ID()); int type = ENTITY::GET_ENTITY_TYPE(entity); if (type == ET_PED) { // Handle ped-specific logic Ped targetPed = (Ped)entity; } ``` -------------------------------- ### Get Weapon at Attachment Point Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use WEAPON::GET_PED_WEAPON_GUID_AT_ATTACH_POINT to retrieve the hash of the weapon currently equipped at a specific attachment point on a ped. ```cpp // Check what weapon is at shoulder sling Hash weaponAtSling = WEAPON::GET_PED_WEAPON_GUID_AT_ATTACH_POINT(playerPed, WEAPON_ATTACH_POINT_SHOULDERSLING); ``` -------------------------------- ### Ped Mood System Enum and Usage Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Defines the emotional states for player characters and provides examples for setting and checking a player's mood. ```cpp // Natives: // PLAYER::_SET_PLAYER_MOOD (0x39BED552DB46FFA9) // PLAYER::_GET_PLAYER_MOOD (0x054473164C012699) enum ePedMood { PedMood_Invalid = -1, PedMood_Default = 0, // Normal state PedMood_Down = 1, // Depressed/sad PedMood_Annoyed = 2, // Irritated PedMood_Drunk = 3, // Intoxicated PedMood_Upbeat = 4, // Happy/positive PedMood_Colter = 5, // Cold weather mood PedMood_Beaver = 6, // Special state PedMood_Prisoner = 7, // Captive state PedMood_NumMoods = 8, }; // Set player to drunk mood Player player = PLAYER_ID(); PLAYER::_SET_PLAYER_MOOD(player, PedMood_Drunk); // Check current mood int currentMood = PLAYER::_GET_PLAYER_MOOD(player); if (currentMood == PedMood_Down) { // Player is feeling down } ``` -------------------------------- ### Ped Relationship System Enum and Usage Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Manages ped perceptions and reactions, with examples for setting relationships between groups and checking relationships between individual peds. ```cpp // Natives: // PED::SET_RELATIONSHIP_BETWEEN_GROUPS (0xBF25EB89375A37AD) // PED::GET_RELATIONSHIP_BETWEEN_GROUPS (0x9E6B70061662AE5C) // PED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS (0x5E29243FB56FC6D4) // PED::GET_RELATIONSHIP_BETWEEN_PEDS (0xEBA5AD3A0EAF7121) enum eRelationType { ACQUAINTANCE_TYPE_PED_NONE = 0, // Neutral ACQUAINTANCE_TYPE_PED_RESPECT = 1, // Respected ACQUAINTANCE_TYPE_PED_LIKE = 2, // Friendly ACQUAINTANCE_TYPE_PED_IGNORE = 3, // Will ignore ACQUAINTANCE_TYPE_PED_DISLIKE = 4, // Unfriendly ACQUAINTANCE_TYPE_PED_WANTED = 5, // Law target ACQUAINTANCE_TYPE_PED_HATE = 6, // Hostile/attack on sight ACQUAINTANCE_TYPE_PED_DEAD = 7, // Deceased ACQUAINTANCE_TYPE_PED_DISGUISE = 8, // In disguise ACQUAINTANCE_TYPE_PED_THIEF = 9, // Known thief }; // Make all lawmen hostile to player's group Hash playerGroup = GET_PED_RELATIONSHIP_GROUP_HASH(PLAYER_PED_ID()); Hash lawGroup = GET_HASH_KEY("REL_LAW"); PED::SET_RELATIONSHIP_BETWEEN_GROUPS(ACQUAINTANCE_TYPE_PED_HATE, lawGroup, playerGroup); // Check relationship between two peds Ped ped1 = PLAYER_PED_ID(); Ped ped2 = someNPC; int rel = PED::GET_RELATIONSHIP_BETWEEN_PEDS(ped1, ped2); if (rel == ACQUAINTANCE_TYPE_PED_HATE) { // They are hostile } ``` -------------------------------- ### RDR3 Ped Script Configuration Flags (ePedScriptConfigFlags) Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt A flag system for controlling ped behavior, including AI reactions, combat, and interactions. Provides examples for setting invulnerability, preventing hogtying, and checking bounty status. ```cpp // Natives: // PED::SET_PED_CONFIG_FLAG (0x1913FE4CBF41C463) // PED::GET_PED_CONFIG_FLAG (0x7EE53118C892B513) enum ePedScriptConfigFlags { PCF_AllowMedicsToAttend = 0, PCF_DontAllowToBeDraggedOutOfVehicle = 2, PCF_GetOutUndriveableVehicle = 3, PCF_HasBounty = 4, PCF_DisableMelee = 26, PCF_CanPerformArrest = 49, PCF_CanBeArrested = 51, PCF_CowerInsteadOfFlee = 44, PCF_DisableLadderClimbing = 43, PCF_DontBehaveLikeLaw = 127, PCF_DisableTalkTo = 130, PCF_CannotBeMounted = 136, PCF_CannotBeTakenDown = 137, PCF_DisableHorseRevival = 191, PCF_NeverEverTargetThisPed = 273, PCF_DisableEagleEyeHighlight = 417, PCF_IsTranquilized = 580, // ... 600+ flags available }; // Make ped invulnerable to melee takedowns Ped npc = targetPed; PED::SET_PED_CONFIG_FLAG(npc, PCF_CannotBeTakenDown, TRUE); // Prevent ped from being hogtied PED::SET_PED_CONFIG_FLAG(npc, PCF_DisableHorseRevival, TRUE); // Make ped cower instead of fleeing PED::SET_PED_CONFIG_FLAG(npc, PCF_CowerInsteadOfFlee, TRUE); // Check if ped has a bounty if (PED::GET_PED_CONFIG_FLAG(npc, PCF_HasBounty)) { // Ped is wanted } // Disable Eagle Eye highlighting for stealth mission PED::SET_PED_CONFIG_FLAG(npc, PCF_DisableEagleEyeHighlight, TRUE); ``` -------------------------------- ### Define Prompt Priority Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/ePromptPriority/README.md Defines the priority levels for UI prompts. Use these constants when setting prompt priorities. ```cpp enum ePromptPriority { PP_Low = 0, PP_Normal = 1, PP_High = 2, PP_MissionCritical = 3, }; ``` -------------------------------- ### Check if UI Prompt is Disabled Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use PLAYER::_GET_PLAYER_UI_PROMPT_IS_DISABLED to check the current status of a UI prompt for a player, determining if it is blocked or hidden. ```cpp // Check if mount prompt is disabled if (PLAYER::_GET_PLAYER_UI_PROMPT_IS_DISABLED(player, PP_MOUNT)) { // Mount prompt is currently blocked } ``` -------------------------------- ### Create Dynamite Explosion Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use FIRE::ADD_EXPLOSION with EXP_TAG_DYNAMITE to create a dynamite explosion at specified coordinates with custom damage and audio settings. ```cpp // Natives: // FIRE::ADD_EXPLOSION (0x7D6F58F69DA92530) // FIRE::ADD_OWNED_EXPLOSION (0xD84A917A64D4D016) // FIRE::IS_EXPLOSION_IN_AREA (0x8391BA4313A25AD3) // FIRE::IS_EXPLOSION_IN_SPHERE (0xD62DD846D82CBB90) enum eExplosionTag { EXP_TAG_DONTCARE = -1, EXP_TAG_GRENADE = 0, EXP_TAG_STICKYBOMB = 1, EXP_TAG_MOLOTOV = 2, EXP_TAG_MOLOTOV_VOLATILE = 3, EXP_TAG_HI_OCTANE = 4, EXP_TAG_CAR = 5, EXP_TAG_DYNAMITE = 25, EXP_TAG_DYNAMITESTACK = 26, EXP_TAG_FIRE_ARROW = 30, EXP_TAG_DYNAMITE_ARROW = 31, EXP_TAG_LIGHTNING_STRIKE = 33, // ... additional types in full enum }; // Create dynamite explosion at coordinates float x = 100.0f, y = 200.0f, z = 50.0f; float damageScale = 1.0f; BOOL isAudible = TRUE, isInvisible = FALSE; FIRE::ADD_EXPLOSION(x, y, z, EXP_TAG_DYNAMITE, damageScale, isAudible, isInvisible, 0.0f); ``` -------------------------------- ### UI Prompt Attributes Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/eUIPromptAttribute/README.md Defines attributes for UI prompts. Use these constants when setting prompt properties. ```cpp enum eUIPromptAttribute { kPromptAttrib_Enabled = 0, kPromptAttrib_Scripted = 1, kPromptAttrib_Frontend = 2, kPromptAttrib_InGame = 3, kPromptAttrib_Menu = 4, kPromptAttrib_CustomDraw = 5, kPromptAttrib_StyleProgress = 6, kPromptAttrib_StyleIsPressed = 7, kPromptAttrib_StyleMash = 8, kPromptAttrib_ExclusiveInput = 9, kPromptAttrib_NoButtonReleaseCheck = 10, kPromptAttrib_SuppressSourceRestart = 11, kPromptAttrib_HighlightEntity = 12, kPromptAttrib_0x7BFB7BE9 = 13, kPromptAttrib_0x97C6A1A0 = 14, kPromptAttrib_0x0BB03FA5 = 15, kPromptAttrib_0x68A82DB8 = 16, kPromptAttrib_NoGroupCheck = 17, kPromptAttrib_0x7D927885 = 18, kPromptAttrib_0x3A6500CB = 19, kPromptAttrib_0x88EFB732 = 20, kPromptAttrib_ShowPromptWhenHoldingPrompt = 21, kPromptAttrib_0x8D0AF628 = 22, kPromptAttrib_0x3BF68993 = 23, kPromptAttrib_0xA9F5CB58 = 24, kPromptAttrib_0xFB7281ED = 25, kPromptAttrib_0xD0CCE685 = 26, kPromptAttrib_0x269986DB = 27, kPromptAttrib_0x1E78DA66 = 28, kPromptAttrib_0x32835868 = 29, kPromptAttrib_0x5FF595DB = 30, kPromptAttrib_0x0CBEE7D6 = 31, kPromptAttrib_0xD65F19AA = 32, kPromptAttrib_0xDD97A5B7 = 33, kPromptAttrib_ManualResolved = 34, kPromptAttrib_0xAAE6EAFA = 35, kPromptAttrib_0x37DA9DF0 = 36, kPromptAttrib_0xF293E448 = 37, kPromptAttrib_0x5B4F16C8 = 38, kPromptAttrib_0x5C1F0B40 = 39, kPromptAttrib_0x3505BC93 = 40, kPromptAttrib_0x4C5D26A1 = 41, kPromptAttrib_0xC25E80EA = 42, kPromptAttrib_0x21B74C10 = 43, kPromptAttrib_0xE9889A59 = 44, }; ``` -------------------------------- ### Define Ped Mood Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/ePedMood/README.md Defines the possible moods for a ped (pedestrian) in the game. Use these values when interacting with natives that set or get player mood. ```cpp enum ePedMood { PedMood_Invalid = -1, PedMood_Default = 0, PedMood_Down = 1, PedMood_Annoyed = 2, PedMood_Drunk = 3, PedMood_Upbeat = 4, PedMood_Colter = 5, PedMood_Beaver = 6, PedMood_Prisoner = 7, PedMood_NumMoods = 8, }; ``` -------------------------------- ### AnimPostFXEventType Enum Definition Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/AnimPostFXEventType/README.md Defines the possible event types for AnimPostFX, used to control visual effects during animations. Values range from invalid to specific combinations of start, stop, and frame events. ```cpp enum AnimPostFXEventType { ANIMPOSTFX_EVENT_INVALID = -1, ANIMPOSTFX_EVENT_ON_START = 0, ANIMPOSTFX_EVENT_ON_STOP = 1, ANIMPOSTFX_EVENT_ON_FRAME = 2, ANIMPOSTFX_EVENT_ON_START_ON_STOP = 3, ANIMPOSTFX_EVENT_ON_START_ON_STOP_ON_FRAME = 4, ANIMPOSTFX_EVENT_ON_START_ON_FRAME = 5, ANIMPOSTFX_EVENT_ON_STOP_ON_FRAME = 6, }; ``` -------------------------------- ### Define UI Sticky Feed Channel Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/eUIStickyFeedChannel/README.md Defines the different channels available for the UI sticky feed. Includes invalid, status alert, warning, toast, and a specific hash channel. ```cpp enum eUIStickyFeedChannel { kStickyFeedChannel_Invalid = 0, kStickyFeedChannel_StatusAlert = 1, kStickyFeedChannel_Warning = 2, kStickyFeedChannel_WarningSideMenu = 3, kStickyFeedChannel_Toast = 4, kStickyFeedChannel_0xD6C6B7A5 = 5, kStickyFeedChannel_Count = 6, }; ``` -------------------------------- ### CScenarioPointFlags__Flags Enum Definition Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/CScenarioPointFlags__Flags/README.md Defines the flags used for scenario points in RDR3. These flags control various behaviors and properties of scenario points, such as preventing peds from getting off trains or enabling aggressive vehicle driving. ```cpp enum CScenarioPointFlags__Flags { _0x27B31061 = 0, PreventPedFromGettingOffTrains = 1, AggressiveVehicleDriving = 2, _0x06BC63F2 = 3, _0x5AA3BE00 = 4, ClusterLeader = 5, ConversePoint = 6, _0xE83E339C = 7, DisablePlayerUse = 8, DisableWitnessBehaviour = 9, EndScenarioIfPlayerWithinRadius = 10, EventsInRadiusTriggerDisputes = 11, EventsInRadiusTriggerThreatResponse = 12, ExtendedRange = 13, HighPriority = 14, HubNode = 15, IgnoreLoitering = 16, IgnoreMaxInRange = 17, IgnoreThreatsIfLosNotClear = 18, IgnoreWeatherRestrictions = 19, InWater = 20, LandVehicleOnArrival = 21, MissionCritical = 22, NoAttraction = 23, NoRespawnUntilStreamedOut = 24, NoSpawn = 25, NoVehicleSpawnMaxDistance = 26, OnlySpawnInSameInterior = 27, OpenDoor = 28, PavementNode = 29, PreciseUseTime = 30, ResetNoCollisionOnCleanUp = 31, SetPedDrunk = 32, ShortRange = 33, SpawnedPedIsArrestable = 34, StationaryReactions = 35, CanBeUsedByAmbientPedsToGetOnTrain = 36, TerritorialScenario = 37, UseHeadOrientationForPerception = 38, UseLoSChecks = 39, UseSearchlight = 40, UseVehicleFrontForArrival = 41, _0xDBCF4713 = 42, _0xAE9CDEC4 = 43, CampfireScenario = 44, _0x6F1EF279 = 45, CanConverseThenLeave = 46, VegVolume = 47, _0xED924097 = 48, _0xB1D91209 = 49, Isolated = 50, ExcludeFromDynamicSearch = 51, _0x51040B88 = 52, _0xB3EB0FA6 = 53, _0x30A8DCC6 = 54, _0xDEE6B943 = 55, _0xC5CC870F = 56, _0xFBEEC8B2 = 57, SeatedChair = 58, SeatedBench = 59, SeatedAtTable = 60, SeatedNoBack = 61, _0x9030FA20 = 62, _0x7C44D036 = 63, }; ``` -------------------------------- ### Give Weapon to Ped with Attachment Point Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use WEAPON::GIVE_WEAPON_TO_PED to equip a ped with a weapon, specifying the quantity, whether to play an animation, and the exact attachment point. ```cpp // Natives: // WEAPON::GIVE_WEAPON_TO_PED (0x5E3BDDBCB83F3D84) // WEAPON::GET_CURRENT_PED_WEAPON (0x3A87E44BB9A01D54) // WEAPON::GET_PED_WEAPON_GUID_AT_ATTACH_POINT (0x6929E22158E52265) // WEAPON::_SET_PED_WEAPON_ATTACH_POINT_VISIBILITY (0x67E21ACC5C0C970C) 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, WEAPON_ATTACH_POINT_PISTOL_L = 3, WEAPON_ATTACH_POINT_KNIFE = 4, WEAPON_ATTACH_POINT_LASSO = 5, WEAPON_ATTACH_POINT_BOW = 7, WEAPON_ATTACH_POINT_RIFLE = 9, WEAPON_ATTACH_POINT_LANTERN = 11, WEAPON_ATTACH_POINT_HIP = 14, WEAPON_ATTACH_POINT_BACK = 16, WEAPON_ATTACH_POINT_SHOULDERSLING = 18, WEAPON_ATTACH_POINT_SATCHEL = 24, MAX_WEAPON_ATTACH_POINTS = 29, }; // Give player a revolver at right holster Ped playerPed = PLAYER_PED_ID(); Hash cattlemanRevolver = GET_HASH_KEY("WEAPON_REVOLVER_CATTLEMAN"); WEAPON::GIVE_WEAPON_TO_PED(playerPed, cattlemanRevolver, 100, TRUE, TRUE, WEAPON_ATTACH_POINT_PISTOL_R, FALSE, 0.0f, FALSE, 0, FALSE, 0.0f, FALSE); ``` -------------------------------- ### Set Weapon Attachment Point Visibility Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use WEAPON::_SET_PED_WEAPON_ATTACH_POINT_VISIBILITY to control the visibility of a weapon at a specific attachment point on a ped. ```cpp // Hide weapon at back attachment point WEAPON::_SET_PED_WEAPON_ATTACH_POINT_VISIBILITY(playerPed, WEAPON_ATTACH_POINT_BACK, FALSE); ``` -------------------------------- ### RDR3 Event Types Enum (eEventType) Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Defines game world events for scripting reactions to player actions, NPC behaviors, and combat. Includes examples for adding shocking events and checking for specific event responses. ```cpp // Natives: // EVENT::ADD_SHOCKING_EVENT_AT_POSITION (0xD9F8455409B525E9) // EVENT::ADD_SHOCKING_EVENT_FOR_ENTITY (0x7FD8F3BE76F89422) // EVENT::IS_SHOCKING_EVENT_IN_SPHERE (0x9DB47E16060D6354) // PED::IS_PED_RESPONDING_TO_EVENT (0x625B774D75C87068) enum eEventType { EVENT_INVALID = -1, EVENT_DAMAGE = 3316418807, EVENT_DEATH = 2934931347, EVENT_EXPLOSION = 1973084963, EVENT_SHOT_FIRED = 3707305529, EVENT_GUN_AIMED_AT = 157877922, EVENT_LASSO_HIT = 3697581151, EVENT_HOGTIED = 1266167444, EVENT_CRIME_WITNESSED = 3882882312, EVENT_PLAYER_ROBBED_PED = 832287042, EVENT_SHOCKING_DEAD_BODY = 869302489, EVENT_SHOCKING_MELEE_FIGHT = 1943790124, EVENT_SHOCKING_WEAPON_DRAWN = 2450480860, EVENT_PLAYER_DEATH = 3313338020, // ... hundreds of event types }; // Add shocking event at position (NPCs will react) float x = 100.0f, y = 200.0f, z = 50.0f; float duration = 10.0f; EVENT::ADD_SHOCKING_EVENT_AT_POSITION(EVENT_SHOCKING_DEAD_BODY, x, y, z, duration); // Add shocking event for entity Ped deadBody = corpseHandle; EVENT::ADD_SHOCKING_EVENT_FOR_ENTITY(EVENT_SHOCKING_DEAD_BODY, deadBody, duration); // Check if gun was fired nearby if (EVENT::IS_SHOCKING_EVENT_IN_SPHERE(EVENT_SHOT_FIRED, x, y, z, 50.0f)) { // Gunshot detected within 50 units } // Check if ped is responding to a crime Ped witness = nearbyNPC; if (PED::IS_PED_RESPONDING_TO_EVENT(witness, EVENT_CRIME_WITNESSED)) { // Witness is reacting to crime } ``` -------------------------------- ### PlacementType Enum Definition Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/PlacementType/README.md Defines different types of placement for objects in the game world. Used by natives like PROPSET::\_CREATE\_PROP\_SET. ```cpp enum PlacementType { SNAP_TO_GROUND = 0, ALIGN_TO_GROUND = 1, MAP_TO_GROUND = 3, SNAP_TO_WORLD = 4, PLACE_ON_ENTITY_LOOSELY = 5, ALIGN_AS_ONE = 7, }; ``` -------------------------------- ### RDR3 AI Task Types Enum (eTaskType) Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Defines AI task types used with TASK::GET_IS_TASK_ACTIVE to check current or past ped actions. Includes examples for checking fleeing, horseback riding, and hogtie states. ```cpp // Native: TASK::GET_IS_TASK_ACTIVE (0xB0760331C7AA4155) enum eTaskType { TASK_HANDS_UP = 0, TASK_CLIMB_LADDER = 1, TASK_COMBAT_ROLL = 2, TASK_ANIMATION = 3, TASK_LEAD_HORSE = 8, TASK_KNOCKEDOUT = 11, TASK_EAT = 14, TASK_PLAYER_ON_FOOT = 21, TASK_PLAYER_ON_HORSE = 22, TASK_WEAPON = 23, TASK_FLEE = 257, TASK_WANDER = 261, TASK_COMBAT = 523, TASK_DYING_DEAD = 121, TASK_HOGTIE = 452, TASK_LASSO = 622, // ... 736 total task types MAX_NUM_TASK_TYPES = 736, }; // Check if ped is fleeing Ped targetPed = someNPC; if (TASK::GET_IS_TASK_ACTIVE(targetPed, TASK_FLEE)) { // Ped is currently fleeing } // Check if player is on horseback Ped playerPed = PLAYER_PED_ID(); if (TASK::GET_IS_TASK_ACTIVE(playerPed, TASK_PLAYER_ON_HORSE)) { // Player is mounted } // Check if ped is hogtied if (TASK::GET_IS_TASK_ACTIVE(targetPed, TASK_HOGTIE)) { // Ped is being hogtied } ``` -------------------------------- ### Create Player-Owned Explosion Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use FIRE::ADD_OWNED_EXPLOSION to create an explosion attributed to a player, useful for kill credit. Requires player ped, coordinates, explosion type, and damage scale. ```cpp // Create explosion owned by player (for kill credit) Ped playerPed = PLAYER_PED_ID(); FIRE::ADD_OWNED_EXPLOSION(playerPed, x, y, z, EXP_TAG_MOLOTOV, damageScale, isAudible, isInvisible, 0.0f); ``` -------------------------------- ### Define Sound Type Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/CItemInfoSoundsInterface__sSoundsInfo__eSoundType/README.md Defines the different types of sounds associated with inventory items. Use these constants when interacting with inventory sound-related natives. ```cpp enum CItemInfoSoundsInterface__sSoundsInfo__eSoundType { SI_SFX_PURCHASE = 0, SI_SFX_SELL = 1, SI_SFX_USE = 2 }; ``` -------------------------------- ### Define Item Database Item Flags Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Defines bit flags for inventory item properties, used to check characteristics like rarity, quality, and special attributes. Use with INVENTORY::_INVENTORY_IS_INVENTORY_ITEM_FLAG_ENABLED. ```cpp // Native: INVENTORY::_INVENTORY_IS_INVENTORY_ITEM_FLAG_ENABLED (0x245D07651B1D183B) enum ItemDatabaseItemFlags { ITEM_FLAG_INTRINSIC_ITEM = (1 << 0), // Built-in item ITEM_FLAG_PREVENT_REMOVAL = (1 << 1), // Cannot be dropped ITEM_FLAG_LEGENDARY = (1 << 2), // Legendary rarity ITEM_FLAG_CAN_BE_EQUIPPED = (1 << 3), // Equippable ITEM_FLAG_CAN_BE_INSPECTED = (1 << 4), // Can examine ITEM_FLAG_USE_ITEM_MODEL = (1 << 6), // Has 3D model ITEM_FLAG_INSPECT_ONLY = (1 << 7), // View only ITEM_FLAG_SPEC_AMMO = (1 << 22), // Special ammunition ITEM_FLAG_CAN_BE_MAILED = (1 << 23), // Mailable ITEM_FLAG_IS_MEAT = (1 << 24), // Food item ITEM_FLAG_CANNOT_BE_MOVED = (1 << 26), // Fixed position ITEM_FLAG_QUALITY_RUINED = (1 << 27), // Ruined quality ITEM_FLAG_QUALITY_POOR = (1 << 28), // Poor quality ITEM_FLAG_QUALITY_NORMAL = (1 << 29), // Normal quality ITEM_FLAG_QUALITY_PRISTINE = (1 << 30), // Pristine quality }; ``` -------------------------------- ### Natives Using Weapon Attach Point Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/eWeaponAttachPoint/README.md This section lists native functions in RDR3 that interact with weapon attach points. ```APIDOC ## Natives that use the eWeaponAttachPoint enum This table lists native functions that utilize the `eWeaponAttachPoint` enum. | Name | Hash | |------------------------------------------------------------|---------------------| | WEAPON::GIVE_WEAPON_TO_PED | 0x5E3BDDBCB83F3D84 | | WEAPON::GIVE_WEAPON_TO_PED_WITH_OPTIONS | 0xBE7E42B07FD317AC | | WEAPON::_SET_FORCE_CURRENT_WEAPON_INTO_COCKED_STATE | 0x5230D3F6EE56CFE6 | | WEAPON::SET_CURRENT_PED_WEAPON | 0xADF692B254977C0C | | WEAPON::GET_CURRENT_PED_WEAPON | 0x3A87E44BB9A01D54 | | WEAPON::GET_CURRENT_PED_WEAPON_ENTITY_INDEX | 0x3B390A939AF0B5FC | | WEAPON::GET_PED_WEAPON_GUID_AT_ATTACH_POINT | 0x6929E22158E52265 | | WEAPON::_SET_PED_WEAPON_ATTACH_POINT_VISIBILITY | 0x67E21ACC5C0C970C | | WEAPON::MAKE_PED_DROP_WEAPON | 0xCEF4C65DE502D367 | | WEAPON::_GET_WEAPON_ATTACH_POINT | 0xCAD4FE9398820D24 | | PLAYER::_0xCFFC3ECCD7A5CCEB | 0xCFFC3ECCD7A5CCEB | ``` -------------------------------- ### Check Item Quality Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Checks the quality of an inventory item (pristine or ruined) using the INVENTORY::_INVENTORY_IS_INVENTORY_ITEM_FLAG_ENABLED native function. ```cpp // Check item quality if (INVENTORY::_INVENTORY_IS_INVENTORY_ITEM_FLAG_ENABLED(itemGuid, ITEM_FLAG_QUALITY_PRISTINE)) { // Perfect condition item } else if (INVENTORY::_INVENTORY_IS_INVENTORY_ITEM_FLAG_ENABLED(itemGuid, ITEM_FLAG_QUALITY_RUINED)) { // Item is ruined } ``` -------------------------------- ### UILog Entry Types Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/eUILogEntryType/README.md Defines the different types of entries that can be added to the UILog system. Use these constants when interacting with UILog native functions. ```cpp enum eUILogEntryType { kLogEntryMission = 0, kLogEntryStoryMission = 1, kLogEntryStoryMissionCompleted = 2, kLogEntry_0x07350314 = 3, kLogEntryProcMission = 4, kLogEntryChallenge = 5, kLogEntryMissionChallenge = 6, kLogEntryRecipe = 7, kLogEntryItemRequest = 8, kLogEntry_0x1ADB81F2 = 9, kLogEntryMPStoryMission = 10, kLogEntryDailyChallenge = 11, kLogEntryDailyRoleBountyHunter = 12, kLogEntryDailyRoleTrader = 13, kLogEntryDailyRoleCollector = 14, kLogEntryDailyRoleMoonshiner = 15, kLogEntryDailyRoleNaturalist = 16, kLogEntry_0x1D351B7E = 17, kLogEntryDailyStreak = 18, kLogEntryInvalid = 19, }; ``` -------------------------------- ### Entity Type Enum Definition Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/eEntityType/README.md Defines the possible entity types in the game. Used with natives like ENTITY::GET_ENTITY_TYPE. ```cpp enum eEntityType { ET_NONE, ET_PED, ET_VEHICLE, ET_OBJECT, }; ``` -------------------------------- ### Disable Player UI Prompt Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use PLAYER::_MODIFY_PLAYER_UI_PROMPT to completely block a specific UI prompt for the player, preventing interaction. ```cpp // Natives: // PLAYER::_MODIFY_PLAYER_UI_PROMPT (0x0751D461F06E41CE) // PLAYER::_MODIFY_PLAYER_UI_PROMPT_FOR_PED (0xA3DB37EDF9A74635) // PLAYER::_GET_PLAYER_UI_PROMPT_IS_DISABLED (0x6614F9039BD31931) enum ePromptType { PP_SCENARIO = 0, PP_MOUNT, PP_VEHICLE, PP_GREET, PP_INSULT, PP_HORSEINTERACT, PP_ROB, PP_DRAW_WEAPON, PP_INTERACTION_LOCKON, PP_SURRENDER_FOR_ARREST, PP_DUEL, PP_HORSE_CALM, PP_HORSE_FOLLOW, PP_HORSE_STAY, PP_HORSE_FLEE, PP_STUDY, PP_RELOAD_WEAPON, PP_EMOTE_TAUNT, PP_EMOTE_GREET, PP_CROUCH, // ... additional types in full enum }; enum ePromptMode { PP_MODE_BLOCK = 0, // Completely block the prompt PP_MODE_HIDE, // Hide but don't block PP_MODE_GREY_OUT // Show greyed out }; // Disable rob prompt for player Player player = PLAYER_ID(); PLAYER::_MODIFY_PLAYER_UI_PROMPT(player, PP_ROB, PP_MODE_BLOCK, TRUE); ``` -------------------------------- ### DoorScriptState Enum Definition Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/DoorScriptState/README.md Defines the possible states for a door script in RDR3. Use these values when interacting with door-related native functions. ```cpp enum DoorScriptState { DOORSTATE_INVALID = -1, DOORSTATE_UNLOCKED = 0, DOORSTATE_LOCKED_UNBREAKABLE = 1, DOORSTATE_LOCKED_BREAKABLE = 2, DOORSTATE_NUM = 3, }; ``` -------------------------------- ### Animal Tuning Boolean Parameters Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/eAnimalTuningBools/README.md This enum defines boolean parameters used for tuning animal behavior. It is used with natives like GET_ANIMAL_TUNING_BOOL_PARAM, SET_ANIMAL_TUNING_BOOL_PARAM, and RESET_ANIMAL_TUNING_BOOL_PARAM. ```cpp enum _0x6316D090 { ATB_0x83ADEE96 = 0, ATB_AlertedFaceTarget = 1, ATB_AlertedFleeSlowly = 2, ATB_AlertedWalkAway = 3, ATB_0x90E98C55 = 4, ATB_AvoidTowns = 5, ATB_0x2117D696 = 6, ATB_0x2CFE290A = 7, ATB_0xEF97D5BA = 8, ATB_CombatCharge = 9, ATB_CombatChargePrey = 10, ATB_CombatCircle = 11, ATB_CombatMelee = 12, ATB_CombatMeleeThreats = 13, ATB_CombatStalk = 14, ATB_CombatStandGround = 15, ATB_CombatUnderwaterAmbush = 16, ATB_CombatWarnPrey = 17, ATB_DeepSwim = 18, ATB_0xF957E96C = 19, ATB_0x721F0236 = 20, ATB_EnableFlocks = 21, ATB_FleeMountedPeds = 22, ATB_FlockEnableAlerted = 23, ATB_FlockEnableFlee = 24, ATB_FlockEnablePavementGraph = 25, ATB_FlockEnableUnalerted = 26, ATB_0x3152FD02 = 27, ATB_Herbivore = 28, ATB_0xE17E3717 = 29, ATB_Livestock = 30, ATB_0xD75A5D47 = 31, ATB_NeverRetreatFromMelee = 32, ATB_NeverWarnDuringMelee = 33, ATB_NoCriticalHits = 34, ATB_0x3AA3AAED = 35, ATB_OnlyOneFlock = 36, ATB_0xAC607731 = 37, ATB_0x683BE9AE = 38, ATB_PrefersFlockAttack = 39, ATB_0x829BF67F = 40, ATB_0xE1E01C86 = 41, ATB_0xAF88F8BA = 42, ATB_0x585C03FE = 43, ATB_StartFleeDecisionMakerDuringAlertedState = 44, ATB_0xD5DA6493 = 45, ATB_0x54300561 = 46, ATB_0xD84FC223 = 47, ATB_0x3508D123 = 48, ATB_0x6BD219BD = 49, ATB_0x208100FB = 50, ATB_WarnAfterKnockdownsInMelee = 51, ATB_0x01CE3441 = 52, ATB_CanPlayDead = 53, ATB_0x4AEE1DC5 = 54, ATB_0xBF9E61C5 = 55, ATB_EnableFleeGroup = 56, ATB_0x54B3E3FA = 57, ATB_IsBird = 58, ATB_0x17849DFB = 59, ATB_0x6D86ED74 = 60, ATB_0x1E8B7472 = 61, ATB_0x6254C531 = 62, ATB_0x9A6DB7AA = 63, ATB_IsFish = 64, ATB_0x995FA643 = 65, ATB_0x2A9BC4A9 = 66, ATB_EnableFleeOwner = 67, ATB_0xDA562A2D = 68, ATB_0xEC08341A = 69, ATB_0x45E3EF8B = 70, ATB_RagdollEasily = 71, ATB_AvoidInteriorCombat = 72, ATB_0x13B8D94C = 73, ATB_0xE939329C = 74, ATB_IsSuperScary = 75, ATB_0xAB2FF06F = 76, ATB_ForceCombatAnimalMeleeRetreatOnNearbyGunfire = 77, ATB_0x31C8EDC9 = 78, ATB_0x61BFF5EF = 79, ATB_0x43031B8E = 80, ATB_0x2193D6E7 = 81, ATB_UseFishFlee = 82, ATB_0x959CD54E = 83, ATB_0x075D91E6 = 84, ATB_0x34792393 = 85, ATB_0x99A74D0F = 86, ATB_0x76C60E71 = 87, ATB_WaitInsteadOfFleeForUnreachableVolumes = 88, ATB_AlertedFlocking = 89, ATB_0x89DC2582 = 90, ATB_0xC3F49CEC = 91, ATB_AlertedCharging = 92, ATB_0x2E7427ED = 93, ATB_0x6E35624F = 94, ATB_0xCBC01D6F = 95, ATB_0x11784205 = 96, ATB_CannotBeTamed = 97, ATB_0x66FDA235 = 98, ATB_0x6EFA1741 = 99 }; ``` -------------------------------- ### RDR3 fwFacialAnimRequest__Mood Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/fwFacialAnimRequest__Mood/README.md Defines various facial animation moods for RDR3. Used with natives like PED::_REQUEST_PED_FACIAL_MOOD_THIS_FRAME. ```cpp enum fwFacialAnimRequest__Mood { MoodNone = 401860102, MoodAction = 43014794, MoodAgitated = 3306557655, MoodAgitatedCanter = 3087050993, MoodAgitatedGallop = 1310022809, MoodAgitatedLow = 1319768939, MoodAgitatedTrot = 2306321001, MoodAgitatedWalk = 1135495908, MoodAiming = 655768033, MoodAimingLasso = 3575426397, MoodAimingPistol = 2185109471, MoodAimingRifle = 2988776538, MoodAngry = 137506481, MoodAngryInjured = 2877675460, MoodBitchy = 1201781013, MoodBlizzard = 548692659, MoodBlizzrdFrozen = 1121482260, MoodBracing = 1474238770, MoodBrave = 5493647, MoodBucking = 508439356, MoodCalmHorse = 1550873282, MoodCanterStop = 3046655719, MoodCarryLarge = 3254749600, MoodCautious = 3104036806, MoodCharging = 2697749096, MoodChoked = 112410519, MoodChokedMild = 599192531, MoodChokedRear = 1931057439, MoodCocky = 3070686211, MoodCold = 1679333685, MoodCombatMedium = 2903379502, MoodCombatMild = 4148843057, MoodConcentration = 2627161094, MoodConcentrationExtreme = 1382425677, MoodConfused = 2595289108, MoodCoughing = 827008165, MoodCower = 970990189, MoodCurious = 3537998118, MoodDead = 2312123450, MoodDeadAndMouthLooted = 159713133, MoodDefuse = 4077158553, MoodDisgust = 1116928067, MoodDrowning = 1402264079, MoodDrunkExtreme = 2720706073, MoodDrunkMedium = 2964193846, MoodDrunkMild = 3032813660, MoodElectrocution = 1570804069, MoodExertionExtreme = 320243264, MoodExertionMedium = 2733173319, MoodExertionMild = 4216183788, MoodExhausted = 2969106131, MoodExhaustedMild = 2287684162, MoodFallLarge = 2986631737, MoodFallSmall = 1156137097, MoodFoliage = 3108112960, MoodGallopStop = 1353502725, MoodGroom = 3161300050, MoodHappy = 746733444, MoodHot = 3155209533, MoodInjuredExtreme = 459203337, MoodInjuredMedium = 1867273634, MoodInjuredMild = 3014186447, MoodIntimidate = 3132314318, MoodIntimidated = 816500609, MoodInvestigate = 3678021507, MoodKnockedOut = 112825101, MoodLassoed = 1480593619, MoodLowDeadeye = 1057824557, MoodLowHealth = 4245131357, MoodLowStamina = 3642601736, MoodNearFire = 1122547698, MoodNervous = 3652126712, MoodNormal = 3569615413, MoodNormalCanter = 3152476129, MoodNormalGallop = 295039378, MoodNormalNeutral = 690358560, MoodNormalSick = 2819466789, MoodNormalTrot = 1868948693, MoodNormalWalk = 3526252297, MoodOnFire = 1040888787, MoodPanic = 3729996742, MoodRapids = 1630212626, MoodRecovery = 3345095814, MoodRiding = 3292262768, MoodRidingRelaxed = 3416791357, MoodRun = 3568911481, MoodSad = 1164001287, MoodSadExtreme = 3626470550, MoodScared = 3716590166, MoodSearchHigh = 1571672020, MoodSearchLow = 1968015893, MoodSeductive = 456668268, MoodShocked = 2583247227, MoodShockedMild = 1083628229, MoodShunting = 1986369795, MoodSleeping = 188835728, MoodSlide = 2726461858, MoodSliding = 3206406034, MoodSlope = 4283568788, MoodSmug = 3347446607, MoodStalking = 906951161, MoodStealth = 1333898231, MoodStopping = 3277102012, MoodStressed = 2404361576, MoodSubmissive = 4169919907, MoodSulk = 3167933328, MoodSwamp = 4220021394, MoodSwim = 4143330964, MoodTalking = 1751822680, MoodTalkingHappy = 1697543443, MoodTired = 2403592533, MoodTiredMild = 595270176, MoodTrotStop = 2574913652, MoodUnderfire = 941081878, MoodUnderfireHeavy = 3090727357, MoodUnderfireMild = 1753789440, MoodWalkStop = 479798140, MoodWater = 510645846, MoodWindExtreme = 4127737830, MoodWindMedium = 1409412588, MoodWindMild = 2444376960 }; ``` -------------------------------- ### Modify UI Prompt for Specific Ped Source: https://context7.com/halen84/rdr3-native-flags-and-enums/llms.txt Use PLAYER::_MODIFY_PLAYER_UI_PROMPT_FOR_PED to hide or block specific UI prompts for a particular NPC, useful for controlling interactions. ```cpp // Disable greeting prompts for specific NPC Ped npc = targetPed; PLAYER::_MODIFY_PLAYER_UI_PROMPT_FOR_PED(player, npc, PP_GREET, PP_MODE_HIDE, TRUE); ``` -------------------------------- ### RDR3 Prompt Mode Enum Source: https://github.com/halen84/rdr3-native-flags-and-enums/blob/main/ePromptType/README.md Specifies the different modes for player prompts, controlling their visibility and interaction behavior. Use these to define how prompts are presented to the player. ```cpp enum ePromptMode { PP_MODE_BLOCK = 0, PP_MODE_HIDE, PP_MODE_GREY_OUT }; ```