Drunk Goofy Goober Script
Key RequiredUniversal

Drunk Goofy Goober Script

Universal ScriptBlitz_StBlitz_St 4.9K views 2.1K executesUpdated Nov 16, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•151 lines (4938 chars)
-- 🤪 Silly Goober Hub v4.0 (FIXED & STABLE) 🤪
local p = game.Players.LocalPlayer
local c = p.Character or p.CharacterAdded:Wait()
local h = c:WaitForChild("Humanoid")
local r = c:WaitForChild("HumanoidRootPart")

-- Wait for full character load
repeat wait() until c:FindFirstChild("Head") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso"))

local torso = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
local head = c.Head

-- Kill default animations
if c:FindFirstChild("Animate") then c.Animate:Destroy() end

-- Create tool
local tool = Instance.new("Tool")
tool.Name = "🤪 Silly Grab 🤪"
tool.RequiresHandle = false
tool.Parent = p.Backpack

-- GUI for barrel roll text
local gui = Instance.new("ScreenGui", p.PlayerGui)
gui.ResetOnSpawn = false
local txt = Instance.new("TextLabel", gui)
txt.Size = UDim2.new(0, 600, 0, 100)
txt.Position = UDim2.new(0.5, -300, 0.3, 0)
txt.BackgroundTransparency = 1
txt.TextColor3 = Color3.new(1, 1, 0)
txt.TextStrokeColor3 = Color3.new(1, 0, 0)
txt.TextStrokeTransparency = 0.2
txt.TextScaled = true
txt.Font = Enum.Font.GothamBold
txt.Text = ""

-- Animation state
local animState = "idle"
local barrelRolling = false
local barrelStart = 0

-- Get joints and save originals
local neck = head:FindFirstChild("Neck") or torso:FindFirstChild("Neck")
local waist = torso:FindFirstChild("Waist") or r:FindFirstChild("RootJoint")
local originalNeckC0 = neck and neck.C0 or CFrame.new()
local originalWaistC0 = waist and waist.C0 or CFrame.new()

-- Barrel roll detection
h.StateChanged:Connect(function(_, new)
    if new == Enum.HumanoidStateType.Jumping and not barrelRolling then
        barrelRolling = true
        animState = "barrel"
        barrelStart = tick()
        txt.Text = "🔄 DO A BARREL ROLL! 🔄"
        
        spawn(function()
            wait(1.5)
            txt.Text = ""
            barrelRolling = false
            animState = "idle"
        end)
    end
end)

-- Main animation loop (Motor6D transforms - NO PHYSICS BREAKING!)
game:GetService("RunService").RenderStepped:Connect(function()
    if not neck or not waist then return end
    
    local time = tick()
    local moving = h.MoveDirection.Magnitude > 0
    
    -- Set state
    if not barrelRolling then
        animState = moving and "walk" or "idle"
    end
    
    -- Apply goofy animations (only affects joints, not physics!)
    if animState == "idle" then
        -- Helicopter head
        neck.C0 = originalNeckC0 * CFrame.Angles(0, time*4, math.sin(time*6)*0.2)
        
    elseif animState == "walk" then
        -- WACKY wobble
        local wave = math.sin(time*10)
        neck.C0 = originalNeckC0 * CFrame.Angles(0, 0, wave*0.4) * CFrame.new(0, math.abs(wave)*0.15, 0)
        waist.C0 = originalWaistC0 * CFrame.Angles(0, 0, -wave*0.3)
        
    elseif animState == "barrel" then
        -- TRUE barrel roll
        local roll = (time - barrelStart) * 10
        waist.C0 = originalWaistC0 * CFrame.Angles(0, 0, roll)
        neck.C0 = originalNeckC0 * CFrame.Angles(0, 0, roll*1.5)
    end
end)

-- Get random player
local function getRandom()
    local plrs = {}
    for _, v in pairs(game.Players:GetPlayers()) do
        if v ~= p and v.Character and v.Character:FindFirstChild("HumanoidRootPart") then
            table.insert(plrs, v)
        end
    end
    return #plrs > 0 and plrs[math.random(#plrs)] or nil
end

-- ULTRA FLING
local function flingVictim(victimChar)
    local vr = victimChar:FindFirstChild("HumanoidRootPart")
    local vh = victimChar:FindFirstChild("Humanoid")
    if vr and vh then
        vh:ChangeState(Enum.HumanoidStateType.FallingDown)
        vr.AssemblyLinearVelocity = r.CFrame.LookVector * 150 + Vector3.new(0, 80, 0)
        vr.AssemblyAngularVelocity = Vector3.new(0, 40, 0)
    end
end

-- HOMING HEAD-FIRST TACKLE (fixed!)
tool.Activated:Connect(function()
    local target = getRandom()
    if not target then return end
    
    local tr = target.Character.HumanoidRootPart
    
    -- Disable running so we don't fight physics
    h:SetStateEnabled(Enum.HumanoidStateType.Running, false)
    
    -- Smooth homing charge (lerp position, don't snap!)
    for i = 1, 25 do
        local alpha = i / 25
        local targetPos = tr.Position + Vector3.new(0, 3, 0)
        local newPos = r.Position:Lerp(targetPos, alpha)
        
        -- Face target and tilt head-first
        local lookCFrame = CFrame.new(newPos, tr.Position)
        r.CFrame = lookCFrame * CFrame.Angles(math.rad(-90 * alpha), 0, 0)
        
        wait(0.03)
    end
    
    -- YEET!
    flingVictim(target.Character)
    
    -- Reset properly
    wait(0.3)
    h:SetStateEnabled(Enum.HumanoidStateType.Running, true)
    r.CFrame = CFrame.new(r.Position, r.Position + r.CFrame.LookVector)
    animState = "idle"
end)

print("🤪 SILLY GOOBER HUB v4.0 - FIXED & STABLE! 🤪")
print("Jump for barrel roll! Equip tool to tackle random players!")

Features & Information

-Troll ya friends or random users -weird idle animation -Creepy and sus animations -Fling/tackle MADE BY ME!
#Universal#Fast#Troll#Goofy#Free

Community Comments (3)

Blitz_StBlitz_StNov 16, 2025

This is my first script don't forget to leave a positive or negative review! And suggestions if you must lol

Blitz_StBlitz_StNov 16, 2025

This script is going to be updated alot...

Blitz_StBlitz_StNov 17, 2025

1.1k let's go!

More Scripts for Universal Scripts