rendered paste bodyalias -l auth.autoretrieve {
return 1
}
alias auth {
if $isid && $status == connected {
if $1 == $null {
return
}
var %table = auth.cache. $+ $cid
if $hget(%table,$1) {
return $ifmatch
}
elseif *.users.gamesurge.net iswm $address($1,2) {
hadd -m %table $nick $gettok($remove($address($1,2),*!*@),1,46)
}
if $istok(95 98 ME,$os,32) {
var %type = s, %pause = 1, %count = 5
}
else {
var %type = ms, %pause = 200, %count = 3500
}
hadd -m %table $1 $false
inc %auth.who
!.quote WHO $1 n%nat,666
while %count > 0 {
if $hget(%table,$1) || $hget(%table,$1) == 0 {
break
}
dec %count %pause
pause %type %pause
}
if $hget(%table,$1) == :null: {
hdel -w %table $1
}
var %result = $hget(%table,$1)
if !$comchan($1,0) || %result == $false || %result == 0 {
hdel -w %table $1
}
!.timerauth.cleanup 1 3 auth.cleanup
return $iif(%result != 0,$ifmatch,$iif(%result == 0,$false,$null))
}
}
alias -l auth.timers {
var %index = 1, %count = 0
while %index <= $timer(0) {
if auth.* iswm $timer(%index) {
inc %count
}
inc %index
}
return %count
}
alias -l auth.checknet {
if *.quakenet.org !iswm $server {
halt
}
}
alias -l auth.cleanup {
var %table = auth.cache. $+ $cid
while $hfind(%table,0,1).data {
hdel -w %table $ifmatch
}
while $hfind(%table,$false,1).data {
hdel -w %table $ifmatch
}
while $hfind(%table,:null:,1).data {
hdel -w %table $ifmatch
}
}
alias -l auth.remove {
var %table = auth.cache. $+ $cid, %index = 1, %nick
while $hget(%table,%index).item {
%nick = $hget(%table,%index).item
if $comchan(%nick,0) == 1 && $comchan(%nick,1) == $chan {
hdel -w %table %nick
}
else {
inc %index
}
}
}
alias -l auth.get {
var %table = auth.cache. $+ $cid
if $auth.autoretrieve && !$hget(%table,$nick) {
if *.users.quakenet.org iswm $site {
hadd -m %table $nick $gettok($site,1,46)
}
else {
if !$hget(%table $+ .tmp,$nick) {
var %timers = $auth.timers, %delay = $calc((%timers + 1) * 1500)
!.timerauth. $+ %timers -m 1 %delay !.echo -q $!auth( $nick )
}
if $istok(action text,$event,32) {
hadd -mu600 %table $+ .tmp $nick $true
}
}
}
}
raw 354:* 666 * *:{
var %table = auth.cache. $+ $cid
hadd -m %table $3 $4
haltdef
}
raw 315:*:{
if %auth.who {
var %table = auth.cache. $+ $cid
if !$hget(%table,$2) && $hget(%table,$2) != 0 {
hadd -m %table $2 :null:
}
dec %auth.who
if !%auth.who {
unset %auth.who
}
haltdef
}
}
on !*:JOIN:#:{
auth.checknet
auth.get
}
on *:ACTION:*:#:{
auth.checknet
auth.get
}
on *:TEXT:*:#:{
auth.checknet
auth.get
}
on *:TOPIC:#:{
auth.checknet
auth.get
}
on *:RAWMODE:#:{
auth.checknet
auth.get
}
on *:NICK:{
auth.checknet
auth.get
var %table = auth.cache. $+ $cid
if $hget(%table,$nick) {
hdel -w %table $nick
hadd -m %table $newnick $ifmatch
}
}
on *:PART:#:{
auth.checknet
var %table = auth.cache. $+ $cid
if $hget(%table) {
if $nick == $me {
auth.remove
}
elseif $comchan($nick,0) == 1 {
hdel -w %table $nick
}
}
}
on *:QUIT:{
auth.checknet
var %table = auth.cache. $+ $cid
if $hget(%table) {
hdel -w %table $nick
}
}
on *:KICK:#:{
auth.checknet
auth.get
var %table = auth.cache. $+ $cid
if $hget(%table) {
if $knick == $me {
auth.remove
}
elseif $comchan($knick,0) == 1 {
hdel -w %table $knick
}
}
}
on *:DISCONNECT:{
auth.checknet
hfree -w auth.cache. $+ $cid
hfree -w auth.cache. $+ $cid $+ .tmp
}
; /pause by FiberOPtics - http://www.mircscripts.org/comments.php?cid=2924
; Note: I butchered the code to cut down the filesize.
alias pause {
var %wsh = wsh $+ $ticks, %cmd
if ($1 == s) %cmd = ping.exe -n $int($calc($2 + 1)) 127.0.0.1
else %cmd = pathping.exe -n -w 1 -q 1 -h 1 -p $iif($2 > 40,$calc($2 - 40),$2) 127.0.0.1
.comopen %wsh wscript.shell
.comclose %wsh $com(%wsh,run,1,bstr*,% $+ comspec% /c %cmd >nul,uint,0,bool,true)