Full View config.lua

Preview File Updated: v1.0.7 - 08.06.2023

Config = {}

-- █▀ █▀▄ ▄▀▄ █▄ ▄█ ██▀ █   █ ▄▀▄ █▀▄ █▄▀
-- █▀ █▀▄ █▀█ █ ▀ █ █▄▄ ▀▄▀▄▀ ▀▄▀ █▀▄ █ █

Config.Core = "ESX" -- "ESX" or "QB-Core"
-- @CoreDefine - If you are using old ESX which is defined by the esx:getSharedObject trigger, enter it here but if you are using ESX Legacy or QB-Core, leave the "" and the script will complete the export itself to define the core
Config.CoreDefine = ""
Config.CoreExport = function()
	return exports['es_extended']:getSharedObject()
	-- return exports['qb-core']:GetCoreObject()
end

Config.Notification = function(message, time, type)
    if type == "success" then
        exports["vms_notify"]:Notification("TATTOO SHOP", message, time, "#27FF09", "fa-solid fa-pen-nib")
		-- ESX.ShowNotification(message)
		-- QBCore.Functions.Notify(message, "success", 5000)
    elseif type == "error" then
        exports["vms_notify"]:Notification("TATTOO SHOP", message, time, "#FF0909", "fa-solid fa-pen-nib")
		-- ESX.ShowNotification(message)
		-- QBCore.Functions.Notify(message, "error", 5000)
    end
end

Config.TextUI_Enabled = false
Config.TextUI_Open = function(msg)
    exports["interact"]:Open("E", msg) -- Here you can use your TextUI or use my free one - https://github.com/vames-dev/interact
end
Config.TextUI_Close = function()
    exports["interact"]:Close() -- Here you can use your TextUI or use my free one - https://github.com/vames-dev/interact
end

-- @PlayerLoaded for ESX: "esx:playerLoaded"
-- @PlayerLoaded for QB-Core: "QBCore:Client:OnPlayerLoaded"
Config.PlayerLoaded = 'esx:playerLoaded' -- its a trigger to load players tattoos

-- @PlayerLogout for ESX: "esx:onPlayerLogout"
-- @PlayerLogout for QB-Core: "QBCore:Client:OnPlayerUnload"
Config.PlayerLogout = 'esx:onPlayerLogout' -- its a trigger to unload players tattoos

-- @JobUpdated for ESX: "esx:setJob"
-- @JobUpdated for QB-Core: "QBCore:Client:OnJobUpdate"
Config.JobUpdated = 'esx:setJob' -- its a trigger to check players job

-- @SkinManager for ESX = "" -- you don't need to fill anything if you use "esx_skin" / "fivem-appearance" / "illenium-appearance" for ESX
-- @SkinManager for QB-Core = "qb-clothing" / "fivem-appearance" / "illenium-appearance"
Config.SkinManager = ""


Config.DistanceView = 8 -- Distance the marker will be visible
Config.DistanceAccess = 1.1 -- The distance in which it will be possible to take a seat by pressing the E key

Config.LiesAnims = {
    frontAnimDict = "amb@world_human_sunbathe@male@front@base",
    frontAnim = "base",
    backAnimDict = "switch@trevor@annoys_sunbathers",
    backAnim = "trev_annoys_sunbathers_loop_girl",
}

Config.StartingCam = {vec(.0, -.2, 0.4), vec(.0, -.205, -0.6)}

Config.BossMenu = function(jobName)
	TriggerEvent('esx_society:openBossMenu', jobName, {wash = false}) -- esx_society
	-- TriggerEvent('qb-bossmenu:client:OpenMenu') -- qb-management
end

Config.UseTattooMachineRequired = false
Config.TattooMachineItem = 'tattoo_machine'

Config.UseTattooLaserRemoverRequired = false
Config.TattooLaserRemoverItem = 'tattoo_laser'

Config.UseTattooInkRequired = false
Config.TattooInkItem = 'tattoo_ink'
Config.RemoveTattooInk = false

Config.Blip = {
    ["Sprite"] = 75,
    ["Scale"] = 0.75,
    ["Color"] = 1,
    ["Display"] = 4
}

