All pastes #618613 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-07-14 02:08 UTC
rendered paste body
on 1:load: { 
  if $version < 5.3 { echo 4 -a *** Your mIRC version is not compatible with this addon. Please download mIRC5.3 or higher. | unload -rs lagmeter.mrc | halt }
  setvar lag 0.200 | setvar bground $rgb(100,100,100) | setvar text $rgb(180,180,180) | setvar meter $rgb(128,0,0)  
  setvar meterxpos 0 | setvar meterypos 0
  setvar checkevery 3
  setvar maxmeter 10
  setvar addavg 0 
  setvar worst 0.001
  setvar best 100.000
  setvar totaltimeschecked 0
  lagmeter
  echo 2 -s *** Lagmeter1.0 by Bamargera loaded
  halt
}

alias lagstat {
  return $readini lag.ini lag $1
}
alias setvar {
  writeini lag.ini lag $1 $2-
}
alias checklag { 
  if $lagstat(meterstatus) == closed { halt }  
  if $lagstat(meterstatus) == open { 
    raw -q whatsmylag | setvar sentat $calc($ticks / 1000)
  }
  if $lagstat(date) < $remove($adate,$chr(47)) || $right($lagstat(date),2) < $right($adate,2) {
    setvar date $remove($adate,$chr(47))
    setvar addavg 0 
    setvar worst $lagstat(lag) 
    setvar best $lagstat(lag) 
    setvar totaltimeschecked 0
  }
}
raw 421:*: {
  if ($2 == whatsmylag) {  
    if $lagstat(meterstatus) == open {
      setvar lag $calc($ticks / 1000 -  $lagstat(sentat))
      setvar totaltimeschecked $calc($lagstat(totaltimeschecked) + 1) 
      updatelagmeter | .timer7 1 $lagstat(checkevery) checklag
    }
    halt  
  }
}
alias lagmeter {
  window -p +b @Lagmeter 0 0 200 40 @Lagmeter | window -p +b @Lagmeter 0 0 200 40 @Lagmeter
  if $server == $null {
    drawtext @lagmeter 0 "times new roman" 15 0 0 You must be connected to a server...
    drawtext @lagmeter 0 "times new roman" 15 65 18 for the Lagmeter to work 
    halt
  } 
  setvar meterstatus open | setvar expandstats Open | setvar colorpicker Open
  if $lagstat(recordworst) == $null { setvar recordworst $lagstat(lag) }
  if $lagstat(recordbest) == $null { setvar recordbest $lagstat(lag) }
  if $lagstat(date) == $null { setvar date $remove($adate,$chr(47)) }
  checklag
}
alias updatelagmeter {
  if $lagstat(meterstatus) == open { 
    if $exists(lag.ini) == $false { lagmeter }
    if $lagstat(maxmeter) == $null { setvar maxmeter 10 }
    drawrect -rf @lagmeter $lagstat(bground) 1 0 0 200 40
    if $calc($lagstat(lag) / ($lagstat(maxmeter) / 200)) > 200 {  drawrect -rf @lagmeter $lagstat(meter) 1 0 1 200 22 } | else { drawrect -rf @lagmeter $lagstat(meter) 1 0 1 $calc($lagstat(lag) / ($lagstat(maxmeter) / 200)) 22 } 
    drawtext -ro @lagmeter $lagstat(text) "ms sans serif" 25 75 0 $lagstat(lag)  
    setvar addavg $calc($round($lagstat(addavg),3) + $lagstat(lag)) 
    setvar average $calc($lagstat(addavg) / $lagstat(totaltimeschecked))
    if $lagstat(lag) <= 0 { echo 2 -a ** $ustime lag is $lagstat(lag) ! | halt }
    if $lagstat(lag) < $lagstat(best) { setvar best $lagstat(lag) }
    if $lagstat(best) < $gettok($lagstat(recordbest),1,32) { setvar recordbest $lagstat(best)    $chr(40) $+ $remove($adate,$right($adate,3)) - $ustime $+ $chr(41) } 
    if $lagstat(lag) > $lagstat(worst) { setvar worst $lagstat(lag) }
    if $lagstat(worst) > $gettok($lagstat(recordworst),1,32) { setvar recordworst $lagstat(worst)    $chr(40) $+ $remove($adate,$right($adate,3)) - $ustime $+ $chr(41) } 

    drawtext -r @lagmeter $lagstat(text) "times new roman" 14 1 24 Worst: $round($lagstat(worst),3)
    drawtext -r @lagmeter $lagstat(text) "times new roman" 14 76 24 Best: $round($lagstat(best),3)
    drawtext -r @lagmeter $lagstat(text) "times new roman" 14 137 24 AVG: $round($lagstat(average),3)

    if $lagstat(expandstats) == Close { 
      drawrect -fr @lagmeter $lagstat(bground) 1 0 40 200 80   
      drawline -r @lagmeter $lagstat(meter) 1 0 38 200 38
      drawtext -r @lagmeter $lagstat(text) "times new roman" 14 1 38 Times Checked:    $lagstat(totaltimeschecked)
      drawtext -r @lagmeter $lagstat(text) "times new roman" 14 1 50 Checking Every:    $lagstat(checkevery) secs
      drawtext -r @lagmeter $lagstat(text) "times new roman" 14 1 63 Checking For:   $duration($calc(($lagstat(totaltimeschecked) * $lagstat(checkevery)) + $lagstat(lag)))
      drawtext -r @lagmeter $lagstat(text) "times new roman" 14 1 76 Record Best:  $lagstat(recordbest)
      drawtext -r @lagmeter $lagstat(text) "times new roman" 14 1 89 Record Worst:  $lagstat(recordworst)
    }
  }
  else { return }
}
alias slidemeterdown {
  %lag.slide = 41 
  :down
  inc %lag.slide 2
  window -p +b @Lagmeter $lagstat(meterxpos) $lagstat(meterypos) 200 %lag.slide
  if %lag.slide == 105 { setvar expandstats Close | unset %lag.slide | halt }
  goto down
}
alias slidemeterright {
  %lag.slide = 200
  :right
  inc %lag.slide 2
  window -p +b @Lagmeter $lagstat(meterxpos) $lagstat(meterypos) %lag.slide 105
  if %lag.slide == 240 { 
    drawrect -fr @lagmeter 1 1 200 0 45 110
    drawpic -c @lagmeter 200 0 $mircdirsystem\palette.jpg 
    drawrect -rf @Lagmeter $lagstat(bground) 1 226 8 10 20
    drawrect -rf @Lagmeter $lagstat(text) 1 226 42 10 20   
    drawrect -rf @Lagmeter $lagstat(meter) 1 226 75 10 20
    unset %lag.slide  
    setvar colorpicker Close | setvar expandstats Close  
    halt
  }
  goto right
}
alias slidemeterleft {
  %lag.slide = 240
  :left
  dec %lag.slide 2
  window -p +b @Lagmeter $lagstat(meterxpos) $lagstat(meterypos) %lag.slide 105
  if %lag.slide == 200 { unset %lag.slide | setvar colorpicker Open | halt }
  goto left
}
alias slidemeterup {
  setvar expandstats Open | setvar colorpicker Open
  updatelagmeter   
  %lag.slide = 104 
  :up
  dec %lag.slide 2
  if %lag.slide == 40 { unset %lag.slide | halt }
  window -p +b @Lagmeter $lagstat(meterxpos) $lagstat(meterypos) 200 %lag.slide
  goto up
}

