Can you guys help me? I try to get rid of the Wipe Outs from the leader board and everything works just fine. But I just need you guys to check if I did it correctly or not. Thank you for your time!

print("Give KOs & Points For Free!")



function onPlayerRespawn(property, player)
	-- need to connect to new humanoid
	
	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

function getKillerOfHumanoidIfStillInGame(humanoid)
	-- returns the player object that killed this humanoid
	-- returns nil if the killer is no longer in the game

	-- check for kill tag on humanoid - may be more than one - todo: deal with this
	local tag = humanoid:findFirstChild("creator")

	-- find player with name on tag
	if tag ~= nil then
		
		local killer = tag.Value
		if killer.Parent ~= nil then -- killer still in game
			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("KO's")
			local earn = stats:findFirstChild("Points")
			if killer ~= player then
				kills.Value = kills.Value + 1
				earn.Value = earn.Value + 100
				
			else
				kills.Value = kills.Value - 1
				earn.Value = earn.Value - 0
				
			end
		end
	end
end


-----------------------------------------------


function Entered(player)

      if player:findFirstChild("leaderstats") ~= nil then
			player.leaderstats:remove()
      end

      stats = Instance.new("IntValue")
      stats.Parent = player
      stats.Name = "leaderstats"

		local kills = Instance.new("IntValue")
		kills.Name = "KO's"
		kills.Value = 0

		kills.Parent = stats

      money = Instance.new("IntValue")
      money.Parent = stats
      money.Name = "Points"
      money.Value = 0 --How much you start out with change it to how much you want

		-- VERY UGLY HACK
		-- Will this leak threads?
		-- Is the problem even what I think it is (player arrived before character)?
		while true do
			if player.Character ~= nil then break end
			wait(5)
		end

		local humanoid = player.Character.Humanoid

		humanoid.Died:connect(function() onHumanoidDied(humanoid, player) end )

		-- start to listen for new humanoid
		player.Changed:connect(function(property) onPlayerRespawn(property, player) end )


		stats.Parent = player

end


game.Players.PlayerAdded:connect(Entered)

c = game.Players:GetChildren()
for i=1, #c do
        Entered(c[i])
end

2 comments

0

Well if you've found this script and it works fine, why are you posting this?

0

@ImfaoXD Why can't you use the output like the average user on this site?!?