So this is a question not sure if it can be fixed in a script, but when I use this script to weld my mesh part with my feet in r15 it works completely fine, But what ends up happening is that the entire mesh basically sinks into the ground unless I am moving. Like I said I'm not sure if a script can fix the issue but any amount of input would be fine. The goal was to have the shoe stay above ground and be colideable so it would probably also increase the player's height as well. (the script works fine, I just added it in case it could help in anyway :p)

script.Parent.Touched:Connect(function(hit)
    if hit.Parent:FindFirstChild("Humanoid") ~= nil and hit.Parent:FindFirstChild("Leg1") == nil then
        local G = script.Parent.Parent:WaitForChild("Leg1"):Clone()
        G.Parent = hit.Parent

        local M = G:WaitForChild("Middle")
        for B, C in pairs(G:GetChildren()) do
            if C:IsA("BasePart") then
                local W = Instance.new("Weld")
                local CJ = CFrame.new(M.Position)
                W.Part0 = M
                W.Part1 = C
                W.C0 = M.CFrame:inverse() * CJ
                W.C1 = C.CFrame:inverse() * CJ
                W.Parent = M
            end 
        local Y = Instance.new("Weld")
        Y.Part0 = hit.Parent:WaitForChild("LeftFoot")
        Y.Part1 = M
        Y.C0 = CFrame.new(0, 0, 0)
        Y.Parent = hit.Parent:WaitForChild("LeftFoot")
        end

        for I, H in pairs(G:GetChildren()) do
            if H:IsA("BasePart") then
                H.Anchored = false
                H.CanCollide = true
            end
        end
    end

    if hit.Parent:FindFirstChild("Humanoid") ~= nil and hit.Parent:FindFirstChild("Leg2") == nil then
        local G = script.Parent.Parent:WaitForChild("Leg2"):Clone()
        G.Parent = hit.Parent

        local M = G:WaitForChild("Middle")
        for B, C in pairs(G:GetChildren()) do
            if C:IsA("BasePart") then
                local W = Instance.new("Weld")
                local CJ = CFrame.new(M.Position)
                W.Part0 = M
                W.Part1 = C
                W.C0 = M.CFrame:inverse() * CJ
                W.C1 = C.CFrame:inverse() * CJ
                W.Parent = M
            end 
        local Y = Instance.new("Weld")
        Y.Part0 = hit.Parent:WaitForChild("RightFoot")
        Y.Part1 = M
        Y.C0 = CFrame.new(0, 0, 0)
        Y.Parent = hit.Parent:WaitForChild("RightFoot")
        end

        for I, H in pairs(G:GetChildren()) do
            if H:IsA("BasePart") then
                H.Anchored = false
                H.CanCollide = true
            end
        end
    end
end)

2 comments

0

I believe that your problem might be that the person pushes the shoe under

0

thats what i think to but im not sure how to fix it :T