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