Config

Config = {}

Config.Framework = 'esx' -- standalone/esx/qb
Config.NotificationType = 'esx' -- esx/qb/mythic
Config.Locale = 'en' -- en/fi
Config.InteractKey = 38 -- key used for interactions (https://docs.fivem.net/docs/game-references/controls/)
Config.InteractDist = 1.2 -- dist for interacting with laptop (for target and models)
Config.Inventory = 'default' -- default / ox

Config.HelpNotification = false -- false / true, use help notification (top left) instead of the 3D text (only used if ox_lib and ox_target set to false) !! if set to true, go to locales/en.lua and change interact_button = '[E] ' to interact_button = '~INPUT_CONTEXT~ '
Config.UseOxLib = false -- false / true, remember to add " shared_script '@ox_lib/init.lua' " to fxmanifest.lua if set to true
Config.UseOxTarget = false -- false / true

Config.Command = { -- command settings
    enable = false,
    name = 'openlaptop',
    needItem = true,
}

Config.LaptopAnims = {
    item = { -- used with items
        dict = 'amb@world_human_seat_wall_tablet@female@base', -- anim@heists@ornate_bank@hack
        name = 'base', -- hack_loop
        flag = 49, -- 1
        prop = {
            model = `prop_cs_tablet`, -- hei_prop_hst_laptop
            bone = 28422, -- 60309
            pos = vec3(0.0, 0.0, 0.03), -- vec3(0.18, 0.03, 0.03)
            rot = vec3(0.0, 0.0, 0.0), -- vec3(-180.0, 0.0, -270.0)
        }
    },
    other = { -- used with Config.Locations and Config.LaptopModels
        dict = 'anim@heists@prison_heiststation@cop_reactions',
        name = 'cop_b_idle',
        flag = 1,
    }
}

Config.LaptopItems = { -- you can add multiple items here
    laptop = true,
    --tablet = true,
}
Config.Locations = { -- additional locations where you can open laptop
    --{coords = vec3(696.65, -1040.32, 22.36), dist = 1}, -- coords, dist, marker (optional)
    --{coords = vec3(697.13, -1041.93, 22.36), dist = 1, marker = {type = 2, scale = vec3(0.2, 0.2, 0.2), color = vec4(255, 255, 255, 255), bob = false, faceCamera = true}},
}
Config.LaptopModels = { -- models that can be used as laptops
    --`prop_laptop_01a`,
    --`p_laptop_02_s`,
}

Config.DefaultBackgroundImage = 'https://fivemods.io/build/assets/after-5f7ceecb.webp' -- default background image url
Config.EmailDomain = '@tk.com' -- domain used for email

Config.Apps = {
    --{
    --    name = 'New app', -- app name
    --    icon = 'IconApps', -- icon (https://tabler.io/icons)
    --    component = 'NotesApp', -- dont change, only needed for default apps
    --    width = 1200, -- app width
    --    height = 700, -- app height
    --    items = { -- items needed to use app
    --        item_name = 1, -- item name, amount
    --    },
    --    jobs = { -- jobs that can use app
    --        police = 3, -- job name, minimum grade
    --        ambulance = 2,
    --    },
    --    locations = { -- locations where app can be used
    --        {coords = vec3(1.0, 1.0, 1.0), dist = 5} -- coords, minimum distance
    --    },
    --    canUse = function() -- add custom logic if should be able to use app
    --        return true
    --    end,
    --    onUse = function() -- add custom logic when app is opened
    --        print('app opened')
    --    end,
    --    iframe = 'https://cfx-nui-tk_bosstablet/web/build/index.html', -- used to add new apps, you'll need the script UI url 
    --    displayMethod = [[ -- function used to show the iframe
    --        setTimeout(() => {
    --            const rootDiv = iframeDocument.getElementById('root');
    --            if (rootDiv?.firstElementChild) {
    --                rootDiv.firstElementChild.style.visibility = 'visible';
    --            }
    --        }, 200);
    --    ]]
    --},
    {
        name = 'Notes',
        icon = 'IconNotebook',
        component = 'NotesApp',
        width = 1200,
        height = 700,
    },
    {
        name = 'Browser',
        icon = 'IconGlobe',
        component = 'BrowserApp',
        width = 1200,
        height = 700,
    },
    {
        name = 'Calculator',
        icon = 'IconCalculator',
        component = 'CalculatorApp',
        width = 400,
        height = 500,
    },
    {
        name = 'Snake',
        icon = 'IconDeviceGamepad',
        component = 'SnakeApp',
        width = 700,
        height = 700,
    },
    {
        name = 'Email',
        icon = 'IconMail',
        component = 'EmailApp',
        width = 1200,
        height = 700,
    },
    {
        name = 'CCTV',
        icon = 'IconCamera',
        iframe = 'https://cfx-nui-tk_cctv/web/build/index.html',
        width = 1200,
        height = 700,
        displayMethod = [[
            setTimeout(() => {
                const rootDiv = iframeDocument.getElementById('root');
                if (rootDiv?.firstElementChild) {
                    rootDiv.firstElementChild.style.visibility = 'visible';
                }
            }, 200);
        ]]
    },
    {
        name = 'Company',
        icon = 'IconBusinessplan',
        iframe = 'https://cfx-nui-tk_bosstablet/web/build/index.html',
        width = 1200,
        height = 700,
        jobs = {
            police = 3,
            ambulance = 3,
        },
        displayMethod = [[
            setTimeout(() => {
                const rootDiv = iframeDocument.getElementById('root');
                if (rootDiv?.firstElementChild) {
                    rootDiv.firstElementChild.style.visibility = 'visible';
                }
            }, 200);
        ]]
    },
    {
        name = 'Prison MDT',
        icon = 'IconPrison',
        iframe = 'https://cfx-nui-tk_jail/web/build/index.html',
        width = 1200,
        height = 700,
        jobs = {
            police = 0,
        },
        displayMethod = [[
            setTimeout(() => {
                const rootDiv = iframeDocument.getElementById('root');
                if (rootDiv?.firstElementChild) {
                    rootDiv.firstElementChild.style.visibility = 'visible';
                }
            }, 200);
        ]]
    },
    {
        name = 'Boosting',
        icon = 'IconEngine',
        iframe = 'https://cfx-nui-tk_boosting/web/build/index.html',
        width = 1200,
        height = 700,
        displayMethod = [[
            setTimeout(() => {
                const rootDiv = iframeDocument.getElementById('root');
                if (rootDiv?.firstElementChild) {
                    rootDiv.firstElementChild.style.visibility = 'visible';
                }
            }, 200);
        ]]
    },
    {
        name = 'Blackmarket',
        icon = 'IconCannabis',
        iframe = 'https://cfx-nui-esx_tk_darkweb/html/index.html',
        width = 1200,
        height = 700,
        items = {
            usbstick = 1,
        },
        displayMethod = [[
            setTimeout(() => {
                iframeDocument.body.style.display = 'block';
            }, 200);
        ]]
    },
    {
        name = 'Darkweb',
        icon = 'IconPills',
        iframe = 'https://cfx-nui-esx_tk_drugs/html/index.html',
        width = 1200,
        height = 700,
        items = {
            usbstick = 1,
        },
        displayMethod = [[
            setTimeout(() => {
                iframeDocument.body.style.display = 'block';
            }, 200);
        ]]
    },
    {
        name = 'Settings',
        icon = 'IconSettings',
        modal = 'settings',
    },
}

Last updated