How To Save A Character When Teleported to a different server?

hmm still the same problem

I feel like an issue might occur here because at this point your setting the variable as the data you passed to it, instead of setting the properties of the object itself.

yeah,Same So how would i use multiple tables but only put 1 part in the table on there ?

Personally, if you’re going to do something of this nature, I’d use dictionaries to make it easier.

You’d want to pack the data table.

local data = {
    ["HairAccessory"] = workspace.HumanoidDescription.HairAccessory,
    ["Face"] = workspace.HumanoidDescription.Face,
    ["TShirt"] = workspace.HumanoidDescription.GraphicTShirt
}

and now that you have the dictionary of said info, pass that, and then when creating the object server sided you go through and set

humanoid_Description.HairAccessory = data["HairAccessory"]
humanoid_Description.Face = data["Face"]
humanoid_Description.GraphicTShirt = data["TShirt"]

or something along this nature.

ohhh okay thanks for the explanation too

No problemo, hopefully it works. Never really made something like this; However I’m pretty sure they added a Server Sided TeleportData table now, so I’d look into that instead of letting the client control what they wear etc.
Info can be found here: Serverside method of getting player teleport data

yeah ive tried that out it did not go so well also


it works!! thanks so much for your time and help btw

1 Like

Happy to help, if you have any problems in the future my messages are always open, and I’ll help the best I can.

1 Like

just a quick thing i ran into ive tried alot of things like destroying disable debounce and it still keeps spamming the character respawn https://gyazo.com/b891b28f146a5f4d67d011e3f82ab8bf

Are you manually resetting the character? If so where and what’s the code look like?

yes

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr,data)



local humanoid_Description = Instance.new("HumanoidDescription")

humanoid_Description.Name = "HumanoidDescription"

humanoid_Description.Parent = game.Workspace

humanoid_Description.HairAccessory = data["HairAccessory"]

humanoid_Description.Face = data["Face"]

humanoid_Description.GraphicTShirt = data["TShirt"]

plr:LoadCharacterWithHumanoidDescription(workspace.HumanoidDescription)



end)

How many times does the remote need to be fired, because ultimately I personally feel like you only need it once.

it only fires once but i think when the Character loads it refires the event im pretty sure

local PlayerData = {}

game.ReplicatedStorage.RemoteEvent.OnServerEvent:Connect(function(plr,data)
    if not PlayerData[plr] then
		PlayerData[plr] = data
		local humanoid_Description = Instance.new("HumanoidDescription")
		humanoid_Description.Name = "HumanoidDescription"
		humanoid_Description.Parent = game.Workspace
		humanoid_Description.HairAccessory = data["HairAccessory"]
		humanoid_Description.Face = data["Face"]
		humanoid_Description.GraphicTShirt = data["TShirt"]
		plr:LoadCharacterWithHumanoidDescription(workspace.HumanoidDescription)
	end
end)
1 Like

StarterGui

getting 30 characters

and the server script is being stored on server script service just letting you know

Check the edit and see if that helps any. Also I know it might not mean much right now, but I recommend parenting objects after you change their properties as it takes less processing power to change at that moment.

alright im testing it right now

Doesn’t teleport data have to be retrieved via a local script in ReplicatedFirst? or has this changed now?

ReplicatedFirst would be an ideal place for it, but apparently it worked for him in StarterGui in the first place so I have no clue.