rendered paste bodymenu * {
if (%status == $null) {
if ($window(@lagmeter)) { set status off }
else { set %status on }
}
.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 }
}