Engine Class
TeleportService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
คุณสมบัติ
วิธีการ
GetLocalPlayerTeleportData():Variant |
GetPlayerPlaceInstanceAsync(userId: User):Tuple |
GetTeleportSetting(setting: string):Variant |
PromptExperienceDetailsAsync(player: Player,universeId: number):Enum.PromptExperienceDetailsResult |
ReserveServer(placeId: number):Tuple |
ReserveServerAsync(placeId: number):Tuple |
SetTeleportGui(gui: Instance):() |
SetTeleportSetting(setting: string,value: Variant):() |
TeleportAsync(placeId: number,players: Instances,teleportOptions: Instance):Instance |
TeleportPartyAsync(placeId: number,players: Instances,teleportData: Variant,customLoadingScreen: Instance):string |
TeleportToPrivateServer(placeId: number,reservedServerAccessCode: string,players: Instances,spawnName: string,teleportData: Variant,customLoadingScreen: Instance):() |
TeleportToSpawnByName(placeId: number,spawnName: string,player: Instance,teleportData: Variant,customLoadingScreen: Instance):() |
เหตุการณ์
LocalPlayerArrivedFromTeleport(loadingGui: Instance,dataTable: Variant):RBXScriptSignal |
TeleportInitFailed(player: Instance,teleportResult: Enum.TeleportResult,errorMessage: string,placeId: number,teleportOptions: Instance):RBXScriptSignal |
เอกสารอ้างอิงเกี่ยวกับ API
คุณสมบัติ
CustomizedTeleportUI
วิธีการ
GetArrivingTeleportGui
ส่งค่ากลับ
ตัวอย่างโค้ด
การจัดการ GUI โหลดเทเลพอร์ต
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local customLoadingScreen = TeleportService:GetArrivingTeleportGui()
if customLoadingScreen then
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
ReplicatedFirst:RemoveDefaultLoadingScreen()
customLoadingScreen.Parent = playerGui
task.wait(5)
customLoadingScreen:Destroy()
endGetLocalPlayerTeleportData
TeleportService:GetLocalPlayerTeleportData():Variant
ส่งค่ากลับ
Variant
ตัวอย่างโค้ด
การดึงข้อมูลการเทเลพอร์ตของผู้เล่นท้องถิ่น
local TeleportService = game:GetService("TeleportService")
local teleportData = TeleportService:GetLocalPlayerTeleportData()
print("ผู้เล่นท้องถิ่นมาถึงพร้อมกับข้อมูลนี้:", teleportData)GetPlayerPlaceInstanceAsync
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
ติดตามผู้เล่นคนอื่น
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local followId = player.FollowUserId
if followId and followId ~= 0 then
-- ผู้เล่นนี้กำลังติดตามใครอยู่หรือไม่? ถ้าใช่ ให้หาว่าพวกเขาอยู่ที่ไหน
local success, currentInstance, error, placeId, jobIdOrErr = pcall(function()
return TeleportService:GetPlayerPlaceInstanceAsync(followId)
end)
-- followId คือหมายเลขผู้ใช้ของผู้เล่นที่คุณต้องการดึงข้อมูลสถานที่และหมายเลขงาน
if success then
-- โทรพาผู้เล่นเมื่อสำเร็จตามหมายเลขงาน
TeleportService:TeleportToPlaceInstance(placeId, jobIdOrErr, player)
else
-- แสดงคำเตือนตามข้อผิดพลาดที่ส่งคืน
warn(jobIdOrErr)
end
else
warn(("ผู้เล่น %d ไม่ได้ติดตามผู้เล่นคนอื่น!"):format(player.UserId))
end
end)GetTeleportSetting
PromptExperienceDetailsAsync
TeleportService:PromptExperienceDetailsAsync(
ส่งค่ากลับ
ตัวอย่างโค้ด
แสดงรายละเอียดประสบการณ์ให้กับผู้เล่น
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local success, result = pcall(function()
TeleportService:PromptExperienceDetailsAsync(player, 8357232245)
end)
if not success then
warn("ข้อผิดพลาดในการแสดงรายละเอียดประสบการณ์: " .. tostring(result))
end
if result == Enum.PromptExperienceDetailsResult.PromptClosed then
print("ผู้เล่นปิดกล่องโต้ตอบรายละเอียดประสบการณ์")
elseif result == Enum.PromptExperienceDetailsResult.TeleportAttempted then
print("ผู้เล่นเลือกที่จะเปลี่ยนไปยังประสบการณ์")
endReserveServer
ReserveServerAsync
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
TeleportService: เทเลพอร์ตไปยังเซิร์ฟเวอร์ที่ถูกสงวน
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local code = TeleportService:ReserveServerAsync(game.PlaceId)
local players = Players:GetPlayers()
TeleportService:TeleportToPrivateServer(game.PlaceId, code, players)
-- คุณสามารถเพิ่มอาร์กิวเมนต์เพิ่มเติมให้กับฟังก์ชันนี้: spawnName, teleportData และ customLoadingScreenTeleportService: ย้ายไปเซิร์ฟเวอร์ที่สงวนไว้ผ่านแชท
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetGlobalDataStore()
-- รับรหัสที่บันทึกไว้
local code = dataStore:GetAsync("ReservedServer")
if typeof(code) ~= "string" then -- ไม่มีการบันทึก สร้างใหม่
code = TeleportService:ReserveServerAsync(game.PlaceId)
dataStore:SetAsync("ReservedServer", code)
end
local function joined(player)
player.Chatted:Connect(function(message)
if message == "สงวน" then
TeleportService:TeleportToPrivateServer(game.PlaceId, code, { player })
end
end)
end
Players.PlayerAdded:Connect(joined)SetTeleportGui
พารามิเตอร์
ส่งค่ากลับ
()
ตัวอย่างโค้ด
การโทรไปยังผู้เล่นท้องถิ่น
local TeleportService = game:GetService("TeleportService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
local PLACE_ID = 0 -- เปลี่ยนที่นี่
local loadingGui = ReplicatedStorage:FindFirstChild("LoadingGui")
-- วาง GUI การโหลดสำหรับสถานที่นี้
loadingGui.Parent = playerGui
-- ตั้ง GUI การโหลดสำหรับสถานที่ปลายทาง
TeleportService:SetTeleportGui(loadingGui)
TeleportService:Teleport(PLACE_ID)SetTeleportSetting
Teleport
ส่งค่ากลับ
()
ตัวอย่างโค้ด
การโทรไปยังผู้เล่นท้องถิ่น
local TeleportService = game:GetService("TeleportService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui")
local PLACE_ID = 0 -- เปลี่ยนที่นี่
local loadingGui = ReplicatedStorage:FindFirstChild("LoadingGui")
-- วาง GUI การโหลดสำหรับสถานที่นี้
loadingGui.Parent = playerGui
-- ตั้ง GUI การโหลดสำหรับสถานที่ปลายทาง
TeleportService:SetTeleportGui(loadingGui)
TeleportService:Teleport(PLACE_ID)การโทรจากเซิร์ฟเวอร์
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local PLACE_ID = 0 -- เปลี่ยนที่นี่
local USER_ID = 1 -- เปลี่ยนเป็น UserId ของผู้เล่น
local player = Players:GetPlayerByUserId(USER_ID)
TeleportService:Teleport(PLACE_ID, player)TeleportAsync
TeleportPartyAsync
ส่งค่ากลับ
ตัวอย่างโค้ด
เทเลพอร์ตผู้เล่นทั้งหมดในเซิร์ฟเวอร์
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local PLACE_ID = 0 -- เปลี่ยน
local playerList = Players:GetPlayers()
local success, result = pcall(function()
return TeleportService:TeleportPartyAsync(PLACE_ID, playerList)
end)
if success then
local jobId = result
print("ผู้เล่นถูกเทเลพอร์ตไปยัง", jobId)
else
warn(result)
endTeleportToPlaceInstance
ส่งค่ากลับ
()
ตัวอย่างโค้ด
ติดตามผู้เล่นคนอื่น
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local followId = player.FollowUserId
if followId and followId ~= 0 then
-- ผู้เล่นนี้กำลังติดตามใครอยู่หรือไม่? ถ้าใช่ ให้หาว่าพวกเขาอยู่ที่ไหน
local success, currentInstance, error, placeId, jobIdOrErr = pcall(function()
return TeleportService:GetPlayerPlaceInstanceAsync(followId)
end)
-- followId คือหมายเลขผู้ใช้ของผู้เล่นที่คุณต้องการดึงข้อมูลสถานที่และหมายเลขงาน
if success then
-- โทรพาผู้เล่นเมื่อสำเร็จตามหมายเลขงาน
TeleportService:TeleportToPlaceInstance(placeId, jobIdOrErr, player)
else
-- แสดงคำเตือนตามข้อผิดพลาดที่ส่งคืน
warn(jobIdOrErr)
end
else
warn(("ผู้เล่น %d ไม่ได้ติดตามผู้เล่นคนอื่น!"):format(player.UserId))
end
end)TeleportToPrivateServer
ส่งค่ากลับ
()
ตัวอย่างโค้ด
TeleportService: ย้ายไปเซิร์ฟเวอร์ที่สงวนไว้ผ่านแชท
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local dataStore = DataStoreService:GetGlobalDataStore()
-- รับรหัสที่บันทึกไว้
local code = dataStore:GetAsync("ReservedServer")
if typeof(code) ~= "string" then -- ไม่มีการบันทึก สร้างใหม่
code = TeleportService:ReserveServerAsync(game.PlaceId)
dataStore:SetAsync("ReservedServer", code)
end
local function joined(player)
player.Chatted:Connect(function(message)
if message == "สงวน" then
TeleportService:TeleportToPrivateServer(game.PlaceId, code, { player })
end
end)
end
Players.PlayerAdded:Connect(joined)TeleportService: เทเลพอร์ตไปยังเซิร์ฟเวอร์ที่ถูกสงวน
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local code = TeleportService:ReserveServerAsync(game.PlaceId)
local players = Players:GetPlayers()
TeleportService:TeleportToPrivateServer(game.PlaceId, code, players)
-- คุณสามารถเพิ่มอาร์กิวเมนต์เพิ่มเติมให้กับฟังก์ชันนี้: spawnName, teleportData และ customLoadingScreenTeleportToSpawnByName
ส่งค่ากลับ
()
ตัวอย่างโค้ด
TeleportService:TeleportToSpawnByName
local TeleportService = game:GetService("TeleportService")
-- Teleport the player to the spawn location
TeleportService:TeleportToSpawnByName(1818, "TeleportSpawn")เหตุการณ์
LocalPlayerArrivedFromTeleport
TeleportService.LocalPlayerArrivedFromTeleport(
พารามิเตอร์
dataTable:Variant |
TeleportInitFailed
TeleportService.TeleportInitFailed(
player:Instance, teleportResult:Enum.TeleportResult, errorMessage:string, placeId:number, teleportOptions:Instance
พารามิเตอร์