Wenn du c_trace verwendest, mußt du den trace mode nicht mehr separat setzen.
Er ist jetzt ein Parameter der c_trace Funktion.
Die allgemeine Form sieht so aus:

c_trace(VECTOR* from, VECTOR* to, var mode)

Die "Schwerkraft" sollte so ähnlich funktionieren (ich habe hier den Schwerkraft-code in der player action):

action my_player
{
var distance_to_ground;
//...
while(1)
{
vec_set (temp, my.x); // copy player's position to temp
temp.z -= 5000; // set temp.z 5000 quants below player's origin
distance_to_ground = c_trace (my.x, temp.x, IGNORE_ME | IGNORE_PASSABLE | USE_BOX);
//...
}
}

Ansonsten oberhalb der while-Schleife die Bounding Box an das Modell anpassen, entweder mit c_setminmax, oder direkt (mit my.min_x etc).

Ich kann leider nicht genau sagen, was an eurem Code nicht stimmt (bin nur Hobbyprogrammierer ) ...