-- SERVICES local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") -- PLAYER local LocalPlayer = Players.LocalPlayer local LatestRoom = game.ReplicatedStorage:WaitForChild("GameData"):WaitForChild("LatestRoom") -- GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "RoomTrackerGui" ScreenGui.Parent = game.CoreGui local TextLabel = Instance.new("TextLabel") TextLabel.Parent = ScreenGui TextLabel.Size = UDim2.new(0, 350, 0, 100) TextLabel.Position = UDim2.new(0.5, -175, 0, 20) TextLabel.TextSize = 48 TextLabel.BackgroundTransparency = 1 TextLabel.TextStrokeTransparency = 0 TextLabel.TextStrokeColor3 = Color3.new(1, 1, 1) TextLabel.TextColor3 = Color3.new(1, 1, 1) TextLabel.Font = Enum.Font.SourceSansBold TextLabel.Text = "Room: ?" -- SAVED VALUE local SavedRoom = Instance.new("IntValue") SavedRoom.Name = "SavedRoom" SavedRoom.Value = LatestRoom.Value SavedRoom.Parent = LocalPlayer -- UPDATE LABEL FROM LATESTROOM LatestRoom:GetPropertyChangedSignal("Value"):Connect(function() TextLabel.Text = "Room: " .. tostring(LatestRoom.Value) end) -- TELEPORT FUNCTION (to room model itself) local function teleportToRoom(roomNumber) local roomsFolder = workspace:FindFirstChild("CurrentRooms") if not roomsFolder then return end local roomModel = roomsFolder:FindFirstChild(tostring(roomNumber)) if not roomModel then return end local part = roomModel.PrimaryPart or roomModel:FindFirstChildWhichIsA("BasePart") if not part then return end local char = LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end hrp.CFrame = part.CFrame + Vector3.new(0, 5, 0) -- small Y offset end -- AUTO-TELEPORT TOGGLE local autoTeleport = false UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.X then autoTeleport = not autoTeleport print("Auto-Teleport is now:", autoTeleport and "ON" or "OFF") end end) -- AUTO-TELEPORT LOOP task.spawn(function() local lastLabelRoom = LatestRoom.Value local stuckTime = 0 while true do if autoTeleport then local currentLabel = LatestRoom.Value if currentLabel ~= lastLabelRoom then -- label changed → +1 SavedRoom.Value = currentLabel + 1 lastLabelRoom = currentLabel stuckTime = 0 teleportToRoom(SavedRoom.Value) else stuckTime += 0.01 if stuckTime >= 3 then -- label stuck too long → +1 SavedRoom.Value += 1 stuckTime = 0 lastLabelRoom = SavedRoom.Value teleportToRoom(SavedRoom.Value) else -- normal teleport to saved room teleportToRoom(SavedRoom.Value) end end end task.wait(0.01) end end)