
Key RequiredUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local settings = {
active = false,
flickActive = true,
angle = 90,
interval = 0.25,
pushForce = 52,
jumpPower = 50
}
local lastJump = 0
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "GlobalWallhopV8"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 210, 0, 320)
mainFrame.Position = UDim2.new(0.05, 0, 0.3, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
mainFrame.Visible = true -- Starts VISIBLE
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame)
local title = Instance.new("TextLabel", mainFrame)
title.Size = UDim2.new(1, 0, 0, 35)
title.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
title.Text = "YOU VS HOMER WALLHOP"
title.TextColor3 = Color3.new(1, 1, 1)
title.Font = Enum.Font.GothamBold
title.TextSize = 12
Instance.new("UICorner", title)
local function toggleMenu()
mainFrame.Visible = not mainFrame.Visible
end
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if not gameProcessed then
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) and input.KeyCode == Enum.KeyCode.One then
toggleMenu()
end
end
end)
player.Chatted:Connect(function(msg)
if msg == "/p" then toggleMenu() end
end)
local function createBtn(text, pos, callback, color)
local btn = Instance.new("TextButton", mainFrame)
btn.Size = UDim2.new(0.9, 0, 0, 35)
btn.Position = pos
btn.BackgroundColor3 = color or Color3.fromRGB(30, 30, 30)
btn.Text = text
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
Instance.new("UICorner", btn)
btn.MouseButton1Click:Connect(function() callback(btn) end)
return btn
end
local jpBox = Instance.new("TextBox", mainFrame)
jpBox.Size = UDim2.new(0.9, 0, 0, 30)
jpBox.Position = UDim2.new(0.05, 0, 0.15, 0)
jpBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
jpBox.Text = "JumpPower: 50"
jpBox.TextColor3 = Color3.new(1, 1, 1)
jpBox.Font = Enum.Font.GothamBold
Instance.new("UICorner", jpBox)
jpBox.FocusLost:Connect(function(enter)
if enter then
local num = tonumber(jpBox.Text:match("%d+"))
if num then
settings.jumpPower = num
jpBox.Text = "JumpPower: " .. num
end
end
end)
createBtn("WALLHOP: DISABLED", UDim2.new(0.05, 0, 0.3, 0), function(b)
settings.active = not settings.active
b.Text = settings.active and "WALLHOP: ENABLED" or "WALLHOP: DISABLED"
b.BackgroundColor3 = settings.active and Color3.fromRGB(0, 150, 80) or Color3.fromRGB(150, 30, 30)
end)
createBtn("FLICK (ROTATION): ON", UDim2.new(0.05, 0, 0.45, 0), function(b)
settings.flickActive = not settings.flickActive
b.Text = settings.flickActive and "FLICK (ROTATION): ON" or "FLICK (ROTATION): OFF"
b.BackgroundColor3 = settings.flickActive and Color3.fromRGB(0, 120, 200) or Color3.fromRGB(60, 60, 60)
end)
createBtn("ANGLE: 90°", UDim2.new(0.05, 0, 0.6, 0), function(b)
settings.angle = (settings.angle == 90) and 45 or 90
b.Text = "ANGLE: " .. settings.angle .. "°"
end)
createBtn("HIDE (CTRL + 1)", UDim2.new(0.05, 0, 0.8, 0), function()
mainFrame.Visible = false
end, Color3.fromRGB(100, 20, 20))
local function isTouchingWithLegs(char, root)
local overlapParams = OverlapParams.new()
local ignore = {char}
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
local n = part.Name:lower()
if n:find("head") or n:find("torso") or n:find("arm") or n:find("hand") then
table.insert(ignore, part)
end
end
end
overlapParams.FilterDescendantsInstances = ignore
overlapParams.FilterType = Enum.RaycastFilterType.Exclude
local hits = workspace:GetPartBoundsInBox(root.CFrame, Vector3.new(3, 4, 3), overlapParams)
local distinct = 0
local checked = {}
for _, p in pairs(hits) do
if p.CanCollide and not checked[p] then
checked[p] = true
distinct = distinct + 1
end
end
return distinct >= 2
end
RunService.Heartbeat:Connect(function()
local char = player.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local root = char and (char:FindFirstChild("HumanoidRootPart") or char.PrimaryPart)
if not root or not hum then return end
hum.UseJumpPower = true
hum.JumpPower = settings.jumpPower
if settings.active and hum.Jump == true and tick() - lastJump >= settings.interval then
if isTouchingWithLegs(char, root) then
lastJump = tick()
root.AssemblyLinearVelocity = Vector3.new(root.AssemblyLinearVelocity.X, settings.pushForce, root.AssemblyLinearVelocity.Z)
if settings.flickActive then
root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(settings.angle), 0)
end
end
end
end)



So much useless lines this can be done in 7-8 lines
@BoyWife Yes, you're right, but there are some functions in the background, like sensitivity adjustment. I had to write so much code to fine-tune the functions in the code... But you know what? Soon I'll try to reduce that code using GitHub, just like you said. But for some reason, GitHub isn't working on my tablet for some silly reason.
@BoyWife sybau he tried
It would be better if it's camera rotate
@ThatChillGuy Before publishing this open source code, I tried to do something like this but couldn't. Maybe I'll work on this feature in the new version. Thank you for using it and for your feedback!
w wallhop
@IdekWhatToPutHere Thanks!
How do i start it?
@epicproguy 1.You need executor e.g. Xeno executor,Delta Executor 2.Later you get key for using executor 3.Paste Script on executor and press start button
@emrullahsami22 thank you
for some reason i cant get it to work, its just a black rectangle and thats it.
wait nvm, its because i didnt copy the full script
its patched 😭
@RegularShade i make new script. Here:https://scriptblox.com/script/Universal-Script-You-vs-home-wallhop-93874
pls create script esp
and no clip
good script