[PAID] [ESX] [QB] JC-Nails

A script by JucaScripts

No reviews yet.
[PAID] [ESX] [QB] JC-Nails main image

Full Description

BUY HERE $25.00

Preview

Other products:

JC-Nails :nail_care:
Complete nail work for Fivem, you want the characters of your server to show off magnificent and stylized nails with this script you will be able to do it

With this purchase you receive for free all the updates that can come out for this script

Functionality:

  • F6 Nail Menu if you have the nail job or you can use the new double job functionality
  • Boss actions.
  • Send bills.
  • Blips on map.
  • Animation when a new nail is applied.
  • Languages in English and Spanish.

3 types of ways to use the script

  • Onlyjob
    • This option you must have a job like any other job
  • Multijob
    • This option is created by me with this option you can have a job and use the nails menu (If you choose this option you must execute the sql jcjobs.sql)
  • Store
    • It does not need any work and the player can change the nails at the specified coordinates (The coordinates are added in the config.lua)

What is included in this package

  • Script JC-nails
  • Map (map credits to cc-customs)
  • 4 Types of nails with 18 different colors each

Compatibility

  • Framework
    • ESX All versions
    • QBCORE
  • Clothing
    • illenium-appearance
    • fivem-appearance
    • esx_skin
    • qb-clothing
    • ak47_qb_clothing
    • codem-appearance
  • Menu
    • ox_lib
    • qb-menu
    • esx_menu_default

Configuration

Config.lua
Config = {}

-- 'auto_detect' for auto detect framework
-- 'esx' for ESX
-- 'qb' for QB
Config.Framework = 'auto_detect'

-- Used export method
-- If you have getObject problem change this option to false
Config.MethodExport = true

-- This is name for your framework
-- If you use a custom clothing name, place it in clothing name
Config.NameListResource = {
    ['esx'] = 'es_extended',
    ['qb'] = 'qb-core',
    ['clothing'] = ''
}

-- Type menu
-- 'framework' - Menu of your framework
-- 'ox_lib' - Open menu ox_lib
Config.Menu = 'framework'

-- 0 - auto detect clothing
-- 1 - esx_skin or qb-clothing
-- 2 - fivem-appearance or illenium-appearance
-- 3 - ak47_qb_clothing
-- 4 - codem-appearance
Config.Clothing = 0

-- Your triggers names 
Config.ListEvent = {
    ['esx'] = {
        ['esx'] = 'esx:getSharedObject',
        ['bill'] = 'esx_billing:sendBill',
        ['society'] = 'esx_society:openBossMenu'
    },

    ['qb'] = {
        ['qb-bossmenu'] =  'qb-bossmenu:server:openMenu',
        ['qb-management'] = 'qb-bossmenu:client:OpenMenu'
    }
}

-- β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•
--β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•    β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β•šβ•β•β•β•β–ˆβ–ˆβ•‘
--β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘        β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
-- β•šβ•β•β•β•β•β• β•šβ•β•        β•šβ•β•   β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•β•β•šβ•β•β•β•β•β•β•

-- Type
-- 1 - Onlyjob - This option you must have a job like any other job 
-- 2 - Multijob - This option is created by me with this option you can have a job and use the nails menu
-- 3 - Store - It does not need any work and the player can change the nails at the specified coordinates.
-- Name - The job name
Config.Job = {
    Type = 1,
    Name = 'nail'
}

-- These coordinates only work if Config.Job.Type is equal to 3 else ignore this coordinates
Config.Coords = {
    vector3(218.93, -1546.04, 29.29),
    vector3(215.83, -1548.23, 29.29),
}

-- Open key menu default F6
Config.KeyOpenMenu = 167

-- Menu position only esx
Config.MenuPos = 'bottom-right'

-- Time animation in miliseconds
Config.Animation = {
    Dict = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
    Anim = 'machinic_loop_mechandplayer',
    TimeAnimation = 3000 
}

-- This option is only allowed for esx so qbus will always be true
-- if true it only enters the function once if the player is close to the marker
-- if it is false it will enter the function every millisecond if the player is close to the marker
-- This option is optional to modify only if you have problems with the marker
Config.PassiveHelpNotify = false

