Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Checking if all players died?

How would I be able to check if all players died? I was thinking of adding a boolvalue into each player and once they die it'd set the value to false. Is there any better ways of doing it then this? Thanks. ~KIheros

2 answers

✓ Accepted answer

Well, using your example it's actually easier than you think:

game.Players.PlayerAdded:connect(function(player)
	t=Instance.new("BoolValue", player)
	t.Name="Died"
	player.CharacterAdded:connect(function()
		player.Character.Humanoid.Died:connect(function()
			player.Died.Value=true
			trol=0
			for i,v in pairs (game.Players:GetChildren()) do
				if v.Died==true then
					trol=trol+1
				end
			end
			num=game.Players:GetChildren()
			if trol=<#num then
				--do stuff...
				for i,v in pairs(game.Players:GetChildren())do
					v.Died.Value=false
				end
			end
		end)
	end)
end)

There's a direct bool example, or you can use a good o'll table to do the same type of thing:

ppl={}
game.Players.PlayerAdded:connect(function(player)
	player.CharacterAdded:connect(function()
		player.Character.Humanoid.Died:connect(function()
			if not ppl[player.Name] then
				ppl[player.Name]=true
			end
			num=game.Players:GetChildren()
			if  #ppl>=#num then
				--do stuff
				ppl={}
			end
		end)
	end)
end)

Try it out but I won't guarantee it will work XD

2 comments

0

Thank you, you gave me a good idea on how to do it! :)

0

No prob, any time!

There are multiple way you may see which players are alive, like if you made a game and wanted to see if a player died in that round or not, if so, reward, if not, don't reward. A good way is to make a table at the start and on the death of the player, remove their name.

local AlivePlrs = {}
game.Workspace.ChildAdded:connect(function(Char)
	if Char:IsA("Model") and Char:FindFirstChild("Humanoid") then -- Make sure it's a Character, not something else
		local Humanoid = Char.Humanoid
		table.insert(AlivePlrs, #AlivePlrs + 1, Char.Name)
		Humanoid.Died:connect(function() 
			for Position, Plr in ipairs(AlivePlrs) do
				if Plr == Char.Name then -- If they are in the table then...
					table.remove(AlivePlrs, Position) -- Position is an iterator which gives a number, in this case we can use that number to find where their name is in this table and remove it
				end
			end
		end)
	end
end)

This is a Script btw. The Script I gave above is the basic Idea, of course this would allow a new player who joined the game during a round to be assigned to being Alive, giving them a reward when you probably wouldn't want them to count. I just gave the basic idea, not the whole framework of a game and it's Logic.

1 comment

0

What is #AlivePlrs and why is a hashtag there? Also, is a table in Lua the same as a list in Python?

This discussion is preserved as it was. New answers, comments, and votes are closed.