All pastes #501174 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-21 22:19 UTC
rendered paste body
on *:start: {
  set %status On
}
menu * {
  .Oliver's Lagmeter  
  ..%status {
    if (!$window(@lagmeter)) {
      if ($window(@lagmeter)) {
        window -c @lagmeter
      }
      window -odp +dL @lagmeter 546 44 170 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 98 10
      drawrect @lagmeter 14 1 4 3 100 12 
      update
      if (%repeat == $null) {
        set %repeat 2
      }
      .timerlagmeter 0 %repeat /update
      set %status Off
    }
    else {
      window -c @lagmeter
      .timerlagmeter off
      set %status On
    }
  }
  ..Set Refresh Time {
    dialog -md lagmeter lagmeter
  }
}

alias update {
  set %ticks $ticks 
  .raw ping lagmeter
}
alias box {
  /drawreplace @lagmeter 12 0
  if (%lagtime <= 0.01) { 
    /drawrect -f @lagmeter 12 1 6 5 8 8 
  }
  elseif (%lagtime <= 0.03) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
  }
  elseif (%lagtime <= 0.05) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
  }
  elseif (%lagtime <= 0.06) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
  }
  elseif (%lagtime <= 0.07) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
  }
  elseif (%lagtime <= 0.08) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
  }
  elseif (%lagtime <= 0.12) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
  }
  elseif (%lagtime <= 0.25) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
    /drawrect -f @lagmeter 12 1 62 5 8 8 
  }
  elseif (%lagtime <= 0.4) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
    /drawrect -f @lagmeter 12 1 62 5 8 8 
    /drawrect -f @lagmeter 12 1 70 5 8 8 
  }
  elseif (%lagtime <= 0.7) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
    /drawrect -f @lagmeter 12 1 62 5 8 8 
    /drawrect -f @lagmeter 12 1 70 5 8 8 
    /drawrect -f @lagmeter 12 1 78 5 8 8 
  }
  elseif (%lagtime <= 1) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
    /drawrect -f @lagmeter 12 1 62 5 8 8 
    /drawrect -f @lagmeter 12 1 70 5 8 8 
    /drawrect -f @lagmeter 12 1 78 5 8 8 
    /drawrect -f @lagmeter 12 1 84 5 8 8 
  }
  elseif (%lagtime <= 1.4) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
    /drawrect -f @lagmeter 12 1 62 5 8 8 
    /drawrect -f @lagmeter 12 1 70 5 8 8 
    /drawrect -f @lagmeter 12 1 78 5 8 8 
    /drawrect -f @lagmeter 12 1 84 5 8 8 
    /drawrect -f @lagmeter 12 1 92 5 8 8 
  }
  elseif (%lagtime >= 1.4) {
    /drawrect -f @lagmeter 12 1 6 5 8 8 
    /drawrect -f @lagmeter 12 1 14 5 8 8 
    /drawrect -f @lagmeter 12 1 22 5 8 8 
    /drawrect -f @lagmeter 12 1 30 5 8 8 
    /drawrect -f @lagmeter 12 1 38 5 8 8 
    /drawrect -f @lagmeter 12 1 46 5 8 8 
    /drawrect -f @lagmeter 12 1 54 5 8 8 
    /drawrect -f @lagmeter 12 1 62 5 8 8 
    /drawrect -f @lagmeter 12 1 70 5 8 8 
    /drawrect -f @lagmeter 12 1 78 5 8 8 
    /drawrect -f @lagmeter 12 1 84 5 8 8 
    /drawrect -f @lagmeter 12 1 92 5 8 8 
  }
}
on ^*:PONG: {
  if ($2 == lagmeter) {
    set %lagtime $calc(($ticks - %ticks) / 1000)
    unset %ticks
    drawreplace @lagmeter 1 15
    drawtext @lagmeter 1 114 2 %lagtime
    box
    haltdef
  }
}
on *:CLOSE:@lagmeter: {
  .timerlagmeter off
}
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:sclick:2:{
  set %repeat $did($dname,3)
  /dialog -x lagmeter lagmeter
}
on *:APPACTIVE: {
  if ($window(@lagmeter)) {
    if (!$appactive) {
      window -n @lagmeter
    }
    else {
      window -r @lagmeter
    }
  }
}
on *:KEYDOWN:@lagmeter:*: {
  if ($keyval == 40) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y + 2) }
  elseif ($keyval == 39) { window -s @lagmeter $calc($window(@lagmeter).x + 2) $window(@lagmeter).y }
  elseif ($keyval == 38) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y - 2) }
  elseif ($keyval == 37) { window -s @lagmeter $calc($window(@lagmeter).x - 2) $window(@lagmeter).y }
}