-- true The player could nail himself when there are no players nearby and also nail nearby players
-- false The player can only nail nearby players
Config.SelfNailMenu = true

-- only if you use Config.Job.Type as 3 this will be the money that will be charged to the player
Config.StorePayment = 250

-- Here you can add more nails to the menu
-- The nails in the jc nails_pack are replaced in the bag but you can change it
Config.Nails = {
    -- TYPE OF CLOTHING LIST
    --> mask
    --> pants
    --> bags
    --> shoes
    --> chains
    --> shirt
    --> body_armor
    --> decail
    --> jacket
    Type = 'bags',

    -- id = number clothing
    -- max = max colour
    Numbers = {
        ['mp_f_freemode_01'] = {   -- FEMALE PED
            {id = 52, max = 9},
            {id = 53, max = 9},
            {id = 54, max = 9},
            {id = 55, max = 9},
            {id = 56, max = 9},
            {id = 57, max = 9},
            {id = 58, max = 9},
        },

        --[[ 
            Nails for male ped are not included in the package for now. If you have nails for men, you must place the numbers here. 
        ]]
        ['mp_m_freemode_01'] = {   -- MALE PED
            {id = 52, max = 9}, 
        },
    }
}

Config.Groups = {
    ['esx'] = {                                                                         
        'superadmin',
        'admin'
    },
    ['qb'] = {
        'god',
        'admin'
    }
}

--β–ˆβ–ˆβ•—      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•
--β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β•šβ•β•β•β•β–ˆβ–ˆβ•‘
--β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
--β•šβ•β•β•β•β•β•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β•β•šβ•β•  β•šβ•β•   β•šβ•β•   β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•β•β•šβ•β•β•β•β•β•β•                                                                   

-- Draw marker types
Config.DrawMarker = {
    DrawDistance = 10.0,
    type = 20,
    size = {0.5,0.5,0.5},
    rgb = {46,129,183}
}

-- Blips
Config.Blip = {
    Enable = true,
    Coords = vector3(219.92, -1543.41, 29.29),
    Options = {
        Sprite = 621,
        Color = 8,
        Scale = 0.8,
        Display = 4
    }
}

-- Options bossMenu
-- WashMoney true or false only esx 
Config.BossMenu = {
    Enable = true,
    WashMoney = false,
    Coords = {
        vector3(225.72, -1544.73, 29.29)
    }
}

