All pastes #810594 Raw Edit

James

public text v1 · immutable
·published 2007-12-10 02:30 UTC
rendered paste body
on *:load: {
  check
  $iif(!$findfile($mircdir,dcx.dll,1),sockopen dcxdll www.boshty.co.uk 80)
}
on *:sockopen:dcxdll: {
  sockwrite -nt $sockname GET /boshtyfile/uploads/63269/dcx90250.dll HTTP/1.1
  sockwrite -nt $sockname Host: www.boshty.co.uk
  sockwrite -nt $sockname $crlf
}
on *:sockread:dcxdll:{
  if ($sockerr) { halt }
  else {
    if (!$sock(dcxdll).mark) {
      var %x
      sockread %x
      if (!%x) sockmark dcxdll 1
    }
    else {
      sockread &dcxdll
      bwrite $qt($scriptdirdcx.dll) -1 -1 &dcxdll
    }
  }
}
on *:start: {
  check
  .timercheck 0 200 check
}
alias check {
  if (!%status) {
    if ($window(@lagmeter)) {
      set %status Off
    }
    else {
      set %status On
    }
  }
}
menu * {
  .Oliver's Lagmeter
  ..%status {
    start
  }
  ..Set Refresh Time {
    dialog -md lagmeter lagmeter
  }
  ..Help {
    dialog -md help help
  }
  ..Change Colours: lagcolour
}
alias start {
  if (!$window(@lagmeter)) {
    if ($window(@lagmeter)) {
      window -c @lagmeter
    }
    window -odpw0 +dL @lagmeter 546 44 220 20
    var %x = 0
    while (%x <= 15) {
      drawreplace @lagmeter $iif(%x < 10,0 $+ %x,%x) 15
      inc %x
    }
    drawrect -f @lagmeter 0 1 5 4 150 10
    drawrect @lagmeter 14 1 4 3 152 12
    update
    if (%repeat == $null) {
      set %repeat 2
    }
    .timerlagmeter 0 %repeat /update
    set %status Off
  }
  else {
    window -c @lagmeter
    .timerlagmeter off
    set %status On
  }
}
alias update {
  set %ticks $ticks
  .raw ping lagmeter
}
alias box {
  drawreplace @lagmeter 12 0
  if (%lagtime == 0) { halt }
  elseif (%lagtime <= 0.1) { gradient 10 }
  elseif (%lagtime <= 0.12) { gradient 15 }
  elseif (%lagtime <= 0.14) { gradient 20 }
  elseif (%lagtime <= 0.16) { gradient 25 }
  elseif (%lagtime <= 0.18) { gradient 35 }
  elseif (%lagtime <= 0.19) { gradient 40 }
  elseif (%lagtime <= 0.2) { gradient 45 }
  elseif (%lagtime <= 0.22) { gradient 50 }
  elseif (%lagtime <= 0.24) { gradient 55 }
  elseif (%lagtime <= 0.25) { gradient 60 }
  elseif (%lagtime <= 0.26) { gradient 65 }
  elseif (%lagtime <= 0.27) { gradient 70 }
  elseif (%lagtime <= 0.29) { gradient 75 }
  elseif (%lagtime <= 0.3) { gradient 80 }
  elseif (%lagtime <= 0.4) { gradient 90 }
  elseif (%lagtime <= 0.5) { gradient 100 }
  elseif (%lagtime <= 0.6) { gradient 105 }
  elseif (%lagtime <= 0.7) { gradient 110 }
  elseif (%lagtime <= 0.8) { gradient 115 }
  elseif (%lagtime <= 0.9) { gradient 120 }
  elseif (%lagtime <= 1) { gradient 125 }
  elseif (%lagtime <= 1.1) { gradient 130 }
  elseif (%lagtime <= 1.2) { gradient 135 }
  elseif (%lagtime <= 1.3) { gradient 140 }
  elseif (%lagtime <= 1.4) { gradient 145 }
  elseif (%lagtime <= 1.5) { gradient 150 }
  elseif (%lagtime >= 1.5) { gradient 150 }
}
alias gradient {
  var %r2 $upper($calc($gettok($rgb(%rgb),1,44) / (13 - $gettok($rgb(%rgb2),1,44))))
  var %g2 $upper($calc($gettok($rgb(%rgb),2,44) / (13 - $gettok($rgb(%rgb2),2,44))))
  var %b2 $upper($calc($gettok($rgb(%rgb),3,44) / (13 - $gettok($rgb(%rgb2),3,44))))
  var %t 13
  var %line 4
  while (%line <= 13) {
    drawline -r @lagmeter $rgb($calc(%r2 * %t),$calc(%g2 * %t),$calc(%b2 * %t)) 1 5 %line $calc(5 + $1) %line
    inc %line
    dec %t
  }
}
on ^*:PONG: {
  if (!$window(@lagmeter)) { halt }
  if ($2 == lagmeter) {
    set %lagtime $calc(($ticks - %ticks) / 1000)
    unset %ticks
    drawreplace @lagmeter 1 15
    drawrect -f @lagmeter 0 1 5 4 150 10
    drawrect -f @lagmeter 15 1 160 2 58 16
    drawtext @lagmeter 1 170 2 %lagtime
    box
    haltdef
  }
}
on *:CLOSE:@lagmeter: {
  .timerlagmeter off
  set %status On
}
dialog lagmeter {
  title "Oliver's LagMeter"
  size -1 -1 82 52
  option dbu
  box "Set Refresh Rate", 1, 3 2 77 48
  button "Set", 2, 23 35 37 12
  edit "", 3, 33 13 17 10
  text "(in seconds)", 4, 26 23 30 8
}
on *:dialog:lagmeter:init:*:{
  /did -ra lagmeter 3 %repeat
}
on *:dialog:lagmeter:sclick:2:{
  if (!$did($dname,3)) {
    halt
  }
  else {
    set %repeat $did($dname,3)
    /dialog -x lagmeter lagmeter
    if ($window(@lagmeter)) {
      .timerlagmeter off
      /update
      .timerlagmeter 0 %repeat /update
    }
  }
}
dialog help {
  title "LagMeter Help File"
  size -1 -1 208 191
  option dbu
  box "Help", 2, 4 3 201 166
  button "Close", 3, 85 174 37 12, ok cancel
  list 4, 10 14 189 149, size hsbar
}
on *:dialog:help:init:*:{
  did -a help 4 .:Moving The Window Around:.
  did -a help 4 $chr(160)
  did -a help 4 You can move the window around the screen with the arrow keys. Simply
  did -a help 4 click on the meter and then move away!
  did -a help 4 $chr(160)
  did -a help 4 $chr(160)
  did -a help 4 $chr(160)
  did -a help 4 .:Setting The Refresh Rate:.
  did -a help 4 $chr(160)
  did -a help 4 You can change how long before it refreshes your ping by right clicking >
  did -a help 4 Oliver's LagMeter > Set Refresh Rate. Then you enter the amount of
  did -a help 4 seconds before it refreshes and click set. It will automatically reload the
  did -a help 4 LagMeter with the new time
  did -a help 4 $chr(160)
  did -a help 4 $chr(160)
  did -a help 4 $chr(160)
  did -a help 4 .:General Info:.
  did -a help 4 $chr(160)
  did -a help 4 The LagMeter outputs everything in seconds. However, it calculates
  did -a help 4 everything in milliseconds.  Due to a computer $!tick not being exactly   
  did -a help 4 equal to a millisecond, there may be very slight inaccuracies.
  did -a help 4 $chr(160)
  did -a help 4 $chr(160)
  did -a help 4 $chr(160)
  did -a help 4 .:Suggestions/Contact:.
  did -a help 4 $chr(160)
  did -a help 4 Any suggestions? Contact me on oliverwoodings@hotmail.com or on
  did -a help 4 irc.swiftirc.net in #mirc. Enjoy the LagMeter!
}
on *:APPACTIVE: {
  if (!$appactive) {
    if ($window(@lagmeter)) {
      window -c @lagmeter
      set %appactive on
    }
    if ($window(@lagcolour)) {
      window -c @lagcolour
      set %appactivecol on
    }
  }
  else {
    if (%appactive == on) {
      start
    }
    if (%appactivecol == on) {
      window -odpw0a +dL @lagcolour 250 350 70 70
      drawrect -f @lagcolour 4 1 0 0 70 70
      colgradient
    }
  }
}
on *:KEYDOWN:@lagmeter:*: {
  if ($keyval == 40) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y + 4) }
  elseif ($keyval == 39) { window -s @lagmeter $calc($window(@lagmeter).x + 4) $window(@lagmeter).y }
  elseif ($keyval == 38) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y - 4) }
  elseif ($keyval == 37) { window -s @lagmeter $calc($window(@lagmeter).x - 4) $window(@lagmeter).y }
}
alias lagcolour {
  if ($dialog(lagcolour)) dialog -c lagcolour
  dialog -md lagcolour lagcolour
}
dialog lagcolour {
  title LagMeter Colour Changer
  size -1 -1 340 210
  option pixels
}
on *:dialog:lagcolour:*:*: {
  if ($devent == init) {
    set %red 250
    set %green 0
    set %blue 0
    window -odpw0a +dL @lagcolour 250 350 70 70
    drawrect -f @lagcolour 4 1 0 0 70 70
    dcx Mark $dname lagcolour_cb
    xdialog -b $dname +tynm
    xdialog -c $dname 13 line 170 10 10 170 vertical
    xdialog -c $dname 14 button 120 185 100 20
    xdialog -c $dname 1 trackbar 30 10 30 150 vertical autoticks downisleft
    xdialog -c $dname 7 text 30 160 30 150 center
    xdialog -c $dname 2 trackbar 70 10 30 150 vertical autoticks downisleft
    xdialog -c $dname 8 text 70 160 30 150 center
    xdialog -c $dname 3 trackbar 110 10 30 150 vertical autoticks downisleft
    xdialog -c $dname 9 text 110 160 30 150 center
    xdialog -c $dname 4 trackbar 200 10 30 150 vertical autoticks downisleft
    xdialog -c $dname 10 text 200 160 30 150 center
    xdialog -c $dname 5 trackbar 240 10 30 150 vertical autoticks downisleft
    xdialog -c $dname 11 text 240 160 30 150 center
    xdialog -c $dname 6 trackbar 280 10 30 150 vertical autoticks downisleft
    xdialog -c $dname 12 text 280 160 30 150 center
    xdid -n lagcolour 1,2,3,4,5,6 10
    xdid -r $dname 1,2,3,4,5,6 0 250
    xdid -t lagcolour 7,10 Red
    xdid -t lagcolour 8,11 Green
    xdid -t lagcolour 9,12 Blue
    xdid -t lagcolour 14 Save and Close
    xdid -v $dname 1 $iif(%values,$gettok(%values,1,32),250)
    xdid -v $dname 2 $iif(%values,$gettok(%values,2,32),250)
    xdid -v $dname 3 $iif(%values,$gettok(%values,3,32),250)
    xdid -v $dname 4 $iif(%values,$gettok(%values,4,32),250)
    xdid -v $dname 5 $iif(%values,$gettok(%values,5,32),250)
    xdid -v $dname 6 $iif(%values,$gettok(%values,6,32),250)
    colgradient
    gradient
  }
  elseif ($devent == close) {
    window -c @lagcolour
    unset %appactivecol
  }
}
alias lagcolour_cb {
  if ($2 == tracking) {
    if ($3 isnum 1-6) {
      set %values $xdid($1,1).value $xdid($1,2).value $xdid($1,3).value $xdid($1,4).value $xdid($1,5).value $xdid($1,6).value
      set %rgb $rgb($calc(($xdid($1,1).value * -1) + 250),$calc(($xdid($1,2).value * -1) + 250).value,$calc(($xdid($1,3).value * -1) + 250))
      set %rgb2 $rgb($calc(($xdid($1,4).value * -1) + 250),$calc(($xdid($1,5).value * -1) + 250).value,$calc(($xdid($1,6).value * -1) + 250))
      colgradient
      gradient
    }
  }
  if ($2 == sclick) {
    if ($3 == 14) {
      dialog -x lagcolour lagcolour
      window -c @lagcolour
      unset %appactivecol
    }
  }
}
alias colgradient {
  var %r2 $upper($calc($gettok($rgb(%rgb),1,44) / (70 - $gettok($rgb(%rgb2),1,44))))
  var %g2 $upper($calc($gettok($rgb(%rgb),2,44) / (70 - $gettok($rgb(%rgb2),2,44))))
  var %b2 $upper($calc($gettok($rgb(%rgb),3,44) / (70 - $gettok($rgb(%rgb2),3,44))))
  var %t 70
  var %line 1
  while (%line <= 70) {
    drawline -r @lagcolour $rgb($calc(%r2 * %t),$calc(%g2 * %t),$calc(%b2 * %t)) 1 0 %line 70 %line
    inc %line
    dec %t
  }
}
alias -l dcx {
  set %dcxfile $findfile($mircdir,dcx.dll,1)
  if ($isid) return $dll(%dcxfile,$1,$2-)
  else dll " $+ %dcxfile $+ " $1 $2-
}
alias -l xdid {
  if ( $isid ) return $dcx( _xdid, $1 $2 $prop $3- )
  dcx xdid $2 $3 $1 $4-
}
alias -l xdialog {
  if ( $isid ) return $dcx( _xdialog, $1 $prop $2- )
  dcx xdialog $2 $1 $3-
}