local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/jensonhirst/Orion/main/source')))() local Window = OrionLib:MakeWindow({Name = "XPloit Hub BETA", HidePremium = false, SaveConfig = true, ConfigFolder = "OrionTest"}) -- MAIN TAB local Tab = Window:MakeTab({ Name = "Main", Icon = "rbxassetid://4483345998", PremiumOnly = false }) -- Teleport to Player function TeleportToPlayer() local targetPlayer = game.Players:FindFirstChild(UserNameInput) if not targetPlayer or not targetPlayer.Character then warn("Player not found: " .. UserNameInput) return end local targetHRP = targetPlayer.Character:FindFirstChild("HumanoidRootPart") local localHRP = game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if targetHRP and localHRP then localHRP.CFrame = targetHRP.CFrame + Vector3.new(0, 3, 0) -- slightly above to avoid collision print("Teleported to " .. UserNameInput) end end -- Make Player Follow You local isFollowing = false local followConnection function MakePlayerFollow() if isFollowing then isFollowing = false if followConnection then followConnection:Disconnect() followConnection = nil end print(UserNameInput .. " stopped following you.") return end local targetPlayer = game.Players:FindFirstChild(UserNameInput) if not targetPlayer or not targetPlayer.Character then warn("Player not found: " .. UserNameInput) return end local targetHRP = targetPlayer.Character:FindFirstChild("HumanoidRootPart") local localHRP = game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not targetHRP or not localHRP then warn("HumanoidRootPart missing.") return end local runservice = game:GetService("RunService") isFollowing = true print(UserNameInput .. " is now following you.") followConnection = runservice.Stepped:Connect(function() if not targetPlayer.Character or not localHRP then followConnection:Disconnect() isFollowing = false return end targetHRP.CFrame = localHRP.CFrame + Vector3.new(3, 0, 0) -- follows next to you end) end -- === GLOBAL VARIABLES === local UserNameInput = "" -- input from textbox local highlights = {} -- stores highlight instances per player local cleanupConns = {} -- stores cleanup connections for highlights local isSpectating = false local oldCameraSubject local OrbitSpeed = 5 local OrbitDistance = 5 local isOrbiting = false local orbitConnection -- === HIGHLIGHT FUNCTION === function HighlightPlayer() local name = UserNameInput or "" if name == "" then warn("Highlight: no username supplied.") return end local target = game.Players:FindFirstChild(name) if not target then warn("Highlight: player not found -> " .. name) return end -- Toggle highlight if highlights[target] then highlights[target]:Destroy() highlights[target] = nil print("Highlight removed for:", name) return end local char = target.Character or target.CharacterAdded:Wait() local hl = Instance.new("Highlight") hl.Adornee = char hl.FillColor = Color3.fromRGB(0, 255, 0) -- Green hl.OutlineColor = Color3.fromRGB(0, 200, 0) -- Darker green outline hl.FillTransparency = 0.5 hl.OutlineTransparency = 0 hl.Parent = game:GetService("CoreGui") highlights[target] = hl -- Remove highlight when character respawns cleanupConns[target] = target.CharacterRemoving:Connect(function() if highlights[target] then highlights[target]:Destroy() highlights[target] = nil end end) print("Highlight added for:", name) end -- === SPECTATE FUNCTION === function SpectatePlayer() local camera = game.Workspace.CurrentCamera local localPlayer = game.Players.LocalPlayer -- Toggle off if already spectating if isSpectating then isSpectating = false camera.CameraSubject = oldCameraSubject or localPlayer.Character:FindFirstChild("Humanoid") print("Stopped spectating.") return end -- Find target player local targetPlayer = game.Players:FindFirstChild(UserNameInput) if not targetPlayer or not targetPlayer.Character then warn("Player not found or no character.") return end local targetHumanoid = targetPlayer.Character:FindFirstChild("Humanoid") if not targetHumanoid then warn("Target humanoid not found.") return end -- Save old subject and set new one oldCameraSubject = camera.CameraSubject camera.CameraSubject = targetHumanoid isSpectating = true print("Now spectating: " .. UserNameInput) end -- === ORBIT FUNCTION === function OrbitPlayer() if isOrbiting then if orbitConnection then orbitConnection:Disconnect() orbitConnection = nil end isOrbiting = false print("Stopped orbiting.") return end local targetPlayer = game.Players:FindFirstChild(UserNameInput) if not targetPlayer then warn("Player not found: " .. UserNameInput) return end local playerChar = targetPlayer.Character local targetHRP = playerChar and playerChar:FindFirstChild("HumanoidRootPart") if not targetHRP then warn("Target HumanoidRootPart not found.") return end local localPlayer = game.Players.LocalPlayer local localChar = localPlayer.Character local localHRP = localChar and localChar:FindFirstChild("HumanoidRootPart") if not localHRP then warn("Local HumanoidRootPart not found.") return end local rotation = CFrame.Angles(0, 0, 0) local sin, cos = math.sin, math.cos local runservice = game:GetService("RunService") local rot = 0 isOrbiting = true print("Started orbiting: " .. UserNameInput) orbitConnection = runservice.Stepped:Connect(function(_, dt) if not localHRP or not targetHRP then orbitConnection:Disconnect() isOrbiting = false return end local speed = OrbitSpeed local radius = OrbitDistance local rotspeed = math.pi * 2 * speed rot = rot + dt * rotspeed localHRP.CFrame = rotation * CFrame.new(sin(rot) * radius, 0, cos(rot) * radius) + targetHRP.Position end) end -- === UI ELEMENTS === -- Walkspeed Slider Tab:AddSlider({ Name = "Walkspeed", Min = 0, Max = 500, Default = 16, Color = Color3.fromRGB(255,255,255), Increment = 1, ValueName = "Walkspeed", Callback = function(Value) game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = Value end }) -- Jump Height Slider Tab:AddSlider({ Name = "Jump Height", Min = 0, Max = 500, Default = 50, Color = Color3.fromRGB(255,255,255), Increment = 1, ValueName = "JumpHeight", Callback = function(Value) game.Players.LocalPlayer.Character.Humanoid.JumpPower = Value end }) -- Eject GUI Button Tab:AddButton({ Name = "Eject GUI", Callback = function() OrionLib:Destroy() end }) -- Other Scripts Tab local OtherTab = Window:MakeTab({ Name = "Other Scripts", Icon = "rbxassetid://4483345998", PremiumOnly = false }) OtherTab:AddButton({ Name = "Fly GUI V3", Callback = function() loadstring(game:HttpGet("https://raw.githubusercontent.com/XNEOFF/FlyGuiV3/main/FlyGuiV3.txt"))() end }) -- Trolls Tab local TrollTab = Window:MakeTab({ Name = "Trolls", Icon = "rbxassetid://4483345998", PremiumOnly = false }) -- Textbox for player input TrollTab:AddTextbox({ Name = "Input Name:", Default = "Name", TextDisappear = true, Callback = function(Value) UserNameInput = Value end }) -- Orbit Speed Slider TrollTab:AddSlider({ Name = "Orbit Speed", Min = 1, Max = 50, Default = 5, Color = Color3.fromRGB(255,255,255), Increment = 1, ValueName = "Speed", Callback = function(Value) OrbitSpeed = Value print("Orbit Speed set to:", OrbitSpeed) end }) -- Orbit Distance Slider TrollTab:AddSlider({ Name = "Orbit Distance", Min = 1, Max = 35, Default = 5, Color = Color3.fromRGB(255,255,255), Increment = 1, ValueName = "Distance", Callback = function(Value) OrbitDistance = Value print("Orbit Distance set to:", OrbitDistance) end }) -- Buttons for Troll Actions TrollTab:AddButton({ Name = "Orbit", Callback = function() OrbitPlayer() end }) TrollTab:AddButton({ Name = "Highlight Player", Callback = function() HighlightPlayer() end }) TrollTab:AddButton({ Name = "Spectate / Unspectate", Callback = function() SpectatePlayer() end }) TrollTab:AddButton({ Name = "Teleport to Player", Callback = function() TeleportToPlayer() end }) TrollTab:AddButton({ Name = "Make Player Follow You", Callback = function() MakePlayerFollow() end })