--β–ˆβ–ˆβ•—      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•
--β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
--β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•  β•šβ•β•β•β•β–ˆβ–ˆβ•‘
--β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
--β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•šβ•β•  β•šβ•β•β•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β•                                                                  
Config.Language = 'en'
Config.Languages = {
	['en'] = {
        ['TITLE_BLIP'] = 'Nails shop',
        ['PRESS_TO_OPEN'] = 'Press E to open boss menu',
        ['PRESS_TO_OPEN_NAIL'] = 'Press E to change nails',
        ['NAILS'] = 'Nails',
        ['AMOUNT_INVALID'] = 'Amount invalid',
        ['AMOUNT_BILL'] = 'Amount bill',
        ['NOT_PLAYER_NEARBY'] = 'Not player near',
        ['NAILS_MENU'] = 'Nails menu',
        ['BILLING'] = 'Billing',
        ['SEND_BILL'] = 'Send bill',
        ['NAILS_ACTIONS'] = 'Nails actions',
        ['OPEN_MENU_WAIT'] = 'Loading Menu..',
        ['WRITE_NAME_JOB'] = 'Write the name of the job',
        ['WRITE_GRADE_JOB'] = 'Write the grade of the job',
        ['WRITE_ID_PLAYER'] = 'Write the player id',
        ['PLAYER_NOT_JOB'] = 'The player does not have a %s job',
        ['PLAYER_REMOVE_JOB'] = 'The player %s was removed %s',
        ['PLAYER_ALREADY_GRADE'] = 'The player already has that grade',
        ['PLAYER_ADD_GRADE'] = 'The player %s was modified from %s job to grade %s',
        ['PLAYER_ADD_JOB'] = 'The player %s was added from %s job to grade %s',
        ['STORE_NOT_MONEY'] = 'You need $%s money to change your nails',
        ['STORE_PAY'] = 'You have paid $%s for the change of your nails',
        ['LANG_UI'] = {
            ['TITLE'] = 'Nails salon',
            ['NAIL'] = 'Nail',
            ['DIVISER'] = '/',
            ['NAIL_COLOR'] = 'Colour',
            ['BUTTON_SUCCESS'] = 'Success'
        }
    },

	['es'] = {
        ['TITLE_BLIP'] = 'Tienda de uΓ±as',
        ['PRESS_TO_OPEN'] = 'Presiona E para abrir el menu de boss',
        ['PRESS_TO_OPEN_NAIL'] = 'Presiona E para cambiar tus uΓ±as',
        ['NAILS'] = 'UΓ±as',
        ['AMOUNT_INVALID'] = 'Cantidad invalida',
        ['AMOUNT_BILL'] = 'Precio de la factura',
        ['NOT_PLAYER_NEARBY'] = 'No hay jugadores cerca',
        ['NAILS_MENU'] = 'Menu de uΓ±as',
        ['BILLING'] = 'Facturas',
        ['SEND_BILL'] = 'Enviar factura',
        ['NAILS_ACTIONS'] = 'Acciones',
        ['OPEN_MENU_WAIT'] = 'Cargando el menu..',
        ['WRITE_NAME_JOB'] = 'Escribe el nombre del trabajo',
        ['WRITE_GRADE_JOB'] = 'Escribe el grado del trabajo',
        ['WRITE_ID_PLAYER'] = 'Escribe el id del jugador',
        ['PLAYER_NOT_JOB'] = 'El jugador no tiene el trabajo de %s',
        ['PLAYER_REMOVE_JOB'] = 'El jugador %s fue removido de %s',
        ['PLAYER_ALREADY_GRADE'] = 'El jugador ya tiene ese grado',
        ['PLAYER_ADD_GRADE'] = 'El jugador %s fue modificado de %s al grado %s',
        ['PLAYER_ADD_JOB'] = 'El jugador %s fue agregado como %s grado %s',
        ['STORE_NOT_MONEY'] = 'Necesitas $%s de dinero para cambiarse las uΓ±as',
        ['STORE_PAY'] = 'Has pagado $%s por el cambio de tus nails',
        ['LANG_UI'] = {
            ['TITLE'] = 'Salon de uΓ±as',
            ['NAIL'] = 'UΓ±a',
            ['DIVISER'] = '/',
            ['NAIL_COLOR'] = 'Color',
            ['BUTTON_SUCCESS'] = 'Confirmar'
        }
    }
}

Customise_me.lua
U.SendBill = function(data)
    if Config.Framework == 'esx' then
        TriggerServerEvent(Config.ListEvent[Config.Framework]['bill'], data.player, data.type, Lang['NAILS'], data.amount)
    elseif Config.Framework == 'qb' then
        -- ADD YOUR CODE FOR QB
    end
end

U.Notify = function(msg, type)
    --Here you can edit your notification
    if Config.Framework == 'qb' then
        Framework.Functions.Notify(msg, type)
	elseif Config.Framework == 'esx' then
		Framework.ShowNotification(msg)
	end

    --exports['mythic_notify']:DoHudText(type, msg) --Notification mythic
end

-- NOTE If you use cd_drawtext or other and you use esx you must change Config.PassiveHelpNotify to true in config.lua
U.ShowHelpNotification = function(text)
    --Here you can edit your show HelpNotification
	if Config.Framework == 'qb' then
		exports[Config.NameListResource['qb']]:DrawText(text, 'left')
	elseif Config.Framework == 'esx' then
		Framework.ShowHelpNotification(text)
	end

    --TriggerEvent('cd_drawtextui:ShowUI', 'show', text) -- show cd_drawtextui
end

U.HideHelpNotification = function()
    --Here you can edit your hide HelpNotification
	if Config.Framework == 'qb' then
		exports[Config.NameListResource['qb']]:HideText()
	elseif Config.Framework == 'esx' then

	end

    --TriggerEvent('cd_drawtextui:HideUI') -- hide cd_drawtextui
end

U.RefreshTattoes = function()
    -- Here you can change the trigger to refresh the tattoos
    TriggerEvent('Refresh:Tattooes')
end
Code is accessible No
Subscription-based No
Lines (approximately) 900+
Requirements N/A
Support Yes