Orbit OnlyPics - Exclusive Female Roleplay Job | Photo Selling, Bundles & Thief Chases
SPRING SALE — 20% OFF ALL PURCHASES RIGHT NOW!
Video Preview
Screenshots
Features
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
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
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
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
Leaderboard System
-
/topbaddiescommand 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
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
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
Compatibility
-
ESX / QBCore / QBox -
ox_inventory, qb-inventory, qs-inventory, lj-inventory -
ox_target, qb-target, or ox_lib TextUI for shop interaction -
ox_lib, ESX, QB, or Custom progress bars -
ox_lib, ESX, QB, or Custom notifications -
Auto-framework detection
Installation
Requirements:
-
ESX, QBCore, or QBox framework
-
oxmysql or mysql-async
-
Supported inventory system
-
ox_lib (recommended)
Full installation guide available at:
docs.orbitscripts.xyz
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"
}
Usage
-
Buy a Camera — Visit the makeup supply shop as a female character and purchase your camera for $10,000
-
Take Photos — Use the camera item, choose a pose, and capture your shot
-
Build a Bundle — Take multiple photos in sequence to automatically create a premium bundle
-
Sell Your Content — Use
/onlypicsto call a buyer. A random NPC will approach and react -
Chase Thieves — If your photo gets stolen, chase the fleeing NPC and loot it back before they escape
-
Check the Leaderboard — Type
/topbaddiesto see the server’s top earners
Commands
| Command | Description |
|---|---|
/onlypics |
Call a buyer NPC to sell your photos or bundles |
/topbaddies |
Open the NUI leaderboard showing top earners |
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.
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
}
Troubleshooting
Camera won’t purchase?
-
Ensure your character is using the
mp_f_freemode_01model -
Check the shop ped has spawned at the configured coordinates
-
Verify ox_lib is started before this resource
Photos not selling?
-
Run
/onlypicswhile holding at least one photo you personally took -
Confirm
Config.SellSettings.Commandmatches what you’re typing -
Enable
Config.Debug = trueand check F8 for detailed logs
Thief loot not appearing?
-
Ensure you’re within
Config.PhotoLoot.Distanceof 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_statstable in your database is created correctly
Notifications not showing?
-
Verify
Config.Notificationmatches your installed system -
For ox_lib: ensure it starts before this resource in server.cfg
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)
);
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
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 |
Purchase
20% OFF — Spring Sale Active Now!
Feature Highlights
-
Female-only roleplay job with model lock -
In-world camera with pose selection and photo capture -
Photo bundle system for premium payouts -
NPC buyer with sale, rejection, and theft outcomes -
Thief chase and loot recovery system -
Discord webhook photo gallery uploads -
NUI leaderboard with personal rank -
Owner-bound photo metadata prevents exploitation -
Multi-framework ESX, QBCore, QBox support -
Multiple UI systems for notifications & progress bars -
ox_target, qb-target, and ox_lib shop interaction -
Full documentation & support
Leave a
review if you enjoy this script!
By Orbit Scripts — Premium FiveM Resources



