Decal at players feet

I’ve tried this:
[LUA]util.Decal( “Blood”, ply:GetPos(), ply:GetPos() );[/LUA]

and numerous different ways of this:
[LUA]local tracedata = {}
tracedata.start = ply:GetPos();
tracedata.endpos = ply:GetPos() * -10;
tracedata.filter = ply;

    util.Decal( "Blood", tracedata.start, tracedata.endpos );[/LUA]

Look at how TTT does it.

https://github.com/garrynewman/garrysmod/blob/ff51a59d5a821dec3c8f524631c86150b3e4744d/garrysmod/gamemodes/terrortown/gamemode/util.lua#L111

Thank you for your reply.
I’m now trying with this code:
[LUA]
local btr = util.TraceLine({ start = ply:GetPos(), endpos = ( ply:GetPos() + Vector( 0, 0, -256 ) ), filter = ply, mask = MASK_SOLID });

timer.Create( ply:SteamID() .. "Bleed", 5, reps, function() 
	ply:SetHealth( ply:Health() - amount ); 
	util.Decal( "Blood", btr.HitPos+btr.HitNormal, btr.HitPos-btr.HitNormal );
end );

[/LUA]

But it doesn’t paint.

This is shared and it works for me:
[lua]
function util.PaintDown(start, effname, ignore)
local btr = util.TraceLine({start=start, endpos=(start + Vector(0,0,-256)), filter=ignore, mask=MASK_SOLID})

util.Decal(effname, btr.HitPos+btr.HitNormal, btr.HitPos-btr.HitNormal)
end

local ent = Entity(1)
util.PaintDown(ent:GetPos(), “Blood”, ent)
[/lua]

Thank you. I was doing it serverside.