Edit: code:
Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;!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-
}

Use $trk(item) to get a value, for example: limit, starttime, etc.

Last edited by Kardafol; 09/03/07 09:38 PM.

Those who can, cannot. Those who cannot, can.