Hello so I just started making a grab ability and I quickly came to an issue I can’t solve.
Few things to note before asking certain questions :
Character collisions are disabled
Network ownership of the dummy’s humanoidrootpart is set to server
Platform standing on the dummy is disabled with "SetStateEnabled"
I have tried not setting the state to Physics and back to GettingUp
I have tried making sure Anchored is off
I have tried switching Part0/Part1 in the Weld
I have tried using Motor6D’s instead
I have tried using AlignPosition + AlignOrientation with rigidity enabled but it’s laggy
I have tried setting the NetworkOwner of the Dummy’s humanoidrootpart to the player
The action order for the script is:
Play punch animation
If anyone is hit, weld their humanoid root part to my left hand
Play slam animation
The issue is when I play the slam animation I get moved too like I’m welded to the dummy. Bumping and stuff.
This is the welding code:
function functions.connect(...)
local infoTable = ...;
local partToWeld,mainPart = infoTable.PartToWeld,infoTable.Main
local humanoid:Humanoid = partToWeld.Parent:FindFirstChild("Humanoid")
if humanoid then
humanoid:ChangeState(Enum.HumanoidStateType.Physics)
for _,v in pairs(partToWeld.Parent:GetDescendants()) do
if v:IsA"BasePart" then
v.Massless = true
task.delay(infoTable.Duration,function()
v.Massless = false
humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
end)
end
end
end
local weld = Instance.new("ManualWeld")
weld.Name = "ConnectWeld"
weld.Part0,weld.Part1 = partToWeld,mainPart
weld.C1 = infoTable.CFrame
weld.Parent = partToWeld
game.Debris:AddItem(weld,infoTable.Duration)
end
This is how I call the function:
serverfunctions.connect({
Main = plr.Character.LeftHand,
PartToWeld = target.HumanoidRootPart,
Duration = 2,
CFrame = CFrame.new(0,0,.5) * CFrame.Angles(math.rad(-90),math.rad(180),0),
})
And the video: