Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How would I prevent a team kill? (edit)

Asked by
Xl5Xl5 65
9 years ago

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

Log in to vote
1
Answered by 9 years ago

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)
0
How would I implement that into my kill function? Xl5Xl5 65 — 9y
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. LordSpectrus 25 — 9y
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 Xl5Xl5 65 — 9y
Ad

Answer this question