So basically i tried everything and only waiting like 10 seconds seemed to work (made the character parent to that folder) but i find this really weird because when i tried to loop till the character has loaded it kept looping even when it seemed loaded as seen in the video
So basically i tried everything and only waiting like 10 seconds seemed to work (made the character parent to that folder) but i find this really weird because when i tried to loop till the character has loaded it kept looping even when it seemed loaded as seen in the video
Could you clarify what the problem is? I am not sure what I am looking at.
I think it’s kinda clear, first of all the character doesnt get parented to that folder i mentioned and the main problem im showing here is that the loop for waiting to see if the character loaded doesnt work
I get it now.
HasAppearanceLoaded is a function, not a property.
This is how you should use it in your case:
repeat
print("TEST")
wait()
until player:HasAppearanceLoaded()
There is an if check for a child within the character called “CharacterLoaded”
Can you confirm that it passes the check?
Hold on I’ll do it, without waiting for the character’s appearance to load because that’s still weird why it aint parenting tho
That is strange,
Can you add these prints and send the output:
print(Player.Character)
Player.Character.Parent = workspace.Characters
print(Player.Character:GetFullName())
That means that it does parent the player character into the Characters folder but that the player character gets reparented back into workspace after that.
Why do you think it’d do that? because I have no line that does that
Because as you can see in the output, after
Player.Character.Parent = workspace.Characters
It says: Workspace.Characters.royee345
Which means it did parent your character to the folder.
But you show a screenshot that “royee345” ends up in workspace, which means it got reparented.
Yes but that’s not my doing, which means it’s a Roblox issue?
I don’t think it’s a Roblox issue.
This is the code I run:
local player = game.Players.LocalPlayer
repeat
print("TEST")
wait()
until player:HasAppearanceLoaded()
player.Character.Parent = workspace.Characters
And as you can see:
My character did get parented to a folder called Characters in workspace.
Might there be any other scripts interfering?
So the difference is that I didn’t do the appearence loaded thingy however I dont think that should pose a problem, try to do it without it on character added
This does NOT work:
local function CharacterLoaded(character)
character.Parent = workspace.Characters
end
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
CharacterLoaded(character)
end)
end)
The parent is workspace.
This DOES work:
local function CharacterLoaded(character)
character.Parent = workspace.Characters
end
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
repeat
print("TEST")
wait()
until player:HasAppearanceLoaded()
CharacterLoaded(character)
end)
end)
The reason is likely because the CharacterAdded event gets fired when the character object is being added to the player but hasn’t fully instanced yet. So you parent the character object before Roblox is done instancing the character object which results in Roblox parenting the character object to Workspace after you have parented the character object to the Characters folder.
Wouldnt it throw an error tho?
Yea I dont think that’s the case man, that doesnt work as well:
No.
Since no invalid LUA syntax, arguments, reference or etc. has been made it shouldn’t throw an error.
That doesn’t work because you aren’t checking if the character has fully loaded yet.