I have been trying to do a matchmaking system where you enter your friends room code to play with them.
Here's my broken code:
local replicatedStorage = game:GetService("ReplicatedStorage")
local teleportService = game:GetService("TeleportService")
local dataStoreService = game:GetService("DataStoreService")
local joinRoom = replicatedStorage:WaitForChild("JoinRoom")
local createRoom = replicatedStorage:WaitForChild("CreateRoom")
local play = replicatedStorage:WaitForChild("Play")
local roomCodes = dataStoreService:GetOrderedDataStore("RoomCodes")
function loadCodes()
local roomCodesTable
local s = pcall(function()
roomCodesTable = roomCodes:GetSortedAsync(false, math.huge)
end)
if not s then
wait(1)
loadCodes()
end
return roomCodesTable
end
function saveCode(code)
local s = pcall(function()
roomCodes:SetAsync(code)
end)
if not s then
wait(1)
saveCode(code)
end
end
play.OnServerEvent:Connect(function(player)
player.PlayerGui.TeleportGui.RoomCode:Destroy()
player.PlayerGui.TeleportGui.Enabled = true
teleportService:Teleport(6978966233, player)
end)
joinRoom.OnServerEvent:Connect(function(player, code)
local codes = loadCodes()
local codeInfo = table.find(codes, code)
print(codeInfo[1], codeInfo[2])
if codeInfo then
teleportService:TeleportToPrivateServer(6978966233, codeInfo[2], {player})
end
end)
createRoom.OnServerEvent:Connect(function(player)
local roomTeleportCode = teleportService:ReserveServer(6978966233)
local roomCode = string.sub(roomTeleportCode, 1, 6)
print(roomCode, roomTeleportCode)
player.PlayerGui.TeleportGui.RoomCode.Text = "Your room code is "..roomCode
player.PlayerGui.TeleportGui.Enabled = true
saveCode({roomCode, roomTeleportCode})
teleportService:TeleportToPrivateServer(6978966233, roomTeleportCode, {player})
end)
This is a server script placed in serverscriptservice
