this seems to work proper for me from your previous posted code besides the stacking part :

Code

ON ^*:RAWMODE:#:{
  echo -t $chan  12,08 $theme2011($pn2011($nick,$chan)) 1,15 Sets Mode on  5,15 $chan 1,15 to: 12,15  $strip($1-,bcru)  
  var %takepara $remove($gettok($chanmodes,1-3,44),$chr(44)),%i 1,%j 2,%set +
  while ($mid($1,%i,1)) {
    var %t $v1
    if (%t == +) %set = +
    elseif (%t == -) %set = -
    elseif (%t isincs $nickmode) inc %j
    elseif (%t isincs %takepara) {
      if (%t isincs beIq) {
        var %banmask $eval($chr(36) $+ %j,2)
        if (~quiet:?* iswm %banmask) %banmask = $mid(%banmask,8)   
        elseif (~?:?* iswm %banmask) %banmask = $mid(%banmask,4)
        elseif (?:?* iswm %banmask) %banmask = $mid(%banmask,3)
        if ($ialchan(%banmask,$chan,0)) {
          var %n $v1,%m %n,%user user,%is is,%word $replacexcs(%set $+ %t,+b,Banned,-b,UNBanned,+I,Invited,-I,UNInvited,+e,Exempted,-e,UNExempted,+q,MuteBanned,-q,UN-MuteBanned)
          if (%m > 1) {
            %user = users
            %is = are
          }
          while (%n) var %bl %bl $ialchan(%banmask,$chan,%n).nick,%n %n - 1
          var %k 1
          while ($gettok(%bl,%k,32)) {
            if ($query($v1)) echo -t $v1 08,14  ( $+ %m %user $+ ) %is %word 04,00 $regsubex(%bl,/(\S+)/g,( $+ \n $+ ) \t) 
            inc %k
          }
          echo -t $chan 08,14  ( $+ %m %user $+ ) %is %word 04,00 $regsubex(%bl,/(\S+)/g,( $+ \n $+ ) \t) 
          unset %bl
        }
      }
      inc %j
    }
    inc %i
  }
  haltdef
}



Last edited by Simo; 16/09/22 07:24 PM.