Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local dataStoreServices = game:GetService("DataStoreService")
- local dataStore = dataStoreServices:GetDataStore("Test1")
- function saveData(player)
- local tycoon = player:FindFirstChild("TycoonOwned").Value
- local purchases = player:FindFirstChild("TycoonOwned").Value.Purchases
- local tycoonData = {}
- spawn(function()
- local success, Error = pcall(function()
- dataStore:SetAsync(player.UserId.."-Cash", player.leaderstats.Cash.Value)
- end)
- if not success then
- warn(Error)
- end
- end)
- for i, object in ipairs(purchases:GetChildren()) do
- table.insert(tycoonData, object.Name)
- end
- local success, Error = pcall(function()
- dataStore:SetAsync(player.UserId, tycoonData)
- end)
- if not success then
- warn(Error)
- end
- local newTycoon = game.ServerStorage:FindFirstChild(tycoon.Name):Clone()
- newTycoon.Parent = tycoon.Parent
- tycoon:Destroy()
- end
- local function Buttons(button)
- button.Button.CanCollide =false
- button.Button.Transparency = 1
- button.Button.BillboardGui.Enabled = false
- end
- script.Parent.ClaimTycoon.Event:Connect(function(tycoon)
- local tycoonOwner = tycoon.Values.OwnerValue.Value
- local tycoonData
- local cashData
- spawn(function()
- local success, Error = pcall(function()
- cashData = dataStore:GetAsync(tycoonOwner.UserId.."-Cash")
- end)
- if not success then
- warn(Error)
- end
- if success and cashData then
- tycoonOwner.leaderstats.Cash.Value = cashData
- end
- end)
- local success, Error = pcall(function()
- tycoonData = dataStore:GetAsync(tycoonOwner.UserId)
- end)
- if not success then
- warn(Error)
- end
- if success and tycoonData then
- local tycoonClone = game.ServerStorage:FindFirstChild(tycoon.Name):Clone()
- tycoonClone.Parent = tycoon.Parent
- tycoonClone.Values.OwnerValue.Value = tycoon.Values.OwnerValue.Value
- tycoonOwner.TycoonOwned.Value = tycoonClone
- tycoon:Destroy()
- tycoon = tycoonClone
- local purchasesFolder = tycoonClone:FindFirstChild("Purchases")
- local purchasedItemsFolder = tycoonClone:FindFirstChild("PurchasedItems")
- local buttonsFolder = tycoonClone:FindFirstChild("Buttons")
- for i, button in ipairs(buttonsFolder:GetChildren()) do
- if button:FindFirstChild("Object") then
- local object = purchasedItemsFolder:FindFirstChild(button.Object.Value)
- if object and table.find(tycoonData, object.Name) then
- object.Parent = purchasesFolder
- Buttons(button)
- end
- end
- end
- end
- end)
- Players.PlayerRemoving:Connect(function(player)
- saveData(player)
- end)
- game:BindToClose(function()
- for i, player in ipairs(game.Players:GetPlayers()) do
- saveData(player)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment