And this doesn’t work? try removing the type(cashToGive) == “number” and check if it works
script.Parent.Touched:Connect(function(hit : BasePart)
local cashToGive = hit:GetAttribute("CashToGive")
warn(cashToGive)
if cashToGive ~= nil then
local Plot = script.Parent.Parent.Parent.Parent
if Plot == nil then warn("No plot!") return end
local PlotOwnerUserId = Plot:GetAttribute("Owner")
if PlotOwnerUserId == nil then warn("No Plot Owner User Id") return end
hit:Destroy()
local PlayerObject = game:GetService("Players"):GetPlayerByUserId(PlotOwnerUserId)
PlayerObject.leaderstats.Cash.Value += cashToGive
end
end)