Config.Markers = {
	['BossMenu'] = {
		id = 29,
		color = {95, 255, 95, 125}, -- rgba
		size = vec(0.33, 0.33, 0.33),
		bobUpAndDown = false,
		rotate = true
	},
	['FreeSeat'] = {
		id = 21,
		size = vec(0.25, 0.25, 0.25),
		bobUpAndDown = false,
		rotate = true
	},
	['TakenSeat'] = {
		id = 21,
		size = vec(0.25, 0.25, 0.25),
		bobUpAndDown = false,
		rotate = true
	},
}

Config.Tattooshops = {
    { -- Innocence Blvd | El Burro Heights
        business = true, -- If you want the player to be a tattoo shop employee set true
		ownerJob = "lawyer", -- If business is on true, here you must specify the work that has in this salon to manage
        pedModel = nil, -- If business is on false you can add a ped who will take care of the customer (only stands, for attractiveness and realism). If you set nil, the peda will not be.
        pedHeadingToChair = 197.46, -- Heading a player who will lie on his stomach
		pedHeadingToChairBack = 22.31, -- Heading a player who will be lying on his back
        position = vector3(1323.27, -1652.07, 51.28), -- Blip coordinates
        tattooPedSpawnPos = vector4(1327.66, -1654.03, 51.28, 42.35), -- If you have set pedModel here are the coords in which the ped spawns and goes to the player
		bossMenuPos = vector3(1324.47, -1650.12, 51.28),
		bossMenuGrades = 'boss', -- string: 'boss' or table: {'boss', 'manager'}
        takeSitMarker = {
            FreeColor = {235, 235, 235, 125}, -- RGBA color, if the seat is free
            TakenColor = {128, 0, 31, 110}, -- RGBA color, if the seat is taken
        },
        Chairs = {
            [1] = {
                position = vector3(1320.64, -1653.94, 51.28), -- Marker coordinate to take a seat
                tattooerPos = vector4(1321.84, -1654.83, 51.28, 143.44), -- Coordinates of the ped or employee in which he will stand to tattoo the customer
                chair_coord = vector4(1321.13, -1655.12, 51.9, 22.31), -- Seat coordinates
                taken = false, -- DO NOT CHANGE IT
            },
        }
    },
    {...},
}

Config.ClothesOff = {
	-- [[ FOR ESX Clothes ]]
	["male"] = {
		sex 	 = 0,
    	arms     = 15,
    	tshirt_1 = 15, 	tshirt_2 = 0,
    	torso_1  = 91, 	torso_2  = 0,
    	pants_1  = 14, 	pants_2  = 0,
    	shoes_1  = 34, 	shoes_2  = 0,
	},
	["female"] = {
		sex 	 = 1,
    	arms     = 15,
    	tshirt_1 = 34, 	tshirt_2 = 0,
    	torso_1  = 101, torso_2  = 1,
    	pants_1  = 16, 	pants_2  = 0,
    	shoes_1  = 0, 	shoes_2  = 0,
	},
	-- [[ FOR QBCore Clothes ]]
	-- ["male"] = {
	-- 	outfitData = {
	-- 		['t-shirt'] = {item = 15, texture = 0},
	-- 		['torso2'] = {item = 15, texture = 0},
	-- 		['arms'] = {item = 15, texture = 0},
	-- 		['pants'] = {item = 14, texture = 1},
	-- 		['shoes'] = {item = 34, texture = 0},
	-- 		['hat'] = {item = -1, texture = -1},
	-- 		['glass'] = {item = 0, texture = 0},
	-- 		['mask'] = {item = 0, texture = 0}
	-- 	}
	-- },
	-- ["female"] = {
	-- 	outfitData ={
	-- 		['t-shirt'] = {item = 34, texture = 0},
	-- 		['torso2'] = {item = 101, texture = 1},
	-- 		['arms'] = {item = 0, texture = 0},
	-- 		['pants'] = {item = 16, texture = 0},
	-- 		['shoes'] = {item = 1, texture = 0},
	-- 		['hat'] = {item = -1, texture = -1},
	-- 		['glass'] = {item = 0, texture = 0},
	-- 		['mask'] = {item = 0, texture = 0}
	-- 	}
	-- }
}

