How to make a loading asset screen with images that change every so often?

Hi, I’m wanting to make a data loading screen with which while the data is being loaded, certain images and certain messages are seen in some frames. I already did this, but it changes very fast because it uses a counter instead of time and I want it to change every 10 seconds

local Players = game:GetService("Players");
local TweenService = game:GetService("TweenService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ContentProvider = game:GetService("ContentProvider")

local GetProfileLocal = ReplicatedStorage:WaitForChild("GetProfile")

local player = Players.LocalPlayer;
local OTS_CAMERA_SYSTEM = require(player.PlayerScripts:WaitForChild("Set_functions_ModuleScript"):WaitForChild("OTS Camera System"))

local Screen = script:WaitForChild("ScreenLoad"):Clone();
Screen.Parent = player.PlayerGui;

player.PlayerGui:WaitForChild("MenuDeMapa").Enabled = false

local assets = workspace:WaitForChild("Map"):GetDescendants()
local tweeninfo = TweenInfo.new(1, Enum.EasingStyle.Back)

local Profile = GetProfileLocal:InvokeServer()
local Language = Profile.Game_Configurations.General.Language
local change = 0;
local tabla = {
	"8201833284";
	"8198982210";
	"6902115665";
}; 
local function changeData()
	TweenService:Create(Screen.LoadScreen, tweeninfo, {ImageTransparency = 1}):Play()
	task.wait(0.5);
	Screen.LoadScreen.Image = "rbxthumb://type=Asset&w=768&h=432&id="..tabla[math.random(1, #tabla)];
	TweenService:Create(Screen.LoadScreen, tweeninfo, {ImageTransparency = 0}):Play()
	change = 0;
end
task.wait(1)
changeData()
for i, v in pairs(assets) do
	change = math.clamp(change, 0, 100)
	local word
	if(Language == "English")then
		word = "Loading assets: "
	elseif(Language == "Spanish")then
		word = "Cargando recursos: "
	end
	Screen.LoadScreen.BarInfo.Text = word..i.."/"..#assets;
	TweenService:Create(Screen.LoadScreen.Background.Bar, tweeninfo, {Size = UDim2.new(i/#assets, 0, 1, 0)}):Play();
	ContentProvider:PreloadAsync({v});
	if(change >= 100)then
		changeData()
	end
	change+=1;
end