; Please note that I, Kevin Dodge, am the sole owner of this script and reserve all rights to it. You may NOT redistribute this script, modified or not, without my explicit permission and clearly visible credit to me, the script creator.
; To use, simply load into mIRC via /load -rs scriptfile.mrc and see the syntax below
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; DEBUGGING SCRIPT for MewServ ;;
;; Version 0.5b ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Syntax: /debug.trace script.mrc:some text here ;;
;; /debug.error script.mrc:some text here ;;
;; /debug.info some text here ;;
;; Figure the rest out for yourself :P ;;
;; ;;
;; Also note that you might want to use: ;;
;; /debug.error $+($remove($script,$scriptdir),:,$error)
;; ...etc. You get the point. Have fun! ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:LOAD:{ diag Debugging script loaded successfully }
on *:START:{
if ($window(@debug)) {
diag -w Warning! A window with the name of "@debug" is already open! $+ $crlf $+ $crlf $+ I'm going to close it.
window -c @debug
}
debug.enable
}
on *:UNLOAD:{
unset %debug.enabled
.timerDebug off
window -c @debug
diag Successfully unloaded debugging script.
}
on *:EXIT:{
unset %debug.enabled
.timerDebug off
window -c @debug
diag Successfully unloaded debugging script.
}
alias createWnd {
window -Bek0l20x +dlt @debug /debug.info Consolas 12
aline -l 0 @debug 0,1Scripts Running1,1-----
echo 14 -tbf @debug $+(2,,$chr(91),Information,$chr(93),,) Loaded Debugging Script
echo @debug 0,0.
echo 14 -tbf @debug $+(2,,$chr(91),Information,$chr(93),,) Double-click a script in the right pane to unload it.
echo 14 -tbf @debug $+(2,,$chr(91),Information,$chr(93),,) Right-click and choose Close Window to deactivate me.
echo 14 -tbf @debug $+(2,,$chr(91),Information,$chr(93),,) To disable debugging, right-click and choose Disable Debugging.
if (!$timer(Debug)) { timerDebug 0 10 debug.scripts }
if ($window(@debug)) { return $true }
else { return $false }
}
alias focusWnd {
if (!$window(@debug)) { return $createWnd() }
else { window -g2 @debug | return $true }
}
alias debug.info {
if (%debug.enabled) {
if ($focusWnd()) { echo 14 -tbf @debug $+(2,,$chr(91),Information,$chr(93),,) $1- | return $true }
else { diag -e Could not write to the window. [@debug] | return $false }
}
}
alias debug.trace {
if (%debug.enabled) {
var %script = $gettok($1-,1,58), %text = $gettok($1-,2,58)
if ($focusWnd()) { echo 1 -tbf @debug $+(10,,$chr(91),Trace: ,%script,,$chr(93),,) %text | return $true }
else { diag -e Could not write to the window. [@debug] | return $false }
}
}
alias debug.error {
if (%debug.enabled) {
var %script = $gettok($1-,1,58), %text = $gettok($1-,2,58)
if ($focusWnd()) { echo 5 -tbf @debug $+(4,,$chr(91),Error: ,%script,,$chr(93),,) %text | return $true }
else { diag -e Could not write to the window. [@debug] | return $false }
}
}
alias debug.scripts {
if ($window(@debug)) {
var %i = 1, %lines = $line(@debug,0,1)
if (%lines > 1) { dline -l @debug 2- $+ %lines }
while (%i <= $script(0)) {
aline -l 1 @debug $replace($remove($script(%i),$mircdir),$chr(92),$chr(47))
inc %i
}
}
if (!$window(@debug)) {
inc %numDebug
if (%numDebug >= 50) { .timerDebug off }
}
}
alias debug.enable {
set %debug.enabled $true
.timerDebug 0 10 debug.scripts
debug.info 3Enabled debugging
rline -l @debug 1 0,1Scripts Running1,1-----
debug.scripts
}
alias debug.disable {
debug.info 4Disabled debugging
set %debug.enabled $false
.timerDebug off
dline -l @debug 2- $+ %lines
rline -l @debug 1 0,1Debugging Disabled1,1--
}
menu menubar {
-
Debugging
.$iif(%debug.enabled,$style(2)) Enable:debug.enable
.$iif(!%debug.enabled,$style(2)) Disable:debug.disable
.-
.$iif($window(@debug),$style(2)) Open window:return $focusWnd()
.$iif(!%debug.enabled,$style(2)) Write to window:debug.info $?="Text to say?"
.$iif(!%debug.enabled,$style(2)) Refresh scripts:debug.scripts
}
menu @debug {
dclick: {
var %script = $script($calc($$1 - 1))
.unload -rs %script
debug.info Unloaded script: $replace($remove(%script,$mircdir),$chr(92),$chr(47)) $+ .
debug.scripts
}
.$iif(%debug.enabled,$style(2)) Enable Debugging:debug.enable
.$iif(!%debug.enabled,$style(2)) Disable Debugging:debug.disable
-
Close Window:window -c $active
Clear Window:clear
-
Load a script:{
var %file = $?="Enter a script filename"
if (%file) { load $iif($?!="Is it a remote script?",-rs,-a) %file }
}
}
alias diag {
if ($1 == -w) { return $input($strip($2-),owd,Warning) }
elseif ($1 == -e) { return $input($strip($2-),ohd,Error) }
else { return $input($strip($1-),oid,Information) }
}