Change Player Value on part touched

I solved something similar to this recently (here)

local Players = game:GetService("Players")
local part = script.Parent

part.Touched:Connect(function(hit)
if not (Players:GetPlayerFromCharacter(hit.Parent)) then return end
	local Player = Players:GetPlayerFromCharacter(hit.Parent)
	Player:WaitForChild("Stats").Water.Value = 100 -- Maybe try waiting? FindFirstChild should work though
end)