Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local dss = game:GetService("DataStoreService")
- local ds = dss:GetDataStore("MyData")
- local function addPlayerData(player)
- local board = Instance.new("Folder", player)
- board.Name = "leaderstats"
- local kills = Instance.new("IntValue", board)
- kills.Name = "Kills"
- local assists = Instance.new("IntValue", board)
- assists.Name = "Assists"
- local deaths = Instance.new("IntValue", board)
- deaths.Name = "Deaths"
- local pData = Instance.new("Folder", player)
- pData.Name = "playerdata"
- local points = Instance.new("IntValue", pData)
- points.Name = "Points"
- local totKills = Instance.new("IntValue", pData)
- totKills.Name = "TotKills"
- local totAssists = Instance.new("IntValue", pData)
- totAssists.Name = "TotAssists"
- local totDeaths = Instance.new("IntValue", pData)
- totDeaths.Name = "TotDeaths"
- end
- local function initPlayerData(player)
- local data = ds:GetAsync(player.UserId)
- print("saved data = ", data)
- if data then
- player.playerdata.TotKills.Value = data.TotKills
- player.playerdata.TotAssists.Value = data.TotAssists
- player.playerdata.TotDeaths.Value = data.TotDeaths
- player.playerdata.Points.Value = data.Points
- end
- end
- local function savePlayerData(player)
- local data = {}
- data.TotKills = player.playerdata.TotKills.Value +
- player.leaderstats.Kills.Value
- data.TotAssists = player.playerdata.TotAssists.Value +
- player.leaderstats.Assists.Value
- data.TotDeaths = player.playerdata.TotDeaths.Value +
- player.leaderstats.Deaths.Value
- data.Points = player.playerdata.Points.Value
- print("data = ", data)
- ds:SetAsync(player.UserId, data)
- end
- game.Players.PlayerAdded:Connect(function(player)
- addPlayerData(player)
- player.CharacterAdded:Connect(function(char)
- local hum = char:WaitForChild("Humanoid")
- hum.Died:Connect(function()
- player.leaderstats.Deaths.Value += 1
- local tags = hum:GetChildren()
- for i, v in pairs(tags) do
- if v.Name == "creator" then
- local ePlayer = v.Value
- local kills = ePlayer.leaderstats.Kills
- kills.Value += 1
- end
- if v.Name == "assist" then
- local ePlayer = v.Value
- local assists = ePlayer.leaderstats.Assists
- assists.Value += 1
- end
- end
- end)
- end)
- initPlayerData(player)
- end)
- game.Players.PlayerRemoving:Connect(function(player)
- savePlayerData(player)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement