Config

Basic configuration for the NProbleM Driving School Script. Suitable for documentation use.

NMConfig = {}

NMConfig['Framework'] = 'qb' -- Specifies the framework in use: 'esx' or 'qb'.

NMConfig['SQL'] = { -- Defines which SQL resource to use; the one marked as true will be active.
    ['oxmysql'] = true,       -- Use oxmysql.
    ['ghmattimysql'] = false, -- Use ghmattimysql.
}

NMConfig['Target'] = {
    targetType = 'drawtext', -- Type of target system used for interactions: 'qb', 'ox', or 'drawtext'.
}

NMConfig['General'] = {
    currentLocaleLanguage = 'en', -- Language used for in-game messages and labels.
    currentNotifyResource = 'qb', -- Notification system: options are 'okok', 'native', 'qb', 'ox'.
    logWebhook = 'https://discord.com/api/webhooks/1382686094792851547/eDmVNAbGGWPKwZJ4byQvNKBrfTGo70WhCSSWGnc5N1D_pt_n6tpVbRftuCniXzwLAi3R', -- Enter your webhook here.

    chatCommands = { -- Chat command names used to trigger different script actions.
        listDrivingSchools = 'dmvList',         -- Lists available driving schools.
        createDrivingSchool = 'createDMV',      -- Creates a new driving school.
        getIdentifier = 'getCharID',            -- Gets the player’s character identifier.
        dmvNoclip = 'dmvNoclip'                 -- Custom noclip command for this script. Use only if you don't want to use your server's built-in noclip.
    },

    popUpScreenPlace = 'top', -- Position of popup (Practical Warning Popup) UI messages: 'top', 'bottom', 'left', 'right'.

    changeWorldOnPractical = true, -- Whether to change the world instance during practical test. (Recommended: true)

    practicalFailScenarios = 1, -- What happens when player fails the practical test:
                                -- 1 = Manual return to school.
                                -- 2 = Quick teleport with fade-out.

    teleportToVehicle = true, -- If true, player will be automatically teleported into the test vehicle.

    licensePrintCosts = {
        vehicle = 250,       -- Cost to print a car license
        motorcycle = 125,    -- Cost to print a motorcycle license
        truck = 300,         -- Cost to print a truck license
        plane = 500,         -- Cost to print a plane license
        helicopter = 500,    -- Cost to print a helicopter license
        boat = 400           -- Cost to print a boat license
    },


    defaultSpeedLimits = { -- Default speed limits by vehicle type (in mph or km/h depending on server settings).
        vehicle = 60,
        motorcycle = 50,
        truck = 45,
        plane = nil,        -- Not recommended to set limits.
        helicopter = nil,   -- Not recommended to set limits.
        boat = 45
    },

    distanceChecks = { -- Minimum distance required to trigger the checkpoint marker during the practical test.
        vehicle = 1.5,
        motorcycle = 1.5,
        truck = 3.5,
        plane = 7.5,
        helicopter = 7.5,
        boat = 7.5
    },

    licenseItemNames = { -- Item names used in the inventory for each license type.
        vehicle = 'driver_license',
        motorcycle = 'motorcycle_driver_license',
        truck = 'truck_driver_license',
        plane = 'plane_driver_license',
        helicopter = 'helicopter_driver_license',
        boat = 'boat_driver_license'
    },

    ItemClassNames = { -- Display names shown to the player (used in inventory UIs). ( only for qb and qbox at the moment )
        vehicle = 'Class C Driver License',
        motorcycle = 'Class M Motorcycle License',
        truck = 'Class A Commercial Driver License',
        plane = 'Class P Pilot License',
        helicopter = 'Class H Helicopter License',
        boat = 'Class B Boating License'
    },
    
    adminCharIDs = { -- Character IDs with admin access to driving school commands (e.g. creating/editing schools).
        'char1:33380dcc70c58b515a4fd155b7bb6d2a0861b9af',
        'PUF78844'
        -- Add more character identifiers as needed.
    },

    markerOptions = { -- Available marker styles for checkpoints.
        {label = 'Vertical Cylinder (1)', value = 1},
        {label = 'Chevron (2)', value = 2},
        {label = 'Upside-down Cone (3)', value = 3},
        {label = 'Verticle Circle (6)', value = 6},
        {label = 'Ring (28)', value = 28}
    },

    zOffsetByType = { -- Z-axis offset to properly place the marker on the ground depending on its shape.
        [1] = -1.0,  -- Vertical Cylinder
        [2] = -0.5,  -- Chevron
        [3] = 0.0,   -- Upside-down Cone
        [6] = 0.0,   -- Vertical Circle
        [28] = -0.8  -- Ring
    },
}

Last updated