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 }
}