Config

Basic configuration for the NProbleM Dealership Creator Script. Suitable for documentation use.

NMConfig = {}

-- Framework selection: 'esx' or 'qb'
NMConfig['Framework'] = 'qb' 

-- SQL Resource configuration: only one should be true
NMConfig['SQL'] = {
    ['oxmysql'] = true,       -- Use oxmysql (recommended for QBcore)
    ['ghmattimysql'] = false, -- Use ghmattimysql (alternative)
}

-- Target system configuration for interactions
NMConfig['Target'] = {
    targetType = 'qb', -- 'qb', 'ox', or 'drawtext' (defines how players interact)
}

-- General settings
NMConfig['General'] = {
    currentNotifyResource = 'ox', -- Notification system: 'okok', 'native', 'qb', 'ox'

    currentLocaleLanguage = 'en', -- Language for messages and prompts

    -- Chat command mappings
    chatCommands = {
        createDealership = 'createds',      -- Command to create a new dealership
        manageDealerships = 'myds',         -- Command to manage existing dealerships
        vehicleInstallments = 'payments',   -- Command to view/manage vehicle installments
        warehouseSettings = 'warehouse'     -- Command to manage warehouse settings
    },

    -- Test drive coordinates and duration
    testDriveCoords = {
        land = vector4(1169.66, -3325.09, 5.9, 1.5),   -- Land vehicle test drive location
        water = vector4(-800.21, -1500.32, 0.0, 90.0), -- Water vehicle test drive location
        air = vector4(-980.22, -3000.55, 13.0, 120.0)  -- Air vehicle test drive location
    },
    testDriveLength = 60, -- Test drive duration in seconds (60 = 1 minute)

    teleportVehicleAfterPurchase = true, -- Teleports vehicle to player after purchase

    stockVehicleTargetType = 'drawText', -- Interaction type for stock vehicles ('target' or 'drawText')

    canEveryoneEnterWarehouse = false, -- If true, any player can enter the warehouse

    -- Warehouse locations
    warehouseLocations = {
        ['premium'] = vector4(238.55, -1004.81, -99.0, 86.11),
        ['middle'] = vector4(1295.21, 262.82, -49.06, 182.82),
        ['big'] = vector4(-1243.23, -3023.26, -48.49, 78.36)
    },

    -- Labels for warehouse types
    warehouseLabels = {
        ['premium'] = 'Platinum Vault',
        ['middle'] = 'Cityline Depot',
        ['big'] = 'Titan Storage'
    },

    -- Vehicles that are banned in dealerships (only works with framework option)
    bannedVehicleModels = {
        'maverick', -- Example: helicopter model banned
    },
    bannedCategorys = {
        'helicopter', -- Vehicle categories banned
        'plane'
    },

    -- Character IDs with admin access to dealership commands
    adminCharIDs = { 
        'char1:33380dcc70c58b515a4fd155b7bb6d2a0861b9af', -- Example charID
        'PUF78844'
    },
}

-- Installment / finance settings
NMConfig['Installments'] = {
    deletionThreshold = 86400,     -- Time in seconds before unpaid vehicle is deleted (24h)
    interestInterval = 3600,       -- Interval in seconds to apply interest (1h)
    interestRate = 0.02,           -- Interest rate per interval (2%)
}

-- SQL Table configuration per framework
NMConfig['SQLTables'] = {
    esx = {
        vehicles = 'owned_vehicles', -- Table name for vehicles
        owner = 'owner',             -- Column for vehicle owner identifier
        plate = 'plate'              -- Column for vehicle plate
    },
    qb = {
        vehicles = 'player_vehicles', -- Table name for vehicles
        owner = 'citizenid',          -- Column for player identifier
        plate = 'plate'               -- Column for vehicle plate
    },
}

Last updated