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

Why isn't this script flinging the humanoid?

Asked by
Synth_o 136
5 years ago
local Tool = script.Parent;
local Handle = Tool:WaitForChild("Handle");
local Activated = true
local PlayerName = Tool.Parent.Parent.Name
local Player = game.Players:FindFirstChild(PlayerName)
local BodyPosition = Instance.new("BodyPosition")

Tool.Activated:Connect(function()
    local ray  = Ray.new(
        Handle.CFrame.p,
        (Handle.CFrame.lookVector * -1).unit * 5
    )
    local part, position = workspace:FindPartOnRay(ray, Player.Character, false, true)
    if Activated == true then
        Activated = false 
        print("The pan has been pulled out")
        print(part)
        if part and not Player then 
            print("We have found something", part)
            local hit = part.Parent:FindFirstChild("UpperTorso")
            local Velocity = hit.CFrame.lookVector * -1
            if hit then 
                print("A humanoid hit the pan")
                BodyPosition.Position = Velocity + Vector3.new(0, 100, 0)
                BodyPosition.MaxForce = Vector3.new(0,0,1000)
                BodyPosition.Parent = hit
                hit.Velocity = (Velocity*-100) + Vector3.new(0,100,0)
                print("Done fixing velocity")
                BodyPosition:Destroy()
            elseif hit == nil then 
                return end
        end
        Activated = true
    end
end)

The script is supposed to basically fling the humanoid it touches backward a little bit, but at the moment it does not do that and I do not know why. There are no errors in the script. Any help would be appreciated!

1 answer

Log in to vote
0
Answered by 5 years ago

I don't know if I'm being completely correct, but I believe it's because the humanoid needs to be in the "sitting" stance if it will fling. Just code "Humanoid.Sit = true" somewhere before you want it to be flung, and I think it'll work.

Ad

Answer this question