BUTY SHOP
WebDiscord
  • 💜BUTY DOCUMENTATION
  • âš ī¸INFORMATION
    • LICENSES
    • OUR TERMS
    • SUPPORT
  • 📚GUIDES
    • ⭐Infinite JOBS
      • INSTALLATION
      • HOW TO DO
    • đŸŒŋGardener Job
      • INSTALLATION
    • ❗Infinite Activities
      • INSTALLATION
    • đŸ›Šī¸Flight School
      • INSTALLATION
    • 🚤Boat School
      • INSTALLATION
    • đŸ’ŗLicense System
      • INSTALLATION
      • EXPORT INTEGRATION
      • COMMANDS
    • 🚗Vehicle Shop
      • INSTALLATION
    • â›ī¸Advanced Miner
      • INSTALLATION
    • 🔄Progress Bar
      • INSTALLATION
    • 💊Advanced Sell Drugs
      • INSTALLATION
      • COMMON PROBLEMS
    • 🌊Rent Water Activities
      • INSTALLATION
    • đŸŽī¸Rent Kart Vehicles
      • INSTALLATION
    • 🧑‍đŸĻąAdvanced Identity
      • INSTALLATION
    • 🚚Advanced Trucker
      • INSTALLATION
    • đŸ›Šī¸Advanced Airplane
      • INSTALLATION
    • 🚌Advanced Bus
      • INSTALLATION
    • â™ģī¸Advanced Garbage
      • INSTALLATION
      • COMMON PROBLEMS
  • âš™ī¸COMMON ERRORS
Powered by GitBook
On this page
  • 1. DOWNLOAD
  • 2. DEPENDENCIES AND INSTALLATION
  • 3. CONFIG
  1. GUIDES
  2. Advanced Miner

INSTALLATION

PreviousAdvanced MinerNextProgress Bar

Last updated 2 years ago

1. DOWNLOAD

The first step is to download the product we have just purchased. To do this we will go to our account and search for "Buty-Miner".

2. DEPENDENCIES AND INSTALLATION

This script does not need any dependencies or progress bar.

Just place the script under your CORE and your core scripts:

ensure Buty-Miner

You must install SQL for the payment and experience system to work properly.

3. CONFIG

The following will explain all the settings, one of the most important things that I recommend you spend a few minutes to understand in order to offer your users the best possible experience.

Configuration = {

    FrameWork = "esx", -- esx | qbcore
    CoreFolderName = "", -- In case you are using a renamed CORE
    Mysql = "oxmysql", -- oxmysql | mysql-async
    Pickaxe = "weapon_hammer", 

}

SelectJob = {
    {
        Coord = {x = 2746.28, y = 2788.52, z = 35.52, h = 32.04},
        NPCmodel = 's_m_y_dockwork_01',
        NPCanim = 'WORLD_HUMAN_CLIPBOARD'
    },
}

