I'm trying to transport data from the main menu to the actual game, but the character doesn't get changed with the data.
Here's how it looks: link
-- Local script
local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local TeleportService = game:GetService("TeleportService")
local playerData = TeleportService:GetLocalPlayerTeleportData()
print(playerData)
local decodedData = game:GetService("HttpService"):JSONDecode(playerData)
print(decodedData)
game.ReplicatedStorage.Remotes.GetData:FireServer(decodedData)
player.PlayerData.MagicEnergy.Value = decodedData.magicEnergy
player.PlayerData.Levels.XP.Value = decodedData.xp
player.PlayerData.Levels.Value = decodedData.levels
player.PlayerData.Silver.Value = decodedData.silver
player.PlayerData.HP.Value = decodedData.hp
player.PlayerData.MagicType.MagicLevel.Value = decodedData.magicLevel
player.PlayerData.MagicXP.Value = decodedData.magicXP
player.PlayerData.MagicXPNeeded.Value = decodedData.magicXPN
player.PlayerData.MagicType.Value = decodedData.magicType
player.PlayerData.Hair1.Value = decodedData.hair1
player.PlayerData.Hair1Color.Value = Vector3.new(tonumber(decodedData.hair1Color))
player.PlayerData.Hair1Offset.Value = Vector3.new(tonumber(decodedData.hair1Offset))
player.PlayerData.Hair2.Value = decodedData.hair2
player.PlayerData.Hair2Color.Value = Vector3.new(tonumber(decodedData.hair2Color))
player.PlayerData.Hair2Offset.Value = Vector3.new(tonumber(decodedData.hair2Offset))
player.PlayerData.SkinColor.Value = Color3.fromRGB(tonumber(decodedData.skinColor))
player.PlayerData.Face.Value = decodedData.face
player.PlayerData.Shirt.Value = decodedData.shirt
player.PlayerData.ShirtColor.Value = Color3.fromRGB(tonumber(decodedData.shirtColor))
player.PlayerData.Pants.Value = decodedData.pants
player.PlayerData.PantsColor.Value = Color3.fromRGB(tonumber(decodedData.pantsColor))
char:WaitForChild("Hair").Handle.Mesh.MeshId = decodedData.hair1
char:WaitForChild("Hair").Handle.Mesh.VertexColor = Vector3.new(tonumber(decodedData.hair1Color))
char:WaitForChild("Hair").Handle.Mesh.Offset = Vector3.new(tonumber(decodedData.hair1Offset))
char:WaitForChild("Hair2").Handle.Mesh.MeshId = decodedData.hair2
char:WaitForChild("Hair2").Handle.Mesh.VertexColor = Vector3.new(tonumber(decodedData.hair2Color))
char:WaitForChild("Hair2").Handle.Mesh.Offset = Vector3.new(tonumber(decodedData.hair2Offset))
char:WaitForChild("Body Colors").HeadColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").LeftArmColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").RightArmColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").LeftLegColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").RightLegColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").TorsoColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char.Head.face.Texture = decodedData.face
char:WaitForChild("Shirt").ShirtTemplate = decodedData.shirt
char:WaitForChild("Shirt").Color3 = Color3.fromRGB(tonumber(decodedData.shirtColor))
char:WaitForChild("Pants").PantsTemplate = decodedData.pants
char:WaitForChild("Pants").Color3 = Color3.fromRGB(tonumber(decodedData.pantsColor))
Server script:
local DSS = game:GetService("DataStoreService")
local playerData = DSS:GetDataStore("PlayerData")
function generateDataKey(player)
local ret = "user_"..player.UserId
return ret
end
function generateDataTable(player)
local dataTable = {
magicType = player.PlayerData.MagicType.Value,
magicLevel = player.PlayerData.MagicType.MagicLevel.Value,
magicXP = player.PlayerData.MagicXP.Value,
magicXPN = player.PlayerData.MagicXPNeeded.Value,
magicEnergy = player.PlayerData.MagicEnergy.Value,
levels = player.PlayerData.Levels.Value,
xp = player.PlayerData.Levels.XP.Value,
xpn = player.PlayerData.Levels.XPNeeded.Value,
silver = player.PlayerData.Silver.Value,
hp = player.PlayerData.HP.Value,
hair1 = player.PlayerData.Hair1.Value,
hair1Color = player.PlayerData.Hair1Color.Value,
hair1Offset = player.PlayerData.Hair1Offset.Value,
hair2 = player.PlayerData.Hair2.Value,
hair2Color = player.PlayerData.Hair2Color.Value,
hair2Offset = player.PlayerData.Hair2Offset.Value,
skinColor = player.PlayerData.SkinColor.Value,
face = player.PlayerData.Face.Value,
shirt = player.PlayerData.Shirt.Value,
shirtColor = player.PlayerData.ShirtColor.Value,
pants = player.PlayerData.Pants.Value,
pantsColor = player.PlayerData.PantsColor.Value
}
return dataTable
end
function inputData(player, data)
local char = player.Character or player.CharacterAdded:Wait()
player.PlayerData.MagicType.Value = data.magicType
player.PlayerData.MagicType.MagicLevel.Value = data.magicLevel
player.PlayerData.MagicXP.Value = data.magicXP
player.PlayerData.MagicXPNeeded.Value = data.magicXPN
player.PlayerData.MagicEnergy.Value = data.magicEnergy
player.PlayerData.Levels.Value = data.levels
player.PlayerData.Levels.XP.Value = data.xp
player.PlayerData.Levels.XPNeeded.Value = data.xpn
player.PlayerData.Silver.Value = data.silver
player.PlayerData.HP.Value = data.hp
player.PlayerData.Hair1.Value = data.hair1
player.PlayerData.Hair1Color.Value = Vector3.new(tonumber(data.hair1Color))
player.PlayerData.Hair1Offset.Value = Vector3.new(tonumber(data.hair1Offset))
player.PlayerData.Hair2.Value = data.hair2
player.PlayerData.Hair2Color.Value = Vector3.new(tonumber(data.hair2Color))
player.PlayerData.Hair2Offset.Value = Vector3.new(tonumber(data.hair2Offset))
player.PlayerData.SkinColor.Value = Color3.fromRGB(tonumber(data.skinColor))
player.PlayerData.Face.Value = data.face
player.PlayerData.Shirt.Value = data.shirt
player.PlayerData.ShirtColor.Value = Color3.fromRGB(tonumber(data.shirtColor))
player.PlayerData.Pants.Value = data.pants
player.PlayerData.PantsColor.Value = Color3.fromRGB(tonumber(data.pantsColor))
char:WaitForChild("Hair").Handle.Mesh.MeshId = data.hair1
char:WaitForChild("Hair").Handle.Mesh.VertexColor = Vector3.new(tonumber(data.hair1Color))
char:WaitForChild("Hair").Handle.Mesh.Offset = Vector3.new(tonumber(data.hair1Offset))
char:WaitForChild("Hair2").Handle.Mesh.MeshId = data.hair2
char:WaitForChild("Hair2").Handle.Mesh.VertexColor = Vector3.new(tonumber(data.hair2Color))
char:WaitForChild("Hair2").Handle.Mesh.Offset = Vector3.new(tonumber(data.hair2Offset))
char:WaitForChild("Body Colors").HeadColor3 = Color3.fromRGB(tonumber(data.skinColor))
char:WaitForChild("Body Colors").LeftArmColor3 = Color3.fromRGB(tonumber(data.skinColor))
char:WaitForChild("Body Colors").RightArmColor3 = Color3.fromRGB(tonumber(data.skinColor))
char:WaitForChild("Body Colors").LeftLegColor3 = Color3.fromRGB(tonumber(data.skinColor))
char:WaitForChild("Body Colors").RightLegColor3 = Color3.fromRGB(tonumber(data.skinColor))
char:WaitForChild("Body Colors").TorsoColor3 = Color3.fromRGB(tonumber(data.skinColor))
char.Head.face.Texture = data.face
char:WaitForChild("Shirt").ShirtTemplate = data.shirt
char:WaitForChild("Shirt").Color3 = Color3.fromRGB(tonumber(data.shirtColor))
char:WaitForChild("Pants").PantsTemplate = data.pants
char:WaitForChild("Pants").Color3 = Color3.fromRGB(tonumber(data.pantsColor))
end
function loadData(player)
local key = generateDataKey(player)
local data = playerData:GetAsync(key)
inputData(player, data)
end
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
spawn(function()
wait(1)
for i, v in pairs(char:GetChildren()) do
if v:IsA("Accessory") then
v:Destroy()
end
end
for i, v in pairs(game.ServerStorage:GetChildren()) do
if v:IsA("Accessory") then
v:Clone().Parent = char
end
end
end)
game.ReplicatedStorage.Remotes.GetData.OnServerEvent:Connect(function(player, decodedData)
print(decodedData)
local success = pcall(function()
return playerData:GetAsync(key)
end)
if success then
print("Data exists")
inputData(player, decodedData)
else
print("No data found")
end
char:WaitForChild("Hair").Handle.Mesh.MeshId = decodedData.hair1
char:WaitForChild("Hair").Handle.Mesh.VertexColor = Vector3.new(tonumber(decodedData.hair1Color))
char:WaitForChild("Hair").Handle.Mesh.Offset = Vector3.new(tonumber(decodedData.hair1Offset))
char:WaitForChild("Hair2").Handle.Mesh.MeshId = decodedData.hair2
char:WaitForChild("Hair2").Handle.Mesh.VertexColor = Vector3.new(tonumber(decodedData.hair2Color))
char:WaitForChild("Hair2").Handle.Mesh.Offset = Vector3.new(tonumber(decodedData.hair2Offset))
char:WaitForChild("Body Colors").HeadColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").LeftArmColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").RightArmColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").LeftLegColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").RightLegColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char:WaitForChild("Body Colors").TorsoColor3 = Color3.fromRGB(tonumber(decodedData.skinColor))
char.Head.face.Texture = decodedData.face
char:WaitForChild("Shirt").ShirtTemplate = decodedData.shirt
char:WaitForChild("Shirt").Color3 = Color3.fromRGB(tonumber(decodedData.shirtColor))
char:WaitForChild("Pants").PantsTemplate = decodedData.pants
char:WaitForChild("Pants").Color3 = Color3.fromRGB(tonumber(decodedData.pantsColor))
end)
end)
end)
