| SYNOPSIS |
| void heart_beat() |
| |
| DESCRIPTION |
| This function will be called automatically every |
| __HEART_BEAT_INTERVAL__ seconds. The driver will call the function |
| directly in the object, even if the function is being shadowed. |
| |
| The start and stop of heart beat is controlled by the efun |
| set_heart_beat(). Be careful not to have objects with heart |
| beat running all the time, as it uses a lot of driver |
| resources. If there is an error in the heart beat routine, the |
| heart beat will be turned off for this object and the |
| master function heart_beat_error() is called. If the call |
| to the master function returns a non-zero value, the heart beat |
| will be turned back on again. |
| |
| The function this_player() will return this object, but only if |
| it is living. Otherwise, this_player() will return 0. |
| |
| The function will be called only if there is at least one interactive |
| user in the game. |
| |
| Note that error messages will be given to the current user |
| which will be the object itself or nobody. |
| |
| EXAMPLE |
| object owner; |
| void create() { |
| ... |
| owner=this_player(); |
| set_heart_beat(1); |
| } |
| void heart_beat() { |
| tell_object(owner, "Your heart goes: BUM BUM\n"); |
| } |
| |
| We have to use tell_object() because write goes to the current |
| user and this can only be the object itself or nobody. |
| |
| HISTORY |
| LDMud 3.3.687 made the interval time configurable at driver compile |
| time (used to be 2 seconds fixed). |
| |
| SEE ALSO |
| set_heart_beat(E), call_out(E), enable_commands(E), |
| heart_beat_error(M) |