Locations = {
    ['STONE'] = {
        RequiredLevel = 0,
        VehicleSpawn = {coord = vector4(2729.92, 2778.16, 35.88,132.96), VehicleModel = "tiptruck2"},
        UI_Desc = "<p>You must go to crush stones, you will need to have a pick. Its value is lower than that of other minerals but if you work hard you can go and chop other minerals.</p> <p>First go to the location with the truck.</p> <p> Chop the stones and put them in the truck.</p> <p>Deliver the cargo once everything is inside the truck.</p>  <p>Finally returns the truck.</p>",
        SellPrice = 100,
        ItemName = "stone",

        {
            ItemAmount = 5,
            HitNumber = 8, -- Just add even numbers
            GetEXP = 10,

           ['Stones'] = {
            {coord = vector3(3016.8, 3032.84, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3023.28, 3034.24, 89.52), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3030.44, 3033.96, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3035.72, 3032.64, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3042.16, 3029.76, 89.52), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3046.8, 3027.56, 89.68), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

        {
            ItemAmount = 5,
            HitNumber = 8, -- Just add even numbers
            GetEXP = 10,

           ['Stones'] = {
            {coord = vector3(3016.8, 3032.84, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3023.28, 3034.24, 89.52), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3030.44, 3033.96, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3035.72, 3032.64, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3042.16, 3029.76, 89.52), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3046.8, 3027.56, 89.68), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

        {
            ItemAmount = 5,
            HitNumber = 8, -- Just add even numbers
            GetEXP = 10,

           ['Stones'] = {
            {coord = vector3(3016.8, 3032.84, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3023.28, 3034.24, 89.52), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3030.44, 3033.96, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3035.72, 3032.64, 89.36), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3042.16, 3029.76, 89.52), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
            {coord = vector3(3046.8, 3027.56, 89.68), prop = "custom_prop_stone",prop2 = "custom_prop_stone2",prop3 = "custom_prop_stone3",prop4 = "custom_prop_small_stone", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

    },

    ['IRON'] = {
        RequiredLevel = 4,
        VehicleSpawn = {coord = vector4(2729.92, 2778.16, 35.88,132.96), VehicleModel = "tiptruck2"},
        UI_Desc = "<p>You must go to crush stones, you will need to have a pick. Its value is lower than that of other minerals but if you work hard you can go and chop other minerals.</p> <p>First go to the location with the truck.</p> <p> Chop the stones and put them in the truck.</p> <p>Deliver the cargo once everything is inside the truck.</p>  <p>Finally returns the truck.</p>",
        SellPrice = 100,
        ItemName = "iron",

        {

            ItemAmount = 5,
            HitNumber = 10,
            GetEXP = 20,

           ['Stones'] = {
            {coord = vector3(-595.08, 2113.96, 127.36), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-593.08, 2116.72, 127.64), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-591.12, 2124.4, 127.846), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-585.16, 2120.48, 129.28), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-579.52, 2112.72, 130.8), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-604.32, 2109.12, 126.32), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

        {

            ItemAmount = 5,
            HitNumber = 10,
            GetEXP = 20,

           ['Stones'] = {
            {coord = vector3(-595.08, 2113.96, 127.36), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-593.08, 2116.72, 127.64), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-591.12, 2124.4, 127.846), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-585.16, 2120.48, 129.28), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-579.52, 2112.72, 130.8), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-604.32, 2109.12, 126.32), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

        {

            ItemAmount = 5,
            HitNumber = 10,
            GetEXP = 20,

           ['Stones'] = {
            {coord = vector3(-595.08, 2113.96, 127.36), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-593.08, 2116.72, 127.64), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-591.12, 2124.4, 127.846), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-585.16, 2120.48, 129.28), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-579.52, 2112.72, 130.8), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
            {coord = vector3(-604.32, 2109.12, 126.32), prop = "custom_prop_metal",prop2 = "custom_prop_metal2",prop3 = "custom_prop_metal3",prop4 = "custom_prop_small_metal", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },
 

    },

    ['GOLD'] = {
        RequiredLevel = 8,
        VehicleSpawn = {coord = vector4(2729.92, 2778.16, 35.88,132.96), VehicleModel = "tiptruck2"},
        UI_Desc = "<p>3You must go to crush stones, you will need to have a pick. Its value is lower than that of other minerals but if you work hard you can go and chop other minerals.</p> <p>First go to the location with the truck.</p> <p> Chop the stones and put them in the truck.</p> <p>Deliver the cargo once everything is inside the truck.</p>  <p>Finally returns the truck.</p>",
        SellPrice = 100,
        ItemName = "gold",

        {
            ItemAmount = 5,
            HitNumber = 12,
            GetEXP = 30,

           ['Stones'] = {
            {coord = vector3(2218.8, 3685.08, 35.2), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2222.64, 3690.72, 36.0), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2210.16, 3693.08, 35.88), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2203.32, 3681.6, 35.88), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2209.04, 3667.24, 37.92), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2197.64, 3658.2, 37.76), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

        {
            ItemAmount = 5,
            HitNumber = 12,
            GetEXP = 30,

           ['Stones'] = {
            {coord = vector3(2218.8, 3685.08, 35.2), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2222.64, 3690.72, 36.0), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2210.16, 3693.08, 35.88), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2203.32, 3681.6, 35.88), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2209.04, 3667.24, 37.92), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2197.64, 3658.2, 37.76), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },

        {
            ItemAmount = 5,
            HitNumber = 12,
            GetEXP = 30,

           ['Stones'] = {
            {coord = vector3(2218.8, 3685.08, 35.2), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2222.64, 3690.72, 36.0), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2210.16, 3693.08, 35.88), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2203.32, 3681.6, 35.88), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2209.04, 3667.24, 37.92), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
            {coord = vector3(2197.64, 3658.2, 37.76), prop = "custom_prop_gold",prop2 = "custom_prop_gold2",prop3 = "custom_prop_gold3",prop4 = "custom_prop_small_gold", stone, take = false},
           },

           ['Unload'] = {
            {coord = vector3(2742.44, 2788.84, 34.4)},
            {coord = vector3(290.84, 2861.44, 43.64)},
            {coord = vector3(195.12, 2743.92, 43.44)},
           },

           ['ReturnVehicle'] = vector3(2715.76, 2770.56, 36.28),

        },
 

    },
}

