So, I made a character customization button on the main menu of the game. When a player clicks "customize" it brings their player and camera to a podium where they can equip accessories, pants, etc to see what they look like. The only problem is, is when I asked my friend to test it with me, it teleported us both to the same podium, so I could see her and she could see me. How would I script it so it works?
script -- (inside customization button)
-- Contstants --
local Camera = game.Workspace.CurrentCamera
local Player = game.Players.LocalPlayer
-- Camera --
repeat wait() until Player.Character
script.Parent.MouseButton1Click:connect (function ()
Camera.CameraType = "Scriptable"
Camera.CFrame = game.Workspace.CustomizePart.CFrame
script.Parent.Parent.Menus.Catalog.Visible = true
script.Parent.Parent.Menus.Quick.Visible = true
script.Parent.Parent.Menus.Inventory.Visible = true
script.Parent.Parent.ButtonFrame.Visible = false
script.Parent.Parent.Spawn.Visible = false
script.Parent.Parent.CCBack.BackButton.Visible = true
script.Parent.Visible = false
if Player.Character and Player.Character:FindFirstChild("UpperTorso") then
Player.Character.UpperTorso.CFrame = CFrame.new(-17.422, 6.052, 79.815)
local controls = require(game:GetService("Players").LocalPlayer.PlayerScripts.PlayerModule):GetControls()
controls:Disable()
end
end)
I understand the script teleports the player to the podium, but how would I make it so other players teleport to different podiums? I have no idea where to start.

4 comments
The clients character's position replicates itself to the server, you you will need to make a work-around to solve that problem. One way you can do it is locally clone a rig from ReplicatedStorage and apply any changes made locally to the client's character (that the server handles, ofcourse).
@pidgey yeah i have no idea where to start to do that
You will probably need to take a step backwards and learn about remote functions and events. There are lots of guides, even one on here.
Another solution could be offsetting the position of everything by the number of player's there are in your game. Locally create a new podium for every player, and move that podium and character to each other with an offset. A short example could be: UpperTorso.CFrame = CFrame.new(-17.422, 6.052, 79.815) * CFrame.new(0, 0, 100 * #game.Players:GetPlayers() - 1)