"LeftArm";
"LeftLeg";
"RightArm";
"RightLeg";
"Torso"
} -- A table of the bodyparts you want to make blocky (without changing anything this works with R15 and R6)
local Players = game:GetService("Players")
local Debounce = false
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local Humanoid = character:WaitForChild("Humanoid")
if Humanoid then
Humanoid.RigType = "R6"
task.wait(0.05)
local ClonedDescription = Humanoid:GetAppliedDescription()
player.CharacterAdded:Connect(function()
if Debounce then return end
task.delay(1, function()
Debounce = false
end)
player:LoadCharacterWithHumanoidDescription(ClonedDescription)
Debounce = true
end)
for i, bodypart in pairs(BodyParts) do
ClonedDescription[bodypart] = 0
end
repeat task.wait() until Humanoid
Humanoid:ApplyDescription(ClonedDescription)
end
end)
end)
while true do
for _, player in ipairs(Players) do
local humanoid = player:FindFirstChild("Humanoid")
if humanoid.RigType ~= "R6" then
humanoid.RigType = "R6"
end
end
task.wait(1)
end```
#Humanoid::ApplyDescription() DataModel was not available
1 messages · Page 1 of 1 (latest)
show error, not a paraphrase of it
you're applying the HumanoidDescription before the character gets parented to Workspace
oh
this line is 100% useless btw variables don't update on their own
if it's there - the loop runs once and exits immediately
if it's not there - memory leak
alright I'll try that
you could do something like,
repeat
task.wait(0.1)
if not player.Parent then
return
end
until character.Parent
it works the first time but not when the character respawns
oh lord i just reread your script, i didn't see the second connection because im on phone
this is the new script
"LeftArm";
"LeftLeg";
"RightArm";
"RightLeg";
"Torso"
} -- A table of the bodyparts you want to make blocky (without changing anything this works with R15 and R6)
local Players = game:GetService("Players")
local Debounce = false
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local Humanoid = character:WaitForChild("Humanoid")
repeat
task.wait(0.1)
if not player.Parent then
return
end
until character.Parent
if Humanoid then
local ClonedDescription = Humanoid:GetAppliedDescription()
player.CharacterAdded:Connect(function()
if Debounce then return end
task.delay(1, function()
Debounce = false
end)
player:LoadCharacterWithHumanoidDescription(ClonedDescription)
Debounce = true
end)
for i, bodypart in pairs(BodyParts) do
ClonedDescription[bodypart] = 0
end
Humanoid:ApplyDescription(ClonedDescription)
end
end)
end)```
you can use Players::GetHumanoidDescriptionFromUserId
or whatever the method is called
also is there any reason for you to manually force R6?
can't you use game settings
I removed that part, I added it because there was a problem where even though I set avatar type to R6 in game settings, players would still spawn in as R15
but the problem is gone now
oh classic roblox
have you tried using an R6 StarterCharacter
do that, then
use this to fetch humanoid description
wipe the limb properties
and apply
also this issue was commented on by a roblox staff member on devforum from what i remember, so it should eventually get fixed
if I do that, players would just spawn in with the StarterCharacter avatar though
Anyways I'm using "local ClonedDescription = Players:GetHumanoidDescriptionFromUserId(player.UserId)" and although I'm still getting the error message "Humanoid::ApplyDescription() DataModel was not available", I don't see anything breaking now
nice
can you show code
"LeftArm";
"LeftLeg";
"RightArm";
"RightLeg";
"Torso"
} -- A table of the bodyparts you want to make blocky (without changing anything this works with R15 and R6)
local Players = game:GetService("Players")
local Debounce = false
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local Humanoid = character:WaitForChild("Humanoid")
repeat
task.wait(0.1)
if not player.Parent then
return
end
until character.Parent
if Humanoid then
local ClonedDescription = Players:GetHumanoidDescriptionFromUserId(player.UserId)
player.CharacterAdded:Connect(function()
if Debounce then return end
task.delay(1, function()
Debounce = false
end)
player:LoadCharacterWithHumanoidDescription(ClonedDescription)
Debounce = true
end)
for i, bodypart in pairs(BodyParts) do
ClonedDescription[bodypart] = 0
end
Humanoid:ApplyDescription(ClonedDescription)
end
end)
end)```
memory leak incarnate
you only need one CharacterAdded
in it, fetch the humanoid description & apply
why are you doing loadcharacterwithhumanoiddescription and then using humanoid:applydescription to load the description a second time?
ah
shoutout to this post
Wtf