Here's that example. Really it just boils down to that VertexUVScale(obj,scaleu#,scalev#) function, just pass the object number and scale values to it, most of the code is just to show how it works.
sync on
sync rate 60
color backdrop 0
`Make a test texture and cube
make object cube 1,10
cls 255
ink 128,0
box 16,16,48,48
get image 1,0,0,64,64
texture object 1,1
`Main loop
do
turn object left 1,1
pitch object up 1,0.5
roll object right 1,0.25
`Click mouse to scale UV's
if mouseclick()=1
VertexUVScale(1,2.0,2.0) `(obj,scaleu#,scalev#)
while mouseclick()<>0 : endwhile
endif
sync
loop
`Vertex scale function
function VertexUVScale(obj,scaleu#,scalev#)
perform checklist for object limbs obj
limbcount=checklist quantity()-1
for limb=0 to limbcount
lock vertexdata for limb obj,limb
vertcount=get vertexdata vertex count()-1
for v=0 to vertcount
u#=get vertexdata u(v) * scaleu#
v#=get vertexdata v(v) * scalev#
set vertexdata uv v,u#,v#
next v
next limb
endfunction

The code is dark and full of errors
