Skip to content

Installation

This guide will walk you through installing prp-characters on your FiveM server.

Installation steps

1
Download the resource
Download prp-characters from the CFX portal and place it in your resources folder.
2
Install dependencies
Make sure oxmysql, ox_lib and prp-bridge are installed and started before prp-characters.
3
Configure appearance in prp-bridge
Set BridgeConfig.Appearance in prp-bridge/config.lua to your clothing resource (illenium-appearance, fivem-appearance, qb-clothing or esx_skin).
4
Set your framework in prp-bridge
Set BridgeConfig.FrameWork to qbx_core, qb-core, es_extended, nd_core or ox_core.
5
Follow your framework steps
Complete the framework-specific steps below.
6
Add to server.cfg
Start the resource after your framework, oxmysql, ox_lib and prp-bridge.
7
Configure
Edit files in configs/ for slots, spawns, selection scenes and bus stops.
8
Restart server
Restart the server (or ensure the resource) after all steps are done.

Dependencies

ResourceRequired
oxmysqlYes
ox_libYes
prp-bridgeYes
Framework (qbx_core / qb-core / es_extended / nd_core / ox_core)Yes
Appearance resource (see bridge config)Yes

Appearance (prp-bridge)

In prp-bridge/config.lua:

lua
BridgeConfig.Appearance = "illenium-appearance"
ValueResource
"illenium-appearance"illenium-appearance
"fivem-appearance"fivem-appearance
"qb-clothing"qb-clothing
"esx_skin"esx_skin

Framework (prp-bridge)

lua
BridgeConfig.FrameWork = "qbx_core" -- qbx_core | qb-core | es_extended | nd_core | ox_core

Framework setup

Start order

cfg
ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure prp-bridge
ensure prp-characters

qbx_core settings

Open qbx_core/config/client.lua and set:

lua
useExternalCharacters = true
startingApartment = false
  • useExternalCharacters = true disables the built-in Qbox multicharacter so prp-characters can take over.
  • startingApartment = false avoids conflicting apartment spawn logic on first join.

Conflicting resources

Remove or stop any other multicharacter resource, for example:

  • qbx_core built-in character UI (handled by useExternalCharacters)
  • qb-multicharacter
  • Other third-party multicharacter scripts

Notes

  • Make sure BridgeConfig.FrameWork = "qbx_core" in prp-bridge/config.lua.
  • Character slots use Config.MaxSlots in configs/main.lua.
  • Skins are read from playerskins (citizenid).

server.cfg examples

cfg
ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure prp-bridge
ensure illenium-appearance
ensure prp-characters

Configuration files

FilePurpose
configs/main.luaSlots, delete toggle, starter items, logout command, init camera
configs/spawns.luaDefault spawn locations and new-character spawn
configs/selections.lua3D selection ped positions, animations and cameras
configs/busstops.luaBus-stop props, model swaps and DUI offsets
locales/*.jsonUI / locale strings
open/client.luaClient hooks (SignIn, SignOut, spawn filters, appearance)
open/server.luaServer hooks (selected / created / deleted / spawn filters)
frameworks/**Per-framework adapters (list / create / load / delete / logout / skin / spawns)

Bus-stop DUI

Custom bus-stop models are streamed from stream/[busstops]/. The fxmanifest registers the ytyp via DLC_ITYP_REQUEST. If the swap models fail to load, spawn select falls back to the NUI list automatically.