A modern, secure, and performant vehicle dealership system for FiveM servers with React UI and comprehensive anti-cheat system.
Click the button above to watch the demo
- React-based UI with modern animations
- Transparent background for seamless integration
- Responsive design for all screen sizes
- 3D Text fallback for maximum compatibility
- Animations: Modal Scale, Backdrop Blur, Button Hover, Purchase Warp
- Multiple dealerships with different vehicle categories
- Automatic showroom management (spawning/despawning based on distance)
- Intelligent performance optimization with smart wait systems
- Vehicle categorization (Luxury, Motorcycles, Commercial, Used Cars)
- Customizable blips for each dealership
- Test drives with time and distance restrictions
- Direct garage integration (vehicles automatically saved to garage)
- Random license plate generation with customizable prefixes
- Vehicle properties (color, condition, etc.)
- Spinning vehicles (optional, disableable for better performance)
- Comprehensive anti-cheat system
- Rate limiting (purchase attempts, test drives)
- Input validation of all client data
- Distance checks (player must be near dealership)
- Suspicious activity logging with admin notifications
- Server-side data validation
- Smart wait systems (longer waits during inactivity)
- Conditional thread execution
- Optimized update rates for different systems
- Early exits on distance checks
- Memory-efficient vehicle management
- Sales statistics with revenue overview
- Vehicle management commands
- Test drive monitoring and control
- Security status dashboard
- Discord webhook integration for sale logs
- ESX Framework (Legacy or Final)
- MySQL-async or oxmysql for database operations
- Download and extract the script to your
resourcesfolder
cd resources
git clone https://github.com/zhoraFPS/zhora_dealership.git zhora_dealership- Add resource to your
server.cfg:
ensure zhora_dealership- Ensure dependencies:
ensure es_extended
ensure mysql-async or oxmysqlConfig.ShowRange = 200 -- Showroom visibility range
Config.Currency = "$" -- Currency symbol
Config.BuyKey = 38 -- E key for interactionConfig.Dealerships["my_dealership"] = {
name = "My Dealership",
blip = {
sprite = 326,
color = 2,
scale = 1.0,
coords = vector3(x, y, z)
},
testDriveSpawn = vector3(x, y, z), -- Spawn point for test drives
cars = {
{
pos = vector3(x, y, z),
heading = 0.0,
model = 'adder',
price = 1000000,
label = "Truffade Adder",
category = "Supersport"
}
}
}Config.Security = {
enableAntiCheat = true,
purchaseCooldown = 3, -- Seconds between purchases
maxPurchasesPerHour = 10, -- Max purchases per hour
maxRapidAttempts = 3, -- Max rapid attempts
logSuspiciousActivity = true
}Config.TestDrive = {
enabled = true,
duration = 120, -- Seconds
restrictions = {
maxDistance = 1000 -- Meters from dealership
}
}- View vehicle: Go to a showroom vehicle and press
E - Buy vehicle: Click "Purchase" in the UI modal
- Test drive: Click "Test Drive" for a test ride
- Garage: Purchased vehicles are automatically saved to your garage
Add vehicles to config.lua:
{
pos = vector3(x, y, z),
heading = 180.0,
model = 'vehicle_spawn_name',
price = 50000,
label = "Vehicle Display Name",
category = "Category"
}Config.DiscordWebhook = true
Config.WebhookURL = "YOUR_WEBHOOK_URL"- Check
Config.ShowRangesetting - Ensure vehicle models exist
- Check server console for errors
- Check browser console (F12)
- Ensure
ui_pageis set correctly - Check NUI focus status
- Check
testDriveSpawncoordinates - Ensure
Config.TestDrive.enabled = true - Check admin logs for errors
Important: Always check config.lua for new options after updates.
- Initial Release
- React UI Implementation
- Anti-Cheat System
- Multiple Dealership Support
- Test Drive System
- Performance Optimizations
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see LICENSE file for details.
- GitHub Issues: For bug reports and feature requests
- Developed for: FiveM Community
- Framework: ESX Framework
- UI: React + Vite
- Icons: Lucide React