Okay, I feel I am getting close, but not quite a cigar.
When the player jumps and falls downward, or falls downward in mid-air after stepping off a ledge, the game is now beeping like crazy, when I use the below code, and stops beeping when the player's feet land on the floor (which is good):
action player_code()
{
...
DEBUG_VAR(my.GRAVITY_VAR, 225); // DECREMENTING RAPIDLY
// WHEN FALLING.
if(my.GRAVITY_VAR < -3.80)
{
beep(); // BEEP IS WORKING WHEN PLAYER IS FALLING,
// BEEPING LIKE CRAZY WHEN PLAYER FALLS
timer(); // TIMER SHOULD START WHEN PLAYER FALLS
if(my.GRAVITY_VAR >= -3.80)
{
time_elapsed = timer(); // TIMER SHOULD END WHEN
// PLAYER LANDS ON GROUND,
// AND RECORD TIME IN
// time_elapsed VARIABLE
}
}
DEBUG_VAR(time_elapsed, 275); // DISPLAYS time_elapsed
// VARIABLE, WHICH IS
// STAYING AT 0, EVEN
// AFTER PLAYER DROPS
c_move(me, move_vec, vector(0, 0, my.GRAVITY_VAR), USE_POLYGON |
IGNORE_PASSABLE | GLIDE);
if(c_trace(my.x, vector(my.x, my.y, my.z - my.FEET_HEIGHT), IGNORE_ME |
IGNORE_PASSABLE | IGNORE_PASSENTS | USE_POLYGON))
{
...
}
...
}
When the player falls downward, I notice the player's my.GRAVITY_VAR value rapidly decrementing below -3.80, to anywhere like -24 or so, until the player's feet land on the ground, to where my.GRAVITY_VAR goes back above or at -3.80 or so.
The only problem is that time_elapsed is staying at 0. The timer does not seem to be starting.
Does anyone see a glaring problem that I am just not noticing, that is making the timer not start, or work?