Channel Central

By eNkIL on Apr 09, 2010

Channel Operator Central

::::::::::::::::::::::::::::
:::::: Coded By eNkIL ::::::
::::::::::::::::::::::::::::
::: Cambiale si sabes =) :::
::::::::::::::::::::::::::::
;Central de Operador
menu channel { 
  Central de Op:cenop
  -
}
dialog cenop {
  title ""
  size -1 -1 308 320
  option dbu
  ;Usuarios
  box "", 1, 1 0 81 318
  list 2, 4 10 75 313,extsel
  ;Info Canal
  box "", 3, 85 0 220 85
  text "Topic:", 4, 87 10 15 10
  edit "", 5, 102 9 175 10, autohs 
  button "", 6, 278 8 26 11
  check "", 7, 87 40 75 10
  check "", 8, 87 50 75 10
  check "", 9, 87 60 75 10
  check "", 10, 87 70 75 10
  check "", 11, 175 40 50 10
  check "", 12, 175 50 50 10
  check "" , 13, 175 60 65 9
  edit "", 14, 242 61 29 9,  center
  check "", 15, 175 70 50 10
  edit "", 16, 242 71 50 9, autohs
  ;Controles de Op
  box "", 17, 85 86 62 55
  button "+@", 18, 87 93 28 10
  button "-@", 19, 118 93 27 10
  button "+v", 20, 87 105 28 10
  button "-v", 21, 118 105 27 10
  button "Kick", 22, 87 117 28 10
  button "", 23, 118 117 27 10
  button "Ban", 24, 87 129 28 10
  button "", 25, 118 129 27 10
  ;Mensajes a Ops
  box "", 26, 150 86 155 55
  text "OMsg:", 27, 155 94 25 8
  edit "", 28, 152 106 120 9, autohs
  button "", 29, 275 106 29 9 
  Text "ONotice:", 30, 155 118 25 8
  edit "", 31, 152 130 120 9, autohs
  button "", 32, 275 130 29 9
  ;Info nick list
  box "", 33, 85 142 220 18
  text "Ops:", 34, 90 150 15 8
  edit "", 35, 105 150 15 8, disable center
  text "Voice:", 36, 148 150 15 8
  edit "", 37, 165 150 15 8, disable center
  text "Regular:", 38, 208 150 20 8
  edit "", 39, 230 150 15 8, disable center
  text "Total:", 40, 274 150 15 8
  edit "", 41, 289 150 15 8, disable center
  ;Lista de Ban
  box "", 42, 85 160 220 135
  list 43, 87 168 217 100,size extsel multsel check result
  button "", 44, 110 283 45 10
  button "", 45, 173 283 45 10
  button "", 46, 235 283 45 10, ok
  box "", 47, 85 290 220 28
  ;Actualizacion
  text "", 94, 87 270 35 8
  edit "", 95, 125 270 15 8, disable center
  button "", 96, 87 20 215 18,disable
  check "", 97, 242 40 61 10,
  check "English", 98, 277 300 28 10
  check "", 99, 87 300 28 10
}
;Raw
raw 367:*: halt
raw 368:*: halt
;Alias 
alias MDX { dll $shortfn($mircdir/scripts/dlls/ $+ MDX.dll) $$1- }
alias Views return $shortfn($mircdir/scripts/dlls/ $+ Views.mdx)
alias dialogMDX return $shortfn($mircdir/scripts/dlls/ $+ dialog.mdx)
alias -l ov { if ($nick($active,%i) isop $active) return $chr(64) | elseif ($nick($active,%i) isvo $active) return $chr(43) | else return $chr(160) }
alias -l rc2 { var %i = $len($1) | dec %i 1 | return $right($1,%i) }
alias -l cenops { .mode $active +b | did -o cenop 35 1 $nick($active,0,o) | did -o cenop 37 1 $nick($active,0,v,o) | did -o cenop 39 1 $nick($active,0,r) | did -o cenop 41 1 $nick($active,0) }
alias toprev1 { if ($1 == ref) { clear @toprev | echo @toprev $did(cenop,5).text } }
alias channel { if (%cenopd) { cenop } | else { channel | echo -a  -Dialogo de Central Normal.. | halt } }
alias cenop { if ($dialog(cenop) == $null) { %cbc = $chan | noop $dialog(cenop,cenop,-4) } | else { .echo -a -Dialogo de Central de Operador Ejecutandose.. } }
alias banlist { var %chan = $active, %i = 1 | while ($ibl(%chan, %i) != $null) { did -a cenop 43 $ibl(%chan ,%i) $chr(9) $ibl(%chan, %i).by $chr(9) $ibl(%chan, %i).date | inc %i } }  
alias totalbans { did -r cenop 95 | did -a cenop 95 $ibl($Active,N) }
alias -l cenopl {
  if (%cenopl) {
    dialog -t $dname Op Central - Channel: $active
    did -i $dname 43 1 HeaderText Host $chr(9) Set by $chr(9) Time & Hour  
    did -ra $dname 1 Users 
    did -ra $dname 3 Channel Info 
    did -ra $dname 6 Change 
    did -ra $dname 7 Only ops change Topic (+t) 
    did -ra $dname 8 No external messages (+n) 
    did -ra $dname 9 Invite only (+i) 
    did -ra $dname 10 Moderate (+m) 
    did -ra $dname 11 Private (+p)
    did -ra $dname 12 Secret (+s) 
    did -ra $dname 13 User Limit (+l)  
    did -ra $dname 15 Password (+k)
    did -ra $dname 17 Op Control
    did -ra $dname 23 K Reason
    did -ra $dname 25 B Reason
    did -ra $dname 26 Messages
    did -ra $dname 29 Send
    did -ra $dname 32 Send
    did -ra $dname 33 Users Info
    did -ra $dname 42 Banlist
    did -ra $dname 44 Remove
    did -ra $dname 45 Remove all
    did -ra $dname 46 Done
    did -ra $dname 94 Total Bans:
    did -ra $dname 97 Only Registered (+r)
    did -ra $dname 99 Activate
  }
  else {
    dialog -t $dname Central de Operador - Canal: $active 
    did -i $dname 43 1 HeaderText Host $chr(9) Puesto por $chr(9) Fecha y Hora
    did -ra $dname 1 Usuarios
    did -ra $dname 3 Informacion del canal
    did -ra $dname 6 Cambiar 
    did -ra $dname 7 Solo ops ponen Topic (+t) 
    did -ra $dname 8 No mensajes Externos (+n) 
    did -ra $dname 9 Solo invitacion (+i) 
    did -ra $dname 10 Moderado (+m) 
    did -ra $dname 11 Privado (+p)
    did -ra $dname 12 Secreto (+s) 
    did -ra $dname 13 Limite de usuarios (+l)  
    did -ra $dname 15 Contraseña (+k)
    did -ra $dname 17 Control de Op
    did -ra $dname 23 K Razon
    did -ra $dname 25 B Razon
    did -ra $dname 26 Mensajes
    did -ra $dname 29 Enviar
    did -ra $dname 32 Enviar
    did -ra $dname 33 Informacion de Usuarios
    did -ra $dname 42 Banlist
    did -ra $dname 44 Quitar
    did -ra $dname 45 Quitar todos
    did -ra $dname 46 Hecho
    did -ra $dname 94 Total de Bans:
    did -ra $dname 97 Solo Registrados (+r)
    did -ra $dname 99 Activar
  }
}
alias cenopi {
  if $dialog(cenop) {
    if $active ischan {
      did $iif($me isop $active,-e,-b) cenop 5-25,28,29,31,32,44,45,46,97
      did -u cenop 7-12,13,15
      did -r cenop 2,5,14,16,43
      if (%cenopl) did -c cenop 98
      if (%cenopd) did -c cenop 99
      if ($chan($active).topic != $null) did -a cenop 5 $chan($active).topic | if ($chan($active).topic != $null) echo @toprev $chan($active).topic
      var %m $gettok($chan($active).mode,1,32)
      if (%m) did -c cenop $replace($left($regsubex(tnimpsr,/(.)/g,$iif(\1 isincs %m,\1 $+ $chr(44))),-1),t,7,n,8,i,9,m,10,p,11,s,12,r,97)
      if l isincs %m { did -c cenop 13 | did -a cenop 14 $chan($active).limit }
      if k isincs %m { did -c cenop 15 | did -a cenop 16 $chan($active).key }
      set %i $nick(%cbc,0,a)
      :loop
      did -i cenop 2 1 $ov $+ $nick(%cbc,%i)
      if (%i <= 0) goto end
      else dec %i 1 | goto loop
      :end
      did -d cenop 2 1
      unset %i  
      .timerbanlist 1 1 banlist
      .timertotalb 1 1.5 totalbans
    }
    else dialog -x cenop
  }
}
alias -l limpia.bans {
  var %x $ibl($active,0)
  while %x {
    var %i %i $ibl($active,$v1)
    if $numtok(%i,32) == $modespl {
      mode $active $+(-,$str(b,$v2)) %i
      %i =
    }
    dec %x
  }
  if (%i) mode $active $+(-,$str(b,$numtok(%i,32))) %i
  did -r cenop 43
}
alias -l cenop.sel {
  return $gettok($did(cenop,$1,$did(cenop,$1).sel),6,32)
  halt
  if ($did(cenop,$1,0).sel > 1) {
    var %x = $did(cenop,$1,0).sel
    while (%x) { var %y = $addtok(%y,$did(cenop,$1,%x).sel,44) | dec %x }
    var %y = $replace(%y,$chr(36),$chr(44))
    echo -a %y
  }
}
;Eventos dialogo
on *:dialog:cenop:*:*:{ 
  if ($devent == init) { 
    if ($did = 0) { 
      MDX MarkDialog $dname
      MDX SetMircVersion $version
      MDX SetControlMDX $dname 43 ListView report grid rowselect headerdrag showsel > $Views
      MDX SetControlMDX $dname 96 window > $dialogmdx
      window -h @toprev tahoma 12
      did -a $dname 96 grab $window(@toprev).hwnd @toprev
      did -i $dname 43 1 setcolor bkg $color($color(background))
      did -i $dname 43 1 setcolor text $color($color(normal))
      did -i $dname 43 1 HeaderDims 135 190 105
      $cenopi | $cenopl | $cenops
    }
  }
  if ($devent == edit) { if ($did == 5) { toprev1 ref } }
  if ($devent == dclick) { if ($did == 2) { .query $rc2($did($dname,2).seltext) } }
  if ($devent == sclick) {
    ;Topic
    if ($did = 6) { if ($chan($active).topic != $did(5)) { topic $active $did(5) }
    }
    ;controles op
    if ($did = 18) {  
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }    
      else { if ($did(2).sel != $null) { mode %cbc +o $rc2($did(cenop,2).seltext) | .timercenopi 1 1 cenopi  } }
    }
    if ($did = 19) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }   
      else { if ($did(2).sel != $null) { mode %cbc -o $rc2($did(cenop,2).seltext) | .timercenopi 1 1 cenopi } }
    }
    if ($did = 20) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } } 
      else { if ($did(2).sel != $null) { mode %cbc +v $rc2($did(cenop,2).seltext) | .timercenopi 1 1 cenopi } }
    }
    if ($did = 21) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }     
      else { if ($did(2).sel != $null) { mode %cbc -v $rc2($did(cenop,2).seltext) | .timercenopi 1 1 cenopi } } 
    }
    if ($did = 22) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }    
      else { if ($did(2).sel != $null) { kick %cbc $rc2($did(cenop,2).seltext) Solo Porque Si... | did -r cenop 2 | .timercenopi 1 1 cenopi } }
    }
    if ($did = 23) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }     
      else { if ($did(2).sel != $null) { kick %cbc $rc2($did(cenop,2).seltext) $?="Razon?:" | did -r cenop 2 | .timercenopi 1 1 cenopi } }
    }
    if ($did = 24) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }    
      else {  if ($did(2).sel != $null) { ban %cbc $rc2($did(cenop,2).seltext) | kick $active $rc2($did(cenop,2).seltext) Solo Porque Si... | did -r cenop 2 |. timercenopi 1 1 cenopi } } 
    }
    if ($did = 25) { 
      if (!$did($dname,2).seltext) { if (%cenopl) { noop $input(You did not select a nick.,uwo,[AS2010] Error!) }
      else { noop $input(NO seleccionaste ningun nick!.,uwo,[AS2010] Error!) } }    
      else { if ($did(2).sel != $null) {  ban %cbc $rc2($did(cenop,2).seltext) | kick $active $rc2($did(cenop,2).seltext)  $?="Razon?:"  | did -r cenop 2 | .timercenopi 1 1 cenopi } }
    }
    ;Mensajes a Ops
    if ($did = 29) { 
      if (!$did($dname,28).text) { if (%cenopl) { noop $input(You did not write anything.,uwo,[AS2010] Error!) }
      else { noop $input(NO escribiste nada!.,uwo,[AS2010] Error!) } }    
      else { if ($did(28).text != $null) { omsg %cbc $did($dname,28).text | did -r $dname 28 } }
    }
    if ($did = 32) {  
      if (!$did($dname,31).text) { if (%cenopl) { noop $input(You did not write anything.,uwo,[AS2010] Error!) }
      else { noop $input(NO escribiste nada!.,uwo,[AS2010] Error!) } }   
      else { if ($did(2).sel != $null) { onotice %cbc $did($dname,31).text | did -r $dname 31 } }
    }
    ;Lista de ban
    if ($did = 44) && ($cenop.Sel(43)) { ban -r $active $cenop.Sel(43) | did -d $dname 43 $did($dname,43).sel } 
    if ($did = 45) && ($did($dname,43).lines > 1) { limpia.bans b }
    if ($did = 98) { set %cenopl $did($dname,98).state | cenopl }
    if ($did = 99) { set %cenopd $did($dname,99).state }
    ;boton cerrar
    if ($did = 46) {
      if ($active ischan) {
        if ($chan($active).topic != $did(5)) { topic $active $did(5) }
        if ($did(7).state == 1) { var %DC+Mode = t }
        else { var %DC-Mode = $+(%DC-Mode,t) }
        if ($did(8).state == 1) { var %DC+Mode = $+(%DC+Mode,n) }
        else { var %DC-Mode = $+(%DC-Mode,n) }
        if ($did(9).state == 1) { var %DC+Mode = $+(%DC+Mode,i) }
        else { var %DC-Mode = $+(%DC-Mode,i) }
        if ($did(10).state == 1) { var %DC+Mode = $+(%DC+Mode,m) }
        else { var %DC-Mode = $+(%DC-Mode,m) }
        if ($did(11).state == 1) { var %DC+Mode = $+(%DC+Mode,p) }
        else { var %DC-Mode = $+(%DC-Mode,p) }
        if ($did(12).state == 1) { var %DC+Mode = $+(%DC+Mode,s) }
        else { var %DC-Mode = $+(%DC-Mode,s) }
        if ($did(97).state == 1) { var %DC+Mode = $+(%DC+Mode,r) }
        else { var %DC-Mode = $+(%DC-Mode,r) }
        if ($did(15).state == 1) && ($did(16)) { mode $active +k $did(16) }
        elseif (k isincs $gettok($chan($active).mode,1,32)) && ($did(16)) { mode $active -k $did(16) | did -r $dname 16 }
        if ($did(13).state == 1) && ($did(14)) { mode $active +l $did(14) }
        elseif (l isincs $gettok($chan($active).mode,1,32)) && ($did(14)) { mode $active -l | did -r $dname 14 } 
        mode $active $+(+,%DC+Mode,-,%DC-Mode)
      }
      else { dialog -c $dname }
    }
  }
}

Comments

Sign in to comment.
eNkIL   -  Aug 19, 2014

xD

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.