--!nonstrict --[[ Grab diag v3 -- the REAL input path. Calling the prompt callbacks only played the visual (circle fills, hangs). The game drives holds with prompt:InputHoldBegin(); after HoldDuration the prompt fires Triggered itself, server-side. Test that. Stand next to a stealable brainrot, run, wait ~8s, paste the clipboard. ]] local Players = game:GetService("Players") local LP = Players.LocalPlayer local out = {} local function log(s) out[#out+1]=s ; print("[diag3] "..s) end local function save() local t = "grab diag v3\n"..string.rep("-",40).."\n"..table.concat(out,"\n") if type(setclipboard)=="function" then pcall(setclipboard,t) elseif type(toclipboard)=="function" then pcall(toclipboard,t) end if type(writefile)=="function" then pcall(writefile,"grabdiag3.txt",t) end end local plots = workspace:FindFirstChild("Plots") if not plots then log("no Plots") save() return end local root = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart") local myPos = root and root.Position local best, bestD for _, plot in ipairs(plots:GetChildren()) do local pods = plot:FindFirstChild("AnimalPodiums") if pods then for _, d in ipairs(pods:GetDescendants()) do if d:IsA("ProximityPrompt") and d.Enabled then local host = d.Parent if host and host:IsA("Attachment") then host = host.Parent end local pos = host and host:IsA("BasePart") and host.Position local dist = (pos and myPos) and (pos-myPos).Magnitude or 9e9 if not bestD or dist < bestD then best, bestD = d, dist end end end end end if not best then log("no ENABLED steal prompt near you") save() return end local hd = best.HoldDuration log("target: "..best:GetFullName()) log("HoldDuration="..tostring(hd).." Action="..tostring(best.ActionText)) -- can we even call the input methods? log("InputHoldBegin: "..type(best.InputHoldBegin)) log("InputHoldEnd: "..type(best.InputHoldEnd)) local function stealing() return LP:GetAttribute("Stealing")==true end task.spawn(function() task.wait(1) log("TEST D1: InputHoldBegin, wait HoldDuration+0.2, let it auto-trigger") local b = stealing() local ok, err = pcall(function() best:InputHoldBegin() end) log(" InputHoldBegin call: "..(ok and "ok" or ("ERR "..tostring(err)))) task.wait((hd or 1.5) + 0.2) log(" Stealing "..tostring(b).."->"..tostring(stealing())) task.wait(1.5) log("TEST D2: InputHoldBegin, wait, then InputHoldEnd") b = stealing() pcall(function() best:InputHoldBegin() end) task.wait((hd or 1.5) + 0.1) pcall(function() best:InputHoldEnd() end) task.wait(1) log(" Stealing "..tostring(b).."->"..tostring(stealing())) task.wait(1.5) log("TEST D3: fireproximityprompt(prompt) with NO second arg") b = stealing() if type(fireproximityprompt)=="function" then pcall(function() fireproximityprompt(best) end) end task.wait(1.5) log(" Stealing "..tostring(b).."->"..tostring(stealing())) log("") log(">>> whichever flips Stealing false->true is it. Paste this to me. <<<") save() print("[diag3] done -- on clipboard") end) save()