Why does this not work on ESX to pickup a Car and remove it?

client.lua

RegisterNetEvent('npc:notify')
AddEventHandler('npc:notify', function(message)
    TriggerEvent('chat:addMessage', {
        color = {255, 0, 0},
        multiline = true,
        args = {'^1NPC', message}
    })
end)

RegisterCommand('callnpc', function()
    TriggerServerEvent('callnpc')
end)

server.lua

local spawnedPed = nil
local spawnedVehicle = nil

ESX = exports['es_extended']:getSharedObject()

RegisterServerEvent('callnpc')
AddEventHandler('callnpc', function()
    if ESX then
        local xPlayer = ESX.GetPlayerFromId(source)
        if xPlayer then
            local playerPed = GetPlayerPed(source)
            local playerPos = GetEntityCoords(playerPed)
            
            spawnedPed = CreatePed(4, GetHashKey(Config.NPCModel), playerPos.x + 2, playerPos.y, playerPos.z, 0.0, true, true)
            TaskWarpPedIntoVehicle(spawnedPed, spawnedVehicle, -1)
            
            TriggerClientEvent('npc:notify', -1, 'NPC has been called to get into your vehicle!')
        end
    end
end)

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(100)
        
        local playerPed = GetPlayerPed(-1)
        local playerPos = GetEntityCoords(playerPed)
        
        if spawnedPed ~= nil and spawnedVehicle ~= nil then
            local vehiclePos = GetEntityCoords(spawnedVehicle)
            local distance = #(playerPos - vehiclePos)
            
            if distance > Config.DistanceLimit then
                DeleteEntity(spawnedPed)
                DeleteEntity(spawnedVehicle)
                spawnedPed = nil
                spawnedVehicle = nil
            end
        end
    end
end)

AddEventHandler('onResourceStart', function(resourceName)
    if GetCurrentResourceName() == resourceName then
        RequestModel(Config.NPCModel)
        while not HasModelLoaded(Config.NPCModel) do
            Citizen.Wait(1)
        end
        
        local playerPed = GetPlayerPed(-1)
        local playerPos = GetEntityCoords(playerPed)
        
        spawnedVehicle = CreateVehicle(GetHashKey(Config.VehicleModel), playerPos.x, playerPos.y, playerPos.z, GetEntityHeading(playerPed), true, true)
    end
end)

config.lua

Config = {}

Config.NPCModel = 's_m_y_cop_01'
Config.VehicleModel = 'police'
Config.DistanceLimit = 50.0

return Config