on $*:text:/^[!@](cirpg|compidle)/Si:#: { if (!$2) || (!$3) { .notice $nick $c2(Syntax:) $c1(!cirpg NAME1 NAME2) halt } else { set %idle.way1 $iif($left($1,1) == @,.msg $chan,.notice $nick) set %idle.nick1 $2 set %idle.nick2 $3 sockopen IRPG1 pure.nullrouted.biz 80 sockopen IRPG2 pure.nullrouted.biz 80 } } on *:SOCKOPEN:IRPG1: { sockwrite -nt $sockname GET /~xnemesis/playerview.php?player= $+ %idle.nick1 sockwrite -nt $sockname Host: pure.nullrouted.biz sockwrite -nt $sockname $crlf $crlf } on *:SOCKREAD:IRPG1: { if ($sockerr) { echo -at ** Error ** in scoket: $sockerr | halt } else { var %sockreader sockread %sockreader if (*No such user.* iswm %sockreader) { set %idle.wrong1 1 | halt } if (*Level:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.lvl1 $nohtml($2) } if (*Class:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.class1 $nohtml($2-) } if (*Next level:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.nxtlvl1 $nohtml($remove($2-,level:)) } if (*sum:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.sum1 $nohtml($2-) } if (*Status:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.status1 $nohtml($2-) } if (*Alignment:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.align1 $nohtml($2-) } } } on *:SOCKOPEN:IRPG2: { sockwrite -nt $sockname GET /~xnemesis/playerview.php?player= $+ %idle.nick2 sockwrite -nt $sockname Host: pure.nullrouted.biz sockwrite -nt $sockname $crlf $crlf } on *:SOCKREAD:IRPG2: { if ($sockerr) { echo -at ** Error ** in scoket: $sockerr | halt } else { var %sockreader sockread %sockreader if (*No such user.* iswm %sockreader) { set %idle.wrong2 1 | halt } if (*Level:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.lvl2 $nohtml($2) } if (*Class:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.class2 $nohtml($2-) } if (*Next level:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.nxtlvl2 $nohtml($remove($2-,level:)) } if (*sum:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.sum2 $nohtml($2-) } if (*Status:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.status2 $nohtml($2-) } if (*Alignment:* iswm %sockreader) { tokenize 32 %sockreader | set %idle.align2 $nohtml($2-) } } } on *:SOCKCLOSE:IRPG2: { if (%idle.wrong1 == 1) || (%idle.wrong2 == 1) { %idle.way1 $c2(User) $c1($iif(%idle.nick1 == 1,%idle.nick1,%idle.nick2)) $c2(was not found.) | unset %idle.* | unset %idle.* | halt } else { %idle.way1 $c2(Idle comparison for) $c2($chr(40)) $+ $c1(%idle.nick1) $c2(the level) $c1(%idle.lvl1) $c1(%idle.class1) $c2($chr(40)) $+ $c1(%idle.status1) $+ $c2($chr(41)) $+ $c2($chr(41)) $c2(and) $c2($chr(40)) $+ $c1(%idle.nick2) $c2(the level) $c1(%idle.lvl2) $c1(%idle.class2) $c2($chr(40)) $+ $c1(%idle.status2) $+ $c2($chr(41)) $+ $c2($chr(41)) $+ $c2(:) %idle.way1 $c2($chr(40)) $+ $c1(%idle.nick1) $+ $c2($chr(41)) $+ $c2('s) $c2(alignment is) $c1(%idle.align1) $c2(and) $c2($chr(40)) $+ $c1(%idle.nick2) $+ $c2($chr(41)) $+ $c2('s) $c2(alignment is) $c1(%idle.align2) $+ $c2(.) %idle.way1 $c2($chr(40)) $+ $c1(%idle.nick1) $+ $c2($chr(41)) $c2(is) $c1($datediff(%idle.nxtlvl1,%idle.nxtlvl2,wdhns)) $c2($iif(%idle.nxtlvl1 < %idle.nxtlvl2,behind,ahead)) $c2($chr(40)) $+ $c1(%idle.nick2) $+ $c2($chr(41)) $+ $c2(.) %idle.way1 $c2($chr(40)) $+ $c1(%idle.nick1) $+ $c2($chr(41)) $c2(has) $c1($iif(%idle.sum1 < %idle.sum2, $calc(%idle.sum2 - %idle.sum1), $calc(%idle.sum1 - %idle.sum2))) $c2($iif(%idle.sum1 < %idle.sum2,less,more)) $c2(of an item sum than) $c2($chr(40)) $+ $c1(%idle.nick2) $+ $c2($chr(41)) $+ $c2(.) unset %idle.* } } alias datediff { var %t,%result,%n = $crlf , %com = dd $+ $ticks, %s = $iif($3,$qt($1),Date) , %e = $qt($iif($3,$2,$1)), %values = $($+($,$0),2), $& %error = $regex(%values,/[^yqmwadhns]/g), %values = $gettok($regsubex(%values,/([yqmwdhnsa])/g,$+(\t,$chr(44))),1-,44), $& %right = y,q,m,w,d,h,n,s, %values = $iif(a !isin %values,$gettok($remove(%right, [ $remove(%right, [ %values ] ) ] ),1-,44),%right) if ($istok(95 98,$os,32)) return E_OS if (%error) return E_FORMAT %t = Dim sd,ed,ret, $+ %values %n sd = %s %n ed = %e %n If isDate(sd) AND isDate(ed) Then %n tokenize 44 %values while ($0) { %t = %t $1 = DateDiff( $qt($replace($upper($1),y,YYYY)) ,sd,ed) %n if (e !isin $prop) %t = %t sd = DateAdd( $qt($replace($upper($1),y,YYYY,w,ww)) , $1 ,sd) %n tokenize 32 $2- } %t = %t ret = $replace(%values,$chr(44),$+($chr(32),&,,$chr(32)," ",,$chr(32),&,$chr(32))) %n Else ret = "E_DATE" %n End If .comopen %com MSScriptControl.ScriptControl if ($comerr) return E_COM noop $com(%com,language,4,bstr*,vbscript) if ($com(%com,executestatement,1,bstr*,%t)) && ($com(%com,eval,3,bstr*,ret )) %result = $com(%com).result else return = E_VB :error if ($com(%com)) .comclose %com $com(%com,reset,1) if ((E_* iswm %result) || (s isin $prop)) return %result else return $regsubex($replacex($regsubex(%result,/(\d+)/g,$+(\t,$gettok(%values,\n,44))),y,years,m,months,q,quarters,w,weeks,d,days,h,hours,n,minutes,s,seconds),/(?