chen399d

配置主場景.lua

May 1st, 2025
803
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.69 KB | Source Code | 0 0
  1. -- 全域變數
  2. local Players = game:GetService("Players")
  3. local ALLRespawn_Point = {}
  4. local localPlayer = Players.LocalPlayer -- 本地玩家
  5. local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
  6. local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
  7.  
  8. -- 玩家位置
  9. local playerPosition = humanoidRootPart.Position
  10.  
  11. -- 資料夾變數
  12. local workspace = game:GetService("Workspace")
  13. local mainscene = workspace:FindFirstChild("主场景") -- 主場景
  14. if mainscene then
  15.     mainscene.Name = "主場景1"
  16.     --print("已成功更改名稱主場景1")
  17. else
  18.     --print("已更改名稱主場景1")
  19. end
  20. for i = 1, 9 do
  21.     local mainscene2 = workspace:FindFirstChild("主场景"..i)
  22.     if mainscene2 then
  23.         mainscene2.Name = "主場景"..i
  24.         --print("已成功更改名稱主場景"..i)
  25.     else
  26.         --print("已更改名稱主場景"..i)
  27.     end
  28. end
  29.  
  30. -- 記錄所有重生點位置
  31. for i = 1, 9 do
  32.     local scene = workspace:FindFirstChild("主場景"..i)
  33.     if scene then
  34.         local respawnPoint = scene:FindFirstChild("重生点")
  35.         ALLRespawn_Point[i] = {
  36.             Position = respawnPoint.Position,
  37.             SceneName = scene.Name
  38.         }
  39.     end
  40. end
  41.  
  42. -- 找到最近的出生點
  43. local closestDistance = math.huge -- 初始設為無限大
  44. local closestSceneName = nil
  45.  
  46. for _, respawnInfo in ipairs(ALLRespawn_Point) do
  47.     local distance = (playerPosition - respawnInfo.Position).Magnitude
  48.     if distance < closestDistance then
  49.         closestDistance = distance
  50.         closestSceneName = respawnInfo.SceneName
  51.     end
  52. end
  53. --print("最近的出生點:", closestSceneName)
  54. return closestSceneName
Add Comment
Please, Sign In to add comment