# xakra\_stables

## Requirements

* [oxmysql](https://github.com/overextended/oxmysql)
* [vorp\_core](https://github.com/VORPCORE/vorp-core-lua)
* [vorp\_inventory](https://github.com/VORPCORE/vorp_inventory-v2)
* [lockpick](https://github.com/XakraD/lockpick)

***

## Installation

1. Copy the script into a folder (to choose) from the 'resources' folder.
2. Add 'ensure xakra\_stables' in the 'Resources.cfg' document
3. Configure the 'config.lua' to adapt the script to your server.
4. Execute the SQL queries from file 'config/tables.sql' for the operation of this script.

***

## Config & Framework

<details open>

<summary>config</summary>

config.lua

{% code expandable="true" %}

```lua
Config = {}

-- ####################### LANG #######################
Config.Lang = 'en'

-- ####################### KEYS #######################
-- https://github.com/femga/rdr3_discoveries/tree/master/Controls

Config.Keys = {
    OpenMenu = 'INPUT_INTERACT_OPTION1',   -- G

    CallCart = 'INPUT_OPEN_JOURNAL',   -- J || Key or false (disable call with key)
    InventoryCart = 'INPUT_OPEN_SATCHEL_HORSE_MENU',  -- B
    FleeCart = 'INPUT_HORSE_COMMAND_FLEE',    -- F

    CallHorse = 'INPUT_WHISTLE',   -- H || Key or false (disable call with key)
    FleeHorse = 'INPUT_HORSE_COMMAND_FLEE',    -- F
    InventoryHorse = 'INPUT_OPEN_SATCHEL_HORSE_MENU',  -- B
    WallowHorse = 'INPUT_LOOK_BEHIND',   -- C
    SleepHorse = 'INPUT_FRONTEND_LS',   -- X
    RestingHorse = 'INPUT_AIM_IN_AIR',   -- U
    DrinkHorse = 'INPUT_CINEMATIC_CAM',   -- V
    ReviveHorse = 'INPUT_ENTER',   -- E
    GetPelt = 'INPUT_INTERACT_ANIMAL',   -- G
    TransferSaddle = 'INPUT_GAME_MENU_ACCEPT',    -- R

    HorseTraining = 'INPUT_INTERACT_ANIMAL',   -- G
    SellTameHorse = 'INPUT_INTERACT_HIT_CARRIABLE',   -- F

    BreederWalk = 'INPUT_INTERACT_LEAD_ANIMAL',   -- E
    BreederMating = 'INPUT_INTERACT_ANIMAL',   -- G
}

-- ####################### HORSES/CARTS #######################
Config.DisableFleeHorse = false  -- Disable players from being able to remove the horse
Config.DisableDeleteCart = false  -- Disable players from being able to remove the cart

Config.Call = {
    Horse = {
        Command = 'callhorse',  -- Command to call the horse or false
        Range = 40, -- Maximum spawn distance
        Dispawn = false, -- number (radius) or false
        Cooldown = false, -- number (seconds) or false
        RoadOnly = false, -- true or false (can only spawn on roads)
    },
    Cart = {
        Command = 'callcart', -- Command to call the cart or false
        Range = 20,   -- Maximum spawn distance
        Dispawn = false, -- number (radius) or false
        Cooldown = false, -- number (seconds) or false
        RoadOnly = false, -- true or false (can only spawn on roads)
    },
}

Config.HorseBlip = true -- true or false
Config.CartBlip = true  -- true or false

Config.RespawnCooldown = {  -- Respawn cooldown for dead horses and destroyed carts before they can be recalled again
    Horses = 300, -- seconds
    Carts = 600   -- seconds
}

Config.RagdollTrainTracks = {   -- Defines how long horses/carts will ragdoll (fall to the ground) when running over train tracks
    Horses = 10,    -- number (Seconds) or false
    Carts = 10,    -- number (Seconds) or false
}

Config.Tag = {  -- Enable or disable the label on the entities, show an icon, the name and the health.
    Horse = true,   -- true or false
    Cart = true,    -- true or false
    Color = 'COLOR_GREEN',  -- COLORS: https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/colours
    Radius = 50,    -- Radius that the tag will be displayed
}

Config.MaxStable = {
    Enable = true,  -- Enable (true) or disable (false) horses/carts limit
    InitialHorse = 1, -- Initial number of horse slots for players
    InitialCart = 1,  -- Initial number of cart slots for players
    Horses = 4, -- Maximum number of horses a player can own
    Carts = 2,  -- Maximum number of carts a player can own
    PriceUpgradeSlot = {
        Horse = 100, -- Amount of money required to upgrade horse slots
        Cart = 300,  -- Amount of money required to upgrade cart slots
    },
    Jobs = {    -- List of jobs that will have different limits
        { Job = 'horsetrainer', InitialHorse = 2, Horses = 10, InitialCart = 1, Carts = 3 },
        -- { Job = 'example', InitialHorse = 3, Horses = 8, InitialCart = 2, Carts = 4 },
    },
    Groups = {
        { Group = 'admin', InitialHorse = 999, Horses = 999, InitialCart = 999, Carts = 999 },
        -- { Job = 'example', InitialHorse = 3, Horses = 8, InitialCart = 2, Carts = 4 },
    },
}

Config.CommandFemaleSeat = 'mount'  -- Command to ride the horse's saddle as a woman from the side

-- ####################### SHARE COMMANDS #######################
Config.ShareHorseCommand = 'sharehorse'
Config.DelShareHorseCommand = 'delsharehorse'

Config.ShareCartCommand = 'sharecart'
Config.DelShareCartCommand = 'delsharecart'

-- ####################### INVENTORY #######################
Config.NecessarySaddlebag = true    -- true or false (Saddlebags needed to open the horse's inventory)

Config.InventoryToGive = true   -- true or false (Players will be able to give horses and carts that have items to storage)

Config.Inventory = {
    Lockpick = {
        Item = 'lockpick',
        Saddlebags = true,  -- enable/disable steal horses whit lockpick
        SaddlebagsCommand = 'witness Someone has been seen lockpicking the saddlebags',   -- 'witness command' or false
        Cart = true,    -- enable/disable steal carts whit lockpick
        CartCommand = 'witness Someone has been seen lockpicking the cart',   -- 'witness command' or false
        JobsRequired = {
            amount = 2, -- number of players with one of the required jobs from the list
            jobs = {    -- List of jobs required to use the lock pick
                'sheriff',
                'police',
            },
        },
        JobsNotRequired = { -- Jobs that will have full permissions (.job)
            'sheriff',
            'police',
        },
        GroupsNotRequired = {  -- Groups that will have full permissions (.group)
            'admin',
            -- 'example',
        },
    },
	BlacklistHorse = {
		'opium',
		'WEAPON_SNIPERRIFLE_CARCANO',
	},
    BlacklistCart = {
		'opium',
		'WEAPON_SNIPERRIFLE_CARCANO',
	},
	MaxItems = {
		iron = 100,
		wood = 150,
	},
    MaxItemsModels = {
        cart03 = {
            iron = 2,
            wood = 100,
        },
        A_C_Horse_Turkoman_Black = {
            iron = 100,
            wood = 200,
        },
        -- example = {
        --     iron = 500,
        --     wood = 100,
        -- },
	},
	DisableWeapons = false,
}

-- ####################### HORSE STATS #######################
Config.HorseStats = {
    RechargeMultiplier = {
        Health = 0.37,  -- Multiplier that will recharge Health (min 0.0, normal 1.0)
        Stamina = 0.4,  -- Multiplier that will recharge Stamina (min 0.0, normal 1.0)
        Depletion = 1.0,    -- Multiplier that will consume Health and Stamina (min 0.0, normal 1.0) / Without horseshoes, half will be applied
    },
    ReduceCore = {
        Health = 1, -- number (max.100 Amount to be reduced from the core) or false
        Stamina = 2,    -- number (max.100 Amount to be reduced from the core) or false
        Cooldown = 60,    -- number (Every few seconds the core will be reduced)
    },
    Horseshoes = {
        Walking = false,   -- number or false
        Running = 1,   -- number or false
        Sprinting = 3,  -- number or false
        Cooldown = 30,    -- number (Every few seconds the shoes will be reduced)
    },
}

-- ####################### CART COMPS #######################
Config.CartComps = {   -- Price of cart components
    Enable = true, -- Enable or disable cart customization (in case of using another script like xakra_carts)
    Tint = 20,  -- number (customization price) or false (disable store customization)
    Extra = 13, -- number (customization price) or false (disable store customization)
    Livery = 2.50,  -- number (customization price) or false (disable store customization)
    LanternPropset = 8, -- number (customization price) or false (disable store customization)
    Propset = 3,    -- number (customization price) or false (disable store customization)
}

-- ####################### HORSE COMPS #######################
Config.HorseComps = {   -- Price of horse components
    Coat = 50,  -- number (customization price) or false (disable store customization)
    Saddles = 20,   -- number (customization price) or false (disable store customization)
    Bedrolls = 13,  -- number (customization price) or false (disable store customization)
    Blankets = 2.50,    -- number (customization price) or false (disable store customization)
    SaddleStirrups = 8, -- number (customization price) or false (disable store customization)
    Horns = 3,  -- number (customization price) or false (disable store customization)
    Manes = 7,  -- number (customization price) or false (disable store customization)
    Tails = 6,  -- number (customization price) or false (disable store customization)
    Accessories = 10,   -- number (customization price) or false (disable store customization)
    Bridles = 6,    -- number (customization price) or false (disable store customization)
    Mustache = 2,   -- number (customization price) or false (disable store customization)
    Lanterns = 5,   -- number (customization price) or false (disable store customization)
    SaddleHostlers = 1, -- number (customization price) or false (disable store customization)
    SaddleBags = {
        Feather = 10,    -- number (customization price)
        Collector = 14,    -- number (customization price)
        Explorer = 11.5,    -- number (customization price)
        Softcoat = 18,    -- number (customization price)
        Leather = 16, -- number (customization price)
        WornStandardSmall = 13, -- number (customization price)
        WornStandardBig = 20, -- number (customization price)
        Standard = 16, -- number (customization price)
        StandardBig = 22, -- number (customization price)
        Bigpaw = 26, -- number (customization price)
        Upgraded = 22, -- number (customization price)
    },
}

-- ####################### CALL HORSE/CARTS LOCATIONS #######################
Config.CallStable = {   -- Options to limit the call of horses and carts (It also includes the proximity of the stables)
    Horses = {
        Enabled = false, -- true or false
        StablesRadius = 50.0,  -- Stables radius that can be called horses
        Tax = 5,    -- number (Tax to move the horse/cart to the current stable) or false
    },
    Carts = {
        Enabled = false, -- true or false
        StablesRadius = 25.0,  -- Stables radius that can be called horses
        Tax = 15,    -- number (Tax to move the horse/cart to the current stable) or false
    },
}

-- COLORS: https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/colours
Config.HUDColors = {
	Icon = 'COLOR_PLATFORM_GREEN',
	Progress = 'COLOR_PLATFORM_GREEN',
}

-- ####################### STABLE LOCATIONS #######################
Config.ColorBlips = 'green'    -- Choose the color of the blips ['yellow', 'white', 'green', 'blue', 'red', 'purple', 'orange', 'pink', 'grey']
Config.DisableHorsesInCarts = true -- true (Disable horses in cart preview) or false (Enable horses in cart preview)
Config.GiveNames = 'Name' -- 'Name' (Show id and first and last name) or 'Steam' (Show id and steam name) or false (Only the player ID will be shown)
Config.Sell = {
    enable = true,  -- Choose if players can sell horses and carts
    Percentage = 10,    -- X/100 Percentage of total money (FROM THE STORE) of the wild horse model (ONLY MONEY)
    PriceOutStore = 30, -- Money that the player will get for selling a cart or horse that does not have money in the store
    SellDeadHorse = false,   -- true (The player will receive money for the dead horse) or false (The player will not receive money by selling a dead horse)
}
Config.TotalPrice = {
    Align = { x = 0.5, y = 0.02 }, -- Total price text position when buying horse comps or cart modifications (min 0.0/ max 1.0)
    TextDrawSpriteColor = { r = 0, g = 0, b = 0 },    -- Sprite drawing color
}

Config.StableLocations = {
	{	-- VALENTINE
		name = 'Valentine stable',	-- Name and menu title
		blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
		pos = vector4(-366.5, 791.03, 115.17, 185.18),	-- vector4 (Npc position)
        HorseSpawn = vector4(-370.35, 787.05, 116.16, 275.74),  -- vector4 (Coordinates to spawn the horses) or false
		CartSpawn = vector4(-370.35, 787.05, 116.16, 275.74),	-- vector4 (Coordinates to spawn the carts) or false
		npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
	},
    {	-- SAINT DENIS
        name = 'Saint Denis stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(2512.21, -1457.06, 45.31, 90.64),	-- vector4 (Npc position)
        HorseSpawn = vector4(2503.04, -1441.51, 46.31, 181.07),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(2503.04, -1441.51, 46.31, 181.07),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
    },
    {	-- RHODES
        name = 'Rhodes stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(1429.91, -1304.31, 76.81, 107.83),	-- vector4 (Npc position)
        HorseSpawn = vector4(1431.98, -1313.21, 77.64, 87.18),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(1431.98, -1313.21, 77.64, 87.18),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
    },
    {	-- VAN HORN
        name = 'Van Horn stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(2937.35, 563.69, 43.96, 86.58),	-- vector4 (Npc position)
        HorseSpawn = vector4(2932.84, 559.58, 44.95, 348.45),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(2932.84, 559.58, 44.95, 348.45),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
    },
    {	-- STRAWBERRY
        name = 'Strawberry stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(-1815.67, -565.42, 155.06, 349.27),	-- vector4 (Npc position)
        HorseSpawn = vector4(-1822.08, -561.16, 156.06, 259.28),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(-1822.08, -561.16, 156.06, 259.28),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
    },
    {	-- BLACKWATER
        name = 'Blackwater stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(-878.1, -1364.83, 42.53, 276.84),	-- vector4 (Npc position)
        HorseSpawn = vector4(-870.66, -1366.59, 43.53, 90.35),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(-870.66, -1366.59, 43.53, 90.35),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = {    -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
    },
    {	-- ARMADILLO
        name = 'Armadillo stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(-3688.86, -2564.59, -14.58, 184.06),	-- vector4 (Npc position)
        HorseSpawn = vector4(-3686.46, -2571.39, -13.71, 180.56),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(-3686.46, -2571.39, -13.71, 180.56),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
    },
    {	-- TUMBLEWEED
        name = 'Tumbleweed stable',	-- Name and menu title
        blip = { enable = true, sprite = 'blip_stable' },	-- enable/disable blip, and hash blip
        pos = vector4(-5514.25, -3040.29, -3.39, 184.42),	-- vector4 (Npc position)
        HorseSpawn = vector4(-5521.5, -3044.31, -2.39, 271.29),  -- vector4 (Coordinates to spawn the horses) or false
        CartSpawn = vector4(-5521.5, -3044.31, -2.39, 271.29),	-- vector4 (Coordinates to spawn the carts) or false
        npc = { model = 'U_M_M_BwmStablehand_01', scenario = 'WORLD_HUMAN_WAITING_IMPATIENT' },	-- model = 'Model name', scenario = ('ScenarioName' or false) or false (Disable menu and npc)
        -- jobs = { -- List of jobs required to open the menu or false
        --     'stableman',
        --     -- 'example',
        -- },
        -- CompsBlacklist = {  -- Customization components blacklist from the lists Config.CartComps Config.HorseComps
        --     'Coat',
        --     'Propset',
        --     'metaped_tint_animal',
        -- },
    },
}

-- ####################### HORSE TRAINER #######################
Config.HorseTrainer = {
    FloorMarkColor = { r = 0, g = 128, b = 0, alpha = 80 }, -- RGB color of the floor mark
    Time = 30,  -- seconds (Training time)
    TrainingCooldown = 1800, -- seconds (Time that horse trainers can train)
    WildHorsesCooldown = 1800, -- seconds (Time that horse trainers can sell and tame wild horses)
    Exp = { -- Experience that the trainer will get while starting the training before the time runs out
        Lead = 3,   -- number or false
        Run = 1,   -- number or false
        Jump = 5,   -- number or false
    },
    Taming = {  -- Minigame while the player tames a wild horse
        DrawSpriteColor = { r = 0, g = 128, b = 0 },    -- Sprite drawing color
        Keys = {    -- List of keys for the calming wild horses minigame
            { Text = '1', Key = 'INPUT_SELECT_QUICKSELECT_SIDEARMS_LEFT' },
            { Text = '2', Key = 'INPUT_SELECT_QUICKSELECT_DUALWIELD' },
            { Text = '3', Key = 'INPUT_SELECT_QUICKSELECT_SIDEARMS_RIGHT' },
            { Text = '4', Key = 'INPUT_SELECT_QUICKSELECT_UNARMED' },
            { Text = '5', Key = 'INPUT_SELECT_QUICKSELECT_MELEE_NO_UNARMED' },
            { Text = '6', Key = 'INPUT_SELECT_QUICKSELECT_SECONDARY_LONGARM' },
            { Text = '7', Key = 'INPUT_SELECT_QUICKSELECT_THROWN' },
            { Text = '8', Key = 'INPUT_SELECT_QUICKSELECT_PRIMARY_LONGARM' },
        },
        Time = 30,  -- seconds (Total mingame time to tame a wild horse)
        TimeKeys = 1300,   -- miliseconds (Time that the player will have to press the number so that the horse does not throw it)
        CooldownKeys = 1000,    -- miliseconds (Time between keystrokes)
        Percentage = 50, -- X/100 Percentage of total money (FROM THE STORE) of the wild horse model (ONLY MONEY)
        PriceOutStore = 40, -- Money that the tamer will need to tame a horse, if the horse does not have money established in the store
    },
    Sell = {
        Percentage = 10,    -- X/100 Percentage of total money (FROM THE STORE) of the wild horse model (ONLY MONEY)
        AmountOutStore = 20, -- Money that the tamer will receive for selling a wild horse if the horse does not have money established in the store
    },
    HorsesBlacklist = { -- Blacklist of horse models that will not allow to tame or sell
        'A_C_Horse_Arabian_Black',
        -- 'exmaple',
    }, 
}

Config.HorseTrainerLocations = {
    {
        Training = true,    -- true or false (Choose whether the training start prompt appears at this location)
        Sell = false,    -- true or false (Choose whether the sell wild horse prompt appears at this location)
        Tame = false,    -- true or false (Choose whether the prompt to tame a wild horse appears in this location)
        name = 'Horse trainer',
        blip = { enable = true, sprite = 'blip_mp_game_race_horse' },	-- enable/disable blip, and hash blip
        coords = vector3(1213.73, -187.47, 100.28),
        -- Groups = {  --  List of groups or false
        --     'admin',
        --     -- 'example',
        -- },
        jobs = {    -- List of jobs or false
            'horsetrainer',
            -- 'example',
        },
    },
    {
        Training = false,    -- true or false (Choose whether the training start prompt appears at this location)
        Sell = true,    -- true or false (Choose whether the sell wild horse prompt appears at this location)
        Tame = true,    -- true or false (Choose whether the prompt to tame a wild horse appears in this location)
        name = 'Example location',
        blip = { enable = true, sprite = 'blip_mp_game_race_horse' },	-- enable/disable blip, and hash blip
        coords = vector3(1213.73, -187.47, 100.28),
        -- Groups = {  --  List of groups or false
        --     'admin',
        --     -- 'example',
        -- },
        -- jobs = {    -- List of jobs or false
        --     'horsetrainer',
        --     -- 'example',
        -- },
    },
}

-- ####################### HORSE BREEDER #######################
Config.Breeder = {
    FloorMarkColor = { r = 0, g = 128, b = 0, alpha = 80 }, -- RGB color of the floor mark
    Walk = {
        MaxFoals = 3,
        Cooldown = 1800,    -- seconds (Horse breeder time so you can try to breed again)
        Time = 300, -- seconds (Time that the horse breeder must walk the foal)
        Exp = {
            Amount = 1,    -- number (Amount of experience received at the end of the walk time)
            Max = 10,  -- number (Amount of experience the horse will grow and be sent to the stable)
        },
    },
    Mating = {
        SameInheritance = true,  -- true (Horses must be the same model to mate) or false (Different models of horses can be mated)
        Cooldown = 1800,    -- seconds (Horse breeder time so you can try to breed again)
        Probability = 50,   -- number X/100 (Probability that the mare will become pregnant) or false
    },
    HorsesBlacklist = { -- Blacklist of horse models that will not allow to mate the horses
        'A_C_Donkey_01',
        -- 'exmaple',
    }, 
}

Config.BreederLocations = {
    {
        name = 'Horse breeder',
        blip = { enable = true, sprite = 'blip_shop_horse_saddle', Coords = vector3(1405.6, 324.23, 87.18) },
        Mating = {
            BreedingPoint = vector3(1405.6, 324.23, 87.18),
            BreedingZone = { Coords = vector3(1392.64, 338.68, 86.62), Radius = 20.0 },
        },
        FoalArea = { Coords = vector3(1416.48, 335.48, 88.31), Radius = 3.0 },
        Groups = {  --  List of groups or false
            'admin',
            -- 'example',
        },
        jobs = {    -- List of jobs or false
            'horsebreeder',
            -- 'example',
        },
    },
    -- {
    --     name = 'Example',
    --     blip = { enable = true, sprite = 'blip_shop_horse_saddle', Coords = vector3(1405.6, 324.23, 87.18) },
    --     Mating = {
    --         BreedingPoint = vector3(1405.6, 324.23, 87.18),
    --         BreedingZone = { Coords = vector3(1392.64, 338.68, 86.62), Radius = 20.0 },
    --     },
    --     FoalArea = { Coords = vector3(1416.48, 335.48, 88.31), Radius = 3.0 },
    --     Groups = {  --  List of groups or false
    --         'admin',
    --         -- 'example',
    --     },
    --     jobs = {    -- List of jobs or false
    --         'horsebreeder',
    --         -- 'example',
    --     },
    -- },
}

-- ####################### DRINK HORSE #######################
Config.DrinkHorse = {
    Exp = 1,  -- number or false
    Health = false,  -- false or number (max. 1000)
    HealthCore = 20,    -- false or number (max. 100)
    HealthOverpower = false, -- false or number
    HealthCoreOverpower = false, -- false or number
    Stamina = false,  -- false or number (max. 1.0)
    StaminaCore = 20,    -- false or number (max. 100)
    StaminaOverpower = false, -- false or number
    StaminaCoreOverpower = false, -- false or number
}

-- ####################### BRUSH HORSE #######################
Config.BrushHorse = {   -- Brush the horse
    { 
        item = 'kit_horse_brush',
        label = 'Horse brush',
        uses = false,   -- number (Number of uses each item) or false (never consumed)
        Exp = 1,  -- number or false
        Cooldown = 5,    -- false or number (seconds)
    },
    -- { 
    --     item = 'example',
    --     label = 'Example',
    --     uses = 1,   -- number (Number of uses each item) or false (never consumed)
    --     Exp = 8,  -- number or false
    --     Cooldown = false,    -- false or number (seconds)
    -- },
}

-- ####################### HORSE FOOD #######################
Config.FoodHorse = {    -- Feed the horse
    {
        item = 'horse_food',
        label = 'Horse feed',
        uses = 1,   -- number (Number of uses each item) or false (never consumed)
        Exp = 3,  -- number or false
        Health = false,  -- false or number (max. 1000)
        HealthCore = 50,    -- false or number (max. 100)
        HealthOverpower = false, -- false or number
        HealthCoreOverpower = false, -- false or number
        Stamina = false,  -- false or number (max. 1.0)
        StaminaCore = 50,    -- false or number (max. 100)
        StaminaOverpower = false, -- false or number
        StaminaCoreOverpower = false, -- false or number
        Cooldown = 5,    -- false or number (seconds)
    },
    -- { 
    --     item = 'example',
    --     label = 'Example',
    --     uses = false,   -- number (Number of uses each item) or false (never consumed)
    --     Exp = 3,  -- number or false
    --     Health = false,  -- false or number (max. 1000)
    --     HealthCore = 100,    -- false or number (max. 100)
    --     HealthOverpower = false, -- false or number
    --     HealthCoreOverpower = false, -- false or number
    --     Stamina = 0.2,  -- false or number (max. 1.0)
    --     StaminaCore = 100,    -- false or number (max. 100)
    --     StaminaOverpower = false, -- false or number
    --     StaminaCoreOverpower = false, -- false or number
    --     Cooldown = false,    -- false or number (seconds)
    -- },
}

-- ####################### INJECTION HORSE #######################
Config.InjectionHorse = {   -- Inject a syringe into the horse
    { 
        item = 'horse_syringe',
        label = 'Stimulant for horse',
        uses = 1,   -- number (Number of uses each item) or false (never consumed)
        Exp = 8,  -- number or false
        Health = false,  -- false or number (max. 1000)
        HealthCore = false,    -- false or number (max. 100)
        HealthOverpower = 1000, -- false or number
        HealthCoreOverpower = 1000, -- false or number
        Stamina = false,  -- false or number (max. 1.0)
        StaminaCore = false,    -- false or number (max. 100)
        StaminaOverpower = 1000, -- false or number
        StaminaCoreOverpower = 1000, -- false or number
        Cooldown = 5,    -- false or number (seconds)
    },
    -- { 
    --     item = 'example',
    --     label = 'Example',
    --     uses = false,   -- number (Number of uses each item) or false (never consumed)
    --     Exp = 8,  -- number or false
    --     Health = false,  -- false or number (max. 1000)
    --     HealthCore = false,    -- false or number (max. 100)
    --     HealthOverpower = 1000, -- false or number
    --     HealthCoreOverpower = 1000, -- false or number
    --     Stamina = false,  -- false or number (max. 1.0)
    --     StaminaCore = false,    -- false or number (max. 100)
    --     StaminaOverpower = false, -- false or number
    --     StaminaCoreOverpower = false, -- false or number
    --     Cooldown = false,    -- false or number (seconds)
    -- },
}

-- ####################### REVIVE HORSE #######################
Config.ItemsReviveHorse = {   -- List of items to revive the horse
    { 
        item = 'horse_reviver',
        label = 'Horse reviver',
        subitem = true, -- true (Consume item when reviving horse) or false (Do not consume item when reviving horse)
        Exp = 1,  -- number or false
    },
    -- { 
    --     item = 'example',
    --     label = 'Example',
    --     subitem = false, -- true (Consume item when reviving horse) or false (Do not consume item when reviving horse)
    --     Exp = 1,  -- number or false
    -- },
}

-- ####################### HORSES MAX STATS #######################
Config.HorsesMaxStats = {
    A_C_Donkey_01 = { 
        Health = 1700,  -- false or number (max. 1700)
        Stamina = 1700, -- false or number (max. 1700)
        Speed = 1700,   -- false or number (max. 1700)
        Acceleration = 1700,   -- false or number (max. 1700)
    },
    -- Horse_Model = { 
    --     Health = 1700,  -- false or number (max. 1700)
    --     Stamina = 1700, -- false or number (max. 1700)
    --     Speed = 1700,   -- false or number (max. 1700)
    --     Acceleration = 1700,   -- false or number (max. 1700)
    -- },
}

-- ####################### HORSES FARRIERY #######################
Config.HorsesFarriery = {
    {
        Tool = {
            item = 'hoofknife',
            label = 'Hoof knife',
            uses = 4,   -- number (Number of uses each item) or false (never consumed)
            Amount = 100,   -- number (Amount that increases the percentage of the horse shoes)
            Exp = 10,  -- number or false
        },
        -- jobs = { -- List of jobs required to use or false
        --     'stableman',
        --     -- 'example',
        -- },
        RequiredItems = {
            { item = 'horseshoe', label = 'Horseshoe', amount = 1 },
            -- { item = 'example', label = 'Example', amount = 1 },
        },
    },
    -- {
    --     Tool = {
    --         item = 'example',
    --         label = 'Example',
    --         uses = false,   -- number (Number of uses each item) or false (never consumed)
    --         Amount = 50,   -- number (Amount that increases the percentage of the horse shoes)
    --         Exp = 10,  -- number or false
    --     },
    --     jobs = { -- List of jobs required to use or false
    --         'stableman',
    --         -- 'example',
    --     },
    --     RequiredItems = {
    --         { item = 'example', label = 'Example', amount = 1 },
    --         { item = 'example', label = 'Example', amount = 1 },
    --     },
    -- },
}

-- ####################### HORSE #######################
Config.HorsesAge = false -- true or false
Config.HorsesDeaths = false  -- true or false
Config.HorseReviveTime = 60 -- number (Seconds the horse will be on the ground wounded and the player will be able to use the reviver)

Config.RecallKickLvl = 4 -- Required bonding level to make the horse remove riders when recalled (0 = always, 4 = max level)

Config.SaddleBagsCapacity = {
    Feather = 50,
    Collector = 75,
    Explorer = 60,
    Softcoat = 85,
    Leather = 80,
    WornStandardSmall = 70,
    WornStandardBig = 100,
    Standard = 80,
    StandardBig = 120,
    Bigpaw = 160,
    Upgraded = 105,
}

Config.HorseCarryBlacklist = {  -- Blacklisted entity models ignored in horse carriables (not saved or deleted)
    'mp005_p_mp_trader_gen_bag01x',
    'mp005_p_mp_trader_gen_bag02x',
    'p_moneysack02x',
    -- 'example',
}

Config.Horses = {
    -- HORSE = { Capacity = (number), DaysLife = (number or false), Deaths = (number or false), PregnancyHours = (number), BreedCooldownHours = (number), MatingPrice = (number) },
	A_C_Horse_AmericanPaint_Greyovero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanPaint_Overo = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanPaint_SplashedWhite = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanPaint_Tobiano = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanStandardbred_Black = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanStandardbred_Buckskin = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanStandardbred_PalominoDapple = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanStandardbred_SilverTailBuckskin = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_AmericanStandardbred_LightBuckskin = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Andalusian_DarkBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Andalusian_Perlino = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Andalusian_RoseGray = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Appaloosa_BlackSnowflake = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Appaloosa_Blanket = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Appaloosa_BrownLeopard = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Appaloosa_FewSpotted_PC = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Appaloosa_Leopard = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Appaloosa_LeopardBlanket = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_White = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_Black = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_Grey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_RedChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_RedChestnut_PC = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_RoseGreyBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Arabian_WarpedBrindle_PC = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Ardennes_BayRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Ardennes_IronGreyRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Ardennes_StrawberryRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Belgian_BlondChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Belgian_MealyChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Breton_sealbrown = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Breton_GrulloDun = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Breton_MealyDappleBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Breton_RedRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Breton_Sorrel = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Breton_SteelGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Buell_WarVets = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Criollo_BayBrindle = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Criollo_BayFrameOvero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Criollo_BlueRoanOvero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Criollo_Dun = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Criollo_MarbleSabino = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Criollo_SorrelOvero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_DutchWarmblood_ChocolateRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_DutchWarmblood_SealBrown = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_DutchWarmblood_SootyBuckskin = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_EagleFlies = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Micah = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Lenny = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Dutch = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Bill = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Charles = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Charles_EndlessSummer = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Hosea = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Javier = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_John = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Karen = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Kieran = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Sadie = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Sadie_EndlessSummer = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Sean = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Trelawney = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Uncle = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Gang_Uncle_EndlessSummer = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_GypsyCob_PalominoBlagdon = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_GypsyCob_Piebald = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_GypsyCob_Skewbald = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_GypsyCob_SplashedBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_GypsyCob_SplashedPiebald = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_GypsyCob_WhiteBlagdon = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_HungarianHalfbred_DarkDappleGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_HungarianHalfbred_FlaxenChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_HungarianHalfbred_LiverChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_HungarianHalfbred_PiebaldTobiano = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_John_EndlessSummer = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_KentuckySaddle_Black = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_KentuckySaddle_ButterMilkBuckskin_PC = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_KentuckySaddle_ChestnutPinto = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_KentuckySaddle_Grey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_KentuckySaddle_SilverBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Kladruber_Black = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Kladruber_Cremello = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Kladruber_DappleRoseGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Kladruber_Grey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Kladruber_Silver = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Kladruber_White = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MissouriFoxTrotter_AmberChampagne = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MissouriFoxTrotter_Blacktovero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
	A_C_Horse_MissouriFoxTrotter_BlueRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
	A_C_Horse_MissouriFoxTrotter_Buckskinbrindle = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
	A_C_Horse_MissouriFoxTrotter_DappleGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MissouriFoxTrotter_SableChampagne = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MissouriFoxTrotter_SilverDapplePinto = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Morgan_Bay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Morgan_BayRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Morgan_FlaxenChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Morgan_LiverChestnut_PC = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Morgan_Palomino = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MP_Mangy_Backup = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MurfreeBrood_Mange_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MurfreeBrood_Mange_02 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_MurfreeBrood_Mange_03 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Mustang_BlackOvero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
	A_C_Horse_Mustang_Buckskin = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
	A_C_Horse_Mustang_ChestnuttOvero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Mustang_GoldenDun = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Mustang_GrulloDun = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Mustang_RedDunOvero = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Mustang_TigerStripedBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Mustang_WildBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Nokota_BlueRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Nokota_ReverseDappleRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Nokota_WhiteRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_NorfolkRoadster_Black = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_NorfolkRoadster_DappledBuckskin = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_NorfolkRoadster_PiebaldRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_NorfolkRoadster_RoseGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_NorfolkRoadster_SpeckledGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_NorfolkRoadster_SpottedTricolor = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Shire_DarkBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Shire_LightGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Shire_RavenBlack = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_SuffolkPunch_RedChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_SuffolkPunch_Sorrel = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_BlackRabicano = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_Chestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_DappleBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_FlaxenRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_GoldPalomino_PC = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_MahoganyBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_TennesseeWalker_RedRoan = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Thoroughbred_BlackChestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Thoroughbred_BloodBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Thoroughbred_Brindle = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Thoroughbred_DappleGrey = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Thoroughbred_ReverseDappleBlack = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Turkoman_Black = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Turkoman_Chestnut = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Turkoman_DarkBay = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Turkoman_Gold = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Turkoman_Grey	= { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Turkoman_Perlino = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },	
    A_C_Horse_Turkoman_Silver = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Horse_Winter02_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_HorseMule_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_HorseMulePainted_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    MP_A_C_HorseCorpse_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    MP_Horse_Owlhootvictim_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    P_C_Horse_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
    A_C_Donkey_01 = { Capacity = 100, DaysLife = 60, Deaths = 5, PregnancyHours = 24, BreedCooldownHours = 24, MatingPrice = 150 },
}

-- ####################### CARTS #######################
Config.Carts = {
    -- CART = { Capacity = number, Loadouts = number (Animal loads used in other scripts) or false },
    ArmySupplyWagon = { Capacity = 100, Loadouts = false },
    bountywagon01x = { Capacity = 100, Loadouts = false },
    buggy01 = { Capacity = 100, Loadouts = false },
    buggy02 = { Capacity = 100, Loadouts = false },
    buggy03 = { Capacity = 100, Loadouts = false },
    cart01 = { Capacity = 100, Loadouts = false },
    cart02 = { Capacity = 100, Loadouts = false },
    cart03 = { Capacity = 100, Loadouts = false },
    cart04 = { Capacity = 100, Loadouts = false },
    cart05 = { Capacity = 100, Loadouts = false },
    cart06 = { Capacity = 100, Loadouts = false },
    cart07 = { Capacity = 100, Loadouts = false },
    cart08 = { Capacity = 100, Loadouts = false },
    chuckwagon000x = { Capacity = 100, Loadouts = false },
    chuckwagon002x = { Capacity = 100, Loadouts = false },
    coach2 = { Capacity = 100, Loadouts = false },
    coach3_cutscene = { Capacity = 100, Loadouts = false },
    coach3 = { Capacity = 100, Loadouts = false },
    coach4 = { Capacity = 100, Loadouts = false },
    coach5 = { Capacity = 100, Loadouts = false },
    coach6 = { Capacity = 100, Loadouts = false },
    coal_wagon = { Capacity = 100, Loadouts = false },
    gatchuck = { Capacity = 100, Loadouts = false },
    huntercart01 = { Capacity = 100, Loadouts = false },
    logwagon = { Capacity = 100, Loadouts = false },
    oilWagon01x = { Capacity = 100, Loadouts = false },
    oilWagon02x = { Capacity = 100, Loadouts = false },
    policewagon01x = { Capacity = 100, Loadouts = false },
    policeWagongatling01x = { Capacity = 100, Loadouts = false },
    gatchuck_2 = { Capacity = 100, Loadouts = false },
    stagecoach001x = { Capacity = 100, Loadouts = false },
    stagecoach002x = { Capacity = 100, Loadouts = false },
    stagecoach003x = { Capacity = 100, Loadouts = false },
    stagecoach004_2x = { Capacity = 100, Loadouts = false },
    stagecoach004x = { Capacity = 100, Loadouts = false },
    stagecoach005x = { Capacity = 100, Loadouts = false },
    stagecoach006x = { Capacity = 100, Loadouts = false },
    supplywagon = { Capacity = 100, Loadouts = false },
    utilliwag = { Capacity = 100, Loadouts = false },
    wagon02x = { Capacity = 100, Loadouts = false },
    wagon03x = { Capacity = 100, Loadouts = false },
    wagon04x = { Capacity = 100, Loadouts = false },
    wagon05x = { Capacity = 100, Loadouts = false },
    wagon06x = { Capacity = 100, Loadouts = false },
    wagonarmoured01x = { Capacity = 100, Loadouts = false },
    wagonCircus01x = { Capacity = 100, Loadouts = false },
    wagonCircus02x = { Capacity = 100, Loadouts = false },
    wagondairy01x = { Capacity = 100, Loadouts = false },
    wagondoc01x = { Capacity = 100, Loadouts = false },
    wagonPrison01x = { Capacity = 100, Loadouts = false },
    wagontraveller01x = { Capacity = 100, Loadouts = false },
    wagonwork01x = { Capacity = 100, Loadouts = false },
    warwagon2 = { Capacity = 100, Loadouts = false },
    hotAirBalloon01 = { Capacity = 100, Loadouts = false },
}
```

{% endcode %}

carts.lua

{% code expandable="true" %}

```lua
StoreCarts = { 

    -- ['Category example'] = { -- Name of the category that the store will display
    --     {
    --         Model = 'model example', -- Horse/Cart model
    --         Name = 'Name example',   -- Name of the horse/cart that the store will display
    --         Money = 100, -- Number or false, amount of money to buy the horse/cart
    --         Gold = 100,  -- Number or false, amount of gold to buy the horse/cart
    --         Locations = { (Name of the locations or 'all')},
    --         Jobs = { -- List of jobs to buy (list can be removed or set to false)
    --             'example1',
    --             'example2',
    --         },
    --         Comps = 'Text copied from the comps column of the wagons table',    -- List of customizations
    --     },
    -- },

    ['Transport carts'] = {
        {
            Model = 'gatchuck',
            Name = 'Gatchuck',
            Money = 155,
            Gold = false,
            Locations = { 'Valentine stable', 'Saint Denis stable' },
        },
        {
            Model = 'huntercart01',
            Name = 'Hunting cart',
            Money = 155,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'utilliwag',
            Name = 'Small hunting cart',
            Money = 155,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'wagon02x',
            Name = 'Wagon 2',
            Money = 155,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'wagon04x',
            Name = 'Wagon 4',
            Money = 155,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'wagon05x',
            Name = 'Wagon 5',
            Money = 155,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'wagon06x',
            Name = 'Wagon 6',
            Money = 155,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'chuckwagon000x',
            Name = 'Chuckwagon 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'chuckwagon002x',
            Name = 'Chuckwagon 2',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'supplywagon',
            Name = 'Supply wagon',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        }, 
    },                   
    ['Buggy'] = {   -- BUGGY
        {
            Model = 'buggy01',
            Name = 'Buggy 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'buggy02',
            Name = 'Buggy 2',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'buggy03',
            Name = 'Buggy 3',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Small carts'] = {   -- CART
        {
            Model = 'cart01',
            Name = 'Cart 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart02',
            Name = 'Cart 2',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart03',
            Name = 'Cart 3',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart04',
            Name = 'Cart 4',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart05',
            Name = 'Cart 5',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart06',
            Name = 'Cart 6',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart07',
            Name = 'Cart 7',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'cart08',
            Name = 'Cart 8',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Coaches'] = {   -- COACH
        {
            Model = 'coach2',
            Name = 'Coach 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'coach3_cutscene',
            Name = 'Coach 2',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'coach3',
            Name = 'Coach 3',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'coach4',
            Name = 'Coach 4',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'coach5',
            Name = 'Coach 5',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'coach6',
            Name = 'Coach 6',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Stagecoaches'] = {   -- STAGE
        {
            Model = 'stagecoach001x',
            Name = 'Stagecoach 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'stagecoach002x',
            Name = 'Stagecoach 2',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'stagecoach003x',
            Name = 'Stagecoach 3',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'stagecoach004_2x',
            Name = 'Stagecoach',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'stagecoach004x',
            Name = 'Stagecoach 4',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'stagecoach005x',
            Name = 'Stagecoach 5',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'stagecoach006x',
            Name = 'Stagecoach 6',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Gatlin'] = {   -- GATLIN
        {
            Model = 'warwagon2',
            Name = 'War wagon',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'gatchuck_2',
            Name = 'Cart with gatlin',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'policeWagongatling01x',
            Name = 'Police wagon gatling',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Police'] = {   -- POLICE
        {
            Model = 'ArmySupplyWagon',
            Name = 'Army supply wagon',
            Money = 140,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagonPrison01x',
            Name = 'Wagon prison',
            Money = 140,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagonarmoured01x',
            Name = 'Wagon armoured',
            Money = 140,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'policewagon01x',
            Name = 'Police wagon',
            Money = 140,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'bountywagon01x',
            Name = 'Bounty wagon 1',
            Money = 140,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Circus'] = {   -- CIRCUS
        {
            Model = 'wagonCircus01x',
            Name = 'Wagon circus 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagonCircus02x',
            Name = 'Wagon circus',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Work'] = {   -- WORK
        {
            Model = 'coal_wagon',
            Name = 'Cart de carbón',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'oilWagon01x',
            Name = 'Oil wagon 1',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'oilWagon02x',
            Name = 'Oil wagon 2',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagondairy01x',
            Name = 'Wagon dairy',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagondoc01x',
            Name = 'Wagon doc',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagonwork01x',
            Name = 'Wagon work',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Others'] = {   -- OTHERS
        {
            Model = 'hotAirBalloon01',
            Name = 'Hot air balloon',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'logwagon',
            Name = 'Log wagon',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
    ['Passenger carts'] = {   -- PASSENGERS CARTS
        {
            Model = 'wagon03x',
            Name = 'Passenger cart',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
        {
            Model = 'wagontraveller01x',
            Name = 'Wagon traveller',
            Money = 115,
            Gold = 10,
            Locations = { 'all' },
        },
    },
}
```

{% endcode %}

horses.lua

{% code expandable="true" %}

```lua
StoreHorses = {

    -- ['Category example'] = { -- Name of the category that the store will display
    --     {
    --         Model = 'model example', -- Horse/Cart model
    --         Name = 'Name example',   -- Name of the horse/cart that the store will display
    --         Money = 100, -- Number or false, amount of money to buy the horse/cart
    --         Gold = 100,  -- Number or false, amount of gold to buy the horse/cart
    --         Locations = { (Name of the locations or 'all')},
    --         Jobs = { -- List of jobs to buy (list can be removed or set to false)
    --             'example1',
    --             'example2',
    --         },
    --         Comps = 'Text copied from the comps components of the horses table',    -- List of customizations
    --         Exp = 3500, -- number or false
    --     },
    -- },

    ['American'] = { -- AMERICAN
        {
            Model = 'A_C_Horse_AmericanPaint_Greyovero',
            Name = 'Greyovero',
            Money = 100,
            Gold = 10,
            Locations = { 'all' },
            Comps = '{"SaddleBags":{"CompHash":1952443869},"Saddles":{"CompHash":1669389917},"Head":{"Tint":{"tint1":0,"tint0":"225","palette":-183908539,"tint2":0}},"Body":{"Tint":{"tint1":0,"tint0":"225","palette":-183908539,"tint2":0}}}',
            Exp = 3500, -- number or false
        },
        {
            Model = 'A_C_Horse_AmericanPaint_Overo',
            Name = 'Overo',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanPaint_SplashedWhite',
            Name = 'Splashed White',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanPaint_Tobiano',
            Name = 'Tobiano',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanStandardbred_Black',
            Name = 'Black',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanStandardbred_Buckskin',
            Name = 'Buckskin',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanStandardbred_PalominoDapple',
            Name = 'Palomino Dapple',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanStandardbred_SilverTailBuckskin',
            Name = 'Silver Tail Buckskin',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_AmericanStandardbred_LightBuckskin',
            Name = 'Light Buckskin',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
    },
    ['Andalusian'] = { -- ANDALUSIAN
        {
            Model = 'A_C_Horse_Andalusian_DarkBay',
            Name = 'Dark Bay',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Andalusian_Perlino',
            Name = 'Perlino',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Andalusian_RoseGray',
            Name = 'Rose Gray',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
    },
    ['Appaloosa'] = { -- APPALOOSA
        {
            Model = 'A_C_Horse_Appaloosa_BlackSnowflake',
            Name = 'Black Snowflake',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Appaloosa_Blanket',
            Name = 'Blanket',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Appaloosa_BrownLeopard',
            Name = 'Brown Leopard',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Appaloosa_FewSpotted_PC',
            Name = 'FewSpotted PC',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Appaloosa_Leopard',
            Name = 'Leopard',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Appaloosa_LeopardBlanket',
            Name = 'Leopard Blanket',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
    },
    ['Arabian'] = { -- ARABIAN
        {
            Model = 'A_C_Horse_Arabian_White',
            Name = 'White',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Arabian_Black',
            Name = 'Black',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Arabian_Grey',
            Name = 'Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Arabian_RedChestnut',
            Name = 'Red Chestnut',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Arabian_RedChestnut_PC',
            Name = 'Red Chestnut PC',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Arabian_RoseGreyBay',
            Name = 'Rose Grey Bay',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Arabian_WarpedBrindle_PC',
            Name = 'Warped Brindle PC',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
    },
    ['Ardennes'] = { -- ARDENNES
        {
            Model = 'A_C_Horse_Ardennes_BayRoan',
            Name = 'Bay Roan',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Ardennes_IronGreyRoan',
            Name = 'Iron Grey Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Ardennes_StrawberryRoan',
            Name = 'Strawberry Roan',
            Money = 130,
            Gold = 9,
            Locations = { 'all' },
        },
    },
    ['Belgian'] = { -- BELGIAN
        {
            Model = 'A_C_Horse_Belgian_BlondChestnut',
            Name = 'Blond Chestnut',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Belgian_MealyChestnut',
            Name = 'Mealy Chestnut',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Breton'] = { -- BRETON
        {
            Model = 'A_C_Horse_Breton_GrulloDun',
            Name = 'Grullo Dun',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Breton_MealyDappleBay',
            Name = 'Mealy Dapple Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Breton_RedRoan',
            Name = 'Red Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Breton_Sorrel',
            Name = 'Sorrel',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Breton_SteelGrey',
            Name = 'Steel Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Breton_sealbrown',
            Name = 'Seal Brown',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Criollo'] = { -- CRIOLLO
        {
            Model = 'A_C_Horse_Criollo_BayBrindle',
            Name = 'Bay Brindle',
            Money = 100,
            Gold = 10,
            Locations = { 'all' },
            Jobs = {
                'random',
                'example2',
            },
        },
        {
            Model = 'A_C_Horse_Criollo_BayFrameOvero',
            Name = 'Bay Frame Overo',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Criollo_BlueRoanOvero',
            Name = 'Blue Roan Overo',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Criollo_Dun',
            Name = 'Criollo Dun',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Criollo_MarbleSabino',
            Name = 'Marble Sabino',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Criollo_SorrelOvero',
            Name = 'Sorrel Overo',
            Money = 150,
            Gold = false,
            Locations = { 'all' },
        },
    },
    ['DutchWarmblood'] = { -- DUTCH WARMBLOOD
        {
            Model = 'A_C_Horse_DutchWarmblood_ChocolateRoan',
            Name = 'Chocolate Roan',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_DutchWarmblood_SealBrown',
            Name = 'Seal Brown',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_DutchWarmblood_SootyBuckskin',
            Name = 'Sooty Buckskin',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Gang'] = { -- GANG
        {
            Model = 'A_C_Horse_Gang_Micah',
            Name = 'Micah',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Lenny',
            Name = 'Lenny',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Dutch',
            Name = 'Dutch',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Bill',
            Name = 'Bill',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Charles',
            Name = 'Charles',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Charles_EndlessSummer',
            Name = 'Charles Endless Summer',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Hosea',
            Name = 'Hosea',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Javier',
            Name = 'Javier',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_John',
            Name = 'John',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Karen',
            Name = 'Karen',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Kieran',
            Name = 'Kieran',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Sadie',
            Name = 'Sadie',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Sadie_EndlessSummer',
            Name = 'Sadie Endless Summer',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Sean',
            Name = 'Sean',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Trelawney',
            Name = 'Trelawne',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Uncle',
            Name = 'Uncle',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Gang_Uncle_EndlessSummer',
            Name = 'Uncle Endless Summer',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['GypsyCob'] = { -- GYPSYCOB
        {
            Model = 'A_C_Horse_GypsyCob_PalominoBlagdon',
            Name = 'Palomino Blagdon',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_GypsyCob_Piebald',
            Name = 'Piebald',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_GypsyCob_Skewbald',
            Name = 'Skewbald',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_GypsyCob_SplashedBay',
            Name = 'Splashed Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_GypsyCob_SplashedPiebald',
            Name = 'Splashed Piebald',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_GypsyCob_WhiteBlagdon',
            Name = 'White Blagdon',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['HungarianHalfbred'] = { -- HUNGARIANHALFBRED
        {
            Model = 'A_C_Horse_HungarianHalfbred_DarkDappleGrey',
            Name = 'Dark Dapple Grey',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_HungarianHalfbred_FlaxenChestnut',
            Name = 'Flaxen Chestnut',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_HungarianHalfbred_LiverChestnut',
            Name = 'Liver Chestnut',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_HungarianHalfbred_PiebaldTobiano',
            Name = 'Piebald Tobiano',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['KentuckySaddle'] = { -- KENTUCKYSADDLE
        {
            Model = 'A_C_Horse_KentuckySaddle_Black',
            Name = 'Black',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_KentuckySaddle_ButterMilkBuckskin_PC',
            Name = 'Butter Milk Buckskin PC',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_KentuckySaddle_ChestnutPinto',
            Name = 'Chestnut Pinto',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_KentuckySaddle_Grey',
            Name = 'Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_KentuckySaddle_SilverBay',
            Name = 'Silver Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Kladruber'] = { -- KLADRUBER
        {
            Model = 'A_C_Horse_Kladruber_Black',
            Name = 'Black',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Kladruber_Cremello',
            Name = 'Cremello',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Kladruber_DappleRoseGrey',
            Name = 'Dapple Rose Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Kladruber_Grey',
            Name = 'Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Kladruber_Silver',
            Name = 'Silver',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Kladruber_White',
            Name = 'White',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['MissouriFoxTrotter'] = { -- MISSOURIFOXTROTTER
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_AmberChampagne',
            Name = 'Amber Champagne',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_Blacktovero',
            Name = 'Blacktovero',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_BlueRoan',
            Name = 'Blue Roan',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_Buckskinbrindle',
            Name = 'Buckskinbrindle',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_DappleGrey',
            Name = 'Dapple Grey',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_SableChampagne',
            Name = 'Sable Champagne',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MissouriFoxTrotter_SilverDapplePinto',
            Name = 'Silver Dapple Pinto',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Morgan'] = { -- MORGAN
        {
            Model = 'A_C_Horse_Morgan_Bay',
            Name = 'Bay',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Morgan_BayRoan',
            Name = 'Bay Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Morgan_FlaxenChestnut',
            Name = 'Flaxen Chestnut',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Morgan_LiverChestnut_PC',
            Name = 'Liver Chestnut',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Morgan_Palomino',
            Name = 'Palomino',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['MurfreeBrood'] = { -- MURFREEBROOD
        {
            Model = 'A_C_Horse_MurfreeBrood_Mange_01',
            Name = 'Mange 1',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MurfreeBrood_Mange_02',
            Name = 'Mange 2',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MurfreeBrood_Mange_03',
            Name = 'Mange 3',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Mustang'] = { -- MUSTANG
        {
            Model = 'A_C_Horse_Mustang_BlackOvero',
            Name = 'Black Overo',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_Buckskin',
            Name = 'Buckskin',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_ChestnuttOvero',
            Name = 'Chestnutt Overo',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_GoldenDun',
            Name = 'Golden Dun',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_GrulloDun',
            Name = 'Grullo Dun',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_RedDunOvero',
            Name = 'Red Dun Overo',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_TigerStripedBay',
            Name = 'Tiger Striped Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Mustang_WildBay',
            Name = 'Wild Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Nokota'] = { -- NOKOTA
        {
            Model = 'A_C_Horse_Nokota_BlueRoan',
            Name = 'Blue Roan',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Nokota_ReverseDappleRoan',
            Name = 'Reverse Dapple Roan',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Nokota_WhiteRoan',
            Name = 'White Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['NorfolkRoadster'] = { -- NOKOTA
        {
            Model = 'A_C_Horse_NorfolkRoadster_Black',
            Name = 'Black',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_NorfolkRoadster_DappledBuckskin',
            Name = 'Dappled Buckskin',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_NorfolkRoadster_PiebaldRoan',
            Name = 'Piebald Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_NorfolkRoadster_RoseGrey',
            Name = 'Rose Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_NorfolkRoadster_SpeckledGrey',
            Name = 'Speckled Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_NorfolkRoadster_SpottedTricolor',
            Name = 'Spotted Tricolor',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Shire'] = { -- SHIRE
        {
            Model = 'A_C_Horse_Shire_DarkBay',
            Name = 'Dark Bay',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Shire_LightGrey',
            Name = 'Light Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Shire_RavenBlack',
            Name = 'Raven Black',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['SuffolkPunch'] = { -- SUFFOLKPUNCH
        {
            Model = 'A_C_Horse_SuffolkPunch_RedChestnut',
            Name = 'Red Chestnut',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_SuffolkPunch_Sorrel',
            Name = 'Sorrel',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['TennesseeWalker'] = { -- TENNESSEEWALKER
        {
            Model = 'A_C_Horse_TennesseeWalker_BlackRabicano',
            Name = 'Black Rabicano',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_TennesseeWalker_Chestnut',
            Name = 'Chestnut',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_TennesseeWalker_DappleBay',
            Name = 'Dapple Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_TennesseeWalker_FlaxenRoan',
            Name = 'Flaxen Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_TennesseeWalker_GoldPalomino_PC',
            Name = 'Gold Palomino PC',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_TennesseeWalker_MahoganyBay',
            Name = 'Mahogany Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_TennesseeWalker_RedRoan',
            Name = 'Red Roan',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Thoroughbred'] = { -- THOROUGHBRED
        {
            Model = 'A_C_Horse_Thoroughbred_BlackChestnut',
            Name = 'Black Chestnut',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Thoroughbred_BloodBay',
            Name = 'Blood Bay',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Thoroughbred_Brindle',
            Name = 'Brindle',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Thoroughbred_DappleGrey',
            Name = 'Dapple Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Thoroughbred_ReverseDappleBlack',
            Name = 'Reverse Dapple Black',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Turkoman'] = { -- TURKOMAN
        {
            Model = 'A_C_Horse_Turkoman_Black',
            Name = 'Black',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Turkoman_Chestnut',
            Name = 'Chestnut',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Turkoman_DarkBay',
            Name = 'Dark Bay',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Turkoman_Gold',
            Name = 'Gold',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Turkoman_Grey',
            Name = 'Grey',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Turkoman_Perlino',
            Name = 'Perlino',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Turkoman_Silver',
            Name = 'Silver',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Mule'] = { -- MULE
        {
            Model = 'A_C_HorseMule_01',
            Name = 'Mula',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_HorseMulePainted_01',
            Name = 'Mula pintada',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
    },
    ['Others'] = { -- OTHERS
        {
            Model = 'A_C_Horse_Winter02_01',
            Name = 'Winter',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_John_EndlessSummer',
            Name = 'John Endless Summer',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_Buell_WarVets',
            Name = 'Buell War Vets',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_EagleFlies',
            Name = 'Eagle Flies',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Horse_MP_Mangy_Backup',
            Name = 'Penco viejo',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'MP_A_C_HorseCorpse_01',
            Name = 'Horse Corpse',
            Money = 140,
            Gold = 7,
            Locations = { 'all' },
        },
        {
            Model = 'A_C_Donkey_01',
            Name = 'Burro',
            Money = false,
            Gold = 5,
            Locations = { 'all' },
        },
        -- {   -- No sample statistics
        --     Model = 'P_C_Horse_01',
        --     Name = 'PC',
        --     Money = 140,
        --     Gold = 7,
        --     Locations = { 'all' },
        -- },
        -- {    -- No sample statistics
        --     Model = 'MP_Horse_Owlhootvictim_01',
        --     Name = 'Owlhootvictim',
        --     Money = 140,
        --     Gold = 7,
        --     Locations = { 'all' },
        -- },
    },
}
```

{% endcode %}

horse\_inheritances.lua

{% code expandable="true" %}

```lua
Inheritances = {
    { -- AMERICAN
        'A_C_Horse_AmericanPaint_Greyovero',
        'A_C_Horse_AmericanPaint_Overo',
        'A_C_Horse_AmericanPaint_SplashedWhite',
        'A_C_Horse_AmericanPaint_Tobiano',
        'A_C_Horse_AmericanStandardbred_Black',
        'A_C_Horse_AmericanStandardbred_Buckskin',
        'A_C_Horse_AmericanStandardbred_PalominoDapple',
        'A_C_Horse_AmericanStandardbred_SilverTailBuckskin',
        'A_C_Horse_AmericanStandardbred_LightBuckskin',
    },
    { -- ANDALUSIAN
        'A_C_Horse_Andalusian_DarkBay',
        'A_C_Horse_Andalusian_Perlino',
        'A_C_Horse_Andalusian_RoseGray',
    },
    { -- APPALOOSA
        'A_C_Horse_Appaloosa_BlackSnowflake',
        'A_C_Horse_Appaloosa_Blanket',
        'A_C_Horse_Appaloosa_BrownLeopard',
        'A_C_Horse_Appaloosa_FewSpotted_PC',
        'A_C_Horse_Appaloosa_Leopard',
        'A_C_Horse_Appaloosa_LeopardBlanket',
    },
    { -- ARABIAN
        'A_C_Horse_Arabian_White',
        'A_C_Horse_Arabian_Black',
        'A_C_Horse_Arabian_Grey',
        'A_C_Horse_Arabian_RedChestnut',
        'A_C_Horse_Arabian_RedChestnut_PC',
        'A_C_Horse_Arabian_RoseGreyBay',
        'A_C_Horse_Arabian_WarpedBrindle_PC',
    },
    { -- ARDENNES
        'A_C_Horse_Ardennes_BayRoan',
        'A_C_Horse_Ardennes_IronGreyRoan',
        'A_C_Horse_Ardennes_StrawberryRoan',
    },
    { -- BELGIAN
        'A_C_Horse_Belgian_BlondChestnut',
        'A_C_Horse_Belgian_MealyChestnut',
    },
    { -- BRETON
        'A_C_Horse_Breton_GrulloDun',
        'A_C_Horse_Breton_MealyDappleBay',
        'A_C_Horse_Breton_RedRoan',
        'A_C_Horse_Breton_Sorrel',
        'A_C_Horse_Breton_SteelGrey',
        'A_C_Horse_Breton_sealbrown',
    },
    { -- CRIOLLO
        'A_C_Horse_Criollo_BayBrindle',
        'A_C_Horse_Criollo_BayFrameOvero',
        'A_C_Horse_Criollo_BlueRoanOvero',
        'A_C_Horse_Criollo_Dun',
        'A_C_Horse_Criollo_MarbleSabino',
        'A_C_Horse_Criollo_SorrelOvero',
    },
    { -- DUTCH WARMBLOOD
        'A_C_Horse_DutchWarmblood_ChocolateRoan',
        'A_C_Horse_DutchWarmblood_SealBrown',
        'A_C_Horse_DutchWarmblood_SootyBuckskin',
    },
    { -- GANG
        'A_C_Horse_Gang_Micah',
        'A_C_Horse_Gang_Lenny',
        'A_C_Horse_Gang_Dutch',
        'A_C_Horse_Gang_Bill',
        'A_C_Horse_Gang_Charles',
        'A_C_Horse_Gang_Charles_EndlessSummer',
        'A_C_Horse_Gang_Hosea',
        'A_C_Horse_Gang_Javier',
        'A_C_Horse_Gang_John',
        'A_C_Horse_Gang_Karen',
        'A_C_Horse_Gang_Kieran',
        'A_C_Horse_Gang_Sadie',
        'A_C_Horse_Gang_Sadie_EndlessSummer',
        'A_C_Horse_Gang_Sean',
        'A_C_Horse_Gang_Trelawney',
        'A_C_Horse_Gang_Uncle',
        'A_C_Horse_Gang_Uncle_EndlessSummer',
    },
    { -- GYPSYCOB
        'A_C_Horse_GypsyCob_PalominoBlagdon',
        'A_C_Horse_GypsyCob_Piebald',
        'A_C_Horse_GypsyCob_Skewbald',
        'A_C_Horse_GypsyCob_SplashedBay',
        'A_C_Horse_GypsyCob_SplashedPiebald',
        'A_C_Horse_GypsyCob_WhiteBlagdon',
    },
    { -- HUNGARIANHALFBRED
        'A_C_Horse_HungarianHalfbred_DarkDappleGrey',
        'A_C_Horse_HungarianHalfbred_FlaxenChestnut',
        'A_C_Horse_HungarianHalfbred_LiverChestnut',
        'A_C_Horse_HungarianHalfbred_PiebaldTobiano',
    },
    { -- KENTUCKYSADDLE
        'A_C_Horse_KentuckySaddle_Black',
        'A_C_Horse_KentuckySaddle_ButterMilkBuckskin_PC',
        'A_C_Horse_KentuckySaddle_ChestnutPinto',
        'A_C_Horse_KentuckySaddle_Grey',
        'A_C_Horse_KentuckySaddle_SilverBay',
    },
    { -- KLADRUBER
        'A_C_Horse_Kladruber_Black',
        'A_C_Horse_Kladruber_Cremello',
        'A_C_Horse_Kladruber_DappleRoseGrey',
        'A_C_Horse_Kladruber_Grey',
        'A_C_Horse_Kladruber_Silver',
        'A_C_Horse_Kladruber_White',
    },
    { -- MISSOURIFOXTROTTER
        'A_C_Horse_MissouriFoxTrotter_AmberChampagne',
        'A_C_Horse_MissouriFoxTrotter_Blacktovero',
        'A_C_Horse_MissouriFoxTrotter_BlueRoan',
        'A_C_Horse_MissouriFoxTrotter_Buckskinbrindle',
        'A_C_Horse_MissouriFoxTrotter_DappleGrey',
        'A_C_Horse_MissouriFoxTrotter_SableChampagne',
        'A_C_Horse_MissouriFoxTrotter_SilverDapplePinto',
    },
    { -- MORGAN
        'A_C_Horse_Morgan_Bay',
        'A_C_Horse_Morgan_BayRoan',
        'A_C_Horse_Morgan_FlaxenChestnut',
        'A_C_Horse_Morgan_LiverChestnut_PC',
        'A_C_Horse_Morgan_Palomino',
    },
    { -- MURFREEBROOD
        'A_C_Horse_MurfreeBrood_Mange_01',
        'A_C_Horse_MurfreeBrood_Mange_02',
        'A_C_Horse_MurfreeBrood_Mange_03',
    },
    { -- MUSTANG
        'A_C_Horse_Mustang_BlackOvero',
        'A_C_Horse_Mustang_Buckskin',
        'A_C_Horse_Mustang_ChestnuttOvero',
        'A_C_Horse_Mustang_GoldenDun',
        'A_C_Horse_Mustang_GrulloDun',
        'A_C_Horse_Mustang_RedDunOvero',
        'A_C_Horse_Mustang_TigerStripedBay',
        'A_C_Horse_Mustang_WildBay',
    },
    { -- NOKOTA
        'A_C_Horse_Nokota_BlueRoan',
        'A_C_Horse_Nokota_ReverseDappleRoan',
        'A_C_Horse_Nokota_WhiteRoan',
    },
    { -- NORFOLK ROADSTER
        'A_C_Horse_NorfolkRoadster_Black',
        'A_C_Horse_NorfolkRoadster_DappledBuckskin',
        'A_C_Horse_NorfolkRoadster_PiebaldRoan',
        'A_C_Horse_NorfolkRoadster_RoseGrey',
        'A_C_Horse_NorfolkRoadster_SpeckledGrey',
        'A_C_Horse_NorfolkRoadster_SpottedTricolor',
    },
    { -- SHIRE
        'A_C_Horse_Shire_DarkBay',
        'A_C_Horse_Shire_LightGrey',
        'A_C_Horse_Shire_RavenBlack',
    },
    { -- SUFFOLKPUNCH
        'A_C_Horse_SuffolkPunch_RedChestnut',
        'A_C_Horse_SuffolkPunch_Sorrel',
    },
    { -- TENNESSEEWALKER
        'A_C_Horse_TennesseeWalker_BlackRabicano',
        'A_C_Horse_TennesseeWalker_Chestnut',
        'A_C_Horse_TennesseeWalker_DappleBay',
        'A_C_Horse_TennesseeWalker_FlaxenRoan',
        'A_C_Horse_TennesseeWalker_GoldPalomino_PC',
        'A_C_Horse_TennesseeWalker_MahoganyBay',
        'A_C_Horse_TennesseeWalker_RedRoan',
    },
    { -- THOROUGHBRED
        'A_C_Horse_Thoroughbred_BlackChestnut',
        'A_C_Horse_Thoroughbred_BloodBay',
        'A_C_Horse_Thoroughbred_Brindle',
        'A_C_Horse_Thoroughbred_DappleGrey',
        'A_C_Horse_Thoroughbred_ReverseDappleBlack',
    },
    { -- TURKOMAN
        'A_C_Horse_Turkoman_Black',
        'A_C_Horse_Turkoman_Chestnut',
        'A_C_Horse_Turkoman_DarkBay',
        'A_C_Horse_Turkoman_Gold',
        'A_C_Horse_Turkoman_Grey',
        'A_C_Horse_Turkoman_Perlino',
        'A_C_Horse_Turkoman_Silver',
    },
    { -- MULE
        'A_C_HorseMule_01',
        'A_C_HorseMulePainted_01',
    },
    -- { -- OTHERS
    --     'A_C_Horse_Winter02_01',
    --     'A_C_Horse_John_EndlessSummer',
    --     'A_C_Horse_Buell_WarVets',
    --     'A_C_Horse_EagleFlies',
    --     'A_C_Horse_MP_Mangy_Backup',
    --     'MP_A_C_HorseCorpse_01',
    --     'A_C_Donkey_01',
    --     'P_C_Horse_01',
    --     'MP_Horse_Owlhootvictim_01',
    -- },
}
```

{% endcode %}

</details>

<details open>

<summary>framework</summary>

client.lua

{% code expandable="true" %}

```lua
TriggerEvent("getCore", function(core)
    VORPcore = core
end)

function NotifyTip(text, time)
    VORPcore.NotifyTip(text, time)
end

function NotifyLeft(title, subtitle, dict, icon, time, color)
    VORPcore.NotifyLeft(title, subtitle, dict, icon, time, color)
end

function NotifyObjective(text, time)
    VORPcore.NotifyObjective(text, time)
end

function AddWebhook(title, webhook, description, color, name, logo, footerlogo, avatar)
    VORPcore.AddWebhook(title, webhook, description, color, name, logo, footerlogo, avatar)
end

function OpenHorseInventory(HorseName, HorseId, Capacity, Inv)
    TriggerEvent('vorp_inventory:ReloadHorseInventory', json.encode({itemList = Inv, action = 'setSecondInventoryItems'}))
    TriggerEvent('vorp_inventory:OpenHorseInventory', HorseName, HorseId, Capacity)
end

function OpenCartInventory(CartName, CartId, Capacity, Inv)
    TriggerEvent('vorp_inventory:ReloadCartInventory', json.encode({itemList = Inv, action = 'setSecondInventoryItems'}))
    TriggerEvent('vorp_inventory:OpenCartInventory', CartName, CartId, Capacity)
end

function instancePlayers(number)
    VORPcore.instancePlayers(number)
end

function UseLokpick()
    return exports['lockpick'].lockpick()   -- return true or false
end
```

{% endcode %}

server.lua

{% code expandable="true" %}

```lua
local VORPcore = exports.vorp_core:GetCore()

function NotifyTip(source, text, time)
    VORPcore.NotifyTip(source, text, time)
end

function NotifyLeft(source, title, subtitle, dict, icon, time, color)
    VORPcore.NotifyLeft(source, title, subtitle, dict, icon, time, color)
end

function NotifyObjective(source, text, time)
    VORPcore.NotifyObjective(source, text, time)
end

function NotifyAvanced(source, title, dict, icon, color, time)
    VORPcore.NotifyAvanced(source, title, dict, icon, color, time)
end

function GetCharacter(source)
    -- .identifier
    -- .charIdentifier
    -- .group
    -- .job
    -- .money
    -- .gold
    -- .firstname
    -- .lastname
    return VORPcore.getUser(source).getUsedCharacter
end

function GetCharacterJob(source)
    return Player(source).state.Character and Player(source).state.Character.Job 
end

function GetCharacterName(source)
    return {
        FirstName = Player(source).state.Character and Player(source).state.Character.FirstName,
        LastName = Player(source).state.Character and Player(source).state.Character.LastName,
    } 
end

function removeCurrency(source, currency, amount)
    local Character = GetCharacter(source)
    Character.removeCurrency(currency, amount) -- Remove money 1000 | 0 = money, 1 = gold, 2 = rol
end

function addCurrency(source, currency, amount)
    local Character = GetCharacter(source)
    Character.addCurrency(currency, amount) -- Add money 1000 | 0 = money, 1 = gold, 2 = rol
end

function RegisterUsableItem(item, cb)
    exports.vorp_inventory:registerUsableItem(item, function(data)
        -- .source
        return cb(data)
    end)
end

function getItemCount(source, callback, item, metadata)
    return exports.vorp_inventory:getItemCount(source, callback, item, metadata)
end

function subItem(source, item, amount, metadata, callback)
    exports.vorp_inventory:subItem(source, item, amount, metadata, callback)
end

function CloseInv(source, invId)
    exports.vorp_inventory:closeInventory(source, invId)
end

function AddWebhook(title, webhook, description, color, name, logo, footerlogo, avatar)
    VORPcore.AddWebhook(title, webhook, description, color, name, logo, footerlogo, avatar)
end

function OpenHorseInventory(source, HorseName, HorseId, Capacity, Inv)
    TriggerClientEvent('vorp_inventory:ReloadHorseInventory', source, json.encode({itemList = Inv, action = 'setSecondInventoryItems'}))
    TriggerClientEvent('vorp_inventory:OpenHorseInventory', source, HorseName, HorseId, Capacity)
end

function OpenCartInventory(source, CartName, CartId, Capacity, Inv)
    TriggerClientEvent('vorp_inventory:ReloadCartInventory', source, json.encode({itemList = Inv, action = 'setSecondInventoryItems'}))
    TriggerClientEvent('vorp_inventory:OpenCartInventory', source, CartName, CartId, Capacity)
end

-- FOR HORSE BRUSH USES MORE THAN 1
function getItemByMainId(source, mainid, callback)
    return exports.vorp_inventory:getItemByMainId(source, mainid, callback)
end

function getItemDB(item, callback)
    return exports.vorp_inventory:getItemDB(item, callback)
end

function subItemID(source, id, callback)
    exports.vorp_inventory:subItemID(source, id, callback)
end

function setItemMetadata(source, itemId, metadata, amount, callback)
    exports.vorp_inventory:setItemMetadata(source, itemId, metadata, amount, callback)
end
--

-- STORE CHECK
--[[
    Parameters:
        - source (number) Player server ID who is attempting to purchase.
        - data (table) Store configuration entry for the selected horse/cart.
        
    Return:
        - true = Allow purchase
        - false = Block purchase
]]
function CheckBuyStore(source, data)
    -- Example: VIP restriction
    if data.supporter then
        local Character = GetCharacter(source)
        local result = exports.oxmysql:executeSync('SELECT supporter FROM characters WHERE charidentifier = @charid;', { ['@charid'] = Character.charIdentifier })

        if result[1] and result[1].supporter == 0 then
            NotifyObjective(source, 'VIP access only', 5000)
            return false
        end
    end

    -- Add your custom checks

    return true
end
```

{% endcode %}

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://xakra-scripts.gitbook.io/xakra-scripts-docs/redm-docs/xakra_stables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
