-- Credits to tennisballs9000 on discord, dm me for suggestions -- ========================================== -- 1. RE-EXECUTION, UNLOAD & OLD UI CLEANUP -- ========================================== local Lighting = game:GetService("Lighting") local Players = game:GetService("Players") local HttpService = game:GetService("HttpService") local SoundService = game:GetService("SoundService") local MarketplaceService = game:GetService("MarketplaceService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local UserInputService = game:GetService("UserInputService") local StatsService = game:GetService("Stats") local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() -- Cache true original game settings on FIRST execution only if _G.OriginalLighting == nil then _G.OriginalLighting = { Brightness = Lighting.Brightness, Ambient = Lighting.Ambient, GlobalShadows = Lighting.GlobalShadows, FogEnd = Lighting.FogEnd, FogStart = Lighting.FogStart, } end if _G.OriginalGravity == nil then _G.OriginalGravity = workspace.Gravity end if _G.OriginalCameraMaxZoom == nil then _G.OriginalCameraMaxZoom = LocalPlayer.CameraMaxZoomDistance end if _G.OriginalFallenPartsDestroyHeight == nil then _G.OriginalFallenPartsDestroyHeight = workspace.FallenPartsDestroyHeight end local function getSafeGuiContainer() if typeof(gethui) == "function" then local success, result = pcall(gethui) if success and result then return result end end local success, coreGui = pcall(function() return game:GetService("CoreGui") end) if success and coreGui then return coreGui end return LocalPlayer:WaitForChild("PlayerGui") end local SafeGuiContainer = getSafeGuiContainer() local function purgeOldUI() local targets = {SafeGuiContainer} pcall(function() table.insert(targets, game:GetService("CoreGui")) end) pcall(function() table.insert(targets, LocalPlayer:FindFirstChildOfClass("PlayerGui")) end) for _, container in ipairs(targets) do if container then for _, child in ipairs(container:GetChildren()) do if child:IsA("ScreenGui") and ( child.Name:lower():find("linoria") or child.Name:lower():find("universal") or child:FindFirstChild("Main") or child:FindFirstChild("ResizeGripHandle") or child:FindFirstChild("Screen") ) then pcall(function() child:Destroy() end) end end end end end -- If script was already executed, trigger full cleanup & unload LinoriaLib if _G.UniversalHubCleanup then pcall(_G.UniversalHubCleanup) end if _G.UniversalHubLibrary then pcall(function() _G.UniversalHubLibrary:Unload() end) _G.UniversalHubLibrary = nil end purgeOldUI() local connections = {} local activeLoops = {true} Lighting.GlobalShadows = true -- Spectate Tracer Variables local spectateBeam = nil local spectateAtt0 = nil local spectateAtt1 = nil local function removeSpectateTracer() if spectateBeam then pcall(function() spectateBeam:Destroy() end) spectateBeam = nil end if spectateAtt0 then pcall(function() spectateAtt0:Destroy() end) spectateAtt0 = nil end if spectateAtt1 then pcall(function() spectateAtt1:Destroy() end) spectateAtt1 = nil end end -- Custom Highlight Containers local customHighlightFolder = Instance.new("Folder") customHighlightFolder.Name = "UniversalHub_CustomHighlights" customHighlightFolder.Parent = workspace local playerHighlights = {} local npcHighlights = {} local function clearAllCustomHighlights() if customHighlightFolder then customHighlightFolder:ClearAllChildren() end table.clear(playerHighlights) table.clear(npcHighlights) end _G.UniversalHubCleanup = function() activeLoops[1] = false for _, conn in ipairs(connections) do if conn and conn.Connected then conn:Disconnect() end end table.clear(connections) removeSpectateTracer() clearAllCustomHighlights() if customHighlightFolder then customHighlightFolder:Destroy() end if workspace:FindFirstChild("UniversalFloatPlatform") then workspace.UniversalFloatPlatform:Destroy() end -- Reset Camera State local cam = workspace.CurrentCamera if cam then cam.FieldOfView = 70 if LocalPlayer.Character then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hum then cam.CameraSubject = hum elseif hrp then cam.CameraSubject = hrp end end cam.CameraType = Enum.CameraType.Custom end -- Reset Character Physics & Stats to Default if LocalPlayer.Character then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = 16 hum.JumpPower = 50 hum.UseJumpPower = true hum.MaxSlopeAngle = 45 end end -- Restore Game Environment Settings if _G.OriginalLighting then Lighting.Brightness = _G.OriginalLighting.Brightness Lighting.Ambient = _G.OriginalLighting.Ambient Lighting.GlobalShadows = _G.OriginalLighting.GlobalShadows Lighting.FogEnd = _G.OriginalLighting.FogEnd Lighting.FogStart = _G.OriginalLighting.FogStart end if _G.OriginalGravity ~= nil then workspace.Gravity = _G.OriginalGravity end if _G.OriginalFallenPartsDestroyHeight ~= nil then workspace.FallenPartsDestroyHeight = _G.OriginalFallenPartsDestroyHeight end if _G.OriginalCameraMaxZoom ~= nil then LocalPlayer.CameraMaxZoomDistance = _G.OriginalCameraMaxZoom end -- Unload Linoria Library Instance if _G.UniversalHubLibrary then pcall(function() _G.UniversalHubLibrary:Unload() end) _G.UniversalHubLibrary = nil end purgeOldUI() end -- ========================================== -- 2. EXECUTOR DETECTION & TELEMETRY SYSTEM -- ========================================== local executorName = "Unknown" pcall(function() if identifyexecutor then executorName = identifyexecutor() elseif getexecutorname then executorName = getexecutorname() end end) local telemetryData = { Enabled = true, PlaceId = game.PlaceId, GameId = game.GameId, GameName = "Unknown", Executor = executorName, SessionStart = os.time(), FeatureUsage = {} } task.spawn(function() pcall(function() local info = MarketplaceService:GetProductInfo(game.PlaceId) if info and info.Name then telemetryData.GameName = info.Name end end) end) local function trackFeature(featureName) if not telemetryData.Enabled then return end telemetryData.FeatureUsage[featureName] = (telemetryData.FeatureUsage[featureName] or 0) + 1 end -- ========================================== -- 3. CORE VARIABLES & STATE -- ========================================== local walkSpeedValue = 16 local jumpPowerValue = 50 local fovValue = 70 local customCameraZoomEnabled = true local customCameraZoomValue = 1280 local tpToolEnabled = false local floatEnabled = false local qeControlEnabled = true local floatSpeedValue = 42 local floatBaseY = nil local floatYOffset = 0 local potatoGraphicsEnabled = false local fullbrightEnabled = false local noFogEnabled = false local customGravityEnabled = false local customGravityValue = math.floor(_G.OriginalGravity) local disableSlidingEnabled = false local joinLogEnabled = false local playerJoinTimes = {} local lowHpTrackerEnabled = false local deathListenerEnabled = false local deathLogs = {} local lowHpDebounce = {} local spectatingPlayer = nil local selectedTpPlayer = nil -- Latch Onto Mechanics local latchOntoEnabled = false local ogLatchLocation = nil local lastLatchedTarget = nil local waypointsList = {} local selectedWaypointName = nil local playerTextOffsetY = 2.5 local soundSettings = { LowHP = { Volume = 0.5, SoundId = "rbxassetid://4590657391" }, PlayerLeft = { Volume = 0.5, SoundId = "rbxassetid://9114220737" }, General = { Volume = 0.5, SoundId = "rbxassetid://9060817403" } } local function playCustomSound(category) pcall(function() local cfg = soundSettings[category] or soundSettings.General local sound = Instance.new("Sound") sound.SoundId = cfg.SoundId sound.Volume = cfg.Volume sound.Parent = SoundService sound:Play() game:GetService("Debris"):AddItem(sound, 3) end) end local leaveNotifQueue = {} local isProcessingLeaveQueue = false local function processLeaveNotificationQueue(Library) if isProcessingLeaveQueue then return end isProcessingLeaveQueue = true task.spawn(function() while #leaveNotifQueue > 0 and activeLoops[1] do local msg = table.remove(leaveNotifQueue, 1) playCustomSound("PlayerLeft") if Library then Library:Notify("Player Left: " .. msg, 4) end task.wait(0.8) end isProcessingLeaveQueue = false end) end for _, player in ipairs(Players:GetPlayers()) do playerJoinTimes[player] = tick() end table.insert(connections, Players.PlayerAdded:Connect(function(player) playerJoinTimes[player] = tick() end)) local originalMaterials = {} task.spawn(function() local parts = Workspace:GetDescendants() for i = 1, #parts do local part = parts[i] if part:IsA("BasePart") then originalMaterials[part] = part.Material end if i % 200 == 0 then task.wait() end end end) -- ========================================== -- 4. AUTO ERROR RECOVERY & GARBAGE CLEANER -- ========================================== local loopHeartbeats = { render = tick(), heartbeat = tick(), npcScan = tick() } task.spawn(function() while activeLoops[1] do task.wait(60) pcall(function() for part in pairs(originalMaterials) do if not part or not part.Parent then originalMaterials[part] = nil end end for player in pairs(playerJoinTimes) do if not player or not player.Parent then playerJoinTimes[player] = nil end end for player, data in pairs(playerHighlights) do if not player or not player.Parent then if data.highlight then pcall(function() data.highlight:Destroy() end) end if data.billboard then pcall(function() data.billboard:Destroy() end) end playerHighlights[player] = nil end end for npc, data in pairs(npcHighlights) do if not npc or not npc.Parent then if data.highlight then pcall(function() data.highlight:Destroy() end) end if data.billboard then pcall(function() data.billboard:Destroy() end) end npcHighlights[npc] = nil end end while #deathLogs > 100 do table.remove(deathLogs) end collectgarbage("collect") end) end end) task.spawn(function() while activeLoops[1] do task.wait(5) pcall(function() local now = tick() for name, lastTick in pairs(loopHeartbeats) do if now - lastTick > 10 then loopHeartbeats[name] = now end end end) end end) local function getGameSpawnLocation() if LocalPlayer.RespawnLocation and LocalPlayer.RespawnLocation:IsA("BasePart") then return LocalPlayer.RespawnLocation.CFrame + Vector3.new(0, 3, 0) end for _, desc in ipairs(Workspace:GetDescendants()) do if desc:IsA("SpawnLocation") and desc.Enabled then return desc.CFrame + Vector3.new(0, 3, 0) end end return nil end local function giveTeleportTool() local char = LocalPlayer.Character if not char then return end local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if not backpack or backpack:FindFirstChild("Teleport Tool") or char:FindFirstChild("Teleport Tool") then return end local tool = Instance.new("Tool") tool.Name = "Teleport Tool" tool.RequiresHandle = false tool.Activated:Connect(function() local hrp = char:FindFirstChild("HumanoidRootPart") if hrp and Mouse.Hit then local currentRotation = hrp.CFrame - hrp.CFrame.Position hrp.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0)) * currentRotation end end) tool.Parent = backpack end local floatPlatform = nil local function updateFloatPlatform(dt) if not floatEnabled then if floatPlatform then floatPlatform:Destroy() floatPlatform = nil end floatBaseY = nil return end local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local hum = char and char:FindFirstChildOfClass("Humanoid") if hrp and hum then local hipOffset = (hum.RigType == Enum.HumanoidRigType.R15) and (hum.HipHeight + 1.2) or 3.0 local targetY = hrp.Position.Y - hipOffset if not floatBaseY or math.abs(targetY - floatBaseY) > 15 then floatBaseY = targetY end local verticalSpeed = floatSpeedValue * dt if qeControlEnabled then if UserInputService:IsKeyDown(Enum.KeyCode.E) then hrp.CFrame = hrp.CFrame + Vector3.new(0, verticalSpeed, 0) floatBaseY = floatBaseY + verticalSpeed elseif UserInputService:IsKeyDown(Enum.KeyCode.Q) then hrp.CFrame = hrp.CFrame - Vector3.new(0, verticalSpeed, 0) floatBaseY = floatBaseY - verticalSpeed end end if not floatPlatform or not floatPlatform.Parent then floatPlatform = Instance.new("Part") floatPlatform.Name = "UniversalFloatPlatform" floatPlatform.Size = Vector3.new(6, 1, 6) floatPlatform.Anchored = true floatPlatform.CanCollide = true floatPlatform.Transparency = 0.9 floatPlatform.Material = Enum.Material.ForceField floatPlatform.Color = Color3.fromRGB(0, 170, 255) floatPlatform.Parent = Workspace end floatPlatform.CFrame = CFrame.new(hrp.Position.X, floatBaseY + floatYOffset, hrp.Position.Z) end end local function stopSpectating() spectatingPlayer = nil removeSpectateTracer() local cam = Workspace.CurrentCamera local char = LocalPlayer.Character if cam and char then local hum = char:FindFirstChildOfClass("Humanoid") local hrp = char:FindFirstChild("HumanoidRootPart") if hum then cam.CameraSubject = hum elseif hrp then cam.CameraSubject = hrp end cam.CameraType = Enum.CameraType.Custom end end local function updateSpectateTracer() if not spectatingPlayer or not spectatingPlayer.Character or not LocalPlayer.Character then removeSpectateTracer() return end local myHRP = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local targetHRP = spectatingPlayer.Character:FindFirstChild("HumanoidRootPart") if not myHRP or not targetHRP then removeSpectateTracer() return end if not spectateBeam or not spectateBeam.Parent then removeSpectateTracer() spectateAtt0 = Instance.new("Attachment") spectateAtt0.Parent = myHRP spectateAtt1 = Instance.new("Attachment") spectateAtt1.Parent = targetHRP spectateBeam = Instance.new("Beam") spectateBeam.Attachment0 = spectateAtt0 spectateBeam.Attachment1 = spectateAtt1 spectateBeam.Color = ColorSequence.new(Color3.fromRGB(0, 255, 170)) spectateBeam.Width0 = 0.08 spectateBeam.Width1 = 0.08 spectateBeam.FaceCamera = true spectateBeam.LightEmission = 1 spectateBeam.Parent = myHRP else if spectateAtt1 and spectateAtt1.Parent ~= targetHRP then spectateAtt1.Parent = targetHRP end end end -- ========================================== -- 5. LINORIA LIBRARY SETUP & UI ENHANCEMENTS -- ========================================== local repo = 'https://raw.githubusercontent.com/violin-suzutsuki/LinoriaLib/main/' local Library = loadstring(game:HttpGet(repo .. 'Library.lua'))() local ThemeManager = loadstring(game:HttpGet(repo .. 'addons/ThemeManager.lua'))() SaveManager = loadstring(game:HttpGet(repo .. 'addons/SaveManager.lua'))() -- Store global library reference for clean re-execution unloading _G.UniversalHubLibrary = Library pcall(function() if Library and Library.Gui then Library.Gui.Parent = SafeGuiContainer end end) Library.ToggleKeybind = Enum.KeyCode.RightControl local Window = Library:CreateWindow({ Title = 'LinoriaHeart Hub', Center = true, AutoShow = true, TabPadding = 8, MenuFadeTime = 0.2 }) pcall(function() if Library and Library.Gui then for _, desc in ipairs(Library.Gui:GetDescendants()) do if desc:IsA("TextLabel") then desc.TextWrapped = true desc.ClipsDescendants = true elseif desc:IsA("Frame") or desc:IsA("ScrollingFrame") then desc.ClipsDescendants = true end end local mainFrame = Library.Gui:FindFirstChildOfClass("Frame") if mainFrame then mainFrame.ClipsDescendants = true local resizeHandle = Instance.new("Frame") resizeHandle.Name = "ResizeGripHandle" resizeHandle.Size = UDim2.new(0, 16, 0, 16) resizeHandle.Position = UDim2.new(1, -16, 1, -16) resizeHandle.BackgroundColor3 = Color3.fromRGB(60, 60, 60) resizeHandle.BorderSizePixel = 0 resizeHandle.Active = true resizeHandle.ZIndex = 100 resizeHandle.Parent = mainFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 4) corner.Parent = resizeHandle local isResizing = false local dragStart, startSize resizeHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isResizing = true dragStart = input.Position startSize = mainFrame.Size end end) UserInputService.InputChanged:Connect(function(input) if isResizing and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart local newX = math.clamp(startSize.X.Offset + delta.X, 450, 1000) local newY = math.clamp(startSize.Y.Offset + delta.Y, 350, 800) mainFrame.Size = UDim2.new(0, newX, 0, newY) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isResizing = false end end) end end end) local Tabs = { Player = Window:AddTab('Local'), Players = Window:AddTab('Players'), Visuals = Window:AddTab('Visuals'), Utilities = Window:AddTab('Utilities'), Config = Window:AddTab('Config'), Readme = Window:AddTab('README') } -- ========================================== -- 6. LOCAL PLAYER TAB -- ========================================== local WaypointBox = Tabs.Player:AddLeftGroupbox('Teleport & Waypoints (50 Max)') local newWaypointName = "" WaypointBox:AddInput('WaypointNameInput', { Default = '', Numeric = false, Finished = false, Text = 'Waypoint Name', Placeholder = 'e.g. Base, Secret Room...', Callback = function(Value) newWaypointName = Value end }) local waypointDropdown = WaypointBox:AddDropdown('SavedWaypointsDropdown', { Values = {'None'}, Default = 1, Multi = false, Text = 'Saved Waypoints List', Callback = function(Value) selectedWaypointName = Value end }) local function refreshWaypointDropdown() local names = {} for _, wp in ipairs(waypointsList) do table.insert(names, wp.Name) end waypointDropdown:SetValues(#names > 0 and names or {'None'}) end WaypointBox:AddButton('Save Waypoint', function() trackFeature("Save_Waypoint") local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not myHRP then return end if #waypointsList >= 50 then Library:Notify("Waypoint limit reached (Max 50)!", 3) return end local wpName = newWaypointName ~= "" and newWaypointName or ("Waypoint " .. (#waypointsList + 1)) table.insert(waypointsList, { Name = wpName, CFrame = myHRP.CFrame }) refreshWaypointDropdown() playCustomSound("General") Library:Notify("Saved Waypoint: " .. wpName, 3) end) WaypointBox:AddButton('Goto Selected Waypoint', function() trackFeature("Goto_Waypoint") local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not myHRP then return end if not selectedWaypointName or selectedWaypointName == "None" then Library:Notify("No valid waypoint selected in list.", 3) return end for _, wp in ipairs(waypointsList) do if wp.Name == selectedWaypointName then myHRP.CFrame = wp.CFrame playCustomSound("General") Library:Notify("Teleported to waypoint: " .. wp.Name, 3) return end end end) WaypointBox:AddButton('Delete Selected Waypoint', function() if not selectedWaypointName or selectedWaypointName == "None" then Library:Notify("Select a waypoint to delete.", 3) return end for idx, wp in ipairs(waypointsList) do if wp.Name == selectedWaypointName then table.remove(waypointsList, idx) refreshWaypointDropdown() playCustomSound("General") Library:Notify("Deleted waypoint: " .. wp.Name, 3) break end end end) WaypointBox:AddButton('TP to SpawnLocation', function() trackFeature("TP_To_Spawn") local spawnCF = getGameSpawnLocation() local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if spawnCF and myHRP then myHRP.CFrame = spawnCF playCustomSound("General") Library:Notify("Teleported to game SpawnLocation.", 3) else playCustomSound("General") Library:Notify("No valid SpawnLocation found in game.", 3) end end) local WaypointToolsBox = Tabs.Player:AddLeftGroupbox('Position & Axis Tools') WaypointToolsBox:AddButton('Copy CFrame Coordinates', function() local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then local cfStr = tostring(hrp.CFrame) pcall(function() if setclipboard then setclipboard(cfStr) elseif toclipboard then toclipboard(cfStr) end end) playCustomSound("General") Library:Notify("CFrame Copied to Clipboard!", 3) end end) WaypointToolsBox:AddButton('Fix Character Axis (Face North)', function() local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = CFrame.new(hrp.Position) * CFrame.Angles(0, 0, 0) playCustomSound("General") Library:Notify("Character aligned to face North.", 3) end end) local MovementBox = Tabs.Player:AddRightGroupbox('Movement & Modifiers') MovementBox:AddSlider('WalkSpeedSlider', { Text = 'WalkSpeed', Default = 16, Min = 16, Max = 250, Rounding = 0, Compact = false, Callback = function(Value) walkSpeedValue = Value local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = Value end end }) MovementBox:AddToggle('DisableSlidingToggle', { Text = 'Disable Sliding (Instant Stop & Turn)', Default = false, Callback = function(Value) disableSlidingEnabled = Value trackFeature("Disable_Sliding") end }) MovementBox:AddSlider('JumpPowerSlider', { Text = 'JumpPower', Default = 50, Min = 50, Max = 300, Rounding = 0, Compact = false, Callback = function(Value) jumpPowerValue = Value local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum.UseJumpPower = true hum.JumpPower = Value end end }) MovementBox:AddToggle('GravityToggle', { Text = 'Gravity', Default = false, Callback = function(Value) customGravityEnabled = Value workspace.Gravity = Value and customGravityValue or _G.OriginalGravity end }) MovementBox:AddSlider('GravitySlider', { Text = 'Custom Gravity', Default = math.floor(_G.OriginalGravity), Min = -196, Max = math.floor(_G.OriginalGravity * 3), Rounding = 0, Compact = false, Callback = function(Value) customGravityValue = Value if customGravityEnabled then workspace.Gravity = Value end end }) MovementBox:AddToggle('MaxSlopeToggle', { Text = 'MaxSlopeAngle', Default = false, Callback = function(Value) local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum.MaxSlopeAngle = Value and 360 or 45 end end }) MovementBox:AddToggle('NoVoidToggle', { Text = 'NoVoid', Default = true, Callback = function(Value) if Value then workspace.FallenPartsDestroyHeight = -900000000000000000000000 else workspace.FallenPartsDestroyHeight = _G.OriginalFallenPartsDestroyHeight or -500 end end }) workspace.FallenPartsDestroyHeight = -900000000000000000000000 MovementBox:AddToggle('CameraZoomToggle', { Text = 'Max Camera Distance', Default = true, Callback = function(Value) customCameraZoomEnabled = Value LocalPlayer.CameraMaxZoomDistance = Value and customCameraZoomValue or _G.OriginalCameraMaxZoom end }) MovementBox:AddSlider('CameraMaxZoomSlider', { Text = 'Camera Distance Max', Default = 1280, Min = 1280, Max = 12800, Rounding = 0, Compact = false, Callback = function(Value) customCameraZoomValue = Value if customCameraZoomEnabled then LocalPlayer.CameraMaxZoomDistance = Value end end }) LocalPlayer.CameraMaxZoomDistance = 1280 MovementBox:AddSlider('FOVSlider', { Text = 'Field of View', Default = 70, Min = 60, Max = 120, Rounding = 0, Compact = false, Callback = function(Value) fovValue = Value Workspace.CurrentCamera.FieldOfView = Value end }) MovementBox:AddToggle('FloatToggle', { Text = 'Float Platform', Default = false, Callback = function(Value) floatEnabled = Value floatBaseY = nil if not Value and floatPlatform then floatPlatform:Destroy() floatPlatform = nil end end }) MovementBox:AddSlider('FloatOffsetSlider', { Text = 'Platform Y-Level', Default = 0, Min = -5, Max = 5, Rounding = 1, Compact = false, Callback = function(Value) floatYOffset = Value end }) MovementBox:AddToggle('FloatQEToggle', { Text = 'Enable Holdable Q / E Controls', Default = true, Callback = function(Value) qeControlEnabled = Value end }) MovementBox:AddSlider('FloatSpeedSlider', { Text = 'Float Q/E Speed', Default = 42, Min = 10, Max = 200, Rounding = 0, Compact = false, Callback = function(Value) floatSpeedValue = Value end }) MovementBox:AddToggle('TPToolToggle', { Text = 'Give TP Tool', Default = false, Callback = function(Value) tpToolEnabled = Value if Value then giveTeleportTool() end end }) -- ========================================== -- 7. PLAYERS TAB -- ========================================== local PlrTpBox = Tabs.Players:AddLeftGroupbox('Player Teleport & Spectate') local function tpToTargetPlayerOnce(targetName) if not targetName or targetName == "None" then return end local targetPlayer = Players:FindFirstChild(targetName) if targetPlayer and targetPlayer.Character then local targetHRP = targetPlayer.Character:FindFirstChild("HumanoidRootPart") local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if targetHRP and myHRP then myHRP.CFrame = targetHRP.CFrame * CFrame.new(0, 0, 3) playCustomSound("General") Library:Notify("Teleported to " .. targetName, 3) end end end local playerTpDropdown = PlrTpBox:AddDropdown('PlayerTeleportDropdown', { Values = {'None'}, Default = 1, Multi = false, Text = 'Select Target Player', Callback = function(Value) selectedTpPlayer = Value if latchOntoEnabled and Value and Value ~= "None" and Value ~= lastLatchedTarget then lastLatchedTarget = Value tpToTargetPlayerOnce(Value) end end }) PlrTpBox:AddButton('Teleport to Player', function() if selectedTpPlayer and selectedTpPlayer ~= "None" then tpToTargetPlayerOnce(selectedTpPlayer) else Library:Notify("Select a valid player first.", 3) end end) PlrTpBox:AddToggle('LatchOntoToggle', { Text = 'Boomerang to Player (TP & Return)', Default = false, Callback = function(Value) latchOntoEnabled = Value local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if Value then if myHRP then ogLatchLocation = myHRP.CFrame end lastLatchedTarget = selectedTpPlayer if selectedTpPlayer and selectedTpPlayer ~= "None" then tpToTargetPlayerOnce(selectedTpPlayer) else Library:Notify("Latch Onto enabled. Select a player to latch!", 3) end else if myHRP and ogLatchLocation then myHRP.CFrame = ogLatchLocation playCustomSound("General") Library:Notify("Returned to original position.", 3) end ogLatchLocation = nil lastLatchedTarget = nil end end }) local spectateDropdown = PlrTpBox:AddDropdown('SpectatePlayerDropdown', { Values = {LocalPlayer.Name}, Default = 1, Multi = false, Text = 'Select Player to Spectate', Callback = function(Value) removeSpectateTracer() if Value == "None" or not Value or Value == LocalPlayer.Name then if spectatingPlayer ~= nil then stopSpectating() playCustomSound("General") Library:Notify("Camera returned to your player.", 3) end return end local targetPlayer = Players:FindFirstChild(Value) if targetPlayer then spectatingPlayer = targetPlayer if targetPlayer.Character then local targetHum = targetPlayer.Character:FindFirstChildOfClass("Humanoid") local targetHRP = targetPlayer.Character:FindFirstChild("HumanoidRootPart") if Workspace.CurrentCamera then if targetHum then Workspace.CurrentCamera.CameraSubject = targetHum elseif targetHRP then Workspace.CurrentCamera.CameraSubject = targetHRP end end end updateSpectateTracer() playCustomSound("General") Library:Notify("Spectating " .. targetPlayer.Name, 3) end end }) local refreshScheduled = false local function refreshPlayerLists() if refreshScheduled then return end refreshScheduled = true task.delay(0.2, function() refreshScheduled = false local tpNames, spectateNames = {}, {LocalPlayer.Name} for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer then table.insert(tpNames, p.Name) table.insert(spectateNames, p.Name) end end playerTpDropdown:SetValues(#tpNames > 0 and tpNames or {"None"}) spectateDropdown:SetValues(spectateNames) end) end table.insert(connections, Players.PlayerAdded:Connect(refreshPlayerLists)) table.insert(connections, Players.PlayerRemoving:Connect(function(player) if spectatingPlayer == player then stopSpectating() end refreshPlayerLists() end)) refreshPlayerLists() local PlrTrackerBox = Tabs.Players:AddRightGroupbox('Player Trackers & Death Logs') PlrTrackerBox:AddToggle('LowHPTrackerToggle', { Text = 'Track Low HP Players', Default = false, Callback = function(Value) lowHpTrackerEnabled = Value end }) PlrTrackerBox:AddToggle('DeathListenerToggle', { Text = 'Log Player Deaths Position', Default = false, Callback = function(Value) deathListenerEnabled = Value end }) local deathDropdown = PlrTrackerBox:AddDropdown('DeathLocationDropdown', { Values = {'None'}, Default = 1, Multi = false, Text = 'Select Logged Death Location' }) PlrTrackerBox:AddButton('Teleport to Death Location', function() local selectedLabel = deathDropdown.Value for _, entry in ipairs(deathLogs) do if entry.label == selectedLabel then local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if myHRP and entry.cframe then myHRP.CFrame = entry.cframe + Vector3.new(0, 3, 0) playCustomSound("General") Library:Notify("Teleported to death location of " .. entry.name, 3) end break end end end) local function bindCharacterTrackers(player) if player == LocalPlayer then return end local function onCharacter(char) local hum = char:WaitForChild("Humanoid", 5) local hrp = char:WaitForChild("HumanoidRootPart", 5) if not hum or not hrp then return end table.insert(connections, hum.HealthChanged:Connect(function(health) if lowHpTrackerEnabled and health <= 35 and health > 0 then if not lowHpDebounce[player] then lowHpDebounce[player] = true playCustomSound("LowHP") Library:Notify(player.Name .. " is low! (" .. math.floor(health) .. " HP)", 4) end elseif health > 35 then lowHpDebounce[player] = nil end end)) table.insert(connections, hum.Died:Connect(function() if deathListenerEnabled then local timeStr = os.date("%I:%M:%S %p") local voidThreshold = (_G.OriginalFallenPartsDestroyHeight or -500) + 50 local isVoidDeath = hrp.Position.Y <= voidThreshold local label = isVoidDeath and string.format("%s VOID [%s]", player.Name, timeStr) or string.format("%s Died [%s]", player.Name, timeStr) playCustomSound("General") Library:Notify(label, 4) table.insert(deathLogs, 1, { name = player.Name, cframe = hrp.CFrame, label = label }) local labels = {} for _, entry in ipairs(deathLogs) do table.insert(labels, entry.label) end deathDropdown:SetValues(labels) end end)) end if player.Character then onCharacter(player.Character) end table.insert(connections, player.CharacterAdded:Connect(onCharacter)) end for _, player in ipairs(Players:GetPlayers()) do bindCharacterTrackers(player) end table.insert(connections, Players.PlayerAdded:Connect(bindCharacterTrackers)) -- ========================================== -- 8. VISUALS TAB -- ========================================== local LightingBox = Tabs.Visuals:AddLeftGroupbox('Lighting & Graphics') LightingBox:AddToggle('ShadowsToggle', { Text = 'Global Shadows', Default = true, Callback = function(Value) Lighting.GlobalShadows = Value end }) LightingBox:AddToggle('FullbrightToggle', { Text = 'Fullbright Mode', Default = false, Callback = function(Value) fullbrightEnabled = Value if not Value then Lighting.Ambient = _G.OriginalLighting.Ambient Lighting.Brightness = _G.OriginalLighting.Brightness end end }) LightingBox:AddToggle('NoFogToggle', { Text = 'Disable Fog', Default = false, Callback = function(Value) noFogEnabled = Value if Value then Lighting.FogEnd = 1000000 else Lighting.FogEnd = _G.OriginalLighting.FogEnd Lighting.FogStart = _G.OriginalLighting.FogStart end end }) LightingBox:AddToggle('PotatoToggle', { Text = 'Potato Graphics (Smooth Plastic)', Default = false, Callback = function(Value) potatoGraphicsEnabled = Value for part, originalMat in pairs(originalMaterials) do if part and part.Parent then part.Material = Value and Enum.Material.SmoothPlastic or originalMat end end end }) local PathBox = Tabs.Visuals:AddLeftGroupbox('Instance Path Evaluator') local pathInputExpr = "workspace.spawn:GetChildren()[1]" local pathInputProp = "workspace.Spawn" local activePathHighlights = {} local pathHighlightTransparency = 0.5 local pathRangeLimit = 500 PathBox:AddInput('PathInputExpression', { Default = 'workspace.spawn:GetChildren()[1]', Text = 'Expression Path', Callback = function(Value) pathInputExpr = Value end }) PathBox:AddInput('PathInputProperty', { Default = 'workspace.Spawn', Text = 'Direct Property Path', Callback = function(Value) pathInputProp = Value end }) PathBox:AddSlider('PathHighlightTransparency', { Text = 'Path Highlight Transparency', Default = 0.5, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) pathHighlightTransparency = Value for _, hl in ipairs(activePathHighlights) do if hl and hl.Parent then hl.FillTransparency = Value hl.OutlineTransparency = Value end end end }) PathBox:AddSlider('PathRangeLimitSlider', { Text = 'Path Highlight Range (Studs)', Default = 500, Min = 50, Max = 10000, Rounding = 0, Callback = function(Value) pathRangeLimit = Value end }) PathBox:AddButton('Highlight Evaluated Paths', function() for _, hl in ipairs(activePathHighlights) do if hl then hl:Destroy() end end table.clear(activePathHighlights) local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local function evaluateAndHighlight(str) if not str or str == "" then return end pcall(function() local fn = loadstring("return " .. str) if fn then local res = fn() local targets = {} if typeof(res) == "Instance" then table.insert(targets, res) elseif type(res) == "table" then for _, item in pairs(res) do if typeof(item) == "Instance" then table.insert(targets, item) end end end for _, target in ipairs(targets) do if target:IsA("BasePart") or target:IsA("Model") then local partToCheck = target:IsA("Model") and target.PrimaryPart or target if partToCheck and myHRP and (partToCheck.Position - myHRP.Position).Magnitude <= pathRangeLimit then local highlight = Instance.new("Highlight") highlight.Adornee = target highlight.FillColor = Color3.fromRGB(255, 170, 0) highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.FillTransparency = pathHighlightTransparency highlight.OutlineTransparency = pathHighlightTransparency highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = customHighlightFolder table.insert(activePathHighlights, highlight) end end end end end) end evaluateAndHighlight(pathInputExpr) evaluateAndHighlight(pathInputProp) playCustomSound("General") Library:Notify("Wall-penetrating highlights applied.", 3) end) PathBox:AddButton('Clear Path Highlights', function() for _, hl in ipairs(activePathHighlights) do if hl then hl:Destroy() end end table.clear(activePathHighlights) playCustomSound("General") Library:Notify("Cleared path highlights.", 2) end) local EspBox = Tabs.Visuals:AddRightGroupbox('Player & NPC ESP') local allPlayersHighlightEnabled, allPlayersHighlightTransparency = false, 0.5 local playerHealthNameEnabled, playerTextSize, playerTextTransparency, playerRangeLimit = false, 14, 0, 500 local allNpcsHighlightEnabled, allNpcsHighlightTransparency = false, 0.5 local npcHealthNameEnabled, npcTextSize, npcTextTransparency, npcRangeLimit = false, 14, 0, 500 EspBox:AddToggle('HighlightAllPlayersToggle', { Text = 'Highlight All Players', Default = false, Callback = function(Value) allPlayersHighlightEnabled = Value if not Value then for _, data in pairs(playerHighlights) do if data.highlight then data.highlight:Destroy() data.highlight = nil end end end end }) EspBox:AddToggle('PlayerHealthNameToggle', { Text = 'Player Health & Name Text', Default = false, Callback = function(Value) playerHealthNameEnabled = Value if not Value then for _, data in pairs(playerHighlights) do if data.billboard then data.billboard:Destroy() data.billboard = nil end data.textLabel = nil end end end }) EspBox:AddSlider('PlayerHighlightTransparencySlider', { Text = 'Player Highlight Transparency', Default = 0.5, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) allPlayersHighlightTransparency = Value for _, data in pairs(playerHighlights) do if data.highlight then data.highlight.FillTransparency = Value data.highlight.OutlineTransparency = Value end end end }) EspBox:AddSlider('PlayerRangeLimitSlider', { Text = 'Player ESP Range Limit (Studs)', Default = 500, Min = 50, Max = 10000, Rounding = 0, Callback = function(Value) playerRangeLimit = Value end }) EspBox:AddSlider('PlayerTextOffsetYSlider', { Text = 'Player Text Y-Offset (Studs)', Default = 2.5, Min = -10, Max = 10, Rounding = 1, Compact = false, Callback = function(Value) playerTextOffsetY = Value for _, data in pairs(playerHighlights) do if data.billboard then data.billboard.StudsOffset = Vector3.new(0, Value, 0) end end end }) EspBox:AddSlider('PlayerTextSizeSlider', { Text = 'Player Text Size', Default = 14, Min = 8, Max = 32, Rounding = 0, Callback = function(Value) playerTextSize = Value for _, data in pairs(playerHighlights) do if data.textLabel then data.textLabel.TextSize = Value end end end }) EspBox:AddSlider('PlayerTextTransparencySlider', { Text = 'Player Text Transparency', Default = 0, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) playerTextTransparency = Value for _, data in pairs(playerHighlights) do if data.textLabel then data.textLabel.TextTransparency = Value data.textLabel.TextStrokeTransparency = Value end end end }) EspBox:AddToggle('HighlightAllNpcsToggle', { Text = 'Highlight All NPCs', Default = false, Callback = function(Value) allNpcsHighlightEnabled = Value if not Value then for _, data in pairs(npcHighlights) do if data.highlight then data.highlight:Destroy() data.highlight = nil end end end end }) EspBox:AddToggle('NpcHealthNameToggle', { Text = 'NPC Health & Name Display', Default = false, Callback = function(Value) npcHealthNameEnabled = Value if not Value then for _, data in pairs(npcHighlights) do if data.billboard then data.billboard:Destroy() data.billboard = nil end data.textLabel = nil end end end }) EspBox:AddSlider('NpcHighlightTransparencySlider', { Text = 'NPC Highlight Transparency', Default = 0.5, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) allNpcsHighlightTransparency = Value for _, data in pairs(npcHighlights) do if data.highlight then data.highlight.FillTransparency = Value data.highlight.OutlineTransparency = Value end end end }) EspBox:AddSlider('NpcRangeLimitSlider', { Text = 'NPC ESP Range Limit (Studs)', Default = 500, Min = 50, Max = 10000, Rounding = 0, Callback = function(Value) npcRangeLimit = Value end }) EspBox:AddSlider('NpcTextSizeSlider', { Text = 'NPC Text Size', Default = 14, Min = 8, Max = 32, Rounding = 0, Callback = function(Value) npcTextSize = Value for _, data in pairs(npcHighlights) do if data.textLabel then data.textLabel.TextSize = Value end end end }) EspBox:AddSlider('NpcTextTransparencySlider', { Text = 'NPC Text Transparency', Default = 0, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) npcTextTransparency = Value for _, data in pairs(npcHighlights) do if data.textLabel then data.textLabel.TextTransparency = Value data.textLabel.TextStrokeTransparency = Value end end end }) local cachedNpcs = {} task.spawn(function() while activeLoops[1] do pcall(function() loopHeartbeats.npcScan = tick() if allNpcsHighlightEnabled or npcHealthNameEnabled then local found = {} for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") and Players:GetPlayerFromCharacter(obj) == nil and obj ~= LocalPlayer.Character then table.insert(found, obj) end end cachedNpcs = found else table.clear(cachedNpcs) end end) task.wait(1.0) end end) table.insert(connections, RunService.Heartbeat:Connect(function() pcall(function() local myHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") -- Players Loop for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character then local char = plr.Character local head = char:FindFirstChild("Head") or char:FindFirstChild("HumanoidRootPart") local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if not playerHighlights[plr] then playerHighlights[plr] = {} end local data = playerHighlights[plr] local inRange = not (myHRP and hrp and (hrp.Position - myHRP.Position).Magnitude > playerRangeLimit) if allPlayersHighlightEnabled and inRange then if not data.highlight or not data.highlight.Parent then local hl = Instance.new("Highlight") hl.Adornee = char hl.FillColor = Color3.fromRGB(255, 255, 255) hl.OutlineColor = Color3.fromRGB(0, 0, 0) hl.FillTransparency = allPlayersHighlightTransparency hl.OutlineTransparency = allPlayersHighlightTransparency hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = customHighlightFolder data.highlight = hl end else if data.highlight then data.highlight:Destroy() data.highlight = nil end end if playerHealthNameEnabled and inRange then if not data.billboard or not data.billboard.Parent then local bb = Instance.new("BillboardGui") bb.Size = UDim2.new(0, 200, 0, 50) bb.StudsOffset = Vector3.new(0, playerTextOffsetY, 0) bb.AlwaysOnTop = true bb.Adornee = head or char local tl = Instance.new("TextLabel") tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.TextColor3 = Color3.fromRGB(255, 255, 255) tl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) tl.TextStrokeTransparency = playerTextTransparency tl.TextTransparency = playerTextTransparency tl.TextSize = playerTextSize tl.Font = Enum.Font.SourceSansBold tl.Parent = bb bb.Parent = customHighlightFolder data.billboard = bb data.textLabel = tl else if head then data.billboard.Adornee = head end data.billboard.StudsOffset = Vector3.new(0, playerTextOffsetY, 0) if data.textLabel and hum then data.textLabel.Text = string.format("%s\n[%d / %d HP]", plr.Name, math.floor(hum.Health), math.floor(hum.MaxHealth)) end end else if data.billboard then data.billboard:Destroy() data.billboard = nil data.textLabel = nil end end end end -- NPCs Loop for _, obj in ipairs(cachedNpcs) do if obj and obj.Parent then local head = obj:FindFirstChild("Head") or obj:FindFirstChild("HumanoidRootPart") local hrp = obj:FindFirstChild("HumanoidRootPart") local hum = obj:FindFirstChildOfClass("Humanoid") if not npcHighlights[obj] then npcHighlights[obj] = {} end local data = npcHighlights[obj] local inRange = not (myHRP and hrp and (hrp.Position - myHRP.Position).Magnitude > npcRangeLimit) if allNpcsHighlightEnabled and inRange then if not data.highlight or not data.highlight.Parent then local hl = Instance.new("Highlight") hl.Adornee = obj hl.FillColor = Color3.fromRGB(255, 255, 255) hl.OutlineColor = Color3.fromRGB(0, 0, 0) hl.FillTransparency = allNpcsHighlightTransparency hl.OutlineTransparency = allNpcsHighlightTransparency hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = customHighlightFolder data.highlight = hl end else if data.highlight then data.highlight:Destroy() data.highlight = nil end end if npcHealthNameEnabled and inRange then if not data.billboard or not data.billboard.Parent then local bb = Instance.new("BillboardGui") bb.Size = UDim2.new(0, 200, 0, 50) bb.StudsOffset = Vector3.new(0, 2.5, 0) bb.AlwaysOnTop = true bb.Adornee = head or obj local tl = Instance.new("TextLabel") tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.TextColor3 = Color3.fromRGB(255, 255, 255) tl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) tl.TextStrokeTransparency = npcTextTransparency tl.TextTransparency = npcTextTransparency tl.TextSize = npcTextSize tl.Font = Enum.Font.SourceSansBold tl.Parent = bb bb.Parent = customHighlightFolder data.billboard = bb data.textLabel = tl else if head then data.billboard.Adornee = head end if data.textLabel and hum then data.textLabel.Text = string.format("%s\n[%d / %d HP]", obj.Name, math.floor(hum.Health), math.floor(hum.MaxHealth)) end end else if data.billboard then data.billboard:Destroy() data.billboard = nil data.textLabel = nil end end end end end) end)) -- ========================================== -- 9. UTILITIES & TOOLS TAB -- ========================================== local ActivityBox = Tabs.Utilities:AddLeftGroupbox('Activity & Tools') ActivityBox:AddToggle('JoinLogToggle', { Text = 'Log Player Activity', Default = false, Callback = function(Value) joinLogEnabled = Value end }) table.insert(connections, Players.PlayerRemoving:Connect(function(player) if playerJoinTimes[player] then if joinLogEnabled then local sessionDuration = math.floor(tick() - playerJoinTimes[player]) local hours = math.floor(sessionDuration / 3600) local mins = math.floor((sessionDuration % 3600) / 60) local secs = sessionDuration % 60 local notifMsg = string.format("%s Left [%d:%02d:%02d]", player.Name, hours, mins, secs) table.insert(leaveNotifQueue, notifMsg) processLeaveNotificationQueue(Library) end playerJoinTimes[player] = nil end end)) ActivityBox:AddButton('Execute SaveInstance', function() pcall(function() local Params = { RepoURL = "https://raw.githubusercontent.com/luau/UniversalSynSaveInstance/main/", SSI = "saveinstance" } local synsaveinstance = loadstring(game:HttpGet(Params.RepoURL .. Params.SSI .. ".luau", true), Params.SSI)() synsaveinstance({ SafeMode = true, DecompileTimeout = 15, SaveBytecode = true }) end) end) ActivityBox:AddButton('Load Infinite Yield', function() pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))() end) end) local DiagBox = Tabs.Utilities:AddRightGroupbox('Diagnostics & Workspace Stats') local instanceCountLabel = DiagBox:AddLabel('Workspace Instances: Not Scanned') DiagBox:AddButton('Scan Workspace Objects', function() local anchoredCount, unanchoredCount, npcCount, playerCount, toolCount = 0, 0, 0, 0, 0 for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") then if obj.Anchored then anchoredCount = anchoredCount + 1 else unanchoredCount = unanchoredCount + 1 end elseif obj:IsA("Tool") then toolCount = toolCount + 1 elseif obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") then if Players:GetPlayerFromCharacter(obj) then playerCount = playerCount + 1 else npcCount = npcCount + 1 end end end instanceCountLabel:SetText(string.format("Anchored: %d | Unanchored: %d\nNPCs: %d | Players: %d | Tools: %d", anchoredCount, unanchoredCount, npcCount, playerCount, toolCount)) end) local statsLabel = DiagBox:AddLabel('Performance Tracker: Disabled') local statsTrackerEnabled = false DiagBox:AddToggle('StatsTrackerToggle', { Text = 'Enable Live Performance Tracker', Default = false, Callback = function(Value) statsTrackerEnabled = Value if not Value then statsLabel:SetText("Performance Tracker: Disabled") end end }) task.spawn(function() while activeLoops[1] do if statsTrackerEnabled then pcall(function() local fps = math.floor(1 / math.max(RunService.RenderStepped:Wait(), 0.001)) local ping = math.floor(LocalPlayer:GetNetworkPing() * 1000) local memMb = math.floor(StatsService:GetTotalMemoryUsageMb()) statsLabel:SetText(string.format("FPS: %d | Ping: %d ms | Memory: %d MB", fps, ping, memMb)) end) task.wait(0.5) else task.wait(1) end end end) -- ========================================== -- 10. CONFIG, SOUND & TELEMETRY TAB -- ========================================== local SettingsBox = Tabs.Config:AddLeftGroupbox('Menu Keybinds & Telemetry') SettingsBox:AddLabel('Menu Keybind'):AddKeyPicker('MenuKeybind', { Default = 'RightControl', NoUI = true, Text = 'Menu keybind' }) SettingsBox:AddToggle('TelemetryToggle', { Text = 'Telemetry & Analytics Tracker', Default = true, Callback = function(Value) telemetryData.Enabled = Value end }) SettingsBox:AddButton('Print Telemetry Data to Console', function() print("---------------- TELEMETRY SUMMARY ----------------") print("Game Name: " .. tostring(telemetryData.GameName)) print("Place ID: " .. tostring(telemetryData.PlaceId)) print("Game ID: " .. tostring(telemetryData.GameId)) print("Executor: " .. tostring(telemetryData.Executor)) print("Active Duration: " .. tostring(os.time() - telemetryData.SessionStart) .. "s") print("Feature Usage Counters:") for feat, count in pairs(telemetryData.FeatureUsage) do print(" - " .. feat .. ": " .. tostring(count)) end print("---------------------------------------------------") Library:Notify("Telemetry dumped to F12 Developer Console.", 3) end) local SoundBox = Tabs.Config:AddRightGroupbox('Sound Customization') SoundBox:AddSlider('LowHPSoundVolume', { Text = 'Low HP Volume', Default = 0.5, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) soundSettings.LowHP.Volume = Value end }) SoundBox:AddDropdown('LowHPSoundID', { Values = {'Default (Bell)', 'Chime', 'Pop'}, Default = 1, Multi = false, Text = 'Low HP Sound Effect', Callback = function(Value) if Value == "Default (Bell)" then soundSettings.LowHP.SoundId = "rbxassetid://4590657391" elseif Value == "Chime" then soundSettings.LowHP.SoundId = "rbxassetid://9060817403" elseif Value == "Pop" then soundSettings.LowHP.SoundId = "rbxassetid://9114220737" end end }) SoundBox:AddSlider('PlayerLeftSoundVolume', { Text = 'Player Left Volume', Default = 0.5, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) soundSettings.PlayerLeft.Volume = Value end }) SoundBox:AddDropdown('PlayerLeftSoundID', { Values = {'Default (Pop)', 'Chime', 'Bell'}, Default = 1, Multi = false, Text = 'Player Left Sound Effect', Callback = function(Value) if Value == "Default (Pop)" then soundSettings.PlayerLeft.SoundId = "rbxassetid://9114220737" elseif Value == "Chime" then soundSettings.PlayerLeft.SoundId = "rbxassetid://9060817403" elseif Value == "Bell" then soundSettings.PlayerLeft.SoundId = "rbxassetid://4590657391" end end }) SoundBox:AddSlider('GeneralSoundVolume', { Text = 'General Sound Volume', Default = 0.5, Min = 0, Max = 1, Rounding = 2, Callback = function(Value) soundSettings.General.Volume = Value end }) SoundBox:AddDropdown('GeneralSoundID', { Values = {'Default (Chime)', 'Bell', 'Pop'}, Default = 1, Multi = false, Text = 'General Sound Effect', Callback = function(Value) if Value == "Default (Chime)" then soundSettings.General.SoundId = "rbxassetid://9060817403" elseif Value == "Bell" then soundSettings.General.SoundId = "rbxassetid://4590657391" elseif Value == "Pop" then soundSettings.General.SoundId = "rbxassetid://9114220737" end end }) ThemeManager:SetLibrary(Library) SaveManager:SetLibrary(Library) SaveManager:IgnoreThemeSettings() SaveManager:SetFolder('LinoriaClientHub/configs') ThemeManager:ApplyToTab(Tabs.Config) SaveManager:BuildConfigSection(Tabs.Config) -- ========================================== -- 11. README TAB -- ========================================== local InfoBox = Tabs.Readme:AddLeftGroupbox('Information & Features') InfoBox:AddLabel('Universal Linoria Client Hub') InfoBox:AddLabel('• Toggle UI: Right Control (Default)') InfoBox:AddLabel('• Resizable UI: Drag bottom-right corner grip') InfoBox:AddLabel('• Garbage Cleaning: Auto GC runs every 60s') InfoBox:AddLabel('• Auto Error Fixer: Watchdog monitors & heals errors') InfoBox:AddLabel('• Latch Onto: TPs to player ONCE, returns to OG spot when OFF') local UserNotesBox = Tabs.Readme:AddRightGroupbox('Credits') UserNotesBox:AddLabel('Tennisballs9000 on discord') UserNotesBox:AddLabel('Linorias Library') UserNotesBox:AddLabel('You, for using this script ❤️') -- ========================================== -- 12. RUNTIME HANDLERS & PHYSICS FIXES -- ========================================== table.insert(connections, LocalPlayer.CharacterAdded:Connect(function(char) char:WaitForChild("Humanoid") task.wait(0.5) local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = walkSpeedValue hum.UseJumpPower = true hum.JumpPower = jumpPowerValue end if tpToolEnabled then giveTeleportTool() end end)) table.insert(connections, RunService.RenderStepped:Connect(function() pcall(function() loopHeartbeats.render = tick() if Workspace.CurrentCamera.FieldOfView ~= fovValue then Workspace.CurrentCamera.FieldOfView = fovValue end if fullbrightEnabled then Lighting.Ambient = Color3.new(1, 1, 1) Lighting.Brightness = 2 end if spectatingPlayer then if spectatingPlayer.Character then local targetHum = spectatingPlayer.Character:FindFirstChildOfClass("Humanoid") local targetHRP = spectatingPlayer.Character:FindFirstChild("HumanoidRootPart") local targetSub = targetHum or targetHRP if targetSub and Workspace.CurrentCamera and Workspace.CurrentCamera.CameraSubject ~= targetSub then Workspace.CurrentCamera.CameraSubject = targetSub end updateSpectateTracer() else removeSpectateTracer() end else removeSpectateTracer() end end) end)) table.insert(connections, RunService.Heartbeat:Connect(function(dt) pcall(function() loopHeartbeats.heartbeat = tick() if floatEnabled then updateFloatPlatform(dt) end local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local hum = char and char:FindFirstChildOfClass("Humanoid") if disableSlidingEnabled and hrp and hum then if hum.FloorMaterial ~= Enum.Material.Air then if hum.MoveDirection.Magnitude > 0 then local targetSpeed = hum.WalkSpeed local dir = hum.MoveDirection hrp.AssemblyLinearVelocity = Vector3.new(dir.X * targetSpeed, hrp.AssemblyLinearVelocity.Y, dir.Z * targetSpeed) else hrp.AssemblyLinearVelocity = Vector3.new(0, hrp.AssemblyLinearVelocity.Y, 0) end end end end) end)) SaveManager:LoadAutoloadConfig() playCustomSound("General") Library:Notify("LinoriaHeart Loaded! | Right Ctrl to minimize", 5)