i got a value 32. does it means i can only do 32 texture? how if i want to put more texture on it?
also im going to attach this textures to my shader. ussualy i did it by usgin glActivateTexture(GL_TEXTURE0 - GL_TEXTURE31)? can i simply put 0-31 instead of GL_TEXTURE enum so I can use a loop to activate it?
Sure. You can use texture arrays. Each one only consumes a single shader sampler (i.e. texture unit), yet you can put a boatload of 2D textures in one of these things, each one a separate 2D texture slice of the 2D texture array.
Alternatively, you can use texture atlases (precursor to texture arrays), but then you have to deal with cross-map filtering issues…