on *:load: { check $iif(!$findfile($mircdir,dcx.dll,1),sockopen dcxdll www.boshty.co.uk 80) } on *:sockopen:dcxdll: { sockwrite -nt $sockname GET /boshtyfile/uploads/63269/dcx90250.dll HTTP/1.1 sockwrite -nt $sockname Host: www.boshty.co.uk sockwrite -nt $sockname $crlf } on *:sockread:dcxdll:{ if ($sockerr) { halt } else { if (!$sock(dcxdll).mark) { var %x sockread %x if (!%x) sockmark dcxdll 1 } else { sockread &dcxdll bwrite $qt($scriptdirdcx.dll) -1 -1 &dcxdll } } } 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 } ..Change Colours: lagcolour } alias start { if (!$window(@lagmeter)) { if ($window(@lagmeter)) { window -c @lagmeter } window -odpw0 +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) { gradient 10 } elseif (%lagtime <= 0.12) { gradient 15 } elseif (%lagtime <= 0.14) { gradient 20 } elseif (%lagtime <= 0.16) { gradient 25 } elseif (%lagtime <= 0.18) { gradient 35 } elseif (%lagtime <= 0.19) { gradient 40 } 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 %r2 $upper($calc($gettok($rgb(%rgb),1,44) / (13 - $gettok($rgb(%rgb2),1,44)))) var %g2 $upper($calc($gettok($rgb(%rgb),2,44) / (13 - $gettok($rgb(%rgb2),2,44)))) var %b2 $upper($calc($gettok($rgb(%rgb),3,44) / (13 - $gettok($rgb(%rgb2),3,44)))) var %t 13 var %line 4 while (%line <= 13) { drawline -r @lagmeter $rgb($calc(%r2 * %t),$calc(%g2 * %t),$calc(%b2 * %t)) 1 5 %line $calc(5 + $1) %line inc %line dec %t } } on ^*:PONG: { if (!$window(@lagmeter)) { halt } if ($2 == lagmeter) { set %lagtime $calc(($ticks - %ticks) / 1000) unset %ticks drawreplace @lagmeter 1 15 drawrect -f @lagmeter 0 1 5 4 150 10 drawrect -f @lagmeter 15 1 160 2 58 16 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 } if ($window(@lagcolour)) { window -c @lagcolour set %appactivecol on } } else { if (%appactive == on) { start } if (%appactivecol == on) { window -odpw0a +dL @lagcolour 250 350 70 70 drawrect -f @lagcolour 4 1 0 0 70 70 colgradient } } } on *:KEYDOWN:@lagmeter:*: { if ($keyval == 40) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y + 4) } elseif ($keyval == 39) { window -s @lagmeter $calc($window(@lagmeter).x + 4) $window(@lagmeter).y } elseif ($keyval == 38) { window -s @lagmeter $window(@lagmeter).x $calc($window(@lagmeter).y - 4) } elseif ($keyval == 37) { window -s @lagmeter $calc($window(@lagmeter).x - 4) $window(@lagmeter).y } } alias lagcolour { if ($dialog(lagcolour)) dialog -c lagcolour dialog -md lagcolour lagcolour } dialog lagcolour { title LagMeter Colour Changer size -1 -1 340 210 option pixels } on *:dialog:lagcolour:*:*: { if ($devent == init) { set %red 250 set %green 0 set %blue 0 window -odpw0a +dL @lagcolour 250 350 70 70 drawrect -f @lagcolour 4 1 0 0 70 70 dcx Mark $dname lagcolour_cb xdialog -b $dname +tynm xdialog -c $dname 13 line 170 10 10 170 vertical xdialog -c $dname 14 button 120 185 100 20 xdialog -c $dname 1 trackbar 30 10 30 150 vertical autoticks downisleft xdialog -c $dname 7 text 30 160 30 150 center xdialog -c $dname 2 trackbar 70 10 30 150 vertical autoticks downisleft xdialog -c $dname 8 text 70 160 30 150 center xdialog -c $dname 3 trackbar 110 10 30 150 vertical autoticks downisleft xdialog -c $dname 9 text 110 160 30 150 center xdialog -c $dname 4 trackbar 200 10 30 150 vertical autoticks downisleft xdialog -c $dname 10 text 200 160 30 150 center xdialog -c $dname 5 trackbar 240 10 30 150 vertical autoticks downisleft xdialog -c $dname 11 text 240 160 30 150 center xdialog -c $dname 6 trackbar 280 10 30 150 vertical autoticks downisleft xdialog -c $dname 12 text 280 160 30 150 center xdid -n lagcolour 1,2,3,4,5,6 10 xdid -r $dname 1,2,3,4,5,6 0 250 xdid -t lagcolour 7,10 Red xdid -t lagcolour 8,11 Green xdid -t lagcolour 9,12 Blue xdid -t lagcolour 14 Save and Close xdid -v $dname 1 $iif(%values,$gettok(%values,1,32),250) xdid -v $dname 2 $iif(%values,$gettok(%values,2,32),250) xdid -v $dname 3 $iif(%values,$gettok(%values,3,32),250) xdid -v $dname 4 $iif(%values,$gettok(%values,4,32),250) xdid -v $dname 5 $iif(%values,$gettok(%values,5,32),250) xdid -v $dname 6 $iif(%values,$gettok(%values,6,32),250) colgradient gradient } elseif ($devent == close) { window -c @lagcolour unset %appactivecol } } alias lagcolour_cb { if ($2 == tracking) { if ($3 isnum 1-6) { set %values $xdid($1,1).value $xdid($1,2).value $xdid($1,3).value $xdid($1,4).value $xdid($1,5).value $xdid($1,6).value set %rgb $rgb($calc(($xdid($1,1).value * -1) + 250),$calc(($xdid($1,2).value * -1) + 250).value,$calc(($xdid($1,3).value * -1) + 250)) set %rgb2 $rgb($calc(($xdid($1,4).value * -1) + 250),$calc(($xdid($1,5).value * -1) + 250).value,$calc(($xdid($1,6).value * -1) + 250)) colgradient gradient } } if ($2 == sclick) { if ($3 == 14) { dialog -x lagcolour lagcolour window -c @lagcolour unset %appactivecol } } } alias colgradient { var %r2 $upper($calc($gettok($rgb(%rgb),1,44) / (70 - $gettok($rgb(%rgb2),1,44)))) var %g2 $upper($calc($gettok($rgb(%rgb),2,44) / (70 - $gettok($rgb(%rgb2),2,44)))) var %b2 $upper($calc($gettok($rgb(%rgb),3,44) / (70 - $gettok($rgb(%rgb2),3,44)))) var %t 70 var %line 1 while (%line <= 70) { drawline -r @lagcolour $rgb($calc(%r2 * %t),$calc(%g2 * %t),$calc(%b2 * %t)) 1 0 %line 70 %line inc %line dec %t } } alias -l dcx { set %dcxfile $findfile($mircdir,dcx.dll,1) if ($isid) return $dll(%dcxfile,$1,$2-) else dll " $+ %dcxfile $+ " $1 $2- } alias -l xdid { if ( $isid ) return $dcx( _xdid, $1 $2 $prop $3- ) dcx xdid $2 $3 $1 $4- } alias -l xdialog { if ( $isid ) return $dcx( _xdialog, $1 $prop $2- ) dcx xdialog $2 $1 $3- }