
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local camera = workspace.CurrentCamera
--------------------------------------------------------------------
-- 1. MODERN UI CREATION
--------------------------------------------------------------------
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "PullModGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
-- Main Container Frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 220, 0, 150)
mainFrame.Position = UDim2.new(0, 30, 0.5, -75)
mainFrame.BackgroundColor3 = Color3.fromRGB(24, 24, 28)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Parent = screenGui
local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 10)
frameCorner.Parent = mainFrame
local frameStroke = Instance.new("UIStroke")
frameStroke.Color = Color3.fromRGB(50, 50, 60)
frameStroke.Thickness = 1.5
frameStroke.Parent = mainFrame
-- Title Header
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 28)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "PULL MOD"
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 13
titleLabel.TextColor3 = Color3.fromRGB(180, 180, 190)
titleLabel.Parent = mainFrame
-- Main Pull Button
local pullButton = Instance.new("TextButton")
pullButton.Size = UDim2.new(0.88, 0, 0.4, 0)
pullButton.Position = UDim2.new(0.06, 0, 0.22, 0)
pullButton.Text = "HOLD TO PULL"
pullButton.Font = Enum.Font.GothamBold
pullButton.TextSize = 15
pullButton.TextColor3 = Color3.fromRGB(255, 255, 255)
pullButton.BackgroundColor3 = Color3.fromRGB(220, 50, 60)
pullButton.AutoButtonColor = false
pullButton.Parent = mainFrame
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 7)
buttonCorner.Parent = pullButton
--------------------------------------------------------------------
-- 2. STRENGTH CONTROLS (BOTTOM OF UI)
--------------------------------------------------------------------
local pullSpeed = 120 -- Default Pull Speed
local MIN_SPEED = 20
local MAX_SPEED = 300
local STEP = 20
local strengthFrame = Instance.new("Frame")
strengthFrame.Size = UDim2.new(0.88, 0, 0.26, 0)
strengthFrame.Position = UDim2.new(0.06, 0, 0.67, 0)
strengthFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
strengthFrame.BorderSizePixel = 0
strengthFrame.Parent = mainFrame
local strengthCorner = Instance.new("UICorner")
strengthCorner.CornerRadius = UDim.new(0, 6)
strengthCorner.Parent = strengthFrame
-- Minus Button
local minusBtn = Instance.new("TextButton")
minusBtn.Size = UDim2.new(0.25, 0, 1, 0)
minusBtn.Position = UDim2.new(0, 0, 0, 0)
minusBtn.Text = "-"
minusBtn.Font = Enum.Font.GothamBold
minusBtn.TextSize = 18
minusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
minusBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60)
minusBtn.Parent = strengthFrame
local minusCorner = Instance.new("UICorner")
minusCorner.CornerRadius = UDim.new(0, 6)
minusCorner.Parent = minusBtn
-- Plus Button
local plusBtn = Instance.new("TextButton")
plusBtn.Size = UDim2.new(0.25, 0, 1, 0)
plusBtn.Position = UDim2.new(0.75, 0, 0, 0)
plusBtn.Text = "+"
plusBtn.Font = Enum.Font.GothamBold
plusBtn.TextSize = 18
plusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
plusBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60)
plusBtn.Parent = strengthFrame
local plusCorner = Instance.new("UICorner")
plusCorner.CornerRadius = UDim.new(0, 6)
plusCorner.Parent = plusBtn
-- Display Label
local displayLabel = Instance.new("TextLabel")
displayLabel.Size = UDim2.new(0.5, 0, 1, 0)
displayLabel.Position = UDim2.new(0.25, 0, 0, 0)
displayLabel.BackgroundTransparency = 1
displayLabel.Text = "Pwr: " .. pullSpeed
displayLabel.Font = Enum.Font.GothamBold
displayLabel.TextSize = 13
displayLabel.TextColor3 = Color3.fromRGB(220, 220, 230)
displayLabel.Parent = strengthFrame
-- Adjust Strength Logic
minusBtn.MouseButton1Click:Connect(function()
pullSpeed = math.max(MIN_SPEED, pullSpeed - STEP)
displayLabel.Text = "Pwr: " .. pullSpeed
end)
plusBtn.MouseButton1Click:Connect(function()
pullSpeed = math.min(MAX_SPEED, pullSpeed + STEP)
displayLabel.Text = "Pwr: " .. pullSpeed
end)
--------------------------------------------------------------------
-- 3. DRAGGABLE UI SYSTEM
--------------------------------------------------------------------
local dragging = false
local dragInput, dragStart, startPos
local function updateDrag(input)
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
mainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
mainFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
updateDrag(input)
end
end)
--------------------------------------------------------------------
-- 4. PULL MOD PHYSICS LOGIC
--------------------------------------------------------------------
local isPulling = false
local function startPull()
if isPulling then return end
isPulling = true
pullButton.BackgroundColor3 = Color3.fromRGB(40, 190, 90) -- Green active color
task.spawn(function()
while isPulling do
local character = player.Character
if character then
local hrp = character:FindFirstChild("HumanoidRootPart")
if hrp then
local pullDirection = camera.CFrame.LookVector
hrp.AssemblyLinearVelocity = pullDirection * pullSpeed
end
end
task.wait()
end
pullButton.BackgroundColor3 = Color3.fromRGB(220, 50, 60)
end)
end
local function stopPull()
isPulling = false
end
pullButton.MouseButton1Down:Connect(startPull)
pullButton.MouseButton1Up:Connect(stopPull)
pullButton.MouseLeave:Connect(stopPull)No comments yet for this script.



