Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Is there anything I can add to this script to make it wait for the loading screen GUI be over?

Asked by 4 years ago

I have a loading screen and this GUI loads in at the same time and looks cluttered.. The Script:

local DataStore = game:GetService("DataStoreService"):GetDataStore ("DailyRewards")

local hourWait = 24

local possibleRewards = {10,15,10,10,10,5,5,5,5,5,5,5,5,5,5,5,10,10,10,10,10,10,15,15,15,750}

game.Players.PlayerAdded:Connect(function(player)

local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player

local coins = Instance.new("IntValue")
coins.Name = "Coins"
coins.Parent = leaderstats

local timeNow = os.time()

local data

pcall(function()
    data = DataStore:GetAsync(player.UserId.."-dailyReward")
    print("Getting Data")
end)

if data ~= nil then
    -- Returning player to the game

    local timeSinceLastClaim = timeNow - data -- Number in sec since the last reward was claimed

    print ("Time since last claim "..timeSinceLastClaim)

    if (timeSinceLastClaim / 3600) >= hourWait then
        -- They are eligible for a reward
        local reward = possibleRewards[math.random(1,#possibleRewards)]
        game.ReplicatedStorage.ShowDailyReward:FireClient(player,hourWait,reward)
        local connection
        connection = game.ReplicatedStorage.ClaimReward.OnServerEvent:Connect(function(triggeringPlayer)
            if triggeringPlayer == player then
                print ("Reward Claimed")
                player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + reward
                DataStore.SetAsync(player.UserId.."-dailyReward",os.time())
                connection:Disconnect()
            end
        end)
    else
        print ("Player is uneligible right now")
    end 

else
    -- New player
    print ("New player")

    local reward = possibleRewards[math.random(1,#possibleRewards)]
    game.ReplicatedStorage.ShowDailyReward:FireClient(player,hourWait,reward)
    local connection
    connection = game.ReplicatedStorage.ClaimReward.OnServerEvent:Connect(function(triggeringPlayer)
        if triggeringPlayer == player then
        print ("Reward Claimed")
        player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + reward
        DataStore.SetAsync(player.UserId.."-dailyReward",os.time())
        connection:Disconnect()
        end
    end)
end

end)

game.Players.PlayerRemoving:Connect(function(player) local data pcall (function() data = DataStore:GetAsync(player.UserId.."-dailyReward") print("Getting the data") end)

if data == nil then
    -- New player
    pcall(function()
    local timeVal = os.time()
        DataStore:SetAsync(player.UserId.."-dailyReward")
        end)
    print ("Saved because your a new player")
end

end)

Answer this question