How do we use Profile Service when teleporting?

Okay, so, I have a Starting Place in which we have 2 number stats and 1 table stat. Soul Fragments, Wins and {Skins}.

Everything works in the starting place, you can buy skins and it saves. Your wins and fragments are all saved, no problems.

Then you choose a gamemode and teleport to a different place, the Character Selection. In the Character Selection, I have the exact same scripts from the Starting Place (The modules and stuff).

However, it gives me an error: “exception while signaling: Unable to cast to Dictionary”

And the skins I own aren’t selectable which means there’s some problem loading them. I tried to make it print the skins I own and it gives stuff like “table.x45302034839”

When I tried to test it on studio however, it worked. The print was working normally too. It was printing the skins I own.

When I was using DataStore2, I would just place the exact same module in every place and everything would load up… Do I have to do something while teleporting the players?

I’ve been going crazy over this for the whole day, I’m gonna pass out- Please help…

Here’s my Teleport Script:

User = script.Parent.Parent.Parent.Parent.Parent.Parent.Parent
repeat
wait()
until script.Parent.Parent.Parent.Stats.Rank.Value ~= “”
MyRank = script.Parent.Parent.Parent.Stats.Rank.Value
local TeleportService = game:GetService(“TeleportService”)
local UnrankedID = 10104206778
local BeginnerID = 11663902040
local ExperiencedID = 11663931160

script.Parent.MouseButton1Click:Connect(function()
if script.Parent.Parent.Parent.PartyOwner.Value == false and script.Parent.Parent.Chosen.Value == false and script.Parent.Parent.Parent.PartyMember.Value == false then
script.Parent.Parent.Chosen.Value = true
script.Parent.Picture.ImageTransparency = 0.75
local player = script.Parent.Parent.Parent.Parent.Parent.Parent.Parent
local Rank = player:WaitForChild(“leaderstats”).Wins.Value
if Rank == 0 then
TeleportService:Teleport(UnrankedID, player)
elseif Rank > 0 and Rank < 15 then
TeleportService:Teleport(BeginnerID, player)
elseif Rank > 14 then
TeleportService:Teleport(ExperiencedID, player)
end
elseif script.Parent.Parent.Parent.PartyOwner.Value == true and script.Parent.Parent.Chosen.Value == false and script.Parent.Parent.Parent.PartyMember.Value == false then
local players = game.Players:GetPlayers()
local playerList = {}
local successful = true
for i = 1, #players do
local oneplayer = players[i]
if oneplayer.PlayerGui.Play.BackgroundFrame.MainFrame.JoinedPartyOwner.Value == User and oneplayer.PlayerGui.Play.BackgroundFrame.MainFrame.Stats.Rank.Value ~= MyRank then
successful = false
end
end
if successful == true then
script.Parent.Parent.Chosen.Value = true
script.Parent.Picture.ImageTransparency = 0.75
table.insert(playerList,1,User)
for i = 1, #players do
local oneplayer = players[i]
if oneplayer.PlayerGui.Play.BackgroundFrame.MainFrame.JoinedPartyOwner.Value == User then
oneplayer.PlayerGui.Play.BackgroundFrame.MainFrame.Modes.Chosen.Value = true
table.insert(playerList,1,oneplayer)
end
end
local Rank = User:WaitForChild(“leaderstats”).Wins.Value
if Rank == 0 then
TeleportService:TeleportPartyAsync(UnrankedID, playerList)
elseif Rank > 0 and Rank < 15 then
TeleportService:TeleportPartyAsync(BeginnerID, playerList)
elseif Rank > 14 then
TeleportService:TeleportPartyAsync(ExperiencedID, playerList)
end
else
local Error = script.Parent.Parent.Parent.Players.ErrorPopup:Clone()
Error.Visible = true
Error.Delete.Disabled = false
Error.Message.Text = “In order to play this mode, everyone in your party must have the same rank.”
Error.Parent = script.Parent.Parent.Parent.Players.Errors
end
end
end)