config.lua

Preview File Updated: v1.0.0 - 02/24/2026

Config = {}

-- Framework Configuration
Config.Framework = "ESX" -- Options: "ESX", "QBCORE", "QBOX"

-- Inventory System
Config.Inventory = "ox_inventory" -- Options: "ox_inventory", "qb-inventory", "qs-inventory", "lj-inventory", "esx_inventoryhud"

-- UI System Configuration
Config.UISystem = "ox_lib" -- Options: "ox_lib", "esx", "qb", "custom"

-- Notification System Configuration
Config.Notification = 'ox_lib' -- Options: 'ox_lib', 'esx', 'qb', 'custom'

-- If using custom notification system, add your custom function here
Config.CustomNotify = function(message, type)
    -- Your custom notification code here
    -- Example: 
    -- TriggerEvent('myCustomNotification', message, type)
end

Config.FemaleModel = "mp_f_freemode_01"
Config.FemaleOnly = true

Config.Interaction = {
    Method = 'ox_lib', -- 'ox_target', 'ox_lib', 'qb-target'
    Distance = 2.5,
}

Config.Shop = {
    Enabled = true,
    Coords = vec3(143.4503, -1721.9485, 28.2935),
    Ped = {
        model = 'a_f_y_bevhills_01',
        coords = vec4(143.4503, -1721.9485, 27.2935, 150.0),
        freeze = true,
        invincible = true,
        blockEvents = true,
        scenario = 'WORLD_HUMAN_CLIPBOARD',
    },
    Blip = {
        Enabled = true,
        Sprite = 617,
        Color = 8,
        Scale = 0.7,
        Label = 'Toys Shop',
        ShortRange = true,
    },
    Label = '[E] Open Toy Shop',
}

Config.ShopItems = {
    ['toy_table'] = {
        label = 'Crafting Table',
        price = 15000,
        icon = 'fa-table',
        category = 'equipment',
        description = 'Workstation surface - place first',
    },
    ['toy_producer'] = {
        label = 'Producing Machine',
        price = 25000,
        icon = 'fa-industry',
        category = 'equipment',
        description = 'Sewing/molding machine - needs table placed',
    },
    ['toy_silicone'] = {
        label = 'Silicone',
        price = 150,
        icon = 'fa-flask',
        category = 'materials',
        description = 'Medical-grade silicone',
    },
    ['toy_plastic'] = {
        label = 'Plastic',
        price = 75,
        icon = 'fa-cube',
        category = 'materials',
        description = 'ABS plastic pellets',
    },
    ['toy_battery'] = {
        label = 'Battery Pack',
        price = 200,
        icon = 'fa-battery-full',
        category = 'materials',
        description = 'Rechargeable lithium battery',
    },
    ['toy_fabric'] = {
        label = 'Fabric & Lace',
        price = 120,
        icon = 'fa-scroll',
        category = 'materials',
        description = 'Premium silk and lace',
    },
    ['toy_leather'] = {
        label = 'Leather Strip',
        price = 180,
        icon = 'fa-ribbon',
        category = 'materials',
        description = 'Genuine leather strips',
    },
    ['toy_wax'] = {
        label = 'Scented Wax',
        price = 90,
        icon = 'fa-fire',
        category = 'materials',
        description = 'Soy wax with essential oils',
    },
    ['toy_oil_base'] = {
        label = 'Oil Base',
        price = 100,
        icon = 'fa-droplet',
        category = 'materials',
        description = 'Carrier oil for massage products',
    },
    ['toy_metal'] = {
        label = 'Metal Parts',
        price = 160,
        icon = 'fa-link',
        category = 'materials',
        description = 'Stainless steel components',
    },
}

Config.Items = {
    table = 'toy_table',
    producer = 'toy_producer',
}

Config.CraftTable = {
    Prop = 'prop_astro_table_01',
    PlaceDistance = 3.0,
    InteractDistance = 2.5,
}

Config.Producer = {
    Prop = 'prop_sewing_machine',
    PlaceDistance = 2.0,
    InteractDistance = 2.0,
    RequireTableDistance = 5.0,
    TableSurfaceOffset = -0.5,
}

