For my ragdoll, the ragdoll humanoid state type won’t work, I set it to ragdoll and then 3 seconds later, despite it saying the state is “Ragdoll” it just clips through the ground again:
I dont understand what you mean by your first question sorry, But if youre asking if the state is being changed afterwards, its only being changed again when the player gets out of ragdoll mode and no other humanoid state types are printed in the console other than “ragdoll”
The humanoid is not attached to the rest of the character, The Motor6D is deleted and so is the constraint in the humanoidrootpart
and my other post was on the can-collide property of limbs which this humanoidstatetype deals with
It is, but it doesn’t do anything. He need to script the arms, legs and more to don’t cancollide. He din’t gave us the entire script so we can’t find the problem.
Also just “Scripting the limbs to can-collide” won’t work either, That was the first thing i’ve tried, Then i tried binding it to stepped via a localplayer script, That didn’t work either, Reason i didn’t want to share my full script is people taking it.
local PhysicsService = game:GetService("PhysicsService")
PhysicsService:CreateCollisionGroup("Player")
PhysicsService:CollisionGroupSetCollidable("Player", "Map", true)
game.Players.PlayerAdded:Connect(function(plr)
repeat wait() until plr.Character
for i, v in pairs(plr.Character:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v)
end
end
plr.Character.Humanoid.Died:Connect(function()
if not _G[plr.Name] then
game.ReplicatedStorage.Effect:FireClient(plr)
wait(3)
plr:LoadCharacter()
end
end)
plr.Character.Parent = workspace.TargetFilter
plr.Character.Humanoid.BreakJointsOnDeath = false
plr.CharacterAdded:Connect(function(char)
for i, v in pairs(char:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v)
end
end
Something like this should work? Because it’s still doing the same thing
local PhysicsService = game:GetService("PhysicsService")
PhysicsService:CreateCollisionGroup("Player")
PhysicsService:CollisionGroupSetCollidable("Player", "Map", true)
PhysicsService:CollisionGroupSetCollidable("Player", "Player", false)
game.Players.PlayerAdded:Connect(function(plr)
repeat wait() until plr.Character
for i, v in pairs(plr.Character:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v,"Map")
end
end
plr.Character.Humanoid.Died:Connect(function()
if not _G[plr.Name] then
game.ReplicatedStorage.Effect:FireClient(plr)
wait(3)
plr:LoadCharacter()
end
end)
plr.Character.Parent = workspace.TargetFilter
plr.Character.Humanoid.BreakJointsOnDeath = false
plr.CharacterAdded:Connect(function(char)
for i, v in pairs(char:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v,"Players")
end
end
This is happening because you are not setting the parts to not can collide.
The player is still not colliding with the map, The parts are by default un-cancollide and in the window, it shows that both groups are meant to collide:
I’ve corrected that too and it’s still doing the same thing
local PhysicsService = game:GetService("PhysicsService")
PhysicsService:CreateCollisionGroup("Player")
PhysicsService:CollisionGroupSetCollidable("Player", "Map", true)
game.Players.PlayerAdded:Connect(function(plr)
repeat wait() until plr.Character
for i, v in pairs(plr.Character:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v,"Player")
end
end
plr.Character.Humanoid.Died:Connect(function()
if not _G[plr.Name] then
game.ReplicatedStorage.Effect:FireClient(plr)
wait(3)
plr:LoadCharacter()
end
end)
plr.Character.Parent = workspace.TargetFilter
plr.Character.Humanoid.BreakJointsOnDeath = false
plr.CharacterAdded:Connect(function(char)
for i, v in pairs(char:GetChildren()) do
if v:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(v,"Player")
end
end
game.ReplicatedStorage.Ambience:FireClient(plr, "Lobby")
char:WaitForChild("ForceField"):Destroy()
for i = 0, 50, 1 do
char.Parent = game.Workspace.TargetFilter
end
char.Humanoid.BreakJointsOnDeath = false
char.Humanoid.Died:Connect(function()
if not _G[plr.Name] then
game.ReplicatedStorage.Effect:FireClient(plr)
wait(3)
plr:LoadCharacter()
end
end)
end)
end)
This is the full script that i’m using for this
Edit: Nevermind, doesn’t make sense to use physicservice because the limbs are still can-collide off.