Features#
In game editor
Every placement is made in game, with the model attached to your character while you drag it. No offset is ever typed into a config file.
| Key | Action |
|---|---|
F7 | Open and close the editor |
| Left drag on the cross | Move the item |
| Right drag on the cross | Rotate the item |
| Mouse wheel on the cross | Push the item forward and back |
SHIFT | Hold for precision, drops to twelve percent speed |
W | Switch the gizmo to move mode |
R | Switch the gizmo to rotate mode |
F | Focus the camera on the selected item |
| Drag empty space | Move the camera |
CTRL + drag empty space | Orbit above and below the character |
| Mouse wheel on empty space | Zoom |
ENTER | Save for everyone |
ESC | Close the editor |
The gizmo is aligned to the character, so the red handle always moves the item to the character's right, green moves it forward and blue moves it up. Sliders for position and rotation sit under the preview with typed numeric input for exact values.
Pressing F keeps the camera locked on the item while you work. It stops following while you drag so the view never fights your hand, then settles back on the item the moment you let go.
Body anchors
Ten anchor points cover the whole body. Each one has its own default offset and its own surface limits.
| Anchor | Anchor |
|---|---|
| Upper back | Lower back |
| Chest | Abdomen |
| Right hip | Left hip |
| Right thigh | Left thigh |
| Right shoulder | Left shoulder |
Anchors appear as bubbles on the character while an item is selected, so you click the body part instead of picking from a list. Choosing one snaps the item to a sensible starting position for that anchor, then you refine it.
Item props
The system is not limited to weapons. Any inventory item can be given a GTA prop model and placed on the body exactly like a gun.
| Example item | Prop model |
|---|---|
| Guitar | prop_acc_guitar_01 |
| Axe | prop_tool_fireaxe |
| Fishing rod | prop_fishing_rod_01 |
| Backpack | p_michael_backpack_s |
| Tool box | prop_tool_box_04 |
You can type the model name yourself, or let the editor find it. Clicking an unregistered item runs a scan that uses the item, watches for the object the game spawns, captures its model and cleans the object up again. The item is refunded if using it consumed a count.
Registered props are listed in their own tab with an edit button and a delete button, so you can manage them without hunting through the item list.
Vehicle storage
Weapons stored in a trunk or a glovebox appear physically inside it. Points are created once per vehicle model and every car of that model uses them.
| Option | Description |
|---|---|
| Storage area | Trunk or glovebox and cabin |
| Category | any, pistol, smg, rifle, shotgun, sniper, heavy or melee |
Open the Vehicles tab and the nearest vehicle is selected for you. The storage door opens on its own, the camera frames the compartment and already saved points appear as faded ghosts so you never stack two weapons in the same spot. A weapon dropped straight onto the trunk floor lands where you dropped it, lifted just clear of the surface.
Category points let a rifle sit flat along the floor while a pistol sits in a corner. A point set to any catches whatever is left over.
Items shown in vehicle storage are weapons plus any item defined in the PropModels config table. Props registered only from the editor appear on the body, not in trunks.
Placement priority
Three layers decide where an item sits, checked in order.
| Layer | When it applies |
|---|---|
| Personal | A placement saved for that specific character |
| Server default | A placement saved for that item for everyone |
| Category default | The default saved for the item's weapon category |
Set one placement per category and every weapon in the game is covered without touching them individually. Anything you place by hand afterwards overrides the category.
Body clipping
Models are pushed out of the body instead of being trusted to sit right. The real bounding box of each model is measured, projected onto the outward direction of the anchor, and the item is moved along that axis until nothing intersects the ped.
This runs on the saved placement as well as on the live preview, so a rifle that clears the back on a male character also clears it on a female one.
Turning PreventBodyClipping off in the config disables this correction completely and uses your raw offsets. Only do that if you are placing models that are supposed to overlap the body.
Male and female offsets
Male and female freemode models do not share a skeleton shape. A per anchor correction table is applied automatically when the character is female, so one saved placement looks right on both.
Framework and inventory support
Everything is detected at runtime, there is nothing to switch on.
| Layer | Supported |
|---|---|
| Framework | QBCore, QBox, ESX |
| Inventory | qb-inventory, new-qb-inventory, ps-inventory, lj-inventory, ox_inventory, qs-inventory, codem-inventory, core_inventory, inventory |
| Database | oxmysql, tables created on first start |
| Language | English, Turkish, German, French, Russian |
Performance
| State | Cost |
|---|---|
| Editor closed | Idle loops only |
| Editor open | Active, one player at a time |
Other players' items are only created inside SyncDistance and deleted again when they leave it. A player's loadout is hashed on the server and only broadcast when it actually changes, so standing still costs no network traffic. The full item list is cached server side for thirty seconds, and every editor draw loop sleeps while the panel is closed.
Exports
Server
exports['frkn-weaponsling']:NotifyVehicleInventoryMove(source, fromInventory, toInventory, fromSlot, toSlot)
Call this after a successful transfer if your inventory uses a move event the resource does not already listen for. Vehicle storage names are recognised in the trunk-PLATE, glove-PLATE and glovebox-PLATE formats.
qb, new-qb, ps, lj and ox_inventory are handled without this export. You only need it for a custom or heavily modified inventory.