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

Anti Team Kill Knife, Not working properly?

Asked by 8 years ago

Well this script is suppose to detect if the person hit is a enemy or not and if it is, it takes damage. But however it doesn't matter the team. It team kills, any way to fix this? script:

local tool = script.Parent 

function ToolEquipped(mouse)   
mouse.Button1Down:connect(function()
    if S.CanKnife and script.Parent.KnifeValue.Value == 0 then
    script.Parent.KnifeValue.Value = 1 
    script.Parent.Main.Transparency = 1
    script.Parent.Main.Knife:Play()
    local Connection = nil
    local Blade = Instance.new("Part")
    Blade.BrickColor = BrickColor.new("Really black")
    Blade.Name = "Blade"
    Blade.CanCollide = false
    Blade.FormFactor = Enum.FormFactor.Custom
    Blade.Size = VEC3(0.5, 2.5, 1)
    local Mesh = Instance.new("SpecialMesh")
    Mesh.MeshId = S.KnifeMeshId
    Mesh.MeshType = Enum.MeshType.FileMesh
    Mesh.Scale = VEC3(0.7, 0.7, 0.7)
    Mesh.TextureId = S.KnifeTextureId
    Mesh.Parent = Blade
    Blade.Parent = Gun_Ignore
    local BladeWeld = Instance.new("Weld")
    BladeWeld.Part0 = Blade
    BladeWeld.Part1 = FakeLArm
    BladeWeld.C0 = CFANG(RAD(-90), 0, RAD(180))
    BladeWeld.C1 = CF(0, -1, 0.75)
    BladeWeld.Parent = Blade
    Connection = Blade.Touched:connect(function(Obj)
        if Obj then
            local HitHumanoid = FindFirstClass(Obj.Parent, "Humanoid")
            if HitHumanoid and IsEnemy(HitHumanoid) then
                local CreatorTag = Instance.new("ObjectValue")
                CreatorTag.Name = "creator"
                CreatorTag.Value = Player
                CreatorTag.Parent = HitHumanoid
                HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
                MarkHit()
            end
        end
    end)
    TweenJoint(LWeld2, CF(), CFANG(0, RAD(90), 0), Linear, 0.05)
    TweenJoint(LWeld, ArmC0[1], CF(-0.1, 0.2, -0.1) * CFANG(0, 0, RAD(-20)), Linear, 0.05)
    TweenJoint(RWeld, ArmC0[2], CFANG(RAD(-30), 0, 0), Linear, 0.1)
    TweenJoint(Grip, Grip.C0, CF(), Linear, 0.1)
    spawn(function()
        local Force = HRP.CFrame.lookVector * 8e4
        local BF = Instance.new("BodyForce")
        BF.force = Force
        BF.Parent = HRP
        delay(0.03, function()
            BF.force = -Force / 1
            wait(0.03)
            BF:Destroy()
        end)
    end)
    wait(0.05)
    RotCamera(RAD(6), 0, true, 0.1)
    delay(0.1, function()
        RotCamera(RAD(-2), 0, true, 0.05)
    end)
    TweenJoint(LWeld, ArmC0[1], CF(0.8, 1.7, 0.2) * CFANG(0, 0, RAD(-80)), Linear, 0.06)
    wait(0.2)
    Connection:disconnect()
    wait(0.2)
    TweenJoint(LWeld2, CF(), CF(), Linear, 0.15)
    TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Linear, 0.15)
    TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Linear, 0.15)
    Blade:Destroy()
    script.Parent.Main.Transparency = 0
    wait(0.5)
    script.Parent.KnifeValue.Value = 0
    else    
        wait()
    end
end)
end

Its suppose to recognize the player on lines: 29-41

0
Where is this "IsEnemy" function? It isn't present in your block unmiss 337 — 8y

Answer this question