Current Bugs and Quick Fixes - Build 3515-C Updated 03/27/07

Known Issues, Bugs Reports, and Work Arounds

Moderators: L|B, cryoa, Riamus, XMog

Current Bugs and Quick Fixes - Build 3515-C Updated 03/27/07

Postby Riamus » Sun Mar 11, 2007 7:07 pm

THESE FIXES ARE FOR INVISION 3515-C
All line numbers are from 3515-C. If you don't have 3515-C, get it and THEN do these fixes.

How to do these fixes
1) Press Alt-R.
2) If "alias" is in the filename, then click the aliases tab. Otherwise, click the Remotes tab if you're not already there.
3) Go to the View menu and select the filename that the fix mentions.
4) Press Ctrl-G and enter the line number mentioned. If the code on that line doesn't match the code that is supposed to be changed, then press Ctrl-F and search for the original code mentioned in the fix.
5) Replace the code exactly as the fix tells you to do.
6) Press OK.
__________________________________________________________
Channel Scan displaying incorrectly when enabled
Status: Verified and solved

This was fixed in the B patch and somehow got missed when putting together the C patch. Oops. :)

Open igostop.mrc and go to line 125.

Replace:
Code: Select all
          .timer 1 $iif((%chanscandly isnum),%chanscandly,2) if $!remove($ial( $+ [ $nick ] $+ ).mark, [ $chan ] ) != $!null $chr(123) echo $color(info) [ $chan ] $!ts < $+ [ $nick ] $+ > is also in channels $!bracket($remove($ial( $+ [ $nick ] $+ ).mark, [ $chan ] )) $chr(125)


with:
Code: Select all
          .timer 1 $iif((%chanscandly isnum),%chanscandly,2) if $!remove($ial( $+ [ $nick ] $+ ).mark, [ $chan ] ) != $!null $chr(123) echo $color(info) [ $chan ] $!ts < $+ [ $nick ] $+ > is also in channels $!bracket($remtok($ial( $+ [ $nick ] $+ ).mark,$wildtok($ial( $+ [ $nick ] $+ ).mark,* $!+ $chan ,1,32),1,32)) $chr(125)

__________________________________________________________
Queueing multiple files won't work
Status: Verified and solved

This was caused by a fix to prevent someone from downloading ahead of others by queueing a file as soon as one finished. It messed up normal queueing, so that's fixed and the original problem is also fixed with this update. Sorry for the lack of testing on this one.

Open imisc.mrc and go to line 720-768.

Replace:
Code: Select all
    ; ******************* Smart Send Off *****************
    else {
      if ($r.set(DCCmgr,SecondQ) == On) {
        if (%SessionLevel [ $+ [ $nick ] ] >= $r.set(DCCmgr,SQlevel)) {
          if ($PQueue(0) < $r.set(Fserve,Max.Queues.Total)) {
            Pqueue.add Fserve $nick $iif($address($nick,5) != $null,$address($nick,5),$fserv($nick).ip) $ctime $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))

          }
          else {
            msg =$nick $c(1) $+ Sorry but the Maximum Allowed Queues of $r.set(Fserve,Max.Queues.Total) has been reached. Please try again later.
            halt
          }
        }
        else {
          if ($Queue(0) < $r.set(Fserve,Max.Queues.Total)) {
            queue.add Fserve $nick $iif($address($nick,5) != $null,$address($nick,5),$fserv($nick).ip) $ctime $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
          }
          else {
            msg =$nick $c(1) $+ $iif($antiget,$confusion(Sorry but the Maximum Allowed Queues of),Sorry but the Maximum Allowed Queues of) $r.set(Fserve,Max.Queues.Total) $iif($antiget,$confusion(has been reached. Please try again later.),has been reached. Please try again later.)
            halt
          }
        }
        else {
          if ($Queue(0) < $r.set(Fserve,Max.Queues.Total)) {
            queue.add Fserve $nick $iif($address($nick,5) != $null,$address($nick,5),$fserv($nick).ip) $ctime $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
          }
          else {
            msg =$nick $c(1) $+ $iif($antiget,$confusion(Sorry but the Maximum Allowed Queues of),Sorry but the Maximum Allowed Queues of) $r.set(Fserve,Max.Queues.Total) $iif($antiget,$confusion(has been reached. Please try again later.),has been reached. Please try again later.)
            halt
          }
        }
        if ($result isnum) { .timer 1 0 msg =$nick $c(1) $+ $iif($antiget,$confusion(That queue already exists in queue slot),That queue already exists in queue slot) $chr(35) $+ $result $+ , $iif($antiget,$confusion(try another file.),try another file.) | Halt }
        .timer 1 0 msg =$nick $iif($antiget,$confusion(The file has been queued in slot),The file has been queued in slot) $iif((%SessionLevel [ $+ [ $nick ] ] >= $r.set(DCCmgr,SQlevel) && ($r.set(DCCmgr,SecondQ) == On)),$Pqueue(0),$queue(0))
        if ($r.set(Fserve,Logging) == On) { FSlog Queued $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44)) $bracket($size($file($replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))).size)) for $address($nick,5) in slot $chr(35) $+ $queue(0) }
        .timer -o 1 0 DirRecord $nick $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
        Halt
      }
      else {
        if ($isend(0) < $r.set(Fserve,Max.Sends.Total) && $send.nick($nick) < $r.set(Fserve,Max.Sends.Each)) && (%NOSSend [ $+ [ $iNetwork ] ] != 1) {
          unset %nossend [ $+ [ $iNetwork ] ]
          .timer -o 1 0 idcc send -c $+ $iif($r.glob(DCCmgr,SendBW) != 0,l) $nick " $+ $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44)) $+ "
          .timer 1 0 msg =$nick $c(1) $+ Sending $+ $c(2) $nopath($replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))) $bracket($size($file($replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))).size)) $+ .
          .timer 1 0 DirRecord $nick $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
          Halt
        }
      }
    }
    halt
  }


