they just get instantly removed or fall through the baseplate whenever character is lifted?
module code
local module = {}
-- //Tables
local ObjTable = {
Position = script:FindFirstChild("AlignPosition"),
Orientation = script:FindFirstChild("AlignOrientation")
}
function module:Joints(player, character)
-- //Humanoid
local Humanoid = character:FindFirstChild("Humanoid")
-- //
Humanoid.RequiresNeck = false
--Humanoid.HipHeight = 2
-- //for loop
for _, Motor6D in ipairs(character:GetDescendants()) do
if Motor6D:IsA("Motor6D") and (string.match(Motor6D.Name, "Shoulder") or string.match(Motor6D.Name, "Neck") or string.match(Motor6D.Name, "Hip")) then
Motor6D:Remove()
end
end
-- //for loop
for _, part in ipairs(character:GetChildren()) do
if part:IsA("BasePart") then
part.CanCollide = true
part.CollisionGroup = "Virtual"
-- //SetNetworkOwner
part:SetNetworkOwner(player)
end
end
-- //
end
return module
im disabling the shoulders and neck, they are set to can collide and shouldnt fall as shown in the video - when i jump or get lifted they get set to nil?
the head is the only part that doesnt get set to nil, yet its applied the same way to the arms.
nvm it was this, and the other person was correct - u have to render it each time
otherwise the humanoid acts upon it as a “useless limb”
thanks guys!
Solution
RunService.Heartbeat or Humanoid.StateChanged
local module = {}
-- //Services
local RunService = game:GetService("RunService")
-- //Tables
local ObjTable = {
Position = script:FindFirstChild("AlignPosition"),
Orientation = script:FindFirstChild("AlignOrientation")
}
function module:Joints(player, character)
-- //Humanoid
local Humanoid = character:FindFirstChild("Humanoid")
-- //
Humanoid.RequiresNeck = false
--Humanoid.HipHeight = 2
-- //for loop
for _, Motor6D in ipairs(character:GetDescendants()) do
if Motor6D:IsA("Motor6D") and (string.match(Motor6D.Name, "Shoulder") or string.match(Motor6D.Name, "Neck") or string.match(Motor6D.Name, "Hip")) then
Motor6D:Remove()
end
end
-- //for loop
for _, part in ipairs(character:GetChildren()) do
if part:IsA("BasePart") then
RunService.Heartbeat:Connect(function(deltaTime: number)
part.CanCollide = true
end)
part.CollisionGroup = "Virtual"
-- //SetNetworkOwner
part:SetNetworkOwner(player)
end
end
-- //
end
return module