Teleportation is not consistant

You can write your topic however you want, but you need to answer these questions:

  1. The big issue
    The teleportation script I have created is inconsistent with place id and I have found nothing to help fix it. It will teleport the player to the correct place id when the player is alone in the server, but not if another is currently also in the server.

  2. What my code looks like right now

My code for teleporting between places the group of players it the same as I have always done it in the past so I have no idea why it doesn’t work now. I have http service on both ends enabled don’t suggest it.

		local ReservedId = TeleportService:ReserveServer(4996884847)
		wait()
		TeleportService:TeleportToPrivateServer(4996884847,ReservedId,PlayerTable)

What happens when your alone:


What happens with a person in the server:

3. Previous attempts at fixing (do not suggest these)

  • I have tried making it a singular person, but it only works when that person is alone in the server and if one other person is in it (even if they are not teleporting with them) it sends them to the exact same server.
  • I have tried removing the variables and placing the raw place id as seen in the code snippit
  • Also very important the player table does work because if it is more then one player it sends both to the exact same server just not the right place and the coding works for others game just specifically not this one for some unknown factor
  • I can not teleport the players individually to the reserved server
  1. Summary
    If you have any solutions’s or idea’s why a teleport script would send a player back to the exact same server, please leave a reply as I have not found anything similar to my issue.

I know how to teleport a player I have done it already multiple times, the issue is the teleporting not going to the right place when more then one player is in the server.

try using a for i, v in pairs (playerTable) and then Teleport(id, reservedid, v)

How do you define PlayerTable? Does it have the right content?

The code provided should work as long as the place id is correct.

2 Likes

I still haven’t had the chance to test out @DevTest_2hd235 idea because I need to wait for another player, but this is how I am getting the player table (not the most efficient way, but works)

function addplayer(Name)
	local newperson = getPlayerFromName(Name)
	local test = findinTable(newperson)
	if test == false then
		table.insert(PlayerTable, #PlayerTable+1, newperson)
		GuiAmount.Text = tostring(#PlayerTable).."/"..tostring(MaxAmount)
		GuiAmount2.Text = tostring(#PlayerTable).."/"..tostring(MaxAmount)
	end
	if #PlayerTable >= MaxAmount then
		Teleport()
	end
end

function removeplayer(Name)
	local newperson = getPlayerFromName(Name)
	for i,v in pairs(PlayerTable)do
		if v == newperson then
			table.remove(PlayerTable,i)
			GuiAmount.Text = tostring(#PlayerTable).."/"..tostring(MaxAmount)
			GuiAmount2.Text = tostring(#PlayerTable).."/"..tostring(MaxAmount)
		end
	end
end

Your idea unfortunately did not work at all

1 Like

You are correct the code should work, but it won’t in my more recent discovery of this bug it seems the bug is limited to that specific game, because I opened a new base plate game with the exact same teleportation method and code and it worked just fine with the only change being place id (for obvious reason).

I fixed the problem myself turns out some script was quite literally game breaking and preventing the teleport service from working for some unknown reason I figured this out by disabling every server script except the teleport ones.