
Character select and creation, done the way that it is meant to be done — not a form with a dropdown.
RoughHades Character Select & Creation Menu replaces the default connect-and-spawn flow with a proper character select and creation screen built for RoughHades Core Framework. New players see every character on their account with a live 3D preview rendered in-scene, not a static portrait — the same model they'll actually play, reacting in real time as they build it.
Creation, not just customization
- First name, last name, date of birth, gender, and an optional bio — validated before it's ever submitted.
- Face shape and skin tone each blend continuously between two parent presets, live on the 3D model, instead of picking from a fixed list of preset faces.
- Hair style, hair color, and eye color, all previewed the same way.
- Character deletion, with confirmation, so nothing's lost to a misclick.
Built to fit your server, not just ours
Max character slots and every appearance slider's min/max range are configurable through RoughHades Core Framwork's own config — no separate config file to keep in sync, no editing this resource's code to adjust limits.
Requirements
- A recent `cerulean`-branch FXServer build.
Licensed for use on one live server per purchase, authorized through your Cfx.re account. See the included EULA for full terms.

The free, standalone framework every RoughHades resource builds on — player sessions, multi-character accounts, permission groups, and a shared database schema, with no ESX, QBCore, or vRP required.

An inventory that respects weight and actually equips what you're carrying — not an abstract list of icons.
roughHades Inventory replaces the default item list with a real grid: every item takes real slots and real weight, so what a character can carry is an actual constraint, not a number nobody checks. Everything — a player's own inventory, a dropped ground pile, a shared stash — uses the exact same drag-and-drop panel, so there's nothing new to learn moving between them.
A loadout that does something
Separate from the numbered grid, five dedicated equip slots — armor, a general-purpose hands slot, and three interchangeable weapon holsters — apply real effects the moment something's equipped: actual armor value, an actual weapon in hand, not just a different icon in a paper-doll mockup. Equipment re-applies automatically on respawn or reconnect, so what's equipped stays equipped.
Ground drops that are actually there
Dropping an item spawns a real, physical, lootable pile other nearby players can walk up to and open — with a configurable expiry, so the world doesn't fill up with abandoned piles forever.
Built for everything else to build on
A full export surface — AddItem, RemoveItem, GetItemCount, GetSnapshot, RegisterUsable, GrantStashAccess, CreateGroundLoot, and more — lets other resources grant, take, and react to items programmatically, without ever touching this resource's internals.
Requirements
**RoughHades Core **(free) — session and character framework.
**RoughHades Target **(free) — used for the "Open" interaction on ground loot piles.
License
Licensed for use on one live server per purchase, authorized through your Cfx.re account. See the included EULA for full terms.

Look at something, get a prompt. That's the whole idea.
RoughHades Target is a short-range look-and-interact system: a real camera raycast (not a screen-space click box) shows a context prompt for whatever's actually in front of you, and a numbered menu the moment there's more than one real choice to make. Nothing else shows up on-screen until you're genuinely close enough and looking at something real — no floating markers, no permanent reticle.
Built for realism, not convenience-first shortcuts
**Short interaction range **(3m default, configurable) — real-life-sim reasoning: you should have to actually walk up to something, not interact with it from across a room.
**A single obvious action fires immediately. **A menu only appears when there's a real decision to make between multiple options.
Hardened for real production use, not just a demo: every native call that can throw is guarded, so one bad interaction in the world never takes down the whole interaction system for the rest of your session — a real, previously-shipped-and-fixed class of bug, not a hypothetical.
Five ways for other resources — ours or your own — to register Interactions
- `AddTargetModel` — any entity using a given model (a shop counter, an ATM prop).
- `AddTargetEntity` — one specific entity (a particular downed ped, not every ped of that model).
- `AddTargetZone` — a radius around a fixed point, no entity needed at all.
- `AddTargetPlayer` / `AddTargetVehicle` — any player ped or any vehicle, for cases no fixed model list could ever cover. Multiple resources can each contribute their own options to the same menu (cuffing and trading both showing up when you look at another player, say) without stepping on each other.
Options can be a static list, or a function resolved fresh each time — for cases where the right actions depend on live state, like a property's "Buy" flipping to "Enter" the moment someone actually owns it.
Requirements
- A working FXServer build (recent `cerulean` fx_version). That's the whole list — `rough_target` doesn't depend on anything else, including our own RoughHades Core. It's pure interaction plumbing.
License
Free to run on any number of servers you own or operate. Not for resale or redistribution as your own work — see the included `LICENSE.md` for full terms.

Stops the duplicate/stuck vehicle-key problem for good — park the car, the key goes; pull it out, you get one clean key. Works with ESX Legacy, QBCore, and QBX on ox_inventory.