So I’ve created a custom character, I attached the parts with motor6ds and I made some animations on it. But when I playtest with my new custom character, the animations don’t run. I copy and pasted the animate script from my real character into it and changed the animation ids to the custom animations, but the animations don’t play for some reason. The custom character just stands straight like a soldier when it moves around. There were no errors in the output.
Here’s my script that changes my character to the custom character:
local Player = game.Players.LocalPlayer
Player.CharacterAdded:Wait()
local Noob = game.ReplicatedStorage.Noob:Clone()
local OldCharacter = Player.Character
Noob.Name = Player.Name
Noob.Parent = game.Workspace
Player.Character = Noob
OldCharacter:Destroy()
It’s a local script in starterPlayerScripts
2 Likes
There’s a property which prevents characters from being auto loaded and, characters can only be loaded from the server. Players > CharacterAutoLoads > false
Then, you could insert your custom character from the server and set network ownership to the player.
4 Likes
I’m having a problem, the guis in my startergui no longer replicate to my playergui. Is this related to me turning off character auto loads?
1 Like
I tried making my own script that replicates the guis in startergui to my playergui, but it didn’t work either. No errors or anything
1 Like
You’ll have to manually move any ScreenGui from StarterGui to the players PlayerGui, to do this, you could put this script in StarterPlayerScripts (it clones anything in StarterGui and parents it to PlayerGui)
local Player = game.Players.LocalPlayer
local StarterGui = game:GetService("StarterGui")
local PlayerGui = Player:WaitForChild("PlayerGui")
local PlayerScripts = Player:WaitForChild("PlayerScripts")
for i, v in pairs(StarterGui:GetChildren()) do
print(v)
v:Clone().Parent = PlayerGui
end
I’m going to assume this is because Roblox doesn’t replicate anything from StarterGui unless the character has spawned in.
I already tried that with a server script in workspace, I’ll try again in starterplayerscripts though.
2 Likes
My bad, I misread you and thought you meant a server script in serverscriptservice.
Yeah, I tried that out and it didn’t print/ do anything. It was a local script in starter player scripts, and there definitely were a few guis in startergui. I’m starting to give up tbh
1 Like
It might be because I didn’t change the Network ownership like you told me too, I’m not entirely sure how to do that
If there’s not many ScreenGuis you could use :WaitForChild() for each individual ScreenGui object since I suspect that, when the script above is executed, not everything has been loaded including gui objects in StarterGui
local Player = game.Players.LocalPlayer
local StarterGui = game:GetService("StarterGui")
local PlayerGui = Player:WaitForChild("PlayerGui")
local PlayerScripts = Player:WaitForChild("PlayerScripts")
StarterGui:WaitForChild("ScreenGui").Parent = PlayerGui
...
2 Likes
I can’t believe I didn’t think of doing that! thank you so much for helping me out, without you I probably would have been stuck on this problem for a while
1 Like