Orbit OnlyPics - Exclusive Female Roleplay Job | Photo Selling, Bundles & Thief Chases

:camera_with_flash: Orbit OnlyPics - Exclusive Female Roleplay Job | Photo Selling, Bundles & Thief Chases

:cherry_blossom: SPRING SALE — 20% OFF ALL PURCHASES RIGHT NOW! :cherry_blossom:


:television: Video Preview

► Watch Full Demo


:framed_picture: Screenshots


:glowing_star: Features

:camera: Camera & Photo System

  • Buy a camera from the in-world makeup supply shop (female characters only)

  • Take photos using a full in-game camera perspective

  • Strike configurable poses before capturing your shot

  • Photos are saved with metadata, owner info, and a Discord webhook image upload

  • Each photo is a unique inventory item tied to your identifier

:package: Bundle System

  • Combine multiple photos into a sellable bundle for higher payouts

  • Bundles sell for more than individual photos

  • Configurable photo count per bundle and delay between shots

  • Bundle items persist with full photo URLs and metadata intact

:money_with_wings: Photo Selling

  • Sell photos or bundles to randomly spawning NPC buyers

  • Buyers appear near you and react with custom dialogue

  • Three possible outcomes: successful sale, rejection, or theft

  • Configurable success / reject / steal chance percentages

  • Individual photo price and premium bundle price both configurable

:person_running: Thief Chase System

  • If an NPC steals your photo, they flee and you can chase them down

  • Kill or catch the thief to loot your photo back

  • Loot interaction uses a progress bar with configurable duration

  • 60-second window to recover stolen goods before the thief escapes

  • Server-side stolen photo tracking prevents item duplication

:trophy: Leaderboard System

  • /topbaddies command opens a full NUI leaderboard

  • Tracks individual photo sales, bundle sales, and total earned

  • Displays your personal rank alongside the global top earners

  • Configurable max entries and refresh cooldown to prevent spam

:shopping_cart: Makeup Supply Shop

  • Spawns a custom NPC ped at a configurable location

  • Map blip with configurable sprite, color, scale, and label

  • Supports ox_target, qb-target, or ox_lib TextUI interaction

  • Fully configurable ped model, coordinates, scenario, and freeze/invincible settings

:shield: Anti-Exploit & Security

  • Server-side photo ownership verification before every sale

  • Slot and metadata validation on remove/add operations

  • Stolen photo state machine prevents item duplication on steal

  • Owner-bound photos — you can only sell photos you personally took


:wrench: Compatibility

  • :white_check_mark: ESX / QBCore / QBox

  • :white_check_mark: ox_inventory, qb-inventory, qs-inventory, lj-inventory

  • :white_check_mark: ox_target, qb-target, or ox_lib TextUI for shop interaction

  • :white_check_mark: ox_lib, ESX, QB, or Custom progress bars

  • :white_check_mark: ox_lib, ESX, QB, or Custom notifications

  • :white_check_mark: Auto-framework detection


:clipboard: Installation

Requirements:

  • ESX, QBCore, or QBox framework

  • oxmysql or mysql-async

  • Supported inventory system

  • ox_lib (recommended)

Full installation guide available at: :open_book: docs.orbitscripts.xyz


:gear: Configuration

-- Framework & Inventory
Config.Framework = "ESX"              -- ESX, QBCORE, QBOX
Config.Inventory = "ox_inventory"     -- ox_inventory, qb-inventory, qs-inventory, lj-inventory

-- UI Systems
Config.Notification = 'ox_lib'        -- ox_lib, esx, qb, custom
Config.Progressbar = "OX_LIB"        -- OX_LIB, ESX, QB, CUSTOM

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

-- Selling
Config.SellSettings = {
    Command = "onlypics",
    Price = 500,                      -- Per photo payout
    BundlePrice = 2000,               -- Bundle payout
    SellTime = 3000,
    SuccessChance = 75,
    RejectChance = 15,
    StealChance = 10
}

-- Bundles
Config.Bundle = {
    Enabled = true,
    PhotoCount = 4,                   -- Photos required per bundle
    DelayBetween = 500,               -- Ms between each shot
}

-- Leaderboard
Config.Leaderboard = {
    Enabled = true,
    Command = 'topbaddies',
    MaxEntries = 10,
    Title = 'OnlyPics Top Earners',
    RefreshCooldown = 10,
}

-- Photo Loot (thief recovery)
Config.PhotoLoot = {
    Distance = 2.0,
    LootTime = 5000,
    Label = 'Take Back Photos',
}

-- Discord Webhook for photo uploads
Config.PicWebhook = "https://discord.com/api/webhooks/YOUR_WEBHOOK_HERE"

-- Items
Config.Items = {
    camera = "baddie_cam",
    photo = "baddie_pic",
    bundle = "baddie_bundle"
}

:video_game: Usage

  1. Buy a Camera — Visit the makeup supply shop as a female character and purchase your camera for $10,000

  2. Take Photos — Use the camera item, choose a pose, and capture your shot

  3. Build a Bundle — Take multiple photos in sequence to automatically create a premium bundle

  4. Sell Your Content — Use /onlypics to call a buyer. A random NPC will approach and react

  5. Chase Thieves — If your photo gets stolen, chase the fleeing NPC and loot it back before they escape

  6. Check the Leaderboard — Type /topbaddies to see the server’s top earners


:bullseye: Commands

Command Description
/onlypics Call a buyer NPC to sell your photos or bundles
/topbaddies Open the NUI leaderboard showing top earners