Config.Toys = {
    {
        id = 'toy_vibrator',
        label = 'Vibrator',
        description = 'A classic bestseller',
        icon = 'fa-bolt',
        craftTime = 6000,
        materials = {
            { item = 'toy_silicone', count = 2 },
            { item = 'toy_battery', count = 1 },
        },
        sellPrice = 500,
    },
    {
        id = 'toy_dildo',
        label = 'Dildo',
        description = 'The OG toy',
        icon = 'fa-rocket',
        craftTime = 5000,
        materials = {
            { item = 'toy_silicone', count = 3 },
        },
        sellPrice = 400,
    },
    {
        id = 'toy_handcuffs',
        label = 'Fuzzy Handcuffs',
        description = 'For the adventurous',
        icon = 'fa-link',
        craftTime = 7000,
        materials = {
            { item = 'toy_metal', count = 2 },
            { item = 'toy_fabric', count = 1 },
        },
        sellPrice = 600,
    },
    {
        id = 'toy_whip',
        label = 'Leather Whip',
        description = 'Crack the whip',
        icon = 'fa-wind',
        craftTime = 8000,
        materials = {
            { item = 'toy_leather', count = 3 },
            { item = 'toy_metal', count = 1 },
        },
        sellPrice = 700,
    },
    {
        id = 'toy_massage_oil',
        label = 'Massage Oil',
        description = 'Premium body oil',
        icon = 'fa-droplet',
        craftTime = 3000,
        materials = {
            { item = 'toy_oil_base', count = 2 },
        },
        sellPrice = 300,
    },
    {
        id = 'toy_lingerie_set',
        label = 'Lingerie Set',
        description = 'Lace and silk',
        icon = 'fa-gift',
        craftTime = 10000,
        materials = {
            { item = 'toy_fabric', count = 4 },
        },
        sellPrice = 800,
    },
    {
        id = 'toy_blindfold',
        label = 'Silk Blindfold',
        description = 'See no evil',
        icon = 'fa-eye-slash',
        craftTime = 4000,
        materials = {
            { item = 'toy_fabric', count = 2 },
        },
        sellPrice = 350,
    },
    {
        id = 'toy_candle',
        label = 'Massage Candle',
        description = 'Warm and sensual',
        icon = 'fa-fire',
        craftTime = 4000,
        materials = {
            { item = 'toy_wax', count = 2 },
            { item = 'toy_oil_base', count = 1 },
        },
        sellPrice = 350,
    },
    {
        id = 'toy_plug',
        label = 'Butt Plug',
        description = 'Beginner friendly',
        icon = 'fa-diamond',
        craftTime = 5000,
        materials = {
            { item = 'toy_silicone', count = 2 },
        },
        sellPrice = 450,
    },
    {
        id = 'toy_ring',
        label = 'Vibrating Ring',
        description = 'Couples favorite',
        icon = 'fa-ring',
        craftTime = 6000,
        materials = {
            { item = 'toy_silicone', count = 1 },
            { item = 'toy_battery', count = 1 },
            { item = 'toy_metal', count = 1 },
        },
        sellPrice = 550,
    },
}

Config.SellSettings = {
    Command = 'selltoys',
    SellTime = 4000,
    SuccessChance = 70,
    RejectChance = 20,
    StealChance = 10,
    PriceMultiplierMin = 0.8,
    PriceMultiplierMax = 1.2,
}

Config.Reactions = {
    [1] = { label = "Oh my god I need this!" },
    [2] = { label = "My partner is gonna love this!" },
    [3] = { label = "Premium quality, take my money!" },
    [4] = { label = "I'll take two... wait just one." },
    [5] = { label = "Hmm not really what I'm looking for." },
    [6] = { label = "Yoink! Thanks for the free sample!" },
}

Config.BuyerPeds = {
    'a_f_y_hipster_01', 'a_f_y_business_01', 'a_f_y_bevhills_01',
    'a_m_y_hipster_01', 'a_m_y_business_01', 'a_m_m_bevhills_01',
}

Config.BuyerOffsets = {
    vec3(10.0, 0.0, 0.0), vec3(-10.0, 0.0, 0.0),
    vec3(0.0, 10.0, 0.0), vec3(0.0, -10.0, 0.0),
}

Config.Leaderboard = {
    Enabled = true,
    Command = 'toysellers',
    MaxEntries = 10,
    Title = 'Top Toy Sellers',
    RefreshCooldown = 10,
}

Config.Logging = { format = '[orbit-sextoys] %s' }
Config.Debug = true

Last updated