It will never work perfectly, as you can just replace a texture by another one - but you can't replace it, so it can happen that the texture for the wall is on top of the modell or the stair texture is on the side of the walls.^^ Looks really funny.

(I had once a bridge which had the face of Aragorn all over it.

)
Object RockGrey08
ReplaceModule ModuleTag_01
Draw = W3DScriptedModelDraw ModuleTag_01GG
RandomTexture = PROldForest01.tga 0 PRGrey.tga
OkToChangeModelColor = Yes
DefaultModelConditionState
Model = PRG08
End
End
End
End
This is how I've replaced the textures of a normal Rock to a rock with more grass on it. You can see multiple examples in the map.ini of my lorien-map for edain.

You have to replace the modeldraw with a new one which includes everything and also this here:
RandomTexture = PROldForest01.tga 0 PRGrey.tga
OkToChangeModelColor = Yes
The Randomtexture replaces the right texture with the left texture.
So the right texture has to be the old texture of the object (and always have to end .tga, even though those files are NO .tga files) and the left texture is the name of the new texture (also has to end with .tga, even though those files are no .tga files)