🚗 Alpha Garage System – Advanced ESX Garage
• The Alpha Garage System is a modern, secure, and fully configurable garage system for ESX (FiveM).
- This system replaces classic esx_garage solutions with a structured, scalable, and production-ready architecture.
✨ Features
🔒 Player-Based Vehicles
• Server-side owner validation via identifier
• Protection against unauthorized access
🔄 Rotating Markers
Fully configurable markers:
• Color, size, type, and rotation individually adjustable
Separate markers for:
• Opening the garage menu
• Storing vehicles
Individual height adjustment per garage:
• OpenMarkerOffsetZ
• StoreMarkerOffsetZ
⚙️ Fully Configurable
All garages are centrally defined in config.lua:
["Themepark"] = {
Label = "Themepark Garage",
Marker = vector3(-1585.09, -1032.06, 13.01),
SpawnPoint = vector4(-1577.60, -1050.83, 13.01, 81.27),
StorePoint = vector3(-1585.09, -1032.06, 13.01),
OpenMarker = true,
StoreMarker = true,
OpenMarkerOffsetZ = 1.0,
StoreMarkerOffsetZ = -1.0,
Blip = {
Enabled = true,
Sprite = 357,
Scale = 0.8,
Color = 38
}
}
Unlimited number of garages possible
Per garage configurable:
• Open marker
• Store marker
• Blip visibility
• Clean and scalable structure
🧠 Automatic Database Detection
• On server startup, the script automatically checks:
• Whether the table owned_vehicles exists
• Whether the column stored exists
• Automatically creates the stored column if missing
• No manual SQL adjustments required
🛡 Security Mechanisms
• Server-side validation when retrieving vehicles
• Server-side validation when storing vehicles
• stored status updated before vehicle handover
• License plate normalization (trim + case handling)
• Anti-spam protection
• Protection against duplicate spawns
• Ownership verification on every action
Developed with a security-first principle.
🚓 Integrated Impound System
• The Alpha Garage System includes a fully integrated impound system.
• Vehicles that are not stored (stored = 0) are automatically detected as impounded and displayed accordingly in the garage menu.
• An optional release fee can be charged when retrieving a vehicle from the impound.
Configurable via:
Config.Impound = {
Enabled = true,
Price = 250,
Account = "money" -- "money" or "bank"
}
Features:
• Automatic detection of impounded vehicles via stored status
• Server-side fee handling when releasing vehicles
• Supports cash or bank accounts
• Fully server-side validation
• Compatible with standard owned_vehicles structure
• No additional database tables required
Impounded vehicles are clearly marked inside the menu and can be safely released.
🌍 Multilingual Support
• German / English
• Extendable via locales/*.lua
Language configurable via:
• Config.Locale = "de"
🗺 Blip Support
• Optional activation per garage
• Individual sprite, color, and scale customization
• Separate activation for each garage
• Clean short-range map integration
📦 Dependencies
Required:
• es_extended (ESX)
• oxmysql
• owned_vehicles table (standard ESX structure)
Optional:
• ESX UI menu system (included by default in ESX)
🛠 Installation
Upload the resource to your resources/ folder
Add to your server.cfg:
• ensure ad_garage
