Peak Barbers - Documentation
Welcome to the official documentation for Peak Barbers, a premium FiveM resource designed for high-fidelity character appearance customization. Peak Barbers provides a modern, immersive experience for players to refine their look with professional-grade tools and a sleek, glassmorphism-inspired interface.
📑 Table of Contents
🌟 Overview & Features
Peak Barbers is built with a focus on realism, performance, and aesthetic excellence. It replaces standard, clunky barber menus with a cinematic interaction system.
- Cinematic Camera System: Dynamic camera positioning that focuses on the character's face with smooth transitions.
- NPC Interactions: Synchronized NPC barber spawning with realistic animations (scissors usage, idle tasks).
- Interactive Chair System: Players physically sit in barber chairs, locking their position for a truly immersive session.
- Glassmorphism UI: A custom-built Vue 3 interface featuring premium blur effects, smooth animations, and intuitive controls.
- Head Rotation Control: Players can rotate their character's head during the session using keyboard controls for better visibility.
- Framework Agnostic: Native support for ESX, QBCore, and Qbox via a robust bridge system.
- Appearance Compatibility: Optimized for
illenium-appearance,fivem-appearance, andqb-clothing. - Multi-Targeting Support: Built-in integration for
ox_target,qb-target, andqtarget.
🤖 AI-First Setup (Recommended)
If you are using an AI coding assistant (like Claude, ChatGPT, or Cursor), you can set up this resource in seconds:
- Open
PROMPT.mdin the resource folder. - Copy the content and paste it into your AI assistant.
- The AI will guide you through framework detection and configuration based on your specific server environment.
📦 Manual Installation
- Download: Extract the
peak-barbersfolder into your server'sresourcesdirectory. - Configuration: Open
shared/config.luaand set yourConfig.Framework('esx', 'qbcore', or 'qbx'). - Appearance: Ensure your preferred appearance resource is set in
Config.AppearanceResource. - Permissions: If using ESX/QBCore, ensure the resource has permission to remove money (handled automatically via bridge).
- Start: Add
ensure peak-barbersto yourserver.cfg.
[!IMPORTANT] Ensure
peak-barbersis started after your framework and appearance resources (e.g.,ox_lib,es_extended,illenium-appearance).
⚙️ Configuration Guide
The resource is highly customizable via shared/config.lua.
Main Settings
| Variable | Options | Description |
|---|---|---|
Config.Framework | esx, qbcore, qbx | The framework your server uses. |
Config.Locale | en, fr, es, ar | Active language for the UI and notifications. |
Config.InteractionType | ox_target, qb-target, marker | Method players use to interact with chairs. |
Config.Price | number | The cost of a barber session (default: 75). |
Config.AppearanceResource | illenium-appearance, fivem-appearance, qb-clothing | The resource managing player skins. |
Config.BarberModel | string | The ped model for the barber NPC. |
UI Customization
You can tweak the UI aesthetics directly in the config:
luaConfig.MenuPosition = "right" -- "left" or "right" Config.MenuStyle = "glass" -- "glass" or "solid" Config.UIColors = { accent = "#e67e22", accentLight = "#f39c12", accentDim = "#d35400", }
🎯 Interaction Systems
Peak Barbers supports multiple interaction methods to fit your server's style.
Target Interaction (Recommended)
By default, the script uses ox_target. It automatically creates box zones for every chair defined in Config.Positions.
Marker Interaction
If you prefer traditional markers, set Config.InteractionType = "marker". The script will draw floating icons above available chairs.
💻 Developer API
Client-Side Global Functions
These functions are available globally for integration into other scripts:
| Function | Description |
|---|---|
IsInChair() | Returns true if the player is currently in a barber session. |
SetHeadTurnDirection(dir) | Rotates the player's head (-1 for left, 1 for right, 0 to stop). |
CleanupChairSession() | Forcefully ends the current session and cleans up peds/cameras. |
Server-Side Callbacks
The resource uses the following callbacks for state management:
peak-barbers:takeChair: Validates and reserves a chair.peak-barbers:releaseChair: Frees up a chair for other players.peak-barbers:pay: Handles the economy transaction.
🎨 NUI Development & Building
The UI is a modern Vue 3 application built with Vite.
Modifying the UI
- Navigate to the
ui/folder. - Install dependencies:
npm install. - Start dev mode:
npm run dev.
Building for Production
Before deploying, you must build the assets:
- Run
npm run buildin theui/folder. - The compiled assets will be generated in
ui/dist/. - The
fxmanifest.luais already configured to load these assets.
🌍 Localization
Peak Barbers is fully localized. You can find translation files in the locales/ directory.
- English (
en.lua) - French (
fr.lua) - Spanish (
es.lua) - Arabic (
ar.lua)
To add a new language, simply create a new file in locales/ following the existing format and update Config.Locale.
⚡ Performance & Optimization
- Idle Usage: 0.00ms.
- Active Session: ~0.02ms (due to camera and head rotation logic).
- Cleanup: Automatic entity deletion on resource stop or player disconnect ensures no "ghost" peds or objects are left behind.
- Throttling: Built-in rate limiting for server callbacks to prevent spam.
Documentation generated by Peak Studios. For support, visit our Discord.