on *:load: { /check } 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 } } alias start { if (!$window(@lagmeter)) { if ($window(@lagmeter)) { window -c @lagmeter } window -odp +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) { gradien 10 } 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 %t = 1 var %r = 25 while (%t <= 10) { drawline -f @lagmeter $rgb($calc(255 - %r),0,0) 1 5 %t $calc(5 + $1) %t inc %t 1 inc %r 25 } } alias box2 { /drawrect -f @lagmeter 12 1 4 4 %laglength 10 } on ^*:PONG: { if (!$window(@lagmeter)) { halt } if ($2 == lagmeter) { set %lagtime $calc(($ticks - %ticks) / 1000) unset %ticks drawreplace @lagmeter 1 15 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 } } else { if (%appactive == on) { start } } } 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 } }