I want to make it teleport people to a specific map. Do I have to have special spawns there? (I will if it makes it easier)
Many methods
I concider this the most efficient
torso.CFrame = CFrame.new(0,0,0)--Position of the part Player.Humanoid:MoveTo(___,___) -- Position of the part
If I were you, this is what I would do.
If you have a lobby with the SpawnLocations, what I would do is have a Map in the lighting. There would be SpawnLocations included in the map for the correct teams, etc.
All I would do would be to make the Map's parent Workspace, then make the Lobby SpawnLocation's parent Lighting. Then simply kill all of the players, and they should respawn on the correct SpawnLocations in the map. Then when the round is over, reverse the order of things and respawn the players again.
Otherwise, you can use CFrame to reposition the Players' torsos onto the map. I believe that works.
If I were to write a script for you, it probably wouldn't work, as I'm more of an idea-er than a scripter.