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

Last lines of code wont make part disappear, no errors either?

Asked by 3 years ago
Edited 3 years ago
local larm = script.Parent:FindFirstChild("HumanoidRootPart")
local rarm = script.Parent:FindFirstChild("HumanoidRootPart")

function findNearestTorso(pos)
    local list = game.Workspace:children()
    local torso = nil
    local dist = 125
    local temp = nil
    local human = nil
    local temp2 = nil
    for x = 1, #list do
        temp2 = list[x]
        if (temp2.className == "Model") and (temp2 ~= script.Parent) then
            temp = temp2:findFirstChild("HumanoidRootPart")
            human = temp2:findFirstChild("Humanoid")
            if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
                if (temp.Position - pos).magnitude < dist then
                    torso = temp
                    dist = (temp.Position - pos).magnitude
                end
            end
        end
    end
    return torso
end


while true do
    wait(math.random(0,0))
    local target = findNearestTorso(script.Parent.HumanoidRootPart.Position)
    if target ~= nil then
        script.Parent.Humanoid:MoveTo(target.Position, target)
        wait(5)


        local char = script.Parent
        local humanoid = char.Humanoid
        local head = char.Head

        for i = 1,6,1 do
            if i == 1 then
                script.Parent.laser.Transparency = 0.5
                wait(0.5)
                script.Parent.Humanoid.WalkSpeed = 0
                wait(2)
                script.Parent.laser.Transparency = 0
                    local damage_delay = 0.35
                        local damage = 5

                        local part = script.Parent.laser
                        local region = Region3.new(part.Position - (0.5 * part.Size), part.Position + (0.5 * part.Size))

                        while wait(damage_delay)
                        do
                            for _, part in pairs(workspace:FindPartsInRegion3(region, nil, math.huge))
                            do
                                if part.Name == "Right Leg" then
                                    local human = part.Parent:FindFirstChild"Humanoid"
                                        if script.Parent.laser.Transparency == 0 then
                                        human.Health = human.Health - damage
                                    end 
                                end
                            end
                        end
            else
                script.Parent.laser.Transparency = 0.5
                wait(0.5)
                script.Parent.Humanoid.WalkSpeed = 0
                wait(2)
                script.Parent.laser.Transparency = 0

                        local damage_delay = 0.35
                        local damage = 5

                        local part = script.Parent.laser
                        local region = Region3.new(part.Position - (0.5 * part.Size), part.Position + (0.5 * part.Size))

                        while wait(damage_delay)
                        do
                            for _, part in pairs(workspace:FindPartsInRegion3(region, nil, math.huge))
                            do
                                if part.Name == "Left Leg" then
                                    local human = part.Parent:FindFirstChild"Humanoid"
                                    if human ~= nil then
                                        if script.Parent.laser.Transparency == 0 then
                                        human.Health = human.Health - damage
                                    end 
                                end
                            end
                        end
                    end
                end
            end
        end
    end
wait(2)
    for i = 1,6,1 do
        if i == 1 then
            script.Parent.laser.Transparency = 1
            script.Parent.Humanoid.WalkSpeed = 7
        else
            script.Parent.laser.Transparency = 1
            script.Parent.Humanoid.WalkSpeed = 7
        end
    end
wait(2)
    for i = 1,6,1 do
        if i == 1 then
            script.Parent.laser.Transparency = 1
            script.Parent.Humanoid.WalkSpeed = 7
        else
            script.Parent.laser.Transparency = 1
            script.Parent.Humanoid.WalkSpeed = 7
        end
    end

This is the lines of code that are not activating, Can anyone show me why? I want the part called laser to disappear after, but it isnt doing that.

Answer this question