This file is for you to add all the integrations you require. For example the exports of the vehicle key system you use, the functions of your server...

You usually have to check the exports or functions in the documentation of the scripts you want to integrate with Buty-Miner.

GiveItem = function(xPlayer,itemname,amount)  
    if Configuration.FrameWork == 'esx' then 
        xPlayer.addInventoryItem(itemname,amount)
    else
        xPlayer.Functions.AddItem(itemname,amount)
    end     
end

Sell = function(xPlayer,name,cant,amount)
    if Configuration.FrameWork == 'esx' then
        local item = xPlayer.getInventoryItem(name).count
        xPlayer.addMoney((cant*item))
    else
        local item = xPlayer.Functions.GetItemByName(name)
        xPlayer.Functions.AddMoney('cash',(cant*item.amount))
        TriggerClientEvent('QBCore:Notify', xPlayer.PlayerData.source, 'Has vendido x'..item.amount.." de "..item.label.." por "..(cant*item.amount).."$")
    end
end

Remove = function(xPlayer,name,cant,amount)
    if Configuration.FrameWork == 'esx' then
        local item = xPlayer.getInventoryItem(name).count
        xPlayer.removeInventoryItem(name,item)
    else
        local item = xPlayer.Functions.GetItemByName(name)
        if not item then return end
        xPlayer.Functions.RemoveItem(name, item.amount)
    end
end

KeyVehicle = function(plate, vehicle)
  --ADD EXPORT
end

FuelVehicle = function(plate, vehicle)
    --ADD EXPORT
end

Notify = function(type, text, time, file)
    if file == "client" then

        -- time = 10000
        -- if type == 'success' then
        --     exports["Venice-Notification"]:Notify(text, time, "check", options)
        -- elseif type == 'error' then
        --     exports["Venice-Notification"]:Notify(text, time, "error", options)
        -- elseif type == 'info' then
        --     exports["Venice-Notification"]:Notify(text, time, "info", options)
        -- end
        if Configuration.FrameWork == 'esx' then 
    
            ESX.ShowNotification(text)

        else
            QBCore.Functions.Notify(text)
        end

    else

        -- time = 10000
        -- if type == 'success' then
        --     TriggerClientEvent('codem-notification', source, text, time, 'check', options)
        -- elseif type == 'error' then
        --     TriggerClientEvent('codem-notification', source, text, time, 'error', options)
        -- elseif type == 'info' then
        --     TriggerClientEvent('codem-notification', source, text, time, 'info', options)
        -- end

        if Configuration.FrameWork == 'esx' then 
    
            TriggerClientEvent('esx:showNotification', source, text)

        else
            TriggerClientEvent('QBCore:Notify', source, text)
        end

    end

