### ### vim:ts=8 ai si sw=4 sta sm: ### $Id: hms,v 1.4 1999/09/12 02:34:42 sec Exp sec $ ### calculates seconds -> days/hr/min/sec ### alias hms.help { echo *** function hms.do - returns time as 0d 10h 18m 59s echo *** reformats whois idletime output to use it } eval if (!match(%+hms% $script_info)){ assign script_info $script_info+hms };set client_info Sec$script_info alias HMS.do { if ([$1]==[-]){ eval @ hms.erg = $time() - $0 }{ ^assign hms.erg $0 } @hms.div = 60 hms.div @hms.sec = hms.rest hms.div @hms.min = hms.rest @hms.div = 24 hms.div @hms.hr = hms.rest @hms.day = hms.erg @hms.result = if ([$hms.day]!=[0]){ ^assign hms.result $hms.result ${hms.day}d } if ([$hms.hr]!=[0]){ ^assign hms.result $hms.result ${hms.hr}h } if ([$hms.min]!=[0]){ ^assign hms.result $hms.result ${hms.min}m } #if ([$hms.sec]!=[0]){ ^assign hms.result $hms.result ${hms.sec}s #} @function_return = hms.result } alias hms.DIV { @hms.rest = hms.erg @hms.erg = hms.rest / hms.div @hms.rest = hms.rest - hms.erg * hms.div } #Examples: on ^317 "*" { if (index(012345679 $3) != -1){ echo $n.o($H) $1 has been idle for$hms.do($2). Signon at $stime($3) }{ echo $n.o($H) $1 has been idle for$hms.do($2). } } #------------------------------------------------------------------------------# # The $n.o function might already be defined elsewhere. # You may then safely omit it here. #------------------------------------------------------------------------------# # We need a special function to handle numerics first. # $n.o(123) returns 123 if SHOW_NUMERICS on or *** otherwise. alias n.o { if (SHOW_NUMERICS == [ON]){ @ function_return = [$0] }{ @ function_return = [***] } }