:magnifying_glass_tilted_left: Key Features Explained

Photo Ownership System

Every photo and bundle is owner-bound using inventory metadata. When you take a photo, your identifier is embedded into the item. This means only you can sell your own photos — photos can’t be traded and then resold by someone else. This keeps the economy clean and prevents exploitation.

Thief Chase & Recovery

One of three outcomes when selling is theft — the NPC takes your photo and flees. The server tracks the stolen item, and the client spawns a fleeing ped. If you kill or down the thief within 60 seconds, a loot interaction appears allowing you to recover your property. If the thief escapes the timer, the item is lost and the stolen data is cleared server-side so it can’t stack.

Bundle Payout

Bundles reward players who invest time into a full photo set. The bundle system automatically captures multiple photos in sequence with a short delay between each, then packages them into a single high-value inventory item. Buyers pay significantly more for bundles than single photos.

Discord Integration

Every photo taken is uploaded to a configurable Discord webhook, creating a live gallery of in-game content in your server’s Discord. The webhook URL is set once in config and handles uploads automatically on each shot.

Female-Only Roleplay Lock

The job is restricted to female character models (mp_f_freemode_01). The shop and camera purchase checks the player’s ped model server-side, keeping the roleplay authentic to the job’s design.


:wrench: Advanced Configuration

Custom Notification System

Config.Notification = "CUSTOM"

Config.CustomNotify = function(message, type)
    -- Your custom notification code here
    TriggerEvent('myCustomNotification', message, type)
end

Custom Progress Bar

Config.Progressbar = "CUSTOM"

Config.CustomProgressbar = function(duration, label, onComplete, onCancel)
    -- Your custom progress bar code here
end

Pose Animations

Config.Poses = {
    {dict = "your@anim@dict", anim = "anim_name", label = "Pose Label"},
    -- Add as many as you like
}

:bug: Troubleshooting

Camera won’t purchase?

  • Ensure your character is using the mp_f_freemode_01 model

  • Check the shop ped has spawned at the configured coordinates

  • Verify ox_lib is started before this resource

Photos not selling?

  • Run /onlypics while holding at least one photo you personally took

  • Confirm Config.SellSettings.Command matches what you’re typing

  • Enable Config.Debug = true and check F8 for detailed logs

Thief loot not appearing?

  • Ensure you’re within Config.PhotoLoot.Distance of the downed NPC

  • Check that the thief was killed before the 60-second escape timer ran out

  • Verify the progress bar system is correctly configured

Leaderboard empty?

  • At least one sale must be completed for entries to appear

  • Check the baddie_stats table in your database is created correctly

Notifications not showing?

  • Verify Config.Notification matches your installed system

  • For ox_lib: ensure it starts before this resource in server.cfg


:bar_chart: Database

The script automatically creates the baddie_stats table:

CREATE TABLE IF NOT EXISTS baddie_stats (
    identifier varchar(50) NOT NULL,
    name varchar(50) DEFAULT NULL,
    sales int(11) DEFAULT 0,
    bundle_sales int(11) DEFAULT 0,
    total_earned int(11) DEFAULT 0,
    PRIMARY KEY (identifier)
);


:memo: Changelog

Version 1.0.5

  • Initial release

  • Multi-framework support (ESX, QBCore, QBox)

  • Camera purchase from in-world NPC shop

  • Photo taking with configurable pose animations

  • Photo bundle system with multi-shot capture

  • NPC buyer system with sale / reject / steal outcomes

  • Thief chase and photo loot recovery system

  • Discord webhook photo uploads

  • NUI leaderboard with personal rank tracking

  • Anti-exploit owner-bound photo metadata

  • Multiple progress bar & notification system support

  • ox_target, qb-target, and ox_lib shop interaction support

  • Configurable commands, prices, chances, and animations


:bar_chart: Resource Information

Property Details
Code is accessible No
Subscription-based No
Lines (approximately) ~1,100 lines
Requirements ESX/QBCore/QBox, oxmysql, supported inventory, ox_lib
Support Yes — Full documentation & Discord support

Supported Systems

System Type Options
Frameworks ESX, QBCore, QBox
Inventories ox_inventory, qb-inventory, qs-inventory, lj-inventory
Shop Interaction ox_target, qb-target, ox_lib
Progress Bars ox_lib, ESX, QBCore, Custom
Notifications ox_lib, ESX, QBCore, Custom

:tada: Purchase

:cherry_blossom: 20% OFF — Spring Sale Active Now!

:shopping_cart: Purchase Now — $19.99

:open_book: Documentation

:speech_balloon: Discord Support


:movie_camera: Feature Highlights

  • :white_check_mark: Female-only roleplay job with model lock

  • :white_check_mark: In-world camera with pose selection and photo capture

  • :white_check_mark: Photo bundle system for premium payouts

  • :white_check_mark: NPC buyer with sale, rejection, and theft outcomes

  • :white_check_mark: Thief chase and loot recovery system

  • :white_check_mark: Discord webhook photo gallery uploads

  • :white_check_mark: NUI leaderboard with personal rank

  • :white_check_mark: Owner-bound photo metadata prevents exploitation

  • :white_check_mark: Multi-framework ESX, QBCore, QBox support

  • :white_check_mark: Multiple UI systems for notifications & progress bars

  • :white_check_mark: ox_target, qb-target, and ox_lib shop interaction

  • :white_check_mark: Full documentation & support


Leave a :star: review if you enjoy this script!

By Orbit Scripts — Premium FiveM Resources

1 Like