Config.Lang = "EN"
Config.Translate = {
    ["EN"] = {
        ["tattoo_blip"] = "Tattoo Shop",
        ["take_a_sit"] = "Lie down", -- if textui is disabled then you will use ESX.ShowHelpNotification, set this: "Press ~INPUT_CONTEXT~ to take a sit"
        ["open_bossmenu"] = "Boss Menu", -- if textui is disabled then you will use ESX.ShowHelpNotification, set this: "Press ~INPUT_CONTEXT~ to open boss menu"
        ["get_up"] = "Press ~INPUT_VEH_DUCK~ to get up",
        ["open_tattooshop"] = "Take care of the customer", -- if textui is disabled then you will use ESX.ShowHelpNotification, set this: "Press ~INPUT_CONTEXT~ to open menu"
        ["paid"] = "You paid %s$ for tattoo.",
        ["nomoney"] = "You don't have enough money.",
        ["started_tattooing"] = "The tattoo artist started tattooing you.",
		["removing_tattooing"] = "Tattoo has been removed from your skin.",
		["dont_have_tattoo_machine"] = "You don't have a tattoo machine.",
		["dont_have_tattoo_ink"] = "You don't have a tattoo ink.",
		["dont_have_tattoo_laser"] = "You don't have a laser for tattoo removal.",
    },
    ["PL"] = {
        ["tattoo_blip"] = "Salon tatuaży",
        ["take_a_sit"] = "Połóż się", -- if textui is disabled then you will use ESX.ShowHelpNotification, set this:      "Press ~INPUT_CONTEXT~ to take a sit"
        ["open_bossmenu"] = "Menu Szefa", -- if textui is disabled then you will use ESX.ShowHelpNotification, set this:  "Naciśnij ~INPUT_CONTEXT~ to open boss menu"
        ["get_up"] = "Naciśnij ~INPUT_VEH_DUCK~ aby wstać",
        ["open_tattooshop"] = "Klient", -- if textui is disabled then you will use ESX.ShowHelpNotification, set this:    "Press ~INPUT_CONTEXT~ to open menu"
        ["paid"] = "Zapłacono %s$ za tatuaż.",
        ["nomoney"] = "Nie posiadasz wystarczająco pieniędzy.",
		["started_tattooing"] = "Tatuażysta wytatuował Ci nowy wzór.",
		["removing_tattooing"] = "Tatuażysta usunął tatuaż z Twojej skóry.",
		["dont_have_tattoo_machine"] = "Nie posiadasz maszynki do tatuażu.",
		["dont_have_tattoo_ink"] = "Nie posiadasz tuszu do tatuażu.",
		["dont_have_tattoo_laser"] = "Nie posiadasz laseru do usuwania tatuażu.",
    },
}

if not IsDuplicityVersion() then
Config.TattooList = {
	mpbusiness_overlays = { -- 1
		{label = GetLabelText("TAT_BUS_005"), nameHash = 'MP_Buis_M_Neck_000', forFemaleAlso = false, price = 500, removePrice = 750, anim = "BACK", camera = {vec(.1, -0.55, -0.35), vec(.1, -0.555, -0.6)}},
		{...},
	},
	mphipster_overlays = { -- 2
		{...},
	},
	mpbiker_overlays = { -- 3
		{...},
	},
	mpairraces_overlays = { -- 4
		{...},
	},
	mpbeach_overlays = { -- 5
		{...},
	},
	mpchristmas2_overlays = { -- 6
		{...},
	},
	mpgunrunning_overlays = { -- 7
		{...},
	},
	mpimportexport_overlays = { -- 8
		{...},
	},
	mplowrider2_overlays = { -- 9
		{...},
	},
	mplowrider_overlays = { -- 10
		{...},
	},
	vms_overlays = { -- 11
		{...},
	},
	multiplayer_overlays = { -- 12
		{...},
	},
}
end

Last updated