
KeylessUniversal

-- AUTO WALLHOP | single LocalScript
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
local cam = workspace.CurrentCamera
local char = player.Character or player.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
-- ================= SPLASH =================
local splashGui = Instance.new("ScreenGui", player.PlayerGui)
splashGui.IgnoreGuiInset = true
splashGui.ResetOnSpawn = false
local splash = Instance.new("Frame", splashGui)
splash.Size = UDim2.fromOffset(280,180)
splash.AnchorPoint = Vector2.new(0.5,0.5)
splash.Position = UDim2.fromScale(0.5,0.5)
splash.BackgroundColor3 = Color3.fromRGB(25,25,25)
splash.BorderSizePixel = 0
Instance.new("UICorner", splash).CornerRadius = UDim.new(0,22)
local splashText = Instance.new("TextLabel", splash)
splashText.Size = UDim2.new(1,-20,0,50)
splashText.Position = UDim2.fromOffset(10,10)
splashText.BackgroundTransparency = 1
splashText.Text = "Script made by"
splashText.TextColor3 = Color3.new(1,1,1)
splashText.Font = Enum.Font.GothamBold
splashText.TextScaled = true
local splashImg = Instance.new("ImageLabel", splash)
splashImg.Size = UDim2.new(1,-40,1,-80)
splashImg.Position = UDim2.fromOffset(20,60)
splashImg.BackgroundTransparency = 1
splashImg.Image = "rbxassetid://94103216875487"
splashImg.ScaleType = Enum.ScaleType.Fit
task.delay(5,function()
splashGui:Destroy()
end)
-- ================= GUI =================
local gui = Instance.new("ScreenGui", player.PlayerGui)
gui.ResetOnSpawn = false
local circle = Instance.new("TextButton", gui)
circle.Size = UDim2.fromOffset(60,60)
circle.Position = UDim2.fromScale(0.05,0.5)
circle.Text = "wallhop"
circle.BackgroundColor3 = Color3.fromRGB(20,20,20)
circle.TextColor3 = Color3.new(1,1,1)
circle.BorderSizePixel = 0
Instance.new("UICorner", circle).CornerRadius = UDim.new(1,0)
local panel = Instance.new("Frame", gui)
panel.Size = UDim2.fromOffset(220,140)
panel.Position = UDim2.fromScale(0.75,0.3)
panel.BackgroundColor3 = Color3.fromRGB(30,30,30)
panel.BackgroundTransparency = 0.3
panel.Visible = false
Instance.new("UICorner", panel).CornerRadius = UDim.new(0,12)
local close = Instance.new("TextButton", panel)
close.Size = UDim2.fromOffset(24,24)
close.Position = UDim2.fromOffset(8,8)
close.Text = "X"
close.TextColor3 = Color3.new(1,1,1)
close.BackgroundTransparency = 1
local toggle = Instance.new("TextButton", panel)
toggle.Size = UDim2.fromOffset(120,40)
toggle.Position = UDim2.fromScale(0.5,0.6)
toggle.AnchorPoint = Vector2.new(0.5,0.5)
toggle.Text = "MODE: 0"
toggle.BackgroundColor3 = Color3.fromRGB(60,60,60)
toggle.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", toggle).CornerRadius = UDim.new(0,8)
-- drag
local function drag(ui)
local d,s,p
ui.InputBegan:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1 then
d=true s=i.Position p=ui.Position
end
end)
ui.InputEnded:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1 then d=false end
end)
UIS.InputChanged:Connect(function(i)
if d and i.UserInputType==Enum.UserInputType.MouseMovement then
local delta=i.Position-s
ui.Position=UDim2.new(p.X.Scale,p.X.Offset+delta.X,p.Y.Scale,p.Y.Offset+delta.Y)
end
end)
end
drag(circle)
drag(panel)
circle.MouseButton1Click:Connect(function()
circle.Visible=false
panel.Visible=true
end)
close.MouseButton1Click:Connect(function()
panel.Visible=false
circle.Visible=true
end)
local mode=0
toggle.MouseButton1Click:Connect(function()
mode=1-mode
toggle.Text="MODE: "..mode
end)
-- ================= WALLHOP =================
local params = RaycastParams.new()
params.FilterDescendantsInstances = {char}
params.FilterType = Enum.RaycastFilterType.Blacklist
local cooldown=0
RunService.RenderStepped:Connect(function()
if mode~=1 then return end
if hum:GetState()~=Enum.HumanoidStateType.Freefall then return end
if tick()<cooldown then return end
local origin = root.Position + Vector3.new(0,-1,0)
local dir = root.CFrame.LookVector * 2.5
local hit = workspace:Raycast(origin,dir,params)
if hit and hit.Instance.CanCollide then
cooldown = tick()+0.25
hum:ChangeState(Enum.HumanoidStateType.Jumping)
-- wallhop turn (-90)
root.CFrame = root.CFrame * CFrame.Angles(0,math.rad(-90),0)
-- face camera while falling
task.delay(0.12,function()
if hum:GetState()==Enum.HumanoidStateType.Freefall then
local look=cam.CFrame.LookVector
root.CFrame=CFrame.new(root.Position,root.Position+Vector3.new(look.X,0,look.Z))
end
end)
end
end)No comments yet for this script.



