[FREE] ba_zones or safezones

Thank you very much! Any idea why when I phase, it removes player from vehicle then it is necessary to re-phase to see the vehicle in the newer instance? Sorry to be a bother, and thanks again the command provided works like a charm for my garage instancing I’m trying to piece together.
Also I made sure to follow direction for pma-voice since I do use it with following console error

SCRIPT ERROR: @zones/server/main.lua:20: No such export updateRoutingBucket in resource pma-voice[        script:zones]
function SwitchDimension(dimensionId)
    local passengers = {}

    if IsPedInAnyVehicle(PlayerPedId(), false) then
        local veh = GetVehiclePedIsUsing(PlayerPedId())
        local maxpeds = GetVehicleMaxNumberOfPassengers(veh)
        for i = -1, maxpeds do
            if not IsVehicleSeatFree(veh, i) then
                local ped = GetPlayerServerId(NetworkGetPlayerIndexFromPed(GetPedInVehicleSeat(veh, i)))
                table.insert(passengers , {
                    serverId = ped,
                })
            end
        end
    end
    local switch_bucket = lib.callback.await('ba_zones-sv:switchBucket', false, dimensionId, IsPedInAnyVehicle(PlayerPedId(), false), passengers)
    if switch_bucket then print("[DEBUG]: Switching bucket to "..dimensionId) end
end

lib.callback.register('ba_zones-sv:switchBucket', function(source, id, isPedInAnyVeh, passengers)
	local veh = GetVehiclePedIsIn(GetPlayerPed(source), false)
	local driverServerId = GetPedInVehicleSeat(veh, -1)

	if isPedInAnyVeh then
		SetPlayerRoutingBucket(driverServerId, id)
		for i,v in ipairs(passengers) do
			if tonumber(v.serverId) ~= 0 then
				if tonumber(v.serverId) ~= source then
					if GetPlayerName(tonumber(v.serverId)) then
						SetPlayerRoutingBucket(v.serverId, id)
					end
				end
			end
		end
		SetEntityRoutingBucket(veh, id)
		--exports['pma-voice']:updateRoutingBucket(source, id)
	else
		SetPlayerRoutingBucket(source, id)
		--exports['pma-voice']:updateRoutingBucket(source, id)
	end

	return true
end)

This is exactly what I need to make my garage work :slight_smile: but there is some sort of hiccup with it & I’m going to try over an over by banging my head off the wall :laughing:

Small clip