config.lua

--[[
    - this script needs tgiann-core script to work, you can download the script from your keymaster account
      Start tgiann-core script after es_extented/qb-core script and before tgiann-* scripts
      Adjust the tgiann-core config file according to the framework you are using

    Docs: https://tgiann.gitbook.io/tgiann/scripts/tgiann-clothing
]]

tgiCoreExports = exports["tgiann-core"]
config = tgiCoreExports:getConfig()

config.lang = "en"

-- When set to false, players can save their outfits
-- Set this setting to false if you are not using tgiann-inventory or do not want clothes to be items
-- if you are using tgiann-inventory, make this and the Config.clothingAsItem setting in inventory the same
-- false version; https://youtu.be/IflmFDyMCnE?t=80
config.clothingAsItem = true

config.refreshSkin = {       -- Command to refresh the character
    active = true,
    command = "refreshskin", -- command name
    eventName = "tgiann-clothing:refreshSkin"
}

config.showAllClothe = true                                     -- If its true, players will be able to see all clothes. If false players will only see those in config.clothe(configs/femalePrice.lua or configs/malePrice.lua)
config.disableIdleCam = true                                    -- If true it disables the Idle Cam
config.displayRadar = false                                     -- If true minimap will close when opening the clothingmenu, if false it will stay open
config.creationCoords = vector4(-795.57, 331.79, 200.42, 270.0) -- Character creation location
config.spawnBack = true                                         -- If true then player will spawn back to last location after creating character
config.spawnCoords = vector4(435.99, -644.68, 27.74, 86.23)     -- Cord to spawn Player after character creation

config.defaultPrice = 10                                        -- Default price for clothes not written in price config (configs/malePrice.lua - configs/femalePrice.lua)
config.showClotheOptionsWhenCharacterCreating = false           -- Allow the player to choose clothes when creating a character

config.events = {
    qb = {
        onPlayerLoaded = "QBCore:Client:OnPlayerLoaded",
        createFirstCharacter = "qb-clothes:client:CreateFirstCharacter"
    },
    esx = {
        onPlayerLoaded = "esx:playerLoaded",
        createFirstCharacter = "tgiann-clothing:esx:createNew"
    }
}

config.showArmor = {
    active = true,       -- If true Players will be able to wear an Armour if the Armour has a value
    defaultMan = {       -- If player has no specific armour on this will be shown as armour(Male)
        drawableId = 10, -- Vest/Armour/Bulletproof number on your clothings
        textureId = 0,
    },
    defaultFemale = {    -- If player has no specific armour on this will be shown as armour(Female)
        drawableId = 10, -- Vest/Armour/Bulletproof number on your clothings
        textureId = 1,
    }
}

config.blips = {
    clothing = {
        activeAfterLogin = true,                       -- If true, clothingshop blips will automatically turn on when player joins game
        event = "tgiann-clothing:clothing:blip:onOff", -- You can use this event to toggle the blips
        sprite = 73,
        color = 46,
        scale = 0.5
    },
    barber = {
        activeAfterLogin = true,                     -- If true, Barber blips will automatically turn on when player joins game
        event = "tgiann-clothing:barber:blip:onOff", -- You can use this event to toggle the blips
        sprite = 71,
        color = 51,
        scale = 0.5
    },
}

config.maxValues = {
    mom = 91,
    dad = 91,
}

-- Command for players to tie up hair
config.hairClips = {
    command = "hair", -- Command name
    male = 12,        -- Default hair number
    female = 11,      -- Default hair number
}

config.naked = {
    male = {
        tshirt_1 = 15,
        tshirt_2 = 0,
        torso_1 = 15,
        torso_2 = 0,
        arms_1 = 15,
        arms_2 = 0,
        pants_1 = 61,
        pants_2 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, -- random for color
        shoes_1 = 34,
        shoes_2 = 0
    },
    female = {
        tshirt_1 = 15,
        tshirt_2 = 0,
        torso_1 = 15,
        torso_2 = 0,
        arms_1 = 15,
        arms_2 = 0,
        pants_1 = 62,
        pants_2 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, -- random for color
        shoes_1 = 35,
        shoes_2 = 0,
    }
}