with:
Code: Select all
    ; ******************* Smart Send Off *****************
    else {
      if ($isend(0) < $r.set(Fserve,Max.Sends.Total) && $send.nick($nick) < $r.set(Fserve,Max.Sends.Each)) && (%NOSSend [ $+ [ $iNetwork ] ] != 1) && $Queue(0) == 0 {
        unset %nossend [ $+ [ $iNetwork ] ]
        .timer -o 1 0 idcc send -c $+ $iif($r.glob(DCCmgr,SendBW) != 0,l) $nick " $+ $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44)) $+ "
        .timer 1 0 msg =$nick $c(1) $+ Sending $+ $c(2) $nopath($replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))) $bracket($size($file($replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))).size)) $+ .
        .timer 1 0 DirRecord $nick $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
        Halt
      }
      else {
        if ($r.set(DCCmgr,SecondQ) == On) {
          if (%SessionLevel [ $+ [ $nick ] ] >= $r.set(DCCmgr,SQlevel)) {
            if ($PQueue(0) < $r.set(Fserve,Max.Queues.Total)) {
              Pqueue.add Fserve $nick $iif($address($nick,5) != $null,$address($nick,5),$fserv($nick).ip) $ctime $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))

            }
            else {
              msg =$nick $c(1) $+ Sorry but the Maximum Allowed Queues of $r.set(Fserve,Max.Queues.Total) has been reached. Please try again later.
              halt
            }
          }
          else {
            if ($Queue(0) < $r.set(Fserve,Max.Queues.Total)) {
              queue.add Fserve $nick $iif($address($nick,5) != $null,$address($nick,5),$fserv($nick).ip) $ctime $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
            }
            else {
              msg =$nick $c(1) $+ $iif($antiget,$confusion(Sorry but the Maximum Allowed Queues of),Sorry but the Maximum Allowed Queues of) $r.set(Fserve,Max.Queues.Total) $iif($antiget,$confusion(has been reached. Please try again later.),has been reached. Please try again later.)
              halt
            }
          }
        }
        else {
          if ($Queue(0) < $r.set(Fserve,Max.Queues.Total)) {
            queue.add Fserve $nick $iif($address($nick,5) != $null,$address($nick,5),$fserv($nick).ip) $ctime $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
          }
          else {
            msg =$nick $c(1) $+ $iif($antiget,$confusion(Sorry but the Maximum Allowed Queues of),Sorry but the Maximum Allowed Queues of) $r.set(Fserve,Max.Queues.Total) $iif($antiget,$confusion(has been reached. Please try again later.),has been reached. Please try again later.)
            halt
          }
        }
        if ($result isnum) { .timer 1 0 msg =$nick $c(1) $+ $iif($antiget,$confusion(That queue already exists in queue slot),That queue already exists in queue slot) $chr(35) $+ $result $+ , $iif($antiget,$confusion(try another file.),try another file.) | Halt }
        .timer 1 0 msg =$nick $iif($antiget,$confusion(The file has been queued in slot),The file has been queued in slot) $iif((%SessionLevel [ $+ [ $nick ] ] >= $r.set(DCCmgr,SQlevel) && ($r.set(DCCmgr,SecondQ) == On)),$Pqueue(0),$queue(0))
        if ($r.set(Fserve,Logging) == On) { FSlog Queued $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44)) $bracket($size($file($replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))).size)) for $address($nick,5) in slot $chr(35) $+ $queue(0) }
        .timer -o 1 0 DirRecord $nick $replace(%fn,$chr(63),$chr(32),$chr(34),$chr(44))
        Halt
      }
    }
    halt
  }