alias lagmeterhelp { 
  window -p +bft @Lagmeter_Help 250 0 475 425 @laghelp
  drawrect -rf @lagmeter_help 13169919 1 0 0 480 430 
  drawpic -c @lagmeter_help 102 50 $mircdirsystem\helppic.jpg
  drawtext -o @lagmeter_help 1 "times new roman" 16 150 10 Lag Time
  drawline -i @lagmeter_help 1 1 173 25 192 55
  drawtext -o @lagmeter_help 1 "times new roman" 16 8 47 Lag Meter
  drawline -i @lagmeter_help 1 1 70 58 106 63
  drawtext -o @lagmeter_help 1 "times new roman" 16 273 10 Color Picker
  drawline -i @lagmeter_help 1 1 309 24 316 71
  drawtext -o @lagmeter_help 1 "times new roman" 16 360 40 Background
  drawtext -o @lagmeter_help 1 "times new roman" 16 375 55 Color
  drawline -i @lagmeter_help 1 1 369 59 332 67
  drawtext -o @lagmeter_help 1 "times new roman" 16 365 85 Text Color
  drawline -i @lagmeter_help 1 1 363 93 333 102
  drawtext -o @lagmeter_help 1 "times new roman" 16 366 118 Lag Meter
  drawtext -o @lagmeter_help 1 "times new roman" 16 376 131 Color
  drawline -i @lagmeter_help 1 1 372 134 333 137
  drawtext -o @lagmeter_help 1 "times new roman" 16 10 107 Expanded
  drawtext -o @lagmeter_help 1 "times new roman" 16 17 120 Stats
  drawline -i @lagmeter_help 1 1 95 90 87 90
  drawline -i @lagmeter_help 1 1 87 90 87 152
  drawline -i @lagmeter_help 1 1 87 152 95 152
  drawline -i @lagmeter_help 1 1 87 121 70 121

  drawtext -o @lagmeter_help 1 "times new roman" 16 5 180 $chr(149) Lag Time: Your current lag time in seconds.
  drawtext -o @lagmeter_help 1 "times new roman" 16 5 195 $chr(149) Lag Meter: Meter grows or shortens depending on your lag time.
  drawtext -o @lagmeter_help 1 "times new roman" 16 5 210 $chr(149) Worst:     Best:    AVG:    daily lag stats (resets each day)
  drawtext -o @lagmeter_help 1 "times new roman" 16 5 225 $chr(149) Expanded Stats:
  drawtext -o @lagmeter_help 1 "times new roman" 16 15 240 -Times Checked: How many times your lag time has been checked.
  drawtext -o @lagmeter_help 1 "times new roman" 16 15 255 -Checking Every: How often your lag is checked.
  drawtext -o @lagmeter_help 1 "times new roman" 16 15 270 -Checking For: How long your Lagmeter has been running since last reset.
  drawtext -o @lagmeter_help 1 "times new roman" 16 25 285 note: the 3 above stats only reset after each day.
  drawtext -o @lagmeter_help 1 "times new roman" 16 15 300 -Record Best: Your best lag time ever (never resets)
  drawtext -o @lagmeter_help 1 "times new roman" 16 15 315 -Record Worst: Your worst lag time ever (never resets)
  drawtext -o @lagmeter_help 1 "times new roman" 16 5 330 $chr(149) Color Picker: Changes the background,text, or meter color.
  drawtext -o @lagmeter_help 1 "times new roman" 16 15 345 note: you must click in the Background Color, Text Color, or Lag Meter box
  drawtext -o @lagmeter_help 1 "times new roman" 16 45 360 first then click on the color palette to change each one.
  drawtext -o @lagmeter_help 1 "times new roman" 16 45 375 When Color Picker is opened it automatically opens the Expanded Stats.
}
menu @laghelp {
  close:window -c $active
}
alias ustime { 
  if ($gettok($time,1,58) >= 13) { return $calc($gettok($time,1,58) - 12) $+ : $+ $gettok($time,2,58) $+ p }
  else if ($gettok($time,1,58) == 12) { return $gettok($time,1-2,58) $+ p }
  else if ($gettok($time,1,58) == 0) { return $calc($gettok($time,1,58) + 12) $+ : $+ $gettok($time,2,58) $+ a }
  else { return $gettok($time,1-2,58) $+ a }
}
menu @Lagmeter {
  dclick { 
    if $lagstat(expandstats) == Open { slidemeterdown } 
    if $lagstat(expandstats) == Close { slidemeterup }
  }
  sclick { 
    if $inrect($mouse.x,$mouse.y,227,8,10,15) == $true {
      set %lag.backon clicked | unset %lag.texton %lag.meteron
      drawrect @Lagmeter 16 1 227 9 8 18 
      drawrect -r @Lagmeter $lagstat(text) 1 227 43 8 18 
      drawrect -r @Lagmeter $lagstat(meter) 1 227 76 8 18
    }
    if $inrect($mouse.x,$mouse.y,227,42,10,15) == $true {
      set %lag.texton clicked | unset %lag.backon %lag.meteron 
      drawrect @Lagmeter 16 1 227 43 8 18  
      drawrect -r @Lagmeter $lagstat(bground) 1 227 9 8 18 
      drawrect -r @Lagmeter $lagstat(meter) 1 227 76 8 18 
    }
    if $inrect($mouse.x,$mouse.y,227,75,10,15) == $true { 
      set %lag.meteron clicked | unset %lag.backon %lag.texton 
      drawrect @Lagmeter 16 1 227 76 8 18 
      drawrect -r @Lagmeter $lagstat(bground) 1 227 9 8 18 
      drawrect -r @Lagmeter $lagstat(text) 1 227 43 8 18
    }
    if $inrect($mouse.x,$mouse.y,200,0,25,105) == $true { 
      if %lag.backon == clicked {
        setvar bground $getdot($active,$mouse.x,$mouse.y) 
        drawrect -rf @lagmeter $lagstat(bground) 1 226 8 10 20 
        drawrect @Lagmeter 16 1 227 9 8 18 
      }
      if %lag.texton == clicked { 
        setvar text $getdot($active,$mouse.x,$mouse.y) 
        drawrect -rf @lagmeter $lagstat(text) 1 226 42 10 20 
        drawrect @Lagmeter 16 1 227 43 8 18 
      }
      if %lag.meteron == clicked { 
        setvar meter $getdot($active,$mouse.x,$mouse.y) 
        drawrect -rf @lagmeter $lagstat(meter) 1 226 75 10 20 
        drawrect @Lagmeter 16 1 227 76 8 18
      }
    }  
    set %lag.mousex $mouse.x | set %lag.mousey $mouse.y  
  }
  mouse {
    if $mouse.key & 1 { 
      set -u1 %lag.winposx $window($active).x | set -u1 %lag.winposy $window($active).y
      window $active $calc(%lag.winposx + $mouse.x - %lag.mousex) $calc(%lag.winposy + $mouse.y - %lag.mousey) $window($active).w $window($active).h
      setvar meterxpos $calc(%lag.winposx + $mouse.x - %lag.mousex)  | setvar meterypos $calc(%lag.winposy + $mouse.y - %lag.mousey)
    }
    else { unset %lag.mousex %lag.mousey }
  }
  &Options  
  .Checking Lag Every $lagstat(checkevery) secs:setvar checkevery $$?="Choose how many seconds between lag checking"
  .Max. Length of Meter Bar[ $+ $lagstat(maxmeter) $+ ]:setvar maxmeter $$?="maximum MeterLength before it fills window" 
  .-
  .Save Current Settings: {
    write -c favlagsettings.txt 
    writeini lag.ini favorite background $lagstat(bground)
    writeini lag.ini favorite text $lagstat(text)
    writeini lag.ini favorite meter $lagstat(meter)
    writeini lag.ini favorite checkevery $lagstat(checkevery)
    writeini lag.ini favorite maxmeter $lagstat(maxmeter)
  }
  .Load Favorite Settings: { 
    setvar bground $readini lag.ini background 
    setvar text $readini lag.ini text  
    setvar meter $readini lag.ini meter 
    setvar checkevery $readini lag.ini checkevery
    setvar maxmeter $readini lag.ini maxmeter
  }
  .-
  .Reset Stats: {
    setvar addavg 0 
    setvar worst $lagstat(lag) 
    setvar best $lagstat(lag) 
    setvar totaltimeschecked 0 
  }
  $lagstat(expandstats) &Expanded Stats:if $lagstat(expandstats) == Open { slidemeterdown } | if $lagstat(expandstats) == Close { slidemeterup }
  $lagstat(colorpicker) ColorPicker: {
    if $lagstat(colorpicker) == Open { 
      setvar colorpicker Close 
      if $lagstat(expandstats) == Open { setvar expandstats Close }
      slidemeterright    
    }
    if $lagstat(colorpicker) == Close {
      setvar colorpicker Open 
      slidemeterleft
    }
    if $lagstat(colorpicker) == $null { setvar colorpicker Open }
  } 
  -
  &Help:lagmeterhelp
  E&xit $chr(160) $chr(58) $+ $chr(40) : { 
    setvar meterstatus closed
    window -c @Lagmeter
  }
}
on 1:close:@: { if $target == @Lagmeter { setvar meterstatus closed | .timer7 off | checklag } }