local plr = game.Players.LocalPlayer local pad = workspace.CARDealerP local char = plr.Character local gui for i = 1, 8 do char.HumanoidRootPart.CFrame = pad.CFrame * CFrame.new(0, pad.Size.Y / 2 + 6, 0) task.wait(0.2) char.HumanoidRootPart.CFrame = pad.CFrame * CFrame.new(0, pad.Size.Y / 2 + 2, 0) task.wait(0.6) gui = plr.PlayerGui:FindFirstChild("GunGui") if gui and gui:FindFirstChild("DealerRemote") then break end end if not gui then print("no shop") return end local holder = gui.Holder local scroll = holder.ScrollingFrame local remote = gui.DealerRemote local target = "2001Ram 3500" local btn = scroll:FindFirstChild(target) print("btn:", tostring(btn ~= nil), "| attrs owned:", tostring(btn and btn:GetAttribute("Owned")), "price:", tostring(btn and btn:GetAttribute("Price"))) remote.OnClientEvent:Connect(function(...) print(" dealer event:", ...) end) local moneyBefore = plr.stored.Money.Value -- real click path: fire the button's Activated (what clicking does) if firesignal then pcall(firesignal, btn.Activated) task.wait(0.6) print("after select -> GunName:", holder.GunName.Text, "| Amount:", holder.Amount.Text, "| Buy:", holder.Buy.Text) pcall(firesignal, holder.Buy.Activated) else print("no firesignal") end local found, t = nil, 0 repeat task.wait(0.3) t += 0.3 for _, c in ipairs(workspace.CivCars:GetChildren()) do local o = c:FindFirstChild("Owner") if o and o.Value == plr.Name and c.Name == target then found = c end end until found or t > 8 print("spawned:", tostring(found ~= nil), "| money:", moneyBefore, "->", plr.stored.Money.Value)