__________________________________________________________
Queue Sends option (right click on a nick > DCC > Queue sends) doesn't queue large numbers of files at once
Status: Verified and solved

Open ipcustom.mrc and go to line 594.

Replace:
Code: Select all
  if $devent == sclick {
    if $did == 500 {
      if $did($dname,100).sel >= 1 {
        var %ct = 1
        var %tct = $did($dname,100,0).sel
        unset %SFDfiles [ $+ [ $iNetwork ] ]
        while (%ct <= %tct) {
          if $left($did($dname,100,$did($dname,100,%ct).sel).text,1) != $chr(60) && $left($did($dname,100,$did($dname,100,%ct).sel).text,1) != $chr(62) {
            if $len(%SFDfiles [ $+ [ $iNetwork ] ] ) <= 850 { set %SFDfiles [ $+ [ $iNetwork ] ] $addtok(%SFDfiles [ $+ [ $iNetwork ] ] ,$did($dname,100,$did($dname,100,%ct).sel).text,58) }
          }
          inc %ct 1 | continue
        }
        SFDdone
      }
    }
  }


with:
Code: Select all
  if $devent == sclick {
    if $did == 500 {
      if $did($dname,100).sel >= 1 {
        unset %SFDfiles [ $+ [ $iNetwork ] ] %DCCqnick [ $+ [ $iNetwork ] ] %SFDfunc [ $+ [ $iNetwork ] ]
        var %ct = 1
        var %tct = $did($dname,100,0).sel
        unset %SFDfiles [ $+ [ $iNetwork ] ]
        while (%ct <= %tct) {
          if $left($did($dname,100,$did($dname,100,%ct).sel).text,1) != $chr(60) && $left($did($dname,100,$did($dname,100,%ct).sel).text,1) != $chr(62) {
            if $len(%SFDfiles [ $+ [ $iNetwork ] ] ) <= 700 { set %SFDfiles [ $+ [ $iNetwork ] ] $addtok(%SFDfiles [ $+ [ $iNetwork ] ] ,$did($dname,100,$did($dname,100,%ct).sel).text,58) }
            else { SFDdone | unset %SFDfiles [ $+ [ $iNetwork ] ] | set %SFDfiles [ $+ [ $iNetwork ] ] $addtok(%SFDfiles [ $+ [ $iNetwork ] ] ,$did($dname,100,$did($dname,100,%ct).sel).text,58) }
          }
          inc %ct 1 | continue
        }
        SFDdone
      }
    }
  }


Also, open ialias5.mrc and go to line 1267.

Replace:
Code: Select all
    unset %SFDfiles [ $+ [ $iNetwork ] ] %DCCqnick [ $+ [ $iNetwork ] ] %SFDfunc [ $+ [ $iNetwork ] ]


with:
Code: Select all
    .timer 1 20 unset %SFDfiles [ $+ [ $iNetwork ] ] %DCCqnick [ $+ [ $iNetwork ] ] %SFDfunc [ $+ [ $iNetwork ] ]

__________________________________________________________
You can find me at #Invision on irc.irchighway.net or #OldGames on irc.undernet.org if you need me for anything.
User avatar
Riamus
Global Moderator
Global Moderator
 
Posts: 1783
Joined: Fri May 03, 2002 9:01 pm
Location: Massachusetts, USA

Return to Bugs and Fixes

Who is online

Users browsing this forum: Bing [Bot] and 4 guests

cron