Hi So I've, again, been following an AlvinBlox tutorial. The part i need help in is the saving the currency, weapons and equipped weapon.
local dataStores = game:GetService("DataStoreService"):GetDataStore("BucksDataStore")
local defaultCash = 0
local playersLeft = 0
game.Players.PlayerAdded:Connect(function(player)
playersLeft = playersLeft + 1
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local bucks = Instance.new("IntValue")
bucks.Name = "Bucks"
bucks.Value = 0
bucks.Parent = leaderstats
local playerData = Instance.new("Folder")
playerData.Name = player.Name
playerData.Parent = game.ServerStorage.PlayerData
local equipped = Instance.new("StringValue")
equipped.Name = "Equipped"
equipped.Parent = playerData
local inventory = Instance.new("Folder")
inventory.Name = "Inventory"
inventory.Parent = playerData
player.CharacterAdded:Connect(function(character)
character.Humanoid.WalkSpeed = 16
character.Humanoid.Died:Connect(function()
if character.Humanoid and character.Humanoid:FindFirstChild("creator")then
game.ReplicatedStorage.Status.Value = tostring(character.Humanoid.creator.Value).." Killed "..player.Name
end
if character:FindFirstChild("GameTag") then
character.GameTag:Destroy()
end
player:LoadCharacter()
end)
end)
-- Data Stores
local player_data
local weaponsData
local equippedData
pcall(function()
player_data = dataStores:GetAsync(player.UserId.."-Bucks")
end)
pcall(function()
weaponsData = dataStores:GetAsync(player.UserId.."-Weps")
end)
pcall(function()
equippedData = dataStores:GetAsync(player.UserId.."-EquippedValue")
end)
if player_data ~= nil then
-- Player has saved data
bucks.Value = player_data
else
-- New Player
bucks.Value = defaultCash
end
if weaponsData then
-- For loop though weapons saved
-- Load them in
-- Set the equipped value
end
end)
local bindableEvent = Instance.new("BindableEvent")
game.Players.PlayerRemoving:Connect(function(player)
pcall(function()
dataStores:SetAcync(player.UserId.."-Bucks",player.leaderstats.Bucks.Value)
print("Saved")
playersLeft = playersLeft - 1
bindableEvent:Fire()
end)
end)
game:BindToClose(function()
while playersLeft > 0 do
bindableEvent.Event:Wait()
end
end)
When I run this, an error appears saying: Not running script because shutdown deadline.
Thanks for all the help lately. Thank you in advance