-- If one of the following masks is worn by the character, it will change the face type and prevent it from protruding beyond the mask.
config.maskNumber = {
    man = { 266, 265, 263, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 237, 236, 234, 233, 232, 231, 230, 228, 227, 225, 224, 223, 222, 221, 220, 219, 214, 213, 212, 211, 205, 203, 200, 194, 193, 192, 191, 190, 189, 188, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 174, 173, 172, 171, 170, 168, 167, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 147, 146, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 119, 118, 117, 115, 113, 112, 110, 108, 106, 105, 104, 103, 102, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 35, 34, 33, 32, 31, 30, 29, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 10, 9, 8, 7, 6, 5, 4, 3, 2 },
    woman = { 248, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 223, 222, 221, 220, 219, 217, 216, 214, 213, 212, 211, 210, 209, 202, 198, 196, 195, 194, 193, 192, 191, 189, 188, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 174, 173, 172, 171, 170, 168, 167, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 147, 146, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 119, 118, 117, 115, 113, 112, 110, 108, 106, 105, 104, 103, 102, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 35, 34, 33, 32, 31, 30, 29, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }
}

config.defaultAnimation = { dict = 'anim@amb@clubhouse@mini@darts@', name = 'wait_idle' }
config.animations = {
    {
        img = "anim_2",
        anim = {
            dict = "airforce@attention",
            name = "base"
        }
    },
    {
        img = "anim_4",
        anim = {
            dict = "anim@mp_corona_idles@female_b@idle_a",
            name = "idle_a"
        }
    },
    {
        img = "anim_1",
        anim = {
            dict = "rcmnigel1a",
            name = "base"
        }
    },
    {
        img = "anim_3",
        anim = {
            dict = "random@shop_tattoo",
            name = "_idle_a"
        }
    },
}

-- After Player created Character, these clothes will be worn by default (If config.showClotheOptionsWhenCharacterCreating is true, this config will not work)
config.defaultClothe = {
    male = {
        ['tshirt_1'] = 15,
        ['tshirt_2'] = 0,
        ['torso_1'] = 34,
        ['torso_2'] = 0,
        ['arms'] = 0,
        ['arms_2'] = 0,
        ['pants_1'] = 12,
        ['pants_2'] = 0,
        ['shoes_1'] = 7,
        ['shoes_2'] = 2,
    },
    female = {
        ['tshirt_1'] = 14,
        ['tshirt_2'] = 0,
        ['torso_1'] = 3,
        ['torso_2'] = 2,
        ['arms'] = 3,
        ['arms_2'] = 0,
        ['pants_1'] = 0,
        ['pants_2'] = 0,
        ['shoes_1'] = 3,
        ['shoes_2'] = 0,
    }
}


config.clothe = {}
config.langs = {}

if IsDuplicityVersion() then return end

config.Stores = {
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(1685.8996582031, 4830.1655273438),
        zone = PolyZone:Create({
            vector2(1685.8996582031, 4830.1655273438),
            vector2(1687.8397216797, 4815.4614257812),
            vector2(1699.8541259766, 4817.1440429688),
            vector2(1699.4880371094, 4832.0375976562)
        }, {
            name = "clotheshop1",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-710.86645507812, -165.10945129395),
        zone = PolyZone:Create({
            vector2(-710.86645507812, -165.10945129395),
            vector2(-721.05480957031, -147.39605712891),
            vector2(-712.88800048828, -144.42813110352),
            vector2(-705.67138671875, -149.85957336426),
            vector2(-700.11590576172, -150.3238067627),
            vector2(-699.20428466797, -152.26374816895),
            vector2(-703.00360107422, -160.07594299316)
        }, {
            name = "clotheshop2",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-1200.5401611328, -784.46215820312),
        zone = PolyZone:Create({
            vector2(-1200.5401611328, -784.46215820312),
            vector2(-1201.7572021484, -782.82983398438),
            vector2(-1201.4144287109, -780.75720214844),
            vector2(-1199.4028320312, -779.26525878906),
            vector2(-1202.3199462891, -775.35479736328),
            vector2(-1204.2076416016, -777.01788330078),
            vector2(-1206.3055419922, -776.65362548828),
            vector2(-1207.6925048828, -774.86584472656),
            vector2(-1190.5494384766, -762.5751953125),
            vector2(-1187.3837890625, -761.298828125),
            vector2(-1184.9050292969, -765.91174316406),
            vector2(-1180.6319580078, -762.66363525391),
            vector2(-1179.4256591797, -764.33050537109),
            vector2(-1183.8443603516, -767.48773193359),
            vector2(-1182.3890380859, -769.48852539062)
        }, {
            name = "clotheshop3",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(418.61126708984, -812.64849853516),
        zone = PolyZone:Create({
            vector2(418.61126708984, -812.64849853516),
            vector2(418.59124755859, -797.91107177734),
            vector2(431.97476196289, -797.9140625),
            vector2(431.94683837891, -804.32781982422),
            vector2(430.57855224609, -812.51507568359)
        }, {
            name = "clotheshop4",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-153.64421081543, -295.70358276367),
        zone = PolyZone:Create({
            vector2(-153.64421081543, -295.70358276367),
            vector2(-160.25930786133, -315.05709838867),
            vector2(-168.00434875488, -310.84503173828),
            vector2(-168.84007263184, -301.81616210938),
            vector2(-171.67227172852, -297.27914428711),
            vector2(-170.97648620605, -295.20126342773),
            vector2(-162.83102416992, -293.0358581543)
        }, {
            name = "clotheshop5",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(82.339218139648, -1401.2438964844),
        zone = PolyZone:Create({
            vector2(82.339218139648, -1401.2438964844),
            vector2(68.465690612793, -1401.2481689453),
            vector2(69.020111083984, -1394.8198242188),
            vector2(70.234710693359, -1386.4799804688),
            vector2(82.314506530762, -1386.5581054688)
        }, {
            name = "clotheshop 6",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-813.35583496094, -1076.3732910156),
        zone = PolyZone:Create({
            vector2(-813.35583496094, -1076.3732910156),
            vector2(-826.13665771484, -1083.7574462891),
            vector2(-832.94000244141, -1072.0089111328),
            vector2(-819.51422119141, -1066.0490722656)
        }, {
            name = "clotheshop7",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-1462.1739501953, -240.29034423828),
        zone = PolyZone:Create({
            vector2(-1462.1739501953, -240.29034423828),
            vector2(-1448.5577392578, -225.15390014648),
            vector2(-1443.1811523438, -231.98936462402),
            vector2(-1446.0865478516, -240.5563659668),
            vector2(-1444.9871826172, -245.91374206543),
            vector2(-1446.36328125, -247.39823913574),
            vector2(-1454.9477539062, -246.28150939941)
        }, {
            name = "clotheshop8",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-4.6165046691895, 6513.1479492188),
        zone = PolyZone:Create({
            vector2(-4.6165046691895, 6513.1479492188),
            vector2(6.1451058387756, 6523.1865234375),
            vector2(15.45094203949, 6513.1875),
            vector2(3.6462807655334, 6504.4868164062)
        }, {
            name = "clotheshop9",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(612.39031982422, 2747.03125),
        zone = PolyZone:Create({
            vector2(612.39031982422, 2747.03125),
            vector2(611.64288330078, 2769.8024902344),
            vector2(616.61975097656, 2776.0617675781),
            vector2(618.40551757812, 2776.3037109375),
            vector2(621.25915527344, 2771.0454101562),
            vector2(623.86657714844, 2747.7705078125),
            vector2(622.12359619141, 2747.5361328125),
            vector2(620.52978515625, 2748.9265136719),
            vector2(620.33831787109, 2751.3830566406),
            vector2(615.68322753906, 2751.0974121094),
            vector2(615.84069824219, 2748.58984375),
            vector2(614.40972900391, 2747.0102539062)
        }, {
            name = "clotheshop10",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(1188.3782958984, 2716.5703125),
        zone = PolyZone:Create({
            vector2(1188.3782958984, 2716.5703125),
            vector2(1202.9870605469, 2715.2487792969),
            vector2(1203.3488769531, 2703.0417480469),
            vector2(1188.3149414062, 2703.2392578125)
        }, {
            name = "clotheshop11",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-3172.2329101562, 1061.6895751953),
        zone = PolyZone:Create({
            vector2(-3172.2329101562, 1061.6895751953),
            vector2(-3170.4267578125, 1060.9071044922),
            vector2(-3169.63671875, 1058.8791503906),
            vector2(-3170.6550292969, 1056.6370849609),
            vector2(-3166.3298339844, 1054.6983642578),
            vector2(-3165.3764648438, 1057.0301513672),
            vector2(-3163.3598632812, 1057.841796875),
            vector2(-3161.125, 1056.8330078125),
            vector2(-3172.5615234375, 1036.1121826172),
            vector2(-3178.787109375, 1033.0718994141),
            vector2(-3180.5993652344, 1033.8356933594),
            vector2(-3180.6806640625, 1039.7429199219)
        }, {
            name = "clotheshop12",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(-1091.9829101562, 2709.6491699219),
        zone = PolyZone:Create({
            vector2(-1091.9829101562, 2709.6491699219),
            vector2(-1103.0356445312, 2699.8571777344),
            vector2(-1111.9705810547, 2709.7937011719),
            vector2(-1107.1424560547, 2713.9892578125),
            vector2(-1100.1926269531, 2718.5329589844)
        }, {
            name = "clotheshop13",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(122.8928527832, -205.94874572754),
        zone = PolyZone:Create({
            vector2(122.8928527832, -205.94874572754),
            vector2(124.81025695801, -206.6634979248),
            vector2(125.71154785156, -208.57774353027),
            vector2(124.85503387451, -210.89176940918),
            vector2(129.23416137695, -212.50172424316),
            vector2(130.09338378906, -210.16854858398),
            vector2(132.03707885742, -209.27716064453),
            vector2(134.06098937988, -210.07257080078),
            vector2(124.37784576416, -231.36656188965),
            vector2(118.24362182617, -234.93994140625),
            vector2(116.407081604, -234.42546081543),
            vector2(115.91317749023, -228.45652770996)
        }, {
            name = "clotheshop15",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(5076.8735351562, -4604.4858398438),
        zone = PolyZone:Create({
            vector2(5076.8735351562, -4604.4858398438),
            vector2(5081.1630859375, -4594.5732421875),
            vector2(5052.0888671875, -4584.0375976562),
            vector2(5048.1899414062, -4594.443359375)
        }, {
            name = "clotheshop16",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(4918.1376953125, -5228.2973632812),
        zone = PolyZone:Create({
            vector2(4918.1376953125, -5228.2973632812),
            vector2(4928.9326171875, -5243.6630859375),
            vector2(4922.451171875, -5248.2612304688),
            vector2(4911.5571289062, -5232.7548828125)
        }, {
            name = "clotheshop17",
        })
    },
    {
        blip = true,
        shopType = "clothing",
        blipCoords = vector2(965.32, 21.31),
        zone = PolyZone:Create({
            vector2(960.96282958984, 27.120042800903),
            vector2(963.25372314453, 15.043923377991),
            vector2(971.3896484375, 16.919237136841),
            vector2(968.80352783203, 25.624349594116),
            vector2(966.28912353516, 25.132476806641),
            vector2(965.73309326172, 28.605640411377)
        }, {
            name = "clotheshop18",
        })
    },
    { -- unicorn
        blip = false,
        shopType = "clothing",
        blipCoords = vector3(959.52716064453, -3061.8576660156, 5.9007654190063),
        zone = PolyZone:Create({
            vector2(110.9681930542, -1305.9279785156),
            vector2(106.68984222412, -1308.396484375),
            vector2(102.05298614502, -1300.5065917969),
            vector2(107.52133178711, -1297.5291748047)
        }, {
            name = "unicorn",
            minZ = 27.769010543823,
            maxZ = 29.76935005188
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(-808.67687988281, -178.70150756836),
        zone = PolyZone:Create({
            vector2(-808.67687988281, -178.70150756836),
            vector2(-807.02545166016, -181.61875915527),
            vector2(-809.30401611328, -182.96809387207),
            vector2(-808.05523681641, -185.14138793945),
            vector2(-819.75915527344, -193.23866271973),
            vector2(-825.87567138672, -182.23979187012)
        }, {
            name = "berber1",
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(138.24328613281, -1702.7807617188),
        zone = PolyZone:Create({
            vector2(138.24328613281, -1702.7807617188),
            vector2(142.77433776855, -1706.4708251953),
            vector2(135.54319763184, -1714.9221191406),
            vector2(133.64506530762, -1713.1563720703),
            vector2(133.92269897461, -1712.0684814453),
            vector2(131.84210205078, -1710.2606201172)
        }, {
            name = "berber2",
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(-1277.8315429688, -1120.5123291016),
        zone = PolyZone:Create({
            vector2(-1277.8315429688, -1120.5123291016),
            vector2(-1288.8289794922, -1120.5031738281),
            vector2(-1288.8167724609, -1117.9390869141),
            vector2(-1287.7214355469, -1117.4808349609),
            vector2(-1287.7330322266, -1114.7182617188),
            vector2(-1277.8419189453, -1114.7563476562)
        }, {
            name = "berber3",
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(1932.0532226562, 3736.1662597656),
        zone = PolyZone:Create({
            vector2(1932.0532226562, 3736.1662597656),
            vector2(1937.5708007812, 3726.6799316406),
            vector2(1935.3822021484, 3725.3244628906),
            vector2(1934.3698730469, 3726.1408691406),
            vector2(1932.0354003906, 3724.7399902344),
            vector2(1926.896484375, 3733.2145996094)
        }, {
            name = "berber4",
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(1205.7321777344, -474.38525390625),
        zone = PolyZone:Create({
            vector2(1205.7321777344, -474.38525390625),
            vector2(1206.3671875, -471.94644165039),
            vector2(1207.5393066406, -471.73193359375),
            vector2(1208.2751464844, -469.08966064453),
            vector2(1217.8385009766, -471.66714477539),
            vector2(1216.3311767578, -477.24276733398)
        }, {
            name = "berber5",
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(-34.027080535889, -145.63784790039),
        zone = PolyZone:Create({
            vector2(-34.027080535889, -145.63784790039),
            vector2(-31.625919342041, -146.50546264648),
            vector2(-31.540845870972, -147.6526184082),
            vector2(-28.885417938232, -148.67314147949),
            vector2(-32.37495803833, -157.97094726562),
            vector2(-37.777011871338, -155.93859863281)
        }, {
            name = "berber6",
        })
    },
    {
        blip = true,
        shopType = "barber",
        blipCoords = vector2(-272.98220825195, 6226.4267578125),
        zone = PolyZone:Create({
            vector2(-272.98220825195, 6226.4267578125),
            vector2(-277.04840087891, 6222.3315429688),
            vector2(-284.99057006836, 6230.1166992188),
            vector2(-283.04922485352, 6231.9130859375),
            vector2(-281.93325805664, 6231.47265625),
            vector2(-280.00537109375, 6233.3740234375)
        }, {
            name = "berber7",
        })
    },
}

config.warDropSaveData = {
    "tshirt_2", "tshirt_1", "torso_2", "torso_1", "decals_2", "decals_1", "arms_2", "arms", "pants_2", "pants_1", "shoes_2", "shoes_1", "mask_2", "mask_1", "bproof_2", "bproof_1", "chain_2", "chain_1", "helmet_2", "helmet_1", "glasses_2", "glasses_1", "watches_2", "watches_1", "bracelets_2", "bracelets_1", "ears_2", "ears_1", "bags_2", "bags_1"
}

Last updated