The GMax2AC script exports models from GMax to the AC3D (.ac) fileformat. The script seems to have some problems, so use it with caution and feel free to modify or correct it.
I will probably not be working on it anymore, since I now have both Wavefront OBJ and AC3D import/export in Blender. I will continue using gMAX2OBJ script to export from GMax (very tedious, although check out the resources in the main article for a script that supposedly makes this process easier).
The OBJ format is much more similar in structure to the internal GMax data or at least the structures the API functions return. This makes it much easier to just output the GMax vertices and faces separately. For AC format, I had to think a while how to output the SURF surfaces, from the GMax faces. I decided to output a SURF for each GMax face. There are no faces in GMax that are not triangles.
In 3D data, there are vertices or points in space and faces. The faces are the polygons formed by connecting the vertices. A cube has 6 faces an 8 vertices. However, 3D applications store geometry data in triangles, so there are really twice as many faces. Each face of a cube is two triangles. This can make things a bit confusing (for me at least---this is the first time I've ever made a 3D format converter). The faces are composed of references to verticies. Like and index or list of vertices. Each face is defined by indices to three vertices.
The issue is that if a surface is the same thing as a GMax face, the GMax face always consists of three vertice index values. At least that is my interpretation. Feel free to correct this.