
KeylessUniversal

-- Bring Menu GUI
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local PathfindingService = game:GetService("PathfindingService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Create GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "BringMenu"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 320, 0, 430)
mainFrame.Position = UDim2.new(0.5, -160, 0.5, -215)
mainFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
-- Corner rounding
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = mainFrame
-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame
local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 8)
titleCorner.Parent = titleBar
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "TitleLabel"
titleLabel.Size = UDim2.new(1, -60, 1, 0)
titleLabel.Position = UDim2.new(0, 10, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Advanced Bring Menu"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextScaled = true
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = titleBar
-- Close button
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -30, 0, 0)
closeButton.BackgroundColor3 = Color3.fromRGB(255, 85, 85)
closeButton.BorderSizePixel = 0
closeButton.Text = "X"
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.TextScaled = true
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = titleBar
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeButton
-- Mode selector
local modeFrame = Instance.new("Frame")
modeFrame.Name = "ModeFrame"
modeFrame.Size = UDim2.new(1, -20, 0, 35)
modeFrame.Position = UDim2.new(0, 10, 0, 40)
modeFrame.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
modeFrame.BorderSizePixel = 0
modeFrame.Parent = mainFrame
local modeCorner = Instance.new("UICorner")
modeCorner.CornerRadius = UDim.new(0, 6)
modeCorner.Parent = modeFrame
local modeDropdown = Instance.new("TextButton")
modeDropdown.Name = "ModeDropdown"
modeDropdown.Size = UDim2.new(1, -20, 1, 0)
modeDropdown.Position = UDim2.new(0, 10, 0, 0)
modeDropdown.BackgroundTransparency = 1
modeDropdown.Text = "Classic Lift ▼"
modeDropdown.TextColor3 = Color3.fromRGB(255, 255, 255)
modeDropdown.TextScaled = true
modeDropdown.Font = Enum.Font.Gotham
modeDropdown.Parent = modeFrame
-- Username input
local usernameFrame = Instance.new("Frame")
usernameFrame.Name = "UsernameFrame"
usernameFrame.Size = UDim2.new(1, -20, 0, 40)
usernameFrame.Position = UDim2.new(0, 10, 0, 85)
usernameFrame.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
usernameFrame.BorderSizePixel = 0
usernameFrame.Parent = mainFrame
local usernameCorner = Instance.new("UICorner")
usernameCorner.CornerRadius = UDim.new(0, 6)
usernameCorner.Parent = usernameFrame
local usernameBox = Instance.new("TextBox")
usernameBox.Name = "UsernameBox"
usernameBox.Size = UDim2.new(1, -20, 1, 0)
usernameBox.Position = UDim2.new(0, 10, 0, 0)
usernameBox.BackgroundTransparency = 1
usernameBox.PlaceholderText = "Enter username or partial name..."
usernameBox.Text = ""
usernameBox.TextColor3 = Color3.fromRGB(255, 255, 255)
usernameBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150)
usernameBox.TextScaled = true
usernameBox.Font = Enum.Font.Gotham
usernameBox.Parent = usernameFrame
-- Bring button
local bringButton = Instance.new("TextButton")
bringButton.Name = "BringButton"
bringButton.Size = UDim2.new(1, -20, 0, 40)
bringButton.Position = UDim2.new(0, 10, 0, 135)
bringButton.BackgroundColor3 = Color3.fromRGB(85, 170, 85)
bringButton.BorderSizePixel = 0
bringButton.Text = "Start Lift"
bringButton.TextColor3 = Color3.fromRGB(255, 255, 255)
bringButton.TextScaled = true
bringButton.Font = Enum.Font.GothamBold
bringButton.Parent = mainFrame
local bringCorner = Instance.new("UICorner")
bringCorner.CornerRadius = UDim.new(0, 6)
bringCorner.Parent = bringButton
-- Undetected lift button
local undetectedButton = Instance.new("TextButton")
undetectedButton.Name = "UndetectedButton"
undetectedButton.Size = UDim2.new(1, -20, 0, 40)
undetectedButton.Position = UDim2.new(0, 10, 0, 185)
undetectedButton.BackgroundColor3 = Color3.fromRGB(170, 85, 170)
undetectedButton.BorderSizePixel = 0
undetectedButton.Text = "Undetected Lift"
undetectedButton.TextColor3 = Color3.fromRGB(255, 255, 255)
undetectedButton.TextScaled = true
undetectedButton.Font = Enum.Font.GothamBold
undetectedButton.Parent = mainFrame
local undetectedCorner = Instance.new("UICorner")
undetectedCorner.CornerRadius = UDim.new(0, 6)
undetectedCorner.Parent = undetectedButton
-- Infinite Yield button
local infiniteYieldButton = Instance.new("TextButton")
infiniteYieldButton.Name = "InfiniteYieldButton"
infiniteYieldButton.Size = UDim2.new(1, -20, 0, 40)
infiniteYieldButton.Position = UDim2.new(0, 10, 0, 235)
infiniteYieldButton.BackgroundColor3 = Color3.fromRGB(85, 85, 170)
infiniteYieldButton.BorderSizePixel = 0
infiniteYieldButton.Text = "Load Infinite Yield"
infiniteYieldButton.TextColor3 = Color3.fromRGB(255, 255, 255)
infiniteYieldButton.TextScaled = true
infiniteYieldButton.Font = Enum.Font.GothamBold
infiniteYieldButton.Parent = mainFrame
local infiniteYieldCorner = Instance.new("UICorner")
infiniteYieldCorner.CornerRadius = UDim.new(0, 6)
infiniteYieldCorner.Parent = infiniteYieldButton
-- Stop button (initially hidden)
local stopButton = Instance.new("TextButton")
stopButton.Name = "StopButton"
stopButton.Size = UDim2.new(1, -20, 0, 40)
stopButton.Position = UDim2.new(0, 10, 0, 135)
stopButton.BackgroundColor3 = Color3.fromRGB(255, 85, 85)
stopButton.BorderSizePixel = 0
stopButton.Text = "Stop Lift"
stopButton.TextColor3 = Color3.fromRGB(255, 255, 255)
stopButton.TextScaled = true
stopButton.Font = Enum.Font.GothamBold
stopButton.Visible = false
stopButton.Parent = mainFrame
local stopCorner = Instance.new("UICorner")
stopCorner.CornerRadius = UDim.new(0, 6)
stopCorner.Parent = stopButton
-- Settings frame
local settingsFrame = Instance.new("Frame")
settingsFrame.Name = "SettingsFrame"
settingsFrame.Size = UDim2.new(1, -20, 0, 100)
settingsFrame.Position = UDim2.new(0, 10, 0, 285)
settingsFrame.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
settingsFrame.BorderSizePixel = 0
settingsFrame.Parent = mainFrame
local settingsCorner = Instance.new("UICorner")
settingsCorner.CornerRadius = UDim.new(0, 6)
settingsCorner.Parent = settingsFrame
-- Speed slider
local speedLabel = Instance.new("TextLabel")
speedLabel.Name = "SpeedLabel"
speedLabel.Size = UDim2.new(0.3, 0, 0.25, 0)
speedLabel.Position = UDim2.new(0, 10, 0, 5)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Speed: 1x"
speedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
speedLabel.TextScaled = true
speedLabel.Font = Enum.Font.Gotham
speedLabel.Parent = settingsFrame
local speedSlider = Instance.new("Frame")
speedSlider.Name = "SpeedSlider"
speedSlider.Size = UDim2.new(0.6, -20, 0, 20)
speedSlider.Position = UDim2.new(0.4, 0, 0, 10)
speedSlider.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
speedSlider.BorderSizePixel = 0
speedSlider.Parent = settingsFrame
local speedSliderCorner = Instance.new("UICorner")
speedSliderCorner.CornerRadius = UDim.new(0, 10)
speedSliderCorner.Parent = speedSlider
local speedKnob = Instance.new("TextButton")
speedKnob.Name = "SpeedKnob"
speedKnob.Size = UDim2.new(0, 18, 0, 18)
speedKnob.Position = UDim2.new(0, 1, 0, 1)
speedKnob.BackgroundColor3 = Color3.fromRGB(85, 170, 85)
speedKnob.BorderSizePixel = 0
speedKnob.Text = ""
speedKnob.Parent = speedSlider
local speedKnobCorner = Instance.new("UICorner")
speedKnobCorner.CornerRadius = UDim.new(0, 9)
speedKnobCorner.Parent = speedKnob
-- Height slider for undetected lift
local heightLabel = Instance.new("TextLabel")
heightLabel.Name = "HeightLabel"
heightLabel.Size = UDim2.new(0.3, 0, 0.25, 0)
heightLabel.Position = UDim2.new(0, 10, 0, 35)
heightLabel.BackgroundTransparency = 1
heightLabel.Text = "Height: 0"
heightLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
heightLabel.TextScaled = true
heightLabel.Font = Enum.Font.Gotham
heightLabel.Parent = settingsFrame
local heightSlider = Instance.new("Frame")
heightSlider.Name = "HeightSlider"
heightSlider.Size = UDim2.new(0.6, -20, 0, 20)
heightSlider.Position = UDim2.new(0.4, 0, 0, 40)
heightSlider.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
heightSlider.BorderSizePixel = 0
heightSlider.Parent = settingsFrame
local heightSliderCorner = Instance.new("UICorner")
heightSliderCorner.CornerRadius = UDim.new(0, 10)
heightSliderCorner.Parent = heightSlider
local heightKnob = Instance.new("TextButton")
heightKnob.Name = "HeightKnob"
heightKnob.Size = UDim2.new(0, 18, 0, 18)
heightKnob.Position = UDim2.new(0.5, -9, 0, 1)
heightKnob.BackgroundColor3 = Color3.fromRGB(170, 85, 170)
heightKnob.BorderSizePixel = 0
heightKnob.Text = ""
heightKnob.Parent = heightSlider
local heightKnobCorner = Instance.new("UICorner")
heightKnobCorner.CornerRadius = UDim.new(0, 9)
heightKnobCorner.Parent = heightKnob
-- Auto-heal toggle
local autoHealToggle = Instance.new("TextButton")
autoHealToggle.Name = "AutoHealToggle"
autoHealToggle.Size = UDim2.new(0.45, -10, 0.2, 0)
autoHealToggle.Position = UDim2.new(0, 10, 0.75, 0)
autoHealToggle.BackgroundColor3 = Color3.fromRGB(85, 170, 85)
autoHealToggle.BorderSizePixel = 0
autoHealToggle.Text = "Auto-Heal: ON"
autoHealToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
autoHealToggle.TextScaled = true
autoHealToggle.Font = Enum.Font.Gotham
autoHealToggle.Parent = settingsFrame
local autoHealCorner = Instance.new("UICorner")
autoHealCorner.CornerRadius = UDim.new(0, 4)
autoHealCorner.Parent = autoHealToggle
-- Noclip toggle
local noclipToggle = Instance.new("TextButton")
noclipToggle.Name = "NoclipToggle"
noclipToggle.Size = UDim2.new(0.45, -10, 0.2, 0)
noclipToggle.Position = UDim2.new(0.55, 0, 0.75, 0)
noclipToggle.BackgroundColor3 = Color3.fromRGB(85, 170, 85)
noclipToggle.BorderSizePixel = 0
noclipToggle.Text = "Noclip: ON"
noclipToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
noclipToggle.TextScaled = true
noclipToggle.Font = Enum.Font.Gotham
noclipToggle.Parent = settingsFrame
local noclipCorner = Instance.new("UICorner")
noclipCorner.CornerRadius = UDim.new(0, 4)
noclipCorner.Parent = noclipToggle
-- Status label
local statusLabel = Instance.new("TextLabel")
statusLabel.Name = "StatusLabel"
statusLabel.Size = UDim2.new(1, -20, 0, 25)
statusLabel.Position = UDim2.new(0, 10, 0, 400)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Ready - Select mode and enter username"
statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statusLabel.TextScaled = true
statusLabel.Font = Enum.Font.Gotham
statusLabel.Parent = mainFrame
-- Variables for lifting
local currentConnection = nil
local isLifting = false
local currentTarget = nil
local liftBodyPosition = nil
local healConnection = nil
local liftStartTime = 0
local targetPosition = nil
local noclipConnection = nil
local characterFlipConnection = nil
local originalCFrames = {}
local originalPlayerPosition = nil
local deathConnection = nil
-- Mode settings
local currentMode = "classic"
local liftSpeed = 1
local undetectedHeight = 0
local autoHealEnabled = true
local noclipEnabled = true
local modes = {
classic = {name = "Classic Lift", description = "Standard lifting under target"},
rocket = {name = "Rocket Boost", description = "Fast upward acceleration"},
orbit = {name = "Orbit Mode", description = "Circle around target while lifting"},
teleport = {name = "Teleport Lift", description = "Instant teleportation lifting"},
magnet = {name = "Magnet Mode", description = "Pull target towards you"},
undetected = {name = "Undetected Lift", description = "Subtle hip-level positioning"},
bring = {name = "Bring Mode", description = "Bring target to your location"}
}
-- Mode dropdown functionality
local dropdownOpen = false
local modeButtons = {}
local function createModeDropdown()
local dropdownFrame = Instance.new("Frame")
dropdownFrame.Name = "DropdownFrame"
dropdownFrame.Size = UDim2.new(1, 0, 0, #modes * 25)
dropdownFrame.Position = UDim2.new(0, 0, 1, 0)
dropdownFrame.BackgroundColor3 = Color3.fromRGB(65, 65, 65)
dropdownFrame.BorderSizePixel = 0
dropdownFrame.Visible = false
dropdownFrame.ZIndex = 10
dropdownFrame.Parent = modeFrame
local dropdownCorner = Instance.new("UICorner")
dropdownCorner.CornerRadius = UDim.new(0, 6)
dropdownCorner.Parent = dropdownFrame
local yPos = 0
for key, mode in pairs(modes) do
local modeButton = Instance.new("TextButton")
modeButton.Name = key
modeButton.Size = UDim2.new(1, -10, 0, 23)
modeButton.Position = UDim2.new(0, 5, 0, yPos)
modeButton.BackgroundColor3 = Color3.fromRGB(75, 75, 75)
modeButton.BorderSizePixel = 0
modeButton.Text = mode.name
modeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
modeButton.TextScaled = true
modeButton.Font = Enum.Font.Gotham
modeButton.ZIndex = 11
modeButton.Parent = dropdownFrame
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 4)
buttonCorner.Parent = modeButton
modeButton.MouseButton1Click:Connect(function()
currentMode = key
modeDropdown.Text = mode.name .. " ▼"
statusLabel.Text = mode.description
dropdownFrame.Visible = false
dropdownOpen = false
end)
modeButtons[key] = modeButton
yPos = yPos + 25
end
return dropdownFrame
end
local dropdownFrame = createModeDropdown()
modeDropdown.MouseButton1Click:Connect(function()
dropdownOpen = not dropdownOpen
dropdownFrame.Visible = dropdownOpen
modeDropdown.Text = modeDropdown.Text:gsub("▼", dropdownOpen and "▲" or "▼")
end)
-- Speed slider functionality
local dragging = false
speedKnob.MouseButton1Down:Connect(function()
dragging = true
end)
-- Height slider functionality
local heightDragging = false
heightKnob.MouseButton1Down:Connect(function()
heightDragging = true
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
heightDragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if dragging then
local mousePos = UserInputService:GetMouseLocation()
local sliderPos = speedSlider.AbsolutePosition
local sliderSize = speedSlider.AbsoluteSize
local relativeX = math.clamp((mousePos.X - sliderPos.X) / sliderSize.X, 0, 1)
speedKnob.Position = UDim2.new(relativeX, -9, 0, 1)
liftSpeed = 0.1 + (relativeX * 2.9) -- 0.1x to 3x speed
speedLabel.Text = "Speed: " .. string.format("%.1f", liftSpeed) .. "x"
end
if heightDragging then
local mousePos = UserInputService:GetMouseLocation()
local sliderPos = heightSlider.AbsolutePosition
local sliderSize = heightSlider.AbsoluteSize
local relativeX = math.clamp((mousePos.X - sliderPos.X) / sliderSize.X, 0, 1)
heightKnob.Position = UDim2.new(relativeX, -9, 0, 1)
undetectedHeight = -5 + (relativeX * 10) -- -5 to 5 studs
heightLabel.Text = "Height: " .. string.format("%.1f", undetectedHeight)
end
end
end)
-- Toggle functionality
autoHealToggle.MouseButton1Click:Connect(function()
autoHealEnabled = not autoHealEnabled
autoHealToggle.Text = "Auto-Heal: " .. (autoHealEnabled and "ON" or "OFF")
autoHealToggle.BackgroundColor3 = autoHealEnabled and Color3.fromRGB(85, 170, 85) or Color3.fromRGB(255, 85, 85)
if autoHealEnabled then
setupAutoHeal()
elseif healConnection then
healConnection:Disconnect()
healConnection = nil
end
end)
noclipToggle.MouseButton1Click:Connect(function()
noclipEnabled = not noclipEnabled
noclipToggle.Text = "Noclip: " .. (noclipEnabled and "ON" or "OFF")
noclipToggle.BackgroundColor3 = noclipEnabled and Color3.fromRGB(85, 170, 85) or Color3.fromRGB(255, 85, 85)
end)
-- Infinite Yield button functionality
infiniteYieldButton.MouseButton1Click:Connect(function()
loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
end)
-- Auto-heal function
local function setupAutoHeal()
if not autoHealEnabled then return end
if healConnection then
healConnection:Disconnect()
end
healConnection = RunService.Heartbeat:Connect(function()
if player.Character and player.Character:FindFirstChild("Humanoid") then
local humanoid = player.Character.Humanoid
if humanoid.Health < humanoid.MaxHealth then
humanoid.Health = humanoid.MaxHealth
end
end
end)
end
-- Character flip function
local function flipCharacterOnSide()
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local humanoidRootPart = player.Character.HumanoidRootPart
-- Store original CFrame for restoration
originalCFrames[humanoidRootPart] = humanoidRootPart.CFrame
-- Flip character on side (90 degrees rotation around X axis for flat side up)
local currentCFrame = humanoidRootPart.CFrame
local flippedCFrame = currentCFrame * CFrame.Angles(math.rad(90), 0, 0)
humanoidRootPart.CFrame = flippedCFrame
-- Keep character flipped during lifting
if characterFlipConnection then
characterFlipConnection:Disconnect()
end
characterFlipConnection = RunService.Heartbeat:Connect(function()
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") and isLifting then
local rootPart = player.Character.HumanoidRootPart
local currentPos = rootPart.Position
rootPart.CFrame = CFrame.new(currentPos) * CFrame.Angles(math.rad(90), 0, 0)
end
end)
end
local function restoreCharacterOrientation()
if characterFlipConnection then
characterFlipConnection:Disconnect()
characterFlipConnection = nil
end
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local humanoidRootPart = player.Character.HumanoidRootPart
if originalCFrames[humanoidRootPart] then
local currentPos = humanoidRootPart.Position
local originalRotation = originalCFrames[humanoidRootPart] - originalCFrames[humanoidRootPart].Position
humanoidRootPart.CFrame = CFrame.new(currentPos) + originalRotation
originalCFrames[humanoidRootPart] = nil
end
end
end
-- Noclip function
local function enableNoclip()
if not noclipEnabled then return end
if noclipConnection then
noclipConnection:Disconnect()
end
noclipConnection = RunService.Stepped:Connect(function()
if player.Character then
for _, part in pairs(player.Character:GetChildren()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end
end)
end
local function disableNoclip()
if noclipConnection then
noclipConnection:Disconnect()
noclipConnection = nil
end
if player.Character then
for _, part in pairs(player.Character:GetChildren()) do
if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
part.CanCollide = true
end
end
end
end
-- Function to find player by partial name
local function findPlayer(partialName)
partialName = partialName:lower()
for _, targetPlayer in pairs(Players:GetPlayers()) do
if targetPlayer ~= player and targetPlayer.Name:lower():find(partialName, 1, true) then
return targetPlayer
end
end
return nil
end
-- Function to setup death detection
local function setupDeathDetection()
if deathConnection then
deathConnection:Disconnect()
end
if player.Character and player.Character:FindFirstChild("Humanoid") then
deathConnection = player.Character.Humanoid.Died:Connect(function()
if isLifting then
stopLifting()
end
end)
end
end
-- Function to stop lifting
local function stopLifting()
if currentConnection then
currentConnection:Disconnect()
currentConnection = nil
end
if liftBodyPosition and liftBodyPosition.Parent then
liftBodyPosition:Destroy()
liftBodyPosition = nil
end
disableNoclip()
restoreCharacterOrientation()
-- Return player to original position
if originalPlayerPosition and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
player.Character.HumanoidRootPart.CFrame = originalPlayerPosition
originalPlayerPosition = nil
end
isLifting = false
currentTarget = nil
targetPosition = nil
-- Show bring button, hide stop button and change colors to green (ready state)
bringButton.Visible = true
bringButton.BackgroundColor3 = Color3.fromRGB(85, 170, 85)
undetectedButton.Visible = true
undetectedButton.BackgroundColor3 = Color3.fromRGB(170, 85, 170)
stopButton.Visible = false
stopButton.BackgroundColor3 = Color3.fromRGB(85, 170, 85) -- Make stop button green when hidden
statusLabel.Text = "Ready - Select mode and enter username"
end
-- Mode-specific lift functions
local function classicLift(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Store original position before teleporting
originalPlayerPosition = playerRootPart.CFrame
-- Calculate precise position directly under target
local targetBounds = targetPlayer.Character:GetExtentsSize()
local playerBounds = player.Character:GetExtentsSize()
local offsetY = (targetBounds.Y / 2) + (playerBounds.Y / 2) + 0.5
targetPosition = Vector3.new(
targetRootPart.Position.X,
targetRootPart.Position.Y - offsetY,
targetRootPart.Position.Z
)
enableNoclip()
flipCharacterOnSide()
playerRootPart.CFrame = CFrame.new(targetPosition)
liftBodyPosition = Instance.new("BodyPosition")
liftBodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
liftBodyPosition.Position = targetPosition
liftBodyPosition.D = 2000
liftBodyPosition.P = 10000
liftBodyPosition.Parent = playerRootPart
liftStartTime = tick()
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Fixed classic lift - just follow target position without acceleration
targetPosition = Vector3.new(
targetRootPart.Position.X,
targetRootPart.Position.Y - offsetY,
targetRootPart.Position.Z
)
if liftBodyPosition and liftBodyPosition.Parent then
liftBodyPosition.Position = targetPosition
end
end)
return true
end
local function rocketLift(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Store original position before teleporting
originalPlayerPosition = playerRootPart.CFrame
targetPosition = Vector3.new(targetRootPart.Position.X, targetRootPart.Position.Y - 5, targetRootPart.Position.Z)
enableNoclip()
playerRootPart.CFrame = CFrame.new(targetPosition)
liftBodyPosition = Instance.new("BodyPosition")
liftBodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
liftBodyPosition.Position = targetPosition
liftBodyPosition.D = 5000
liftBodyPosition.P = 20000
liftBodyPosition.Parent = playerRootPart
liftStartTime = tick()
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local elapsedTime = tick() - liftStartTime
local targetRootPart = targetPlayer.Character.HumanoidRootPart
local rocketSpeed = elapsedTime * elapsedTime * 2 * liftSpeed
local newY = targetRootPart.Position.Y + rocketSpeed
targetPosition = Vector3.new(targetRootPart.Position.X, newY, targetRootPart.Position.Z)
if liftBodyPosition and liftBodyPosition.Parent then
liftBodyPosition.Position = targetPosition
end
end)
return true
end
local function orbitLift(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Store original position before teleporting
originalPlayerPosition = playerRootPart.CFrame
enableNoclip()
liftBodyPosition = Instance.new("BodyPosition")
liftBodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
liftBodyPosition.D = 3000
liftBodyPosition.P = 15000
liftBodyPosition.Parent = playerRootPart
liftStartTime = tick()
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local elapsedTime = tick() - liftStartTime
local targetRootPart = targetPlayer.Character.HumanoidRootPart
local angle = elapsedTime * liftSpeed * 2
local radius = 8
local height = elapsedTime * liftSpeed * 3
local x = targetRootPart.Position.X + math.cos(angle) * radius
local y = targetRootPart.Position.Y + height
local z = targetRootPart.Position.Z + math.sin(angle) * radius
targetPosition = Vector3.new(x, y, z)
if liftBodyPosition and liftBodyPosition.Parent then
liftBodyPosition.Position = targetPosition
end
end)
return true
end
local function teleportLift(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
-- Store original position before teleporting
originalPlayerPosition = playerRootPart.CFrame
enableNoclip()
liftStartTime = tick()
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local elapsedTime = tick() - liftStartTime
local targetRootPart = targetPlayer.Character.HumanoidRootPart
local height = elapsedTime * 10 * liftSpeed
targetPosition = Vector3.new(targetRootPart.Position.X, targetRootPart.Position.Y + height, targetRootPart.Position.Z)
playerRootPart.CFrame = CFrame.new(targetPosition)
end)
return true
end
local function magnetLift(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
-- Store original position before teleporting
originalPlayerPosition = playerRootPart.CFrame
enableNoclip()
liftBodyPosition = Instance.new("BodyPosition")
liftBodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
liftBodyPosition.D = 4000
liftBodyPosition.P = 25000
liftBodyPosition.Parent = playerRootPart
liftStartTime = tick()
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local elapsedTime = tick() - liftStartTime
local targetRootPart = targetPlayer.Character.HumanoidRootPart
local playerPos = playerRootPart.Position
local direction = (targetRootPart.Position - playerPos).Unit
local distance = math.max(5, 15 - elapsedTime * liftSpeed)
targetPosition = targetRootPart.Position - direction * distance + Vector3.new(0, elapsedTime * liftSpeed * 2, 0)
if liftBodyPosition and liftBodyPosition.Parent then
liftBodyPosition.Position = targetPosition
end
end)
return true
end
local function undetectedLift(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Store original position before teleporting
originalPlayerPosition = playerRootPart.CFrame
enableNoclip()
flipCharacterOnSide()
liftStartTime = tick()
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Position at adjustable height relative to target
local targetBounds = targetPlayer.Character:GetExtentsSize()
local offsetY = (targetBounds.Y / 2) + undetectedHeight
targetPosition = Vector3.new(
targetRootPart.Position.X,
targetRootPart.Position.Y - offsetY,
targetRootPart.Position.Z
)
-- Directly set CFrame to lock position instantly
playerRootPart.CFrame = CFrame.new(targetPosition) * CFrame.Angles(math.rad(90), 0, 0)
end)
return true
end
local function bringMode(targetPlayer)
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return false
end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
return false
end
local playerRootPart = player.Character.HumanoidRootPart
local targetRootPart = targetPlayer.Character.HumanoidRootPart
-- Store original position
originalPlayerPosition = playerRootPart.CFrame
local originalX = originalPlayerPosition.Position.X
enableNoclip()
flipCharacterOnSide()
-- Phase 1: Position under target with -1 height offset
local targetBounds = targetPlayer.Character:GetExtentsSize()
local offsetY = (targetBounds.Y / 2) + (-1)
local phase1Position = Vector3.new(
targetRootPart.Position.X,
targetRootPart.Position.Y - offsetY,
targetRootPart.Position.Z
)
playerRootPart.CFrame = CFrame.new(phase1Position) * CFrame.Angles(math.rad(90), 0, 0)
liftStartTime = tick()
local phase = 1
local moveStartTime = 0
currentConnection = RunService.Heartbeat:Connect(function()
if not isLifting then return end
if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
statusLabel.Text = "Target player left or died"
stopLifting()
return
end
if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then
return
end
local elapsedTime = tick() - liftStartTime
local targetRootPart = targetPlayer.Character.HumanoidRootPart
if phase == 1 then
-- Phase 1: Stay under target for 1 second
local targetBounds = targetPlayer.Character:GetExtentsSize()
local offsetY = (targetBounds.Y / 2) + (-1)
targetPosition = Vector3.new(
targetRootPart.Position.X,
targetRootPart.Position.Y - offsetY,
targetRootPart.Position.Z
)
playerRootPart.CFrame = CFrame.new(targetPosition) * CFrame.Angles(math.rad(90), 0, 0)
if elapsedTime > 1 then
phase = 2
moveStartTime = tick()
end
elseif phase == 2 then
-- Phase 2: Move to original X position at decent speed
local moveElapsed = tick() - moveStartTime
local moveSpeed = 5 * liftSpeed -- Decent speed
local currentX = targetRootPart.Position.X
local targetX = originalX
local distance = math.abs(targetX - currentX)
if distance > 1 then
local direction = targetX > currentX and 1 or -1
local newX = currentX + (direction * moveSpeed * moveElapsed)
-- Clamp to target X if we've passed it
if (direction == 1 and newX >= targetX) or (direction == -1 and newX <= targetX) then
newX = targetX
end
local targetBounds = targetPlayer.Character:GetExtentsSize()
local offsetY = (targetBounds.Y / 2) + (-1)
targetPosition = Vector3.new(
newX,
targetRootPart.Position.Y - offsetY,
targetRootPart.Position.Z
)
playerRootPart.CFrame = CFrame.new(targetPosition) * CFrame.Angles(math.rad(90), 0, 0)
else
phase = 3
moveStartTime = tick()
end
elseif phase == 3 then
-- Phase 3: Lower down slowly
local lowerElapsed = tick() - moveStartTime
local lowerSpeed = 2 * liftSpeed -- Slow descent
local targetBounds = targetPlayer.Character:GetExtentsSize()
local baseOffsetY = (targetBounds.Y / 2) + (-1)
local additionalLower = lowerElapsed * lowerSpeed
targetPosition = Vector3.new(
originalX,
targetRootPart.Position.Y - baseOffsetY - additionalLower,
targetRootPart.Position.Z
)
playerRootPart.CFrame = CFrame.new(targetPosition) * CFrame.Angles(math.rad(90), 0, 0)
end
end)
return true
end
-- Function to lift target player based on mode
local function liftPlayer(targetPlayer)
if currentMode == "classic" then
return classicLift(targetPlayer)
elseif currentMode == "rocket" then
return rocketLift(targetPlayer)
elseif currentMode == "orbit" then
return orbitLift(targetPlayer)
elseif currentMode == "teleport" then
return teleportLift(targetPlayer)
elseif currentMode == "magnet" then
return magnetLift(targetPlayer)
elseif currentMode == "undetected" then
return undetectedLift(targetPlayer)
elseif currentMode == "bring" then
return bringMode(targetPlayer)
end
return false
end
-- Start auto-heal when script loads
setupAutoHeal()
-- Setup death detection when character spawns
player.CharacterAdded:Connect(function()
setupDeathDetection()
end)
-- Setup initial death detection if character already exists
if player.Character then
setupDeathDetection()
end
-- Bring button functionality
bringButton.MouseButton1Click:Connect(function()
if isLifting then
statusLabel.Text = "Already lifting a player!"
return
end
local username = usernameBox.Text:gsub("%s+", "")
if username == "" then
statusLabel.Text = "Please enter a username!"
return
end
local targetPlayer = findPlayer(username)
if not targetPlayer then
statusLabel.Text = "Player not found!"
return
end
if targetPlayer == player then
statusLabel.Text = "Cannot bring yourself!"
return
end
statusLabel.Text = "Lifting " .. targetPlayer.Name .. " (" .. modes[currentMode].name .. ")..."
isLifting = true
currentTarget = targetPlayer
-- Hide bring button, show stop button
bringButton.Visible = false
undetectedButton.Visible = false
stopButton.Visible = true
stopButton.BackgroundColor3 = Color3.fromRGB(255, 85, 85) -- Red when active
-- Start lifting
if not liftPlayer(targetPlayer) then
statusLabel.Text = "Failed to lift player!"
stopLifting()
return
end
end)
-- Undetected lift button functionality
undetectedButton.MouseButton1Click:Connect(function()
if isLifting then
statusLabel.Text = "Already lifting a player!"
return
end
local username = usernameBox.Text:gsub("%s+", "")
if username == "" then
statusLabel.Text = "Please enter a username!"
return
end
local targetPlayer = findPlayer(username)
if not targetPlayer then
statusLabel.Text = "Player not found!"
return
end
if targetPlayer == player then
statusLabel.Text = "Cannot bring yourself!"
return
end
statusLabel.Text = "Undetected lifting " .. targetPlayer.Name .. "..."
isLifting = true
currentTarget = targetPlayer
-- Hide buttons, show stop button
bringButton.Visible = false
undetectedButton.Visible = false
stopButton.Visible = true
stopButton.BackgroundColor3 = Color3.fromRGB(255, 85, 85) -- Red when active
-- Start undetected lifting
if not undetectedLift(targetPlayer) then
statusLabel.Text = "Failed to lift player!"
stopLifting()
return
end
end)
-- Stop button functionality
stopButton.MouseButton1Click:Connect(function()
stopLifting()
end)
-- Close button functionality
closeButton.MouseButton1Click:Connect(function()
stopLifting()
if healConnection then
healConnection:Disconnect()
end
if deathConnection then
deathConnection:Disconnect()
end
screenGui:Destroy()
end)
-- Toggle GUI with key (F for example)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.F then
screenGui.Enabled = not screenGui.Enabled
end
end)



use undetected player lifter, working on updates, the others arent that good
please send me a friend request for key scripts, without keys, my old user is @hamster_gamer14 i have 8k followers, bc working on followers script