I modified the LinkedLeaderboard a little bit, but it doesn't add to a player's KOs or HyperCoins, no errors appear and I don't know where I went wrong.. Can anyone help?
Here's the code:
game.Players.PlayerAdded:connect(function(newPlayer)
local stats = Instance.new("IntValue", newPlayer)
stats.Name = "leaderstats"
local kills = Instance.new("IntValue", stats)
kills.Name = "KOs"
kills.Value = 0
local hcoins = Instance.new("IntValue", stats)
hcoins.Name = "HyperCoins"
hcoins.Value = 0
kills.Parent = stats
while true do
if newPlayer.Character ~= nil then break end
wait(5)
end
local humanoid = newPlayer.Character.Humanoid
humanoid.Died:connect(function() onHumanoidDied(humanoid, newPlayer) end )
newPlayer.Changed:connect(function(property) onPlayerRespawn(property, newPlayer) end )
end)
function getKillerOfHumanoidIfStillInGame(humanoid)
local tag = humanoid:findFirstChild("creator")
if tag ~= nil then
local killer = tag.Value
if killer.Parent ~= nil then
return killer
end
end
return nil
end
function handleKillCount(humanoid, player)
local killer = getKillerOfHumanoidIfStillInGame(humanoid)
if killer ~= nil then
local stats = killer:findFirstChild("leaderstats")
if stats ~= nil then
local kills = stats:findFirstChild("KOs")
if killer ~= player then
kills.Value = kills.Value + 1
else
kills.Value = kills.Value - 1
end
end
end
end
function onHumanoidDied(humanoid, player)
local killer = getKillerOfHumanoidIfStillInGame(humanoid)
handleKillCount(humanoid, player)
end
function onPlayerRespawn(property, player)
if property == "Character" and player.Character ~= nil then
local humanoid = player.Character.Humanoid
local p = player
local h = humanoid
humanoid.Died:connect(function() onHumanoidDied(h, p) end )
end
end
game.Players.PlayerAdded:connect(function(p)
local stat = p:WaitForChild("leaderstats")
local kos = stat:WaitForChild("KOs")
local cn = stat:WaitForChild("HyperCoins")
while true do
wait()
cn.Value = kos.Value * 5
end
end)
