This solution leaves the village hanging 300 up in the air.

Placing a beep in the "if" got nothing.

Placing the beep in the "else" worked.

I've tried dozens of variations of these snippets. I'm amazed that I could spend the whole day yesterday changing and testing and always end up with one of three results:
1) the village doesn't appear at all.
2) the village is in the air above the terrain.
3) the village sets on the world z of 0.

So I looked elsewhere for the problem. I tried substituting a plain box model and nothing changed. I decided to change the terrain.mdl to terrain.hmp. Can't be done unless the mesh is a regular grid which in this case it is not.

In addition to all the fine help you guys have offered here, I've looked up some of the gravity solutions in the AUM files and from other sources. None worked.

I thot the trace was going thru the surface and hitting the water plane which is at z=0. So I deleted the water plane and got the same results. What can it be tracing to if there is nothing at z = 0?

I have to believe this is a c_trace problem. This village placement occurs on a flat area of the terrain model where the vertices are not close together.

I am going to try interpolating some polygons into that area of the model and see if that makes a difference.

If that doesn't work I'm going to sacrifice a goat during the next full moon.

Many thanks to you all for taking on this problem but let's close this thread and get on with our lives. By the time I get it working I will have had time to place everything manually.