That’s exactly what I posted, using startercharacter you can change it to literally anything.
I saw that, and I did research and its not a good way to do it as its not an official thing.
Archivable is on, I can clone it just fine for the swapping, I just can’t reference the charcter outside of that script for some reason
Understandable, but going about it in a different way may be too hacky. This was a pretty simple solution to this, at least for me.
I think I’ll just put the current Character in an object value and use it instead of going on trying to find out a better way.
I am not sure.
Yet, I don’t get why you clone a character then set it to the other one.
If you don’t destroy them, wouldn’t it create unnessecary clones?
Try doing like this:
game.ReplicatedStorage.Events.SwitchCharacters.OnServerEvent:Connect(function(player)
local character = player.Character
if character.Name == "Player1" then
player.Character = game.Workspace.Player2
elseif character.Name == "Player2" then
player.Character = game.Workspace.Player1
else
player.Character = game.Workspace.Player1
character:Destroy() --Destroy the old character that is now switched.
end
end)
The 2 characters already exist in the workspace, don’t they? Just switch between them.
Also, change the CameraSubject to your new humanoid from a local script.
I’m presuming you’re wanting to achieve a character from another player model, therefore, you could seek a usage with hum:GetAppliedDescription(), which returns back a copy of the target’s avatar, and it can be used with hum:ApplyDescription() to load in for the player. Take a look at the links for in-depth details.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.