config.lua

Preview File Updated: v1.0.4 - 02/22/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

-- Shop Interaction Settings
Config.Interaction = {
    Method = 'ox_lib', -- 'ox_target', 'ox_lib', 'qb-target'
    Distance = 3.0,
    Key = 'E', -- For ox_lib only
    KeyLabel = '[E]'
}

Config.PhotoLoot = {
    Distance = 2.0,        -- How close you need to be
    LootTime = 5000,        -- Progress bar duration (ms)
    Label = 'Take Back Photos',
    Icon = 'fas fa-image'
}

-- 📸 PICTURE WEBHOOK (Required For Uploading Images)
Config.PicWebhook = ""

Config.Shop = {
    Enabled = true,
    Coords = vec3(106.9364, -1657.8842, 28.2916),
    Ped = {
        model = 'csb_talcc', -- Shop NPC model
        coords = vec4(106.9364, -1657.8842, 28.2916, 28.5222), -- HEADING 150
        freeze = true,
        invincible = true,
        blockEvents = true,
        scenario = 'WORLD_HUMAN_STAND_MOBILE'
    },
    Blip = {
        Enabled = true,
        Sprite = 439,           -- Camera icon
        Color = 8,              -- Pink
        Scale = 0.8,
        Label = 'OnlyPics Shop',
        ShortRange = true
    },
    Price = 10000, 
    Label = "[E] Buy Exclusive Camera ($10,000)",
    Success = "You bought the camera for $10,000!",
    NoMoney = "You don't have $10,000.",
}

-- Target Options
Config.Target = {
    Shop = {
        label = 'Buy Camera - $10,000',
        icon = 'fa-solid fa-camera',
        color = '#ffffff',
        canInteract = function(entity, distance, coords, name, bone)
            return distance <= Config.Interaction.Distance
        end
    }
}

Config.SellSettings = {
    Command = "onlypics",
    Price = 500, 
    BundlePrice = 2000,    -- Bundles sell for more!
    SellTime = 3000,
    SuccessChance = 75,  -- 75% success
    RejectChance = 15,   -- 15% rejection  
    StealChance = 10      -- 10% steal
}

Config.Reactions = {
    [1] = { label = "Nice body girl to this", sale = true },
    [2] = { label = "This is stunning", sale = true },
    [3] = { label = "I am going to goon to this", sale = true },
    [4] = { label = "I am going to buy more from you", sale = true },
    [5] = { label = "This is Mid.", sale = false, steal = false }, -- Rejection
    [6] = { label = "This is trash. I'm keeping this.", sale = false, steal = true } -- Steal
}

-- Bundle Reactions (buyers pay more for bundles)
Config.BundleReactions = {
    [1] = { label = "A whole set?! Take my money!", sale = true },
    [2] = { label = "This collection is fire!", sale = true },
    [3] = { label = "Premium content right here!", sale = true },
    [4] = { label = "I need more sets like this!", sale = true },
    [5] = { label = "This set is mid honestly.", sale = false, steal = false },
    [6] = { label = "I'm taking this whole set. Later!", sale = false, steal = true }
}

-- 📦 PHOTO BUNDLE SETTINGS
Config.Bundle = {
    Enabled = true,           -- Enable/disable bundle feature
    PhotoCount = 4,           -- Number of photos per bundle (4-5)
    DelayBetween = 500,       -- Delay between each photo capture (ms)
}

-- 🏆 LEADERBOARD SETTINGS
Config.Leaderboard = {
    Enabled = true,                 -- Enable/disable the leaderboard
    Command = 'topbaddies',         -- Command to open leaderboard
    MaxEntries = 10,                -- How many players to show
    Title = 'OnlyPics Top Earners', -- Leaderboard title
    RefreshCooldown = 10,           -- Seconds between refreshes to prevent spam
}

-- 🚹 NPC MODELS (Buyers)
Config.Peds = {
    'g_m_y_ballasout_01', 'g_m_y_famca_01', 'a_m_y_skater_01', 
    'a_m_m_soucent_01', 'a_m_m_tramp_01', 'a_m_m_business_01'
}

-- 📍 SPAWN OFFSETS (Where NPC appears relative to you)
Config.Offsets = {
    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)
}

-- Items Configuration
Config.Items = {
    camera = "baddie_cam",
    photo = "baddie_pic",
    bundle = "baddie_bundle"    -- NEW: Photo bundle item
}

-- Female Model Check
Config.FemaleModel = "mp_f_freemode_01"

-- 💃 POSE ANIMATIONS (Configurable - Add/Remove/Edit as needed)
Config.Poses = {
    {dict = "amb@world_human_hang_out_street@female_hold_arm@idle_a", anim = "idle_a", label = "Hold Arm"},
    {dict = "amb@world_human_hang_out_street@female_arms_crossed@idle_a", anim = "idle_a", label = "Arms Crossed"},
    {dict = "missmic4", anim = "michael_tux_fidget", label = "Tux Pose"},
    {dict = "random@street_race", anim = "_street_race_girl", label = "Race Girl"},
    {dict = "anim@amb@nightclub@dancers@solomun_entourage@", anim = "mi_dance_facedj_17_v1_female^1", label = "Dance 1"},
    {dict = "anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", anim = "high_center", label = "Dance High"},
    {dict = "anim@amb@nightclub@mini@dance@dance_solo@female@var_a@", anim = "med_center", label = "Dance Med"},
    {dict = "friends@frj@ig_1", anim = "wave_a", label = "Wave"},
    {dict = "mp_ped_interaction", anim = "hugs_guy_a", label = "Hug Pose"},
    {dict = "anim@amb@nightclub@mini@dance@dance_solo@female@var_b@", anim = "high_center", label = "Sway"},
    {dict = "anim@heists@heist_corona@single_team", anim = "single_team_loop_boss", label = "Boss Pose"},
    {dict = "mp_safehouse", anim = "lap_dance_girl", label = "Seated Pose"}
}

-- Logging
Config.Logging = {
    enable = false,
    console = false,
    format = '[OnlyPics] %s'
}

-- Debug Mode
Config.Debug = false

Last updated