Vehicle Shop

Configuration

Complete guide for setting up and customizing the JJ-VehicleShop FiveM ESX script.

πŸ“ Basic Settings

Language

JJ.Locale = 'en'  -- 'en' = English, 'cs' = Czech

Speed Units

JJ.SpeedType = "kmh"  -- "kmh" = km/h, "mph" = miles/h

Version Check

JJ.CheckVersion = true  -- Enable automatic version checking

Logging

JJ.Logs = true  -- Enable Discord webhook logs

UI Settings

JJ.Color = true        -- Show color selection in UI
JJ.CustomColor = false -- Enable custom RGB colors

🌍 Language Settings

Change Language

JJ.Locale = 'en'  -- Default language

Available Languages

  • 'en' - English
  • 'cs' - Czech

Adding a New Language

JJ.Language = {
    ['en'] = {
        ['dealer_title'] = "JJ-SCRIPTS - VEHICLE SHOP",
        ['buy'] = "Buy",
        -- ... more translations
    },
    ['cs'] = {
        ['dealer_title'] = "JJ-SCRIPTS - VEHICLE SHOP",
        ['buy'] = "Koupit",
    },
    ['de'] = {
        ['dealer_title'] = "JJ-SCRIPTS - FAHRZEUGSHOP",
        ['buy'] = "Kaufen",
    }
}

πŸ”” Notifications

Notification System

JJ.Notify = function(title, msg, type)
    -- Example with okokNotify:
    exports['okokNotify']:Alert(title, msg, 2500, type, true)
end

Available Types: success, error, warning, info


🎨 Color System

Default Colors

JJ.Colors = {
    {label = "Black", value = 0, hex = "#000000"},
    {label = "White", custom = true, rgb = {255, 255, 255}, hex = "#FFFFFF"},
    {label = "Gray", value = 4, hex = "#808080"},
    {label = "Red", custom = true, rgb = {255, 0, 0}, hex = "#FF0000"},
    {label = "Blue", custom = true, rgb = {0, 100, 255}, hex = "#0064FF"},
    {label = "Green", custom = true, rgb = {0, 255, 100}, hex = "#00FF64"},
    {label = "Yellow", custom = true, rgb = {255, 255, 0}, hex = "#FFFF00"},
    {label = "Orange", custom = true, rgb = {255, 140, 0}, hex = "#FF8C00"}
}

Enable Custom RGB

JJ.CustomColor = true  -- Enable color picker in UI

πŸš— Vehicle Classes

JJ.VehicleClasses = {
    {label = "Sedan", value = "sedan", icon = "fas fa-car"},
    {label = "SUV", value = "suv", icon = "fas fa-truck"},
    {label = "Sports", value = "sports", icon = "fas fa-car-side"},
    {label = "Super", value = "super", icon = "fas fa-bolt"},
    {label = "Muscle", value = "muscle", icon = "fas fa-horse"},
    {label = "Off-road", value = "offroad", icon = "fas fa-mountain"},
    {label = "Motorcycles", value = "motorcycle", icon = "fas fa-motorcycle"},
    {label = "Compact", value = "compact", icon = "fas fa-compact-disc"},
    {label = "Van", value = "van", icon = "fas fa-shuttle-van"},
    {label = "Pickup", value = "pickup", icon = "fas fa-truck-pickup"},
    {label = "Classic", value = "classic", icon = "fas fa-car-crash"},
    {label = "Boats", value = "boat", icon = "fas fa-ship"},
    {label = "Helicopters", value = "helicopter", icon = "fas fa-helicopter"}
}

πŸš™ Vehicles

Example Vehicle

JJ.Vehicles = {
    {
        model = "adder",
        name = "Adder",
        price = 1000000,
        class = "super",
        shopType = "vehicles"
    }
}

Vehicle Only for Classic Shop

{
    model = "tornado",
    name = "Tornado",
    price = 100000,
    class = "classic",
    shopType = "classic"
}

πŸͺ Shops

Basic Shop Structure

JJ.Shops = {
    {
        type = "vehicles",
        name = "PDM - All Vehicles",
        location = {x=-458.88, y=-2274.29, z=8.51, heading=270.40},
        previewLocation = {x=-369.27, y=-2272.78, z=7.60, heading=90.58},
        testDriveLocation = {x=-319.30, y=-2195.12, z=10.02, heading=321.82},
        spawnLocation = {x=-339.47, y=-2159.67, z=10.31, heading=247.45},
        blip = {sprite = 225, color = 4, scale = 0.8},
        vehicles = {},
        npc = {enabled = true, model = "s_m_m_autoshop_02", coords = {x=-458.88, y=-2274.29, z=8.51, heading=270.40}, scenario = "WORLD_HUMAN_CLIPBOARD"},
        target = {enabled = true, label = "Open Vehicle Shop", icon = "fa-solid fa-car", distance = 2.0}
    }
}

🏁 Test Drive

JJ.TestDrive = {
    enabled = true,
    duration = 60000,   -- 60 seconds
    spawnDistance = 5.0,
    returnDistance = 10.0
}

🏷️ Plate Format

JJ.Plate = {letters = 3, numbers = 3, separator = " "}

β›½ Fuel System

JJ.FuelSystem = function(vehicle)
    Entity(vehicle).state.fuel = 100.0
end

πŸ”‘ Key System

JJ.UseKeys = true
JJ.GiveKeys = function(source, plate)
    if JJ.UseKeys then
        exports.mVehicle:ItemCarKeysClient("add", plate)
    end
end

πŸ“’ Discord Webhooks

JJ.Logs = true
JJ.WebhookPurchase = "https://discord.com/api/webhooks/xxx"

πŸ“· Preview Camera

JJ.PreviewCamera = {height = 1.0, angle = 0.0, distance = 5.0}

πŸƒ Speed and Stats

JJ.SpeedType = "kmh"  -- km/h or mph
JJ.SpeedLabel = {kmh = 'km/h', mph = 'MPH'}

πŸ“ Files Overview

  • shared/config.lua - Main configuration
  • server/server_config.lua - Discord webhooks