Problem with alias - 17/01/06 12:05 AM
Hi,
I've added aliases to my nick tracker script, but I'm having problems with them. The alias called fixfile is supposed to scan each token of a line of nicks and times and remove the tokens that didn't get written with both nick and time, but it doesn't do that. I'll have to post the whole script so you can see what my variables are. Thanks for any help.
I've added aliases to my nick tracker script, but I'm having problems with them. The alias called fixfile is supposed to scan each token of a line of nicks and times and remove the tokens that didn't get written with both nick and time, but it doesn't do that. I'll have to post the whole script so you can see what my variables are. Thanks for any help.
Code:
on 1:JOIN:#: { set %addlength. [ $+ [ $nick ] ] $len($wildsite) set -u5 %owner.chan $chan set %join.address. [ $+ [ $nick ] ] $wildsite set %join.precompaddress. [ $+ [ $nick ] ] $read(C:\mirc\nicks.txt,w,$wildsite $+ *) set %oldaddress $readn set %join.compaddress. [ $+ [ $nick ] ] $left(%join.precompaddress. [ $+ [ $nick ] ],%addlength. [ $+ [ $nick ] ]) set %join.compnick. [ $+ [ $nick ] ] $read(C:\mirc\nicks.txt,w,$nick $+ *) set %oldnick $readn set %join.time. [ $+ [ $nick ] ] $mid($ctime,2,8) set %join.newnick $chr(44) $+ $nick %join.time set %join.bothnew $wildsite $+ $chr(44) $+ $nick %join.time. [ $+ [ $nick ] ] if (whatever1* iswm $nick) { if (%join.address. [ $+ [ $nick ] ] == %join.compaddress. [ $+ [ $nick ] ]) { echo 4 -s address match $nick $newecho($nick,%join.precompaddress. [ $+ [ $nick ] ]) } else { echo 4 -s No Match $nick } } elseif (whatever2* iswm $nick) { if (%join.address. [ $+ [ $nick ] ] == %join.compaddress. [ $+ [ $nick ] ]) { $newecho($nick,%join.precompaddress. [ $+ [ $nick ] ]) echo 4 -s address match $nick } else { echo 4 -s No Match $nick } } elseif (%join.address. [ $+ [ $nick ] ] == %join.compaddress. [ $+ [ $nick ] ]) { echo 4 -s address match $nick $newecho($nick,%join.precompaddress. [ $+ [ $nick ] ]) goto NickEval } else { write C:\mirc\nicks.txt %join.bothnew echo 4 -s $nick is a new entry } halt :NickEval if ($nick = %join.compnick. [ $+ [ $nick ] ]) { $newecho($nick,%join.precompaddress. [ $+ [ $nick ] ]) var %templine = $read(C:\mirc\nicks.txt,w,$wildsite $+ *) [color:red] [/color] ;I just changed passline to equal $wildsite [color:red] [/color] var %passline = $wildsite echo -a passline is %passline join.newnick is %join.newnick $fixfile(%passline,%join.newnick) } else { var %templine = $read(C:\mirc\nicks.txt,s,$wildsite $+ *) [color:red] [/color] var %passline = $wildsite $fixfile(%passline,%join.newnick) } } on 1:NICK: { set %addlength. [ $+ [ $newnick ] ] $len($wildsite) set %nick.address. [ $+ [ $newnick ] ] $wildsite set %nick.precompaddress. [ $+ [ $newnick ] ] $read(C:\mirc\nicks.txt,w,$wildsite $+ *) set %oldaddress $readn set %nick.compaddress. [ $+ [ $newnick ] ] $left(%nick.precompaddress. [ $+ [ $newnick ] ],%addlength. [ $+ [ $newnick ] ]) set %nick.compnewnick $read(C:\mirc\nicks.txt,w,$newnick $+ *) set %oldnick $readn set %nick.newnick $newnick %nick.nicktime set %nick.nicktime $mid($ctime,2,8) set %nick.bothnew $wildsite $+ $chr(44) $+ $newnick %nick.nicktime set %nick.newnicktime $newnick %nick.nicktime if ($newnick == $me) { echo } elseif ($newnick == %nick.compnewnick) { echo -s nick match $newecho($newnick,%nick.precompaddress. [ $+ [ $newnick ] ]) } elseif (%nick.address. [ $+ [ $newnick ] ] == %nick.compaddress. [ $+ [ $newnick ] ]) { echo -s address match var %templine = $read(C:\mirc\nicks.txt,w,$wildsite $+ *) [color:red] [/color] var %passline = $wildsite $fixfile(%passline,%nick.newnicktime) $newecho($newnick,%nick.precompaddress. [ $+ [ $newnick ] ]) } else { write C:\mirc\nicks.txt %nick.bothnew echo 4 -s $newnick is a new entry } } on 1:QUIT: { unset % $+ *. $+ $nick } on 1:PART: { unset % $+ *. $+ $nick if (% $+ *. $+ $newnick) { unset % $+ *. $+ $newnick } } alias newecho { var %list = $2 var %line, %i = 2, %m = $numtok(%list,44) while (%i <= %m) { var %name = 3 $gettok($gettok(%list,%i,44),1,32) var %numdate = $gettok($gettok(%list,%i,44),2,32) var %newnumdate = 1 $+ %numdate $+ 0 var %newdate = 2 $asctime(%newnumdate, ddd mmm d yyyy h:nn TT) var %line = %line $+ %name 2 %newdate $+ $chr(44) inc %i } var %line = $gettok(4 $1 was %line,1-,44) echo -a %line } alias fixfile { var %entry = $1 var %newstuff = $2 var %linenum = $read(C:\mirc\nicks.txt,w,%entry $+ *) var %toknum = $numtok(%linenum,44) var %N = 1 var %preline while (%N <= %toknum) { if (%N = 1) { var %firsttok = $gettok(%linenum,%N,44) } elseif ($right($gettok(%linenum,%N,44),8) isnum) { var %goodtok = $gettok(%linenum,%N,44) $+ $chr(44) } else { unset %goodtok var %badtok = %badtok + 1 } var %preline = %preline $+ %goodtok inc %N } var %newline = %firsttok $+ $chr(44) $+ %preline echo -s line written write -al %entry C:\mirc\nicks.txt %newline %newstuff if (%badtok > 1) { echo -s %badtok tokens fixed } else { echo -s 0 tokens fixed } }