Tp«pá¾äøSpäėcp áaäa ³ā«øá«¾ì «Āaäpì
TeleportService permite criar universos de jogos interconectados, onde jogadores podem viajar entre diferentes lugares mantendo dados e progresso. É
essencial para MMOs, jogos com lobby + arenas, ou experiências multi-mapa expansivas.
local TeleportService = game:GetService("TeleportService")
-- ID do lugar de destino
local placeIdDestino = 987654321
-- Teleportar um jogador
local function teleportarJogador(jogador, placeId)
local sucesso, erro = pcall(function()
TeleportService:Teleport(placeId, jogador)
end)
if not sucesso then
warn("Falha ao teleportar: " .. erro)
end
end
-- Teleportar grupo de jogadores juntos
local function teleportarGrupo(jogadores, placeId)
local codigo = TeleportService:ReserveServer(placeId)
TeleportService:TeleportToPrivateServer(placeId, codigo, jogadores)
end
-- Teleportar com dados personalizados
local function teleportarComDados(jogador, placeId, dados)
local options = Instance.new("TeleportOptions")
options:SetTeleportData(dados)
TeleportService:TeleportAsync(placeId, {jogador}, options)
end
-- Receber dados após teleporte
local function receberDadosTeleporte(jogador)
local dados = jogador:GetJoinData()
if dados.TeleportData then
print("Dados recebidos:", dados.TeleportData)
end
end
-- Exemplo de uso: Portal
local portal = workspace.Portal
portal.Touched:Connect(function(hit)
local personagem = hit.Parent
local jogador = game.Players:GetPlayerFromCharacter(personagem)
if jogador then
teleportarJogador(jogador, placeIdDestino)
end
end)