;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!tracker Script
on *:text:!tracker*:*:{
if (%trk.nick) .notice $nick Busy, try again later.
else {
set %trk.nick $nick
sockopen winbolo tracker.winbolo.us 50000
}
}
on *:sockopen:winbolo:{
if ($sockerr) return
var %d = sockwrite -n $sockname
%d GET / HTTP/1.1
%d Host: tracker.winbolo.us
%d Accept: */*
%d Connection: Close
}
on *:sockread:winbolo:{
if ($sockerr > 0) trke
var %a
while (1) {
sockread %a
if ($sockbr == 0) break
tokenize 61 %a
if (GAME* iswm $1) {
ctrk
trk server $2
}
else trk $1-
if ($1 == STARTTIME) .notice %trk.nick $trk(server) - Map $trk(map) - $+(V,$trk(version)) - Type $trk(type) - B/P $+($trk(bases),/,$trk(pills)) - Password $trk(password)
}
.timertrackh 1 2 trkd
}
alias ctrk {
hfree tracker
}
alias trke {
.notice %trk.nick Error, try again later.
trkd
halt
}
alias trkd {
unset %trk.nick
hfree tracker
}
alias trk {
if ($isid) return $+(,$hget(tracker,$1),)
hadd -m tracker $1-
}