You Vs Homer OP WallHop script (NO KEY + OPEN SOURCE CODE)
Key RequiredUniversal

You Vs Homer OP WallHop script (NO KEY + OPEN SOURCE CODE)

Universal Scriptemrullahsami22emrullahsami22 9.1K views 1.4K executesUpdated Jan 25, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•163 lines (5242 chars)
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)

Features & Information

-- Wallhop -- Wallhop Rotate -- Character Rotate -- "/p" or "Ctrl + 1" to hide gui (For YouTubers) -- this make by emrullahsami22 (me)
#You Vs Homer#Wallhop#You Vs Homer Wallhop#Open Source Code#Fe

Community Comments (17)

BoyWifeBoyWifeJan 25, 2026

So much useless lines this can be done in 7-8 lines

Replying to @BoyWife
emrullahsami22emrullahsami22Jan 25, 2026

@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.

Replying to @BoyWife
zosynzosynFeb 2, 2026

@BoyWife sybau he tried

ThatChillGuyThatChillGuyJan 25, 2026

It would be better if it's camera rotate

Replying to @ThatChillGuy
emrullahsami22emrullahsami22Jan 26, 2026

@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!

IdekWhatToPutHereIdekWhatToPutHereJan 25, 2026

w wallhop

Replying to @IdekWhatToPutHere
emrullahsami22emrullahsami22Jan 26, 2026

@IdekWhatToPutHere Thanks!

epicproguyepicproguyJan 27, 2026

How do i start it?

Replying to @epicproguy
emrullahsami22emrullahsami22Jan 27, 2026

@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

Replying to @emrullahsami22
epicproguyepicproguyJan 27, 2026

@emrullahsami22 thank you

RegularShadeRegularShadeJan 31, 2026

for some reason i cant get it to work, its just a black rectangle and thats it.

RegularShadeRegularShadeJan 31, 2026

wait nvm, its because i didnt copy the full script

RegularShadeRegularShadeJan 31, 2026

its patched 😭

Replying to @RegularShade
emrullahsami22emrullahsami22Jan 31, 2026

@RegularShade i make new script. Here:https://scriptblox.com/script/Universal-Script-You-vs-home-wallhop-93874

pedrinnnpedrinnnMar 25, 2026

pls create script esp

pedrinnnpedrinnnMar 25, 2026

and no clip

pedrinnnpedrinnnMar 25, 2026

good script

More Scripts for Universal Scripts