Instanced objects currently have to share the same texture. You have to clone the object if you want different textures.
For example- run this code once then change the "instance object" to "clone object" and see the difference when you run it again.
+ Code Snippetsync on
sync rate 0
randomize timer()
hide mouse
autocam off
make memblock 1,140
write memblock dword 1,0,1
write memblock dword 1,4,1
write memblock dword 1,8,32
write memblock dword 1,12,rgb(255,0,0)
make image from memblock 1,1
write memblock dword 1,12,rgb(0,255,0)
make image from memblock 2,1
write memblock dword 1,12,rgb(0,0,255)
make image from memblock 3,1
make object cube 1,100
texture object 1,rnd(2)+1
for i=2 to 20
`clone object i,1
instance object i,1
scale object i,rnd(200)+1,rnd(200)+1,rnd(200)+1
position object i,rnd(1000)-500,rnd(1000)-500,rnd(1000)-500
texture object i,rnd(2)+1
rotate object i,rnd(360),rnd(360),rnd(360)
next i
do
sync
move camera upkey()-downkey()
rotate camera camera angle x()+mousemovey()/2.0,camera angle y()+mousemovex()/2.0,camera angle z()
loop