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

Crouching Script. Any fix?

Asked by 10 years ago

So for some reason, this crouch script does not work, My script dev says its buggy for some reason and makes you go free falling state when you try to come out of crouch. How could this be fixed?

wait(0.5) --Wait time

on = 0

Tool = game.Players.LocalPlayer.Character

welds = {}

sh = {}

arms = nil

torso = nil

local mouse

f = nil

function Crouch(ison)
if arms == nil and torso == nil then
    arms = {Tool:FindFirstChild("Left Leg"), Tool:FindFirstChild("Right Leg")}
    torso = Tool:FindFirstChild("Torso")
end
if arms ~= nil and torso ~= nil then
    sh = {torso:FindFirstChild("Left Hip"), torso:FindFirstChild("Right Hip")}
        if sh ~= nil then
        local yes = true
            if yes then
            yes = false
                if ison == 1 then--if on
                sh[1].Part1 = nil
                sh[2].Part1 = nil

                local weld1 = Instance.new("Weld")--weld1
                weld1.Part0 = torso
                weld1.Parent = torso
                weld1.Part1 = arms[1]
                weld1.C1 = CFrame.new(-0.5, 0.75, 1)
                arms[1].Name = "LDave"
                arms[1].CanCollide = true

                welds[1] = weld1

                local weld2 = Instance.new("Weld")--weld2
                weld2.Part0 = torso
                weld2.Parent = torso
                weld2.Part1 = arms[2]
                weld2.C1 = CFrame.new(0.5,0.495,1.25) * CFrame.fromEulerAnglesXYZ(math.rad(90),0,0)

                arms[2].Name = "RDave"
                arms[2].CanCollide = true

                welds[2] = weld2

                local force = Instance.new("BodyForce")
                force.Parent = torso
                f = force

                wait(0.01)
            elseif ison == 0 then
                if arms then

                sh[1].Part1 = arms[1]
                sh[2].Part1 = arms[2]

                f.Parent = nil

                arms[2].Name = "Right Leg"
                arms[1].Name = "Left Leg"

                welds[1].Parent = nil
                welds[2].Parent = nil
            end
        end

    end
    else
    print("sh")
    end
else
    print("leg") --if leg missing
end
end
function Key(key)
    if key then
    key = string.lower(key)
        if (key=="c") then
            if on == 1 then
            on = 0
        elseif on == 0 then
            on = 1
        end
    Crouch(on)
    end
    end
end

mouse = game.Players.LocalPlayer:GetMouse()
mouse.KeyDown:connect(Key)



Answer this question