Camper System
Overview
The NTEAM Camper script allows players to interact with campers as mobile stash units, customizable with XP-based rewards, NPC robbery mechanics, and breakable doors that require repair. The script supports both ESX and QBCore frameworks and is designed with modular exports for stash, outfit, dispatch, and minigames.
Dependencies
This script requires the following dependencies:
ox_lib
– for notifications, skill checks, and UI.ox_target
– for target interaction or you can integrate any target system
Inventory Integration
By default, this script is configured to use ox_inventory
. However, the relevant sections (like RegisterStash
and OpenStash
) are left open in the code, allowing developers to easily switch to a different inventory system by modifying those specific functions.
Ensure you have all dependencies started before this resource in your server.cfg
:
ensure ox_lib
ensure ox_target
ensure ox_inventory -- optional, only if using ox_inventory
ensure nteam_camper
🔧 Configuration
Framework
Config.FrameWork = 'ESX' -- or 'QB'
Choose your server's framework.
General Labels
Config.OpenStash = 'Opening Stash'
Config.OpenOutfit = 'Opening Outfits'
Config.HandBrake = 'HandBrake'
Config.msg1 = 'There is no player nearby'
Used for in-game UI messages.
Target System
Config.Target = 'ox_target'
Specify your targeting system.
Camper Stash Coordinates
Config.StashCoords = vector3(1339.1172, 3105.7683, -92.1408)
Location where stash interaction happens.
📦 Stash System
Register & Open Camper Stash
RegisterStash(plate)
OpenStash(plate)
Stash is registered and opened using vehicle plate. Inventory uses ox_inventory
stash type: Camper-<plate>
.
Stash UI Options
Change Password
Open Stash
UI Export Example
lib.registerContext({ ... })
lib.showContext('camper_stash_options')
🎭 Outfits
outfit()
Placeholder for custom outfit system event. Customize it to integrate with your preferred outfit handler.
🧪 Taskbar & Notifications
Taskbar
lib.progressBar({...})
Custom progress bar that must return true
to continue logic.
Notifications
lib.notify({title, description, type})
Standard LibNotify setup. You can modify type for success/info/error.
🧠 Minigames
MinigameDoors()
StashMiniGame()
Use lib.skillCheck()
with simple WASD
controls. Can be extended with difficulty or patterns.
🚨 Dispatch Event
Dispatch(data)
Optional hook. Can be used to send data to external dispatch or logging system.
🐱👤 NPC Robbery System
Loot Tables
Config.NpcRobberyItems = {
[1] = {{item = 'water', amount = 1}},
...
}
You can define up to 10 item pools. Each item pool has a probability in Config.ItemChances
.
Item Chances
Config.ItemChances = {
[1] = 10,
[2] = 20,
...
}
Total must equal 100%.
🧬 XP System
Config.XpSystem = {
[1] = { maxXp = 10, xpGain = 0.1, extraReward = 0 },
...
}
Define leveling system:
maxXp
: threshold to reach the level.xpGain
: XP per NPC robbery.extraReward
: Bonus items given.
🔧 Breakable Camper Doors
Config.DoorCounter = 30
Config.CamperFixJob = {['mechanic'] = 0}
Config.RepairTime = 20000
After 30 failed hack attempts, camper doors break. Requires a mechanic to repair with a 20s taskbar.
🛡️ Protection System (NPC Defense)
Config.Npc = true
Config.NpcChance = 50
Config.NpcWeapon = 'WEAPON_PISTOL'
Config.NpcCoords = vector4(...)
Chance for NPC to spawn inside the camper to defend it. Spawns with specified weapon.
📌 Customization
To integrate with your server:
Adjust target, notification, and inventory exports.
Replace taskbar, skillcheck, and notification systems if needed.
Expand stash and outfit logic for compatibility with third-party UIs.
🔄Camper System update 1.0.1
Added support for changing the camper vehicle model via configuration.
Enabled compatibility with alternative target systems by allowing replacement of ox_target through the Config.Target setting.
Additional language translations have been added at the bottom of config.lua to support localization.
New Integration Event: Introduced a server-side event that allows automatic assignment of vehicle ownership upon purchase or rental: Server-side usage:
TriggerEvent('nteam_camper:server:AddRentedOrBuyVehicle', source)
Client-to-server usage:TriggerServerEvent('nteam_camper:server:AddRentedOrBuyVehicle', source)
This event ensures that when a player buys or rents a camper, the vehicle is immediately recognized as owned by them. This allows instant access to ownership-based features such as entering the camper, inviting other players, and using the interior—without requiring a server restart or player relog.
🔚 Credits & Contact This system was built by NTEAM Development. For inquiries, support, or updates, please visit our official Discord channels.
Last updated