How to Make a grab player and throw system

So currently i m trying to make grab plr and throw system
heres my script :

local grabRemoteEvent = game.ReplicatedStorage:WaitForChild("BrolyGrabRemoteEvent") 

grabRemoteEvent.OnServerEvent:Connect(function(player,target)

    if target:FindFirstChild("HumanoidRootPart") then
        local targetHumanoidRootPart = target:FindFirstChild("HumanoidRootPart")

    end
end)
local script:
local tool = script.Parent
local player = game.Players.LocalPlayer
local character = player.Character
if not character or not character.Parent then
    character = player.CharacterAdded:Wait()
end
local humanoid = character:WaitForChild("Humanoid")
local Animator = humanoid:WaitForChild("Animator")
local mouse = player:GetMouse()
local grabRemoteEvent = game.ReplicatedStorage:WaitForChild("BrolyGrabRemoteEvent") 
local UserInputService = game:GetService("UserInputService")
local animationsFolder = script.Parent.Animations

-- Animations
local brolyGrabPlayerAnimation = animationsFolder:FindFirstChild("BrolyGrabPlayer")
local brolyGrabTargetAnimation = animationsFolder:FindFirstChild("BrolyGrabTarget")

--Animations Track
local brolyGrabPlayerAnimationTrack = Animator:LoadAnimation(brolyGrabPlayerAnimation)
local brolyGrabTargetAnimationTrack = Animator:LoadAnimation(brolyGrabTargetAnimation)
local weld

tool.Equipped:Connect(function()

    UserInputService.InputBegan:Connect(function(input,gp)

        if input.KeyCode == Enum.KeyCode.E then
            if mouse.Target.Parent:FindFirstChild("Humanoid") then

                grabRemoteEvent:FireServer(mouse.Target.Parent)
                local targetPlayer = mouse.Target.Parent
                local targetHumanoidRootPart = targetPlayer:FindFirstChild("HumanoidRootPart")

                weld = Instance.new("Weld")

                weld.Name = "GrabWeld"
                weld.Part0 = targetHumanoidRootPart
                weld.Part1 = script.Parent.Handle
                weld.Parent = script.Parent

            end
        end

    end)


end)

tool.Unequipped:Connect(function()

    if weld then
        weld:Destroy()
    end

end)

heres the image of the dummy when i grab it:
image

  1. problems i am currently facing: i cant move fast with plr and then i want to make the targetplr [dummy here] face like this:
    image

i looked at - I can't manage to make a grabbing player system
but it didn’t help
hope someone can help on this , thx

3 Likes

You can’t move fast because the character you’re holding has a mass. So you should set it’s bodyparts and HumanoidRootPart to massless.

1 Like

The character movement slows you down. Change the Humanoid’s HipHeight to -9999.