Can't modify $basetexturetransform property from a material, help please?

Posted it over there, but since nobody seems to give a shit about it, I thought I’d get a bit more attention here.

I need to modify the $basetexturetransform property from a material, depending on a given value for TF2 HUD purposes, especially the charge meter on the sniper rifle, and the control point progress bars. I tried everything I could with SetMaterialString, but no matter what I do, it doesn’t affect the material at all.

[lua]
MAT = Material(“hud/sniperscope_numbers”)

function PANEL:SetProgress(e)
local str = “center .5 .5 scale 1 1 rotate 0 translate 0 “…e
MAT:SetMaterialString(”$basetexturetransform”, str)
end

function PANEL:Paint()
surface.SetMaterial(MAT)
surface.SetDrawColor(255,255,255,255)
surface.DrawTexturedRect(0, 0, 128, 256)
end
[/lua]

I tried calling SetProgress with any possible value, and it does nothing at all. It seems to write the string into $basetexturetransform as expected, but with no apparent result. A function like SetMaterialMatrix would really come in handy, but is there any other way to do that?

-snip- Misread it ><