--goo local lplr = game.Players.LocalPlayer local chat = game:GetService("TextChatService").TextChannels.RBXGeneral local runService = game:GetService("RunService") local CAS = game:GetService("ContextActionService") -- Configuration local WATER_GUN_ID = "16972562122" local PISS_OFFSET = CFrame.new(0,-0.25,1.5) * CFrame.Angles(math.rad(-90),math.rad(90),0) * CFrame.Angles(0,0,math.rad(-45)) local VOICELINES = { "Ahhh, that's the stuff.", "Now the flowers will grow.", "I feel like a new man.", "There, that's better.", } -- Setup Rig chat:SendAsync("-r6") repeat task.wait() until lplr.Character and lplr.Character:FindFirstChild("Humanoid") and lplr.Character.Humanoid.RigType == Enum.HumanoidRigType.R6 task.wait(1) -- Request Hats local ghCmd = "-gh " .. string.rep(WATER_GUN_ID .. " ", 15) chat:SendAsync(ghCmd) task.wait(1.5) chat:SendAsync(ghCmd) task.wait(2) chat:SendAsync("-net") local chr = lplr.Character local hrp = chr:WaitForChild("HumanoidRootPart") local torso = chr:WaitForChild("Torso") -- Create the Target Part local pissPart = Instance.new("Part") pissPart.Transparency = 1 pissPart.CanCollide = false pissPart.Anchored = true pissPart.Size = Vector3.new(1, 1, 1) pissPart.Parent = workspace local accs = {} for _, a in ipairs(chr:GetChildren()) do if a:IsA("Accessory") and (a.Name:find("Hydro") or a.Name:find("Water")) then local handle = a:FindFirstChild("Handle") if handle then handle:BreakJoints() table.insert(accs, handle) end end end -- State Management local isPissing = false local useVoicelines = false -- SPIN SYSTEMS local spinHats = false -- Minigun local FountainHats = false -- Fountain / orbit local fastSpinHats = false -- internal helper local spinAngle = 0 local spinSpeed = 4 -- Physics Loop runService.PostSimulation:Connect(function(dt) if isPissing then spinAngle = spinAngle + spinSpeed * dt for i, h in ipairs(accs) do local angle = spinAngle + (i * (2 * math.pi / #accs)) h.CFrame = pissPart.CFrame * spinOffset else -- Default: just follow pissPart h.CFrame = pissPart.CFrame end h.Velocity = Vector3.new(0, 8.141 * math.pi, 0) end else for _, h in ipairs(accs) do h.CFrame = CFrame.new(0, -50, 0) end end end) runService.PreSimulation:Connect(function() if isPissing then pissPart.CFrame = torso.CFrame * PISS_OFFSET end end) -- F: Toggle stream CAS:BindAction("PissAction", function(_, state) if state == Enum.UserInputState.Begin then isPissing = true if useVoicelines then chat:SendAsync(VOICELINES[math.random(1, #VOICELINES)]) end elseif state == Enum.UserInputState.End then isPissing = false end return Enum.ContextActionResult.Sink end, true, Enum.KeyCode.F) -- Initial button titles CAS:SetTitle("PissAction", "goon (F)") print("by test_subject") chat:SendAsync("fe goo by test_subject") --hello i like gooning