This script will only work once after the player dies or gets a kill after they spawn in. Thereafter it will not work. Why is it only registering once??
local DataStoreService = game:GetService("DataStoreService") local DataStore1 = DataStoreService:GetDataStore("DataStore1") local DataStore2 = DataStoreService:GetDataStore("DataStore2") local Players = game:GetService("Players") local work = game:GetService("Workspace") game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local kills = Instance.new("IntValue") kills.Name = "Kills" kills.Parent = leaderstats local overallkills = Instance.new("IntValue") overallkills.Name = "overallkills" overallkills.Parent = kills local deaths = Instance.new("IntValue") deaths.Name = "Deaths" deaths.Parent = leaderstats local overalldeaths = Instance.new("IntValue") overalldeaths.Name = "overalldeaths" overalldeaths.Parent = deaths local Statdata = player.PlayerGui:WaitForChild("Data") print("found gui") local ATK = Statdata.ATK local ATD = Statdata.ATD local ATKD = Statdata.ATKD local CK = Statdata.CK local CD = Statdata.CD local CKD = Statdata.CKD local char = work:FindFirstChild(player.Name) local humanoid = char:FindFirstChild("Humanoid") humanoid.Died:Connect(function(died) print(player.Name.."has died") deaths.Value = deaths.Value + 1 overalldeaths.Value = overalldeaths.Value + 1 ATD.Value = ATD.Value + 1 CD.Value = CD.Value + 1 local playerUserId = "Player_"..player.UserId local Data2 = overalldeaths.Value local success,errormessage = pcall(function() DataStore2:SetAsync(playerUserId, Data2) end) if success then print("Data saved after death") else print("Error saving data on death") warn(errormessage) end local tag = humanoid:FindFirstChild("creator") local killername = tag.Value local killer = Players:FindFirstChild(killername) if tag and killer then print(killername) killer.leaderstats.Kills.Value = killer.leaderstats.Kills.Value + 1 killer.leaderstats.Kills.overallkills.Value = killer.leaderstats.Kills.overallkills.Value + 1 killer.PlayerGui.Data.ATK.Value = killer.PlayerGui.Data.ATK.Value + 1 killer.PlayerGui.Data.CK.Value = killer.PlayerGui.Data.CK.Value + 1 local playerUserId2 = "Player_"..killer.UserId local Data1 = killer.leaderstats.Kills.overallkills.Value local success1, errmsg = pcall(function() DataStore1:SetAsync(playerUserId2, Data1) end) if success1 then print("Data saved after kill") else print("Error saving data on kill") warn(errmsg) end end end) local playerUserId = "Player_".. player.UserId --Load Juicy Data local Data1 local Data2 local success, errormessage = pcall(function() Data1 = DataStore1:GetAsync(playerUserId) Data2 = DataStore2:GetAsync(playerUserId) end) if success then overallkills.Value = Data1 overalldeaths.Value = Data2 ATK.Value = Data1 ATD.Value = Data2 end end) game.Players.PlayerRemoving:Connect(function(player) local playerUserId = "Player_"..player.UserId local Kills = player.leaderstats.Kills local Deaths = player.leaderstats.Deaths local overallkills = player.leaderstats.Kills.overallkills local overalldeaths = player.leaderstats.Deaths.overalldeaths local Data1 = overallkills.Value local Data2 = overalldeaths.Value local success, errormsg = pcall(function() DataStore1:SetAsync(playerUserId, Data1) DataStore2:SetAsync(playerUserId, Data2) end) if success then print("Data saved") else print("Error saving data") warn(errormsg) end end)