alias lag {
if (%si.lag == 1) {
if ($status == connected) {
if ($dialog(si)) {
if (!$hget(lag)) { .hmake lag 1000 | if ($isfile(lag.hsh)) { .hload lag lag.hsh } }
if (!$1) { hadd lag ta $active | hadd lag ti $ticks | hadd lag se $server | $iif(!$hget(lag,$server),hadd lag $server 1 1) | .raw -q ping $server }
elseif ($1 == free) && ($hget(lag)) { hfree lag | .hsave -o lag lag.hsh }
}
}
}
else { halt }
}
on ^*:PONG:{
var %s = $hget(lag,se),%l = $round($calc(($ticks - $hget(lag,ti)) / 1000),3),%i = $hget(lag,%s)
if (%i == 1 1) { hadd lag %s %l %l }
elseif ($gettok(%i,1,32) > %l) { hadd lag %s %l $gettok(%i,2,32) }
elseif ($gettok(%i,2,32) < %l) { hadd lag %s $gettok(%i,1,32) %l }
did -ra si 15 %l
haltdef
}