Installation
This guide will walk you through installing prp-outposts on your FiveM server.
Installation steps
prp-outposts and prp-outposts-assets from the CFX portal and place them in your resources folder.server.cfg. ensure ox_lib
ensure ox_doorlock
ensure prp-bridge
ensure prp-outposts-assets
ensure prp-outposts prp-outposts-assets must be started before prp-outposts.ox_doorlock with the outpost door entries — see Doors below. Add the doorlock entries from the SQL block below.Config.Debug to false in configs/main.lua before going live.configs/outposts.lua, configs/ped_profiles.lua, and configs/server.lua.installation/inventory icons folder. Copy them to your inventory resource's image directory if you'd like to use them.outposts_exchange_card item or obtaining it via a shop, it will grant them access to the nearest outpost, where the item was given.WARNING
prp-outposts-assets must be started before prp-outposts. It streams the custom interior models, doors, and collision files required by the script.
INSERT INTO `ox_doorlock` (`name`, `data`) VALUES ('outpost_1', '{"model":-549572034,"autolock":30,"doors":false,"state":1,"maxDistance":2,"heading":149,"coords":{"x":882.59521484375,"y":-160.88124084472657,"z":77.27613067626953},"hideUi":true}');
INSERT INTO `ox_doorlock` (`name`, `data`) VALUES ('outpost_2', '{"model":-549572034,"autolock":30,"doors":false,"state":1,"maxDistance":2,"heading":121,"coords":{"x":-893.3160400390625,"y":-1140.37353515625,"z":6.02081251144409},"hideUi":true}');
INSERT INTO `ox_doorlock` (`name`, `data`) VALUES ('outpost_3', '{"autolock":30,"model":-549572034,"doors":false,"state":1,"coords":{"x":81.50341796875,"y":-1614.6998291015626,"z":29.93463134765625},"maxDistance":2,"heading":320,"hideUi":true}');Database
prp-outposts does not require any manual SQL setup. No tables need to be created or seeded.
Doors
Each outpost has one or more locked doors managed by ox_doorlock. Add a door entry to your ox_doorlock configuration for each door defined in configs/outposts.lua. Use the model hash and coords from the outpost config.
The ToggleOutpostDoor(doorName, doorState) function in server/editable.lua calls exports.ox_doorlock:setDoorState to lock/unlock doors - ensure your door names in ox_doorlock match those passed by the script.
Items
Add all required items to your inventory resource using the format appropriate for your setup.
Add the items below to your ox_inventory into data/items.lua.
['outposts_exchange_card'] = {
label = 'Exchange Access Card',
weight = 10,
stack = false,
close = true,
},
['outposts_clue_taxi'] = {
label = 'Taxi Receipt',
weight = 10,
},
['outposts_clue_delivery'] = {
label = 'Delivery Note',
weight = 10,
},
['outposts_clue_washing'] = {
label = 'Laundry Slip',
weight = 10,
},INFO
The outposts_exchange_card item requires an outpost metadata field to identify which outpost it grants access to. Ensure your distribution method sets this metadata when giving the card to players.
Minimum Players Convar
The KingPin takeover interaction is gated by a server convar. Set it in your server.cfg:
set sv_minPlayersForExchange 3This requires at least 3 players online before any player can take control of an outpost. Set to 0 to disable the requirement.