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
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)