end

Text = function(text,coords)
	local player = PlayerPedId()
    if #(player - vector3(coords.x,coords.y,coords.z)) > 1.5 then
        text3D(coords.x,coords.y,coords.z + 1.05,text, 0, 0.1, 0.1,100)
    end
end

text3D = function(x, y, z, text)
	SetTextScale(0.35, 0.35)
    SetTextFont(4)
    SetTextProportional(1)
    SetTextColour(255, 255, 255, 215)
    SetTextEntry("STRING")
    SetTextCentre(true)
    AddTextComponentString(text)
    SetDrawOrigin(x,y,z, 0)
    DrawText(0.0, 0.0)
    ClearDrawOrigin()
end

JobBlip = function(coord)
    blip = AddBlipForCoord(coord)
    SetBlipSprite(blip, 47)
    SetBlipColour(blip, 26)
    SetBlipScale(blip, 0.7)
    SetBlipAsShortRange(blip, true)
    BeginTextCommandSetBlipName("STRING")
    AddTextComponentSubstringPlayerName("Miner Job")
    EndTextCommandSetBlipName(blip)
end

StonesBlip = function(blip)
    for i, v in ipairs(blip) do
        v.stone = AddBlipForCoord(v.coord)
        SetBlipSprite(v.stone, 306)
        SetBlipColour(v.stone, 0)
        SetBlipScale(v.stone, 0.7)
        SetBlipAsShortRange(v.stone, true)
        BeginTextCommandSetBlipName("STRING")
        AddTextComponentSubstringPlayerName("~b~[Miner]~h~ Stone")
        EndTextCommandSetBlipName(v.stone)
        SetBlipRoute(v.stone, true)
        SetBlipRouteColour(v.stone,26) 
    end
end

ProcessBlip = function(coord)
    ProcessBlip = AddBlipForCoord(coord.coord)
    SetBlipSprite (ProcessBlip, 365)
    SetBlipDisplay(ProcessBlip, 4)
    SetBlipScale  (ProcessBlip, 1.0)
    SetBlipColour (ProcessBlip, 0)
    SetBlipAsShortRange(ProcessBlip, true)  
    BeginTextCommandSetBlipName("STRING")
    AddTextComponentSubstringPlayerName('~b~[Miner]~h~ Process')
    EndTextCommandSetBlipName(ProcessBlip)
    SetBlipRoute(ProcessBlip, true)
    SetBlipRouteColour(ProcessBlip,26) 
end

ReturnBlip = function(coord)
    ReturnBlip = AddBlipForCoord(coord)
    SetBlipSprite (ReturnBlip, 478)
    SetBlipDisplay(ReturnBlip, 4)
    SetBlipScale  (ReturnBlip, 1.0)
    SetBlipColour (ReturnBlip, 0)
    SetBlipAsShortRange(ReturnBlip, true)  
    BeginTextCommandSetBlipName("STRING")
    AddTextComponentSubstringPlayerName('~b~[Miner]~h~ Return Vehicle')
    EndTextCommandSetBlipName(ReturnBlip)
    SetBlipRoute(ReturnBlip, true)
    SetBlipRouteColour(ReturnBlip,26) 
end

GetName = function(xPlayer)
    if Configuration.FrameWork == 'esx' then 
        local infoname = SqlFunc(Configuration.Mysql,'fetchAll','SELECT * FROM users WHERE identifier = @identifier',{['@identifier'] = xPlayer.identifier})
        return (infoname[1].firstname.. " " ..infoname[1].lastname)
    else
        local infoname = SqlFunc(Configuration.Mysql,'fetchAll','SELECT * FROM users WHERE identifier = @identifier',{['@identifier'] = xPlayer.identifier})
        return (infoname[1].firstname.. " " ..infoname[1].lastname)
    end
end

If you want to edit the aesthetics or design. You have the HTML open so you can modify the style and everything as you want.

📚
â›ī¸
KEYMASTER