NAME
	set_alarm, set_alarmv - delayed execution of a function
	
SYNOPSIS
	int set_alarm(float delay, float repeat_delay, function func)

    OBSOLETE
	int set_alarm(float delay, float repeat, string func, ...)
	int set_alarmv(float delay, float repeat, string func, mixed *argarr)

DESCRIPTION
	With set_alarm() you can delay the call of a function for some time.

ARGUMENTS
	delay  - the delay in seconds before the function is called.
	repeat - the delay in seconds to call the function again and again,
		 like a heartbeat. This should be used sparingly! Also heed
		 the warning below. By default, keep this to 0.0!
	func   - the function pointer to the function to call after the delay.
		 By default this is just the name of the routine, but you may
		 also pass arguments, i.e. &func(x) which is especially useful
		 for passing this_player(), for instance.
    OBSOLETE
	...    - the argument(s) passed to the function. If there are multiple
		 arguments, then they are passed to the function as array.
	argarr - when using set_alarmv, the array is passed to the function as
		 individual arguments.

RETURN VALUE
	The return value is the ID of the alarm. This ID can be used to
	identify the alarm with get_alarm() or remove_alarm().

NOTA BENE
	Neither this_interactive() nor this_player() is guaranteed in a
	function that has been called by set_alarm(). Even if it does return
	an objectpointer, you can never be sure that the value is the living
	you need. If you have a write() statement in the function that is
	called with set_alarm() the output will end up in the game log or be
	printed to the wrong player. Use tell_object() instead.

WARNING
	Never, ever, make a repeating alarm inside a repeating alarm. The
	alarms generated will be exponential, and in less than a minute the
	entire mud will grind to a halt.

SEE_ALSO
	remove_alarm, get_all_alarms, get_alarm.
