The player gets teleported from the menu (starter place) to the actual game (another place in the same universe). The data gets transported, but my character doesn't get modified with the data.
local module = require(script.Parent.DataModule) local dataStoreService = game:GetService("DataStoreService") local playerData = dataStoreService:GetDataStore("PlayerData") game.Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function(char) local key = module.generateKey(player) local data = Instance.new("Folder") data.Name = "PlayerData" data.Parent = player local magicType = Instance.new("StringValue") magicType.Name = "MagicType" magicType.Parent = data local magicLevel = Instance.new("IntValue") magicLevel.Name = "MagicLevel" magicLevel.Parent = magicType local magicXP = Instance.new("IntValue") magicXP.Name = "MagicXP" magicXP.Parent = data local magicXPN = Instance.new("IntValue") magicXPN.Name = "MagicXPNeeded" magicXPN.Parent = data magicXPN.Value = 20 local magicEnergy = Instance.new("IntValue") magicEnergy.Name = "MagicEnergy" magicEnergy.Parent = data magicEnergy.Value = 30 local levels = Instance.new("IntValue") levels.Name = "Levels" levels.Parent = data levels.Value = 1 local xp = Instance.new("IntValue") xp.Name = "XP" xp.Parent = levels local xpn = Instance.new("IntValue") xpn.Name = "XPNeeded" xpn.Parent = levels xpn.Value = 100 local silver = Instance.new("IntValue") silver.Name = "Silver" silver.Parent = data local hp = Instance.new("IntValue") hp.Parent = data hp.Name = "HP" hp.Value = char:WaitForChild("Humanoid").MaxHealth local hair1 = Instance.new("StringValue") hair1.Name = "Hair1" hair1.Parent = data local hair1Color = Instance.new("Vector3Value") hair1Color.Name = "Hair1Color" hair1Color.Parent = data local hair1Offset = Instance.new("Vector3Value") hair1Offset.Name = "Hair1Offset" hair1Offset.Parent = data local hair2 = Instance.new("StringValue") hair2.Name = "Hair2" hair2.Parent = data local hair2Color = Instance.new("Vector3Value") hair2Color.Name = "Hair2Color" hair2Color.Parent = data local hair2Offset = Instance.new("Vector3Value") hair2Offset.Name = "Hair2Offset" hair2Offset.Parent = data local skinColor = Instance.new("Color3Value") skinColor.Name = "SkinColor" skinColor.Parent = data local face = Instance.new("StringValue") face.Name = "Face" face.Parent = data local shirt = Instance.new("StringValue") shirt.Name = "Shirt" shirt.Parent = data local shirtColor = Instance.new("Color3Value") shirtColor.Name = "ShirtColor" shirtColor.Parent = data local pants = Instance.new("StringValue") pants.Name = "Pants" pants.Parent = data local pantsColor = Instance.new("Color3Value") pantsColor.Name = "PantsColor" pantsColor.Parent = data local dataa = module.generateData(player) 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) local success = pcall(function() return playerData:GetAsync(key) end) game.ReplicatedStorage.Remotes.GetData.OnServerEvent:Connect(function(player, decodedData) print(decodedData) magicEnergy.Value = decodedData.magicEnergy xp.Value = decodedData.xp levels.Value = decodedData.levels silver.Value = decodedData.silver hp.Value = decodedData.hp magicLevel.Value = decodedData.magicLevel magicXP.Value = decodedData.magicXP magicXPN.Value = decodedData.magicXPN magicType.Value = decodedData.magicType hair1.Value = decodedData.hair1 hair1Color.Value = Vector3.new(decodedData.hair1Color) hair1Offset.Value = Vector3.new(decodedData.hair1Offset) hair2.Value = decodedData.hair2 hair2Color.Value = Vector3.new(decodedData.hair2Color) hair2Offset.Value = Vector3.new(decodedData.hair2Offset) skinColor.Value = Color3.fromRGB(decodedData.skinColor) face.Value = decodedData.face shirt.Value = decodedData.shirt shirtColor.Value = Color3.fromRGB(decodedData.shirtColor) pants.Value = decodedData.pants pantsColor.Value = Color3.fromRGB(decodedData.pantsColor) char:WaitForChild("Hair").Handle.Mesh.MeshId = decodedData.hair1 char:WaitForChild("Hair").Handle.Mesh.VertexColor = Vector3.new(decodedData.hair1Color) char:WaitForChild("Hair").Handle.Mesh.Offset = Vector3.new(decodedData.hair1Offset) char:WaitForChild("Hair2").Handle.Mesh.MeshId = decodedData.hair2 char:WaitForChild("Hair2").Handle.Mesh.VertexColor = Vector3.new(decodedData.hair2Color) char:WaitForChild("Hair2").Handle.Mesh.Offset = Vector3.new(decodedData.hair2Offset) char:WaitForChild("Body Colors").HeadColor3 = Color3.fromRGB(decodedData.skinColor) char:WaitForChild("Body Colors").LeftArmColor3 = Color3.fromRGB(decodedData.skinColor) char:WaitForChild("Body Colors").RightArmColor3 = Color3.fromRGB(decodedData.skinColor) char:WaitForChild("Body Colors").LeftLegColor3 = Color3.fromRGB(decodedData.skinColor) char:WaitForChild("Body Colors").RightLegColor3 = Color3.fromRGB(decodedData.skinColor) char:WaitForChild("Body Colors").TorsoColor3 = Color3.fromRGB(decodedData.skinColor) char.Head.face.Texture = decodedData.face char:WaitForChild("Shirt").ShirtTemplate = decodedData.shirt char:WaitForChild("Shirt").Color3 = Color3.fromRGB(decodedData.shirtColor) char:WaitForChild("Pants").PantsTemplate = decodedData.pants char:WaitForChild("Pants").Color3 = Color3.fromRGB(decodedData.pantsColor) if success then print("Data exists") module.inputData(player, decodedData) else print("No data found") end player:WaitForChild("PlayerGui").LevelName.Level.Text = "Level "..levels.Value if levels.Value == 1 then print("Start tutorial") game.ReplicatedStorage.Remotes.StartTutorial:FireClient(player) end for i, v in pairs(decodedData) do print(tostring(i)..": ".. tostring(v)) end end) end) end)
Client:
local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local TeleportService = game:GetService("TeleportService") local playerData = TeleportService:GetLocalPlayerTeleportData() print(playerData) game.ReplicatedStorage.Remotes.GetData:FireServer(playerData)
What can I do in order to make the character change? How it looks like: link
EDIT: This is what it prints: link EDIT2:
local module = require(script.Parent.DataModule) local dataStoreService = game:GetService("DataStoreService") local playerData = dataStoreService:GetDataStore("PlayerData") game.Players.PlayerAdded:Connect(function(player) local char = workspace.Character local key = module.generateKey(player) local data = Instance.new("Folder") data.Name = "PlayerData" data.Parent = player local magicType = Instance.new("StringValue") magicType.Name = "MagicType" magicType.Parent = data local magicLevel = Instance.new("IntValue") magicLevel.Name = "MagicLevel" magicLevel.Parent = magicType local magicXP = Instance.new("IntValue") magicXP.Name = "MagicXP" magicXP.Parent = data local magicXPN = Instance.new("IntValue") magicXPN.Name = "MagicXPNeeded" magicXPN.Value = 20 magicXPN.Parent = data local magicEnergy = Instance.new("IntValue") magicEnergy.Name = "MagicEnergy" magicEnergy.Value = 30 magicEnergy.Parent = data local levels = Instance.new("IntValue") levels.Name = "Levels" levels.Value = 1 levels.Parent = data local xp = Instance.new("IntValue") xp.Name = "XP" xp.Parent = levels local xpn = Instance.new("IntValue") xpn.Name = "XPNeeded" xpn.Value = 100 xpn.Parent = levels local silver = Instance.new("IntValue") silver.Name = "Silver" silver.Parent = data local hp = Instance.new("IntValue") hp.Name = "HP" hp.Value = 100 hp.Parent = data local hair1 = Instance.new("StringValue") hair1.Name = "Hair1" hair1.Parent = data local hair1Color = Instance.new("Vector3Value") hair1Color.Name = "Hair1Color" hair1Color.Parent = data local hair1Offset = Instance.new("Vector3Value") hair1Offset.Name = "Hair1Offset" hair1Offset.Parent = data local hair2 = Instance.new("StringValue") hair2.Name = "Hair2" hair2.Parent = data local hair2Color = Instance.new("Vector3Value") hair2Color.Name = "Hair2Color" hair2Color.Parent = data local hair2Offset = Instance.new("Vector3Value") hair2Offset.Name = "Hair2Offset" hair2Offset.Parent = data local skinColor = Instance.new("Color3Value") skinColor.Name = "SkinColor" skinColor.Parent = data local face = Instance.new("StringValue") face.Name = "Face" face.Parent = data local shirt = Instance.new("StringValue") shirt.Name = "Shirt" shirt.Parent = data local shirtColor = Instance.new("Color3Value") shirtColor.Name = "ShirtColor" shirtColor.Parent = data local pants = Instance.new("StringValue") pants.Name = "Pants" pants.Parent = data local pantsColor = Instance.new("Color3Value") pantsColor.Name = "PantsColor" pantsColor.Parent = data local dataa = module.generateData(player) game.ReplicatedStorage.Remotes.Teleport.OnServerEvent:Connect(function(player) local userid = player.UserId game:GetService("TeleportService"):Teleport(4398454020, player, dataa) end) end)