
KeylessUniversal

-------------------------------------------------
-- SERVICES & REMOTES
-------------------------------------------------
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local localPlayer = Players.LocalPlayer
local EventsFolder = ReplicatedStorage:WaitForChild("Events")
local GrabEvent = EventsFolder:WaitForChild("Grab")
local ActivateEvent = EventsFolder:WaitForChild("ActivateButton")
-------------------------------------------------
-- STATE VARIABLES
-------------------------------------------------
local AUTO = false -- Auto-Aura Grab toggle (M key)
local PROF = false -- Professional Mode toggle (X key)
local SelectedTrap = "Cage4" -- Selected Trap (e.g., "Cage4" stands for "Cage")
local currentTarget = nil -- Currently grabbed target for Professional Mode
local autoLoopRunning = false -- For Auto-Aura Grab loop
local proLoopRunning = false -- For Professional Mode loop
-------------------------------------------------
-- UTILITY FUNCTIONS
-------------------------------------------------
local function notify(text)
pcall(function()
StarterGui:SetCore("SendNotification", {Title = "AutoAura", Text = text, Duration = 2})
end)
end
local function safeFire(remote, ...)
if remote and remote:IsA("RemoteEvent") then
remote:FireServer(...)
else
warn("[AutoAura] Invalid remote!")
end
end
-------------------------------------------------
-- GRAB FUNCTION (para el botón Kill)
-------------------------------------------------
local function u()
local ch = localPlayer.Character
if not ch then return end
local hrp = ch:FindFirstChild("HumanoidRootPart")
if not hrp then return end
local closest, bestDist = nil, 10
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= localPlayer and pl.Character then
local phrp = pl.Character:FindFirstChild("HumanoidRootPart")
if phrp then
local d = (hrp.Position - phrp.Position).Magnitude
if d < bestDist then
bestDist = d
closest = pl
end
end
end
end
if closest and closest.Character then
local targetHead = closest.Character:FindFirstChild("Head")
if targetHead then
safeFire(GrabEvent, targetHead, "Grab")
end
end
end
-------------------------------------------------
-- AUTO-AURA GRAB FUNCTION (every 1/70 sec within 20 studs)
-------------------------------------------------
local function toggleAutoAura(btn)
AUTO = not AUTO
btn.Text = AUTO and "Auto-Aura Grab: ON" or "Auto-Aura Grab: OFF"
notify(AUTO and "Auto-Aura Enabled" or "Auto-Aura Disabled")
if AUTO and not autoLoopRunning then
autoLoopRunning = true
task.spawn(function()
while AUTO do
local ch = localPlayer.Character
local hrp = ch and ch:FindFirstChild("HumanoidRootPart")
if hrp then
local closest, bestDist = nil, 20
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= localPlayer and pl.Character then
local phrp = pl.Character:FindFirstChild("HumanoidRootPart")
if phrp then
local d = (hrp.Position - phrp.Position).Magnitude
if d < bestDist then
bestDist = d
closest = pl
end
end
end
end
if closest and closest.Character then
local targetTorso = closest.Character:FindFirstChild("Torso") or closest.Character:FindFirstChild("UpperTorso")
if targetTorso then
safeFire(GrabEvent, targetTorso, "Grab", Vector3.new(), CFrame.new(targetTorso.Position))
end
end
end
task.wait(1/70)
end
autoLoopRunning = false
end)
end
end
-------------------------------------------------
-- PROFESSIONAL MODE LOOP (every 0.035 sec within 9 studs)
-------------------------------------------------
local function professionalModeLoop()
proLoopRunning = true
while PROF do
local ch = localPlayer.Character
local hrp = ch and ch:FindFirstChild("HumanoidRootPart")
if hrp then
if not currentTarget then
local candidate, bestDist = nil, 10.5
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= localPlayer and pl.Character then
local phrp = pl.Character:FindFirstChild("HumanoidRootPart")
if phrp then
local d = (hrp.Position - phrp.Position).Magnitude
if d <= 10.5 and d < bestDist then
bestDist = d
candidate = pl
end
end
end
end
if candidate and candidate.Character then
local targetTorso = candidate.Character:FindFirstChild("Torso") or candidate.Character:FindFirstChild("UpperTorso")
if targetTorso then
safeFire(GrabEvent, targetTorso, "Grab", Vector3.new(), CFrame.new(targetTorso.Position))
currentTarget = candidate
end
end
else
local targetTorso = nil
if currentTarget.Character then
targetTorso = currentTarget.Character:FindFirstChild("Torso") or currentTarget.Character:FindFirstChild("UpperTorso")
end
if targetTorso then
local d = (hrp.Position - targetTorso.Position).Magnitude
if d > 10.5 then
currentTarget = nil
else
local bestCandidate = currentTarget
local bestCandDist = d
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= localPlayer and pl ~= currentTarget and pl.Character then
local phrp2 = pl.Character:FindFirstChild("HumanoidRootPart")
if phrp2 then
local d2 = (hrp.Position - phrp2.Position).Magnitude
if d2 <= 10. and d2 > bestCandDist then
bestCandDist = d2
bestCandidate = pl
end
end
end
end
if bestCandidate ~= currentTarget then
local newTargetTorso = bestCandidate.Character:FindFirstChild("Torso") or bestCandidate.Character:FindFirstChild("UpperTorso")
if newTargetTorso then
safeFire(GrabEvent, newTargetTorso, "Grab", Vector3.new(), CFrame.new(newTargetTorso.Position))
currentTarget = bestCandidate
end
end
end
else
currentTarget = nil
end
end
end
task.wait(1/70)
end
proLoopRunning = false
end
-------------------------------------------------
-- Force Immediate Refresh in Professional Mode
-------------------------------------------------
local function forceProfessionalCandidate()
local ch = localPlayer.Character
local hrp = ch and ch:FindFirstChild("HumanoidRootPart")
if hrp then
local candidate, bestDist = nil, 9.9
for _, pl in ipairs(Players:GetPlayers()) do
if pl ~= localPlayer and pl.Character then
local phrp = pl.Character:FindFirstChild("HumanoidRootPart")
if phrp then
local d = (hrp.Position - phrp.Position).Magnitude
if d <= 9.9 and d < bestDist then
bestDist = d
candidate = pl
end
end
end
end
if candidate and candidate.Character then
local targetTorso = candidate.Character:FindFirstChild("Torso") or candidate.Character:FindFirstChild("UpperTorso")
if targetTorso then
safeFire(GrabEvent, targetTorso, "Grab", Vector3.new(), CFrame.new(targetTorso.Position))
currentTarget = candidate
end
end
end
end
-------------------------------------------------
-- Detect Left-Click: Drop current target and force refresh (PC Only)
-------------------------------------------------
local function detectDropInput(input)
if PROF then
if input.UserInputType == Enum.UserInputType.MouseButton1 then
if currentTarget then
currentTarget = nil
forceProfessionalCandidate()
end
end
end
end
UIS.InputBegan:Connect(detectDropInput)
-------------------------------------------------
-- Toggle Professional Mode (Auto-Aura Grab Kill)
-------------------------------------------------
local function toggleProMode(toggleBtn)
PROF = not PROF
if toggleBtn then
toggleBtn.Text = PROF and "Pro Mode: ON" or "Pro Mode: OFF"
toggleBtn.BackgroundColor3 = PROF and Color3.fromRGB(0,255,0) or Color3.fromRGB(255,0,0)
end
notify(PROF and "Professional Mode Enabled" or "Professional Mode Disabled")
if PROF then
currentTarget = nil
if not proLoopRunning then
task.spawn(professionalModeLoop)
end
else
currentTarget = nil
end
end
-------------------------------------------------
-- TELEPORT GRAB FUNCTION
-------------------------------------------------
local function teleportGrab(pl)
if not (pl and pl.Character) then return end
local targetTorso = pl.Character:FindFirstChild("Torso") or pl.Character:FindFirstChild("UpperTorso")
local ch = localPlayer.Character
local hrp = ch and ch:FindFirstChild("HumanoidRootPart")
if targetTorso and hrp then
local home = hrp.CFrame
hrp.CFrame = targetTorso.CFrame
local t0 = tick()
while tick() - t0 <= 0.7 do
safeFire(GrabEvent, targetTorso, "Grab", Vector3.new(), CFrame.new(targetTorso.Position))
task.wait(0.01)
end
local t1 = tick()
while tick() - t1 < 1 do
hrp.CFrame = home
if (hrp.Position - home.Position).Magnitude < 1 then break end
task.wait(0.01)
end
hrp.CFrame = home
end
end
-------------------------------------------------
-- CREATE GUI (Old Version)
-------------------------------------------------
local function createGUI()
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AA_Gui"
ScreenGui.Parent = localPlayer:WaitForChild("PlayerGui")
-- MAIN FRAME
local mainFrame = Instance.new("Frame", ScreenGui)
mainFrame.Size = UDim2.fromOffset(100,50)
mainFrame.Position = UDim2.new(0.5,-125,0.8,-150)
mainFrame.BackgroundColor3 = Color3.fromRGB(25,25,25)
mainFrame.Draggable = true
mainFrame.BackgroundTransparency = 1
local mCorner = Instance.new("UICorner", mainFrame)
mCorner.CornerRadius = UDim.new(0,12)
-- Textbox for times
local TextBox = Instance.new("TextBox")
TextBox.Name = "TextBox"
TextBox.Parent = mainFrame
TextBox.Size = UDim2.new(0, 50, 0, 30)
TextBox.Position = UDim2.new(0, 10, 0, 10)
TextBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
TextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
TextBox.PlaceholderText = "Write here..."
TextBox.PlaceholderColor3 = Color3.fromRGB(180, 180, 180)
TextBox.TextSize = 18
TextBox.ClearTextOnFocus = false
TextBox.Text = ""
-- KILL BUTTON (ahora también hace Grab)
local killBtn = Instance.new("TextButton")
killBtn.Parent = mainFrame
killBtn.Size = UDim2.new(0.5,-10,0,30)
killBtn.Position = UDim2.new(0,5,0,40)
killBtn.Text = "Kill"
killBtn.TextScaled = true
killBtn.BackgroundColor3 = Color3.fromRGB(255,50,50)
killBtn.MouseButton1Click:Connect(function()
local value = tonumber(TextBox.Text) or 0
for grabfc = 1, value do
task.spawn(u)
task.spawn(u)
task.spawn(function()
safeFire(ActivateEvent, SelectedTrap)
end)
end
end)
-- TRAP BUTTON & DROP-DOWN LIST
local trapBtn = killBtn:Clone()
trapBtn.Parent = mainFrame
trapBtn.Position = UDim2.new(0.5,0,0,40)
trapBtn.Text = "Trap: " .. ((SelectedTrap=="Cage4") and "Cage" or SelectedTrap)
trapBtn.TextScaled = true
trapBtn.BackgroundColor3 = Color3.fromRGB(50,150,50)
local trapFrame = Instance.new("ScrollingFrame", mainFrame)
trapFrame.Size = UDim2.new(1,-10,0,60)
trapFrame.Position = UDim2.new(0,5,0,80)
trapFrame.BackgroundColor3 = Color3.fromRGB(35,35,35)
trapFrame.ScrollBarThickness = 6
trapFrame.Visible = false
trapFrame.CanvasSize = UDim2.new(0,0,0,400)
for i, name in ipairs({"VendingMachine","Cage","Shark","Guillotine","Sled","Machine","Catapult","VendingMachine2","VendingMachine3","Machine2","Cage2","Cage3"}) do
local tBtn = Instance.new("TextButton", trapFrame)
tBtn.Size = UDim2.new(1,0,0,25)
tBtn.Position = UDim2.new(0,0,0,(i-1)*27)
tBtn.Font = Enum.Font.GothamBold
tBtn.TextSize = 16
tBtn.TextScaled = true
tBtn.BackgroundColor3 = Color3.fromRGB(100,100,100)
local tCorner = Instance.new("UICorner", tBtn)
tCorner.CornerRadius = UDim.new(0,8)
tBtn.Text = name
tBtn.MouseButton1Click:Connect(function()
SelectedTrap = (name=="Cage") and "Cage4" or name
trapBtn.Text = "Trap: " .. name
trapFrame.Visible = false
end)
end
trapBtn.MouseButton1Click:Connect(function() trapFrame.Visible = not trapFrame.Visible end)
-- Persistent Toggle GUI BUTTON (always visible at top-left)
local toggleBtn = Instance.new("TextButton", ScreenGui)
toggleBtn.Size = UDim2.fromOffset(80,25)
toggleBtn.Position = UDim2.new(0,5,0,35)
toggleBtn.Text = "Toggle GUI"
toggleBtn.TextScaled = true
toggleBtn.BackgroundColor3 = Color3.fromRGB(0,150,0)
toggleBtn.Draggable = true
local togCorner = Instance.new("UICorner", toggleBtn)
togCorner.CornerRadius = UDim.new(0,8)
toggleBtn.MouseButton1Click:Connect(function() mainFrame.Visible = not mainFrame.Visible end)
-- Make the GUI draggable.
local dragging = false
local ds, sp
mainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
ds = input.Position
sp = mainFrame.Position
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - ds
mainFrame.Position = UDim2.new(sp.X.Scale, sp.X.Offset + delta.X, sp.Y.Scale, sp.Y.Offset + delta.Y)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
return ScreenGui, mainFrame, proButton, autoButton
end
-------------------------------------------------
-- INITIALIZE GUI & HANDLE CHARACTER RESPAWN
-------------------------------------------------
local screenGui, mainFrame, proButton, autoButton = createGUI()
-- KEYBINDS (PC Only):
-- LeftAlt toggles GUI (only if UIS.TouchEnabled is false), X toggles Professional Mode, and M toggles Auto-Aura Grab.
UIS.InputBegan:Connect(function(input, processed)
if processed then return end
if not UIS.TouchEnabled and input.KeyCode == Enum.KeyCode.LeftAlt then
if screenGui then screenGui.Enabled = not screenGui.Enabled end
elseif input.KeyCode == Enum.KeyCode.X then
toggleProMode(proButton)
if proButton then
proButton.BackgroundColor3 = PROF and Color3.fromRGB(0,255,0) or Color3.fromRGB(255,0,0)
end
elseif input.KeyCode == Enum.KeyCode.M then
toggleAutoAura(autoButton)
end
end)
localPlayer.CharacterAdded:Connect(function()
task.wait(1)
if screenGui then screenGui:Destroy() end
local newGui, newFrame, newProBtn, newAutoBtn = createGUI()
proButton = newProBtn
autoButton = newAutoBtn
if AUTO then
autoButton.Text = "Auto-Aura Grab: ON"
if not autoLoopRunning then task.spawn(function() toggleAutoAura(autoButton) end) end
end
if PROF then
currentTarget = nil -- Refresh Professional Mode upon respawn
if not proLoopRunning then task.spawn(professionalModeLoop) end
end
end)
-------------------------------------------------
-- END OF SCRIPT
---------------------------------------------------------



@usernamealreadyexis broski is still promoting it 💀 respect
@SyrexGenesisXIsBack ?
@usernamealreadyexis Dangg rip
This is a good script that's really worth using. It works by teleporting someone to your location when they're carrying you alone. If you choose the option to make them die and click "kill," they're teleported back to the designated spot.
@johnpedro032011 it sends them to the trap you selected when theyre grabbing u
actually it just sends them to the trap you selected, the best one is VendingMachine because it directly kills the one grabbing you
Updated: Added more traps!
Updated: Now you can send the closest player to the trap without need to grab them!