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

How would I prevent a team kill? (edit)

the kill function kills the player when the gui button is clicked, then "if bug" area just checks if the other player that has been hit has been "infected" then it carries out a message then carries out the other player that has been infected death

These two chunks here are relevant to a Players death. The first chunk is the function and the second chunk is the GUI, This all works fine, but I want it able to not kill a Player if the Player is on the same team.

I hope I made sense! Please help

function kill()
if bug == nil then return end
if bug:FindFirstChild("Torso") == nil then
local vCharacter = Tool.Parent
local newPlayer = game.Players:playerFromCharacter(vCharacter)
local message = Instance.new("Message")
message.Text = ""
message.Parent = newPlayer
wait(1)
message.Parent = nil
else
bug.Humanoid.Health = 0    -- This is where it kills player regardless of which team, or even if its an NPC how can I make it so it doesn't kill the people on the same team?
reset()
end
end

Below is the button that if clicked on then the function will happen.

	local button5 = Instance.new("TextButton")
	button5.Name = "Button"
	button5.Text = "Kill"
	button5.BackgroundColor3 = Color3.new(0.752941, 0.752941, 0.752941)
	button5.Size = UDim2.new(0,70,0,25)
	button5.Position = UDim2.new(0,80,0,35)
	button5.Parent = frame
	button5.MouseButton1Click:connect(function() kill() end) -- When the kill function begins

1 answer

Simple. Store the player you want to kill in a value, and the current player in a value. Then, perform a check to see if they are on the same team. If they are not, then kill the target player.

Example:

--This is a simple team only door that is in a localscript for easy access to the local player 
local Player = game.Players.LocalPlayer
local Part = game.Workspace:WaitForChild('Door')

Part.Touched:connect(function(hit)
	--Perform a check to see if hit is a player
	if hit and hit.Parent:FindFirstChild('Humanoid') and game.Players:GetPlayerFromCharacter(hit.Parent) then
		local target = game.Players:GetPlayerFromCharacter(hit.Parent)
		--Make sure it is not the local player
		if target ~= Player then
			--Check to see what team they are on
			if target.TeamColor ~= Player.TeamColor then
				target.Character:BreakJoints()
			else
				print('Target is on the Players team')
			end
		end
	end
end)

3 comments

0

How would I implement that into my kill function?

0

I'm not exactly sure what your kill function is attempting to do. If you can explain it better I might be able to help.

0

the kill function kills the player when the gui button is clicked, then "if bug" area just check if the other player that has been hit has been "infected" then it carries out a message then carries out the other players death

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