Mini mirc en socket pour votre clone .......

4/5 (11 avis)

Snippet vu 8 272 fois - Téléchargée 27 fois

Contenu du snippet

c comme un pteti mirc pour votre clone ya des fentre de pv des salon on peu whoiser envoyer des notices et si vous ete op vous pouvez oper deoper kicker et meme bannir avec votre clone .. le code est assez long et complexe mais c vraiment tres sympatique

Source / Exemple :


;important cet addon n'est structurer ke pour les serveur de wanadoo .. pour les serveur generaux on vera ça plus tard
;.............................................................
;alias
;.............................................................

alias -l tnsr { 
  window -ekl15 @clone 
  aline -l @clone  %pseudo
  aline -ph @clone Serveur  %serveur port  %port
  echo @clone List Des Commandes
  echo @clone !quit pour deconecter 
  echo @clone !join salon pour joindre un salon 
  echo @clone !part salon pour partir dun salon
  echo @clone !ouvre serveur port pour ouvrir une connection
  echo @clone !dit ou !notice pour un msg ou une notice a qqun ou un salon
  echo @clone !dit personne texte !notice personne texte
  .timer 1 1 aline -ph @clone Connection en cour
  .timer 1 2 sockopen samisha %serveur %port 
  .timer 1 3 titlebar @clone MiniMirc De Kerrigan Nick> %pseudo Serveur> %serveur [[Port]> %port
}

alias -l statut {
  set %active $active
  if ( + isin $1 ) {
    return $gettok($1,1,43) 
  }
  if ( @ isin $1 ) {
    return $gettok($1,1,64) 
  }
  else { return $1 }
}

alias seti { 
  dialog -m gene gene
  set %c.sock.c 0
}

;.............................................................
;dialog
;.............................................................

dialog gene {
  title "CloneGenerator - Configuration"
  size -1 -1 200 300
  button "O.K",3,2 270 198 25,flat,default,ok
  icon $mircdirimages\archon.ico
  text "Nick Du Clone",2,5 20 170 20
  edit "",1,5 35 190 20,autohs
  text "Server Du Clone",4,5 70 170 20
  edit "",5,5 85 190 20,autohs
  text "Port Du Clone",6,5 120 170 20
  edit "",7,5 135 190 20,autohs
  text "User Host Du Clone",8,5 170 170 20
  edit "",9,5 185 190 20,autohs
  text "Full Name Du Clone",10,5 220 170 20
  edit "",11,5 235 190 20,autohs
}
on *:dialog:gene:init:0:{
  did -a gene 1 %pseudo
  did -a gene 5 %serveur
  did -a gene 7 %port
  did -a gene 9 %user
  did -a gene 11 %info
}
on *:dialog:gene:sclick:3:{
  set %pseudo $did(1)
  set %serveur $did(5)
  set %port $did(7)
  set %user $did(9)
  set %info $replace($did(11),$chr(32),$chr(160))
  tnsr
}

;.............................................................
;evenements
;.............................................................

on 1:sockopen:samisha: {
  enable #menu.sock
  enable #input.sock
  window -k @CloneStatus 0 71 500 200 
  unset %v.sock
  sockwrite -n $sockname user %user %user %user %info
  sockwrite -n $sockname nick %pseudo
  aline -ph @CloneStatus Connection etablie
}

on 1:sockclose:Samisha: {
  .timer 1 1 aline -ph @clone  %pseudo Sera Deconnecter Dans 3 Secondes
  .timer 1 3 aline -ph @clone  %pseudo Est Deconnecter
  .timer 1 4 window -c @clone
  .timer 1 5 window -c @CloneStatus
  .disable #menu.sock
  .disable #input.sock
}

on 1:sockread:samisha:{
  ;evenement op deop voice devoice text(querry,salon) mode quit part join notice 
  if ($sockerr > 0) { return }
  :loop | sockread %l.sock
  if ($sockbr == 0) { return } 
  if ($gettok(%l.sock,1,32) == ping ) {
    sockwrite -n $sockname PONG $gettok(%l.sock,2-,32) 
    echo @CloneStatus Ping? Pong!
  }
  set %g.l.sock $replace(%l.sock,$chr(58),$chr(32))
  if ( $gettok(%l.sock,2,32) = privmsg ) {
    if ( $left($gettok(%l.sock,3,32),1) = $chr(35) ) { 
      set %salon @ $+ $gettok(%l.sock,3,32)
      if ( $gettok(%g.l.sock,1,33)  !isin %v.sock  ) { 
        aline -l @clone $gettok(%g.l.sock,1,33)
        set %v.sock %v.sock $gettok(%g.l.sock,1,33)
      }  
      if ( $window(%salon) = $null ) {    
        window -ekl15 %salon -1 -1 500 300
      }
      echo %salon < $+ $gettok(%g.l.sock,1,33) $+ > $gettok(%l.sock,4-,32)
    }
    if ($left( $gettok(%l.sock,3,32),1) != $chr(35)  ) { 
      if ( $gettok(%g.l.sock,1,33)  !isin %v.sock  ) {
        aline -l @clone $gettok(%g.l.sock,1,33) 
        set %v.sock %v.sock $gettok(%g.l.sock,1,33)
      }     
      set %pers.msg $gettok($gettok(%g.l.sock,1,33),1,32)
      set %fen @ $+ %pers.msg       
      if ( $window(%fen) = $null ) { 
        window -ek @ $+ %pers.msg  -1 -1 300 200
        titlebar %fen ( $+ $gettok($address(%pers.msg,1),2,42) $+ ) 
      }
      echo @ $+ %pers.msg < $+ $gettok(%g.l.sock,1,33) $+ > $gettok(%l.sock,4-,32)
    }
  }
  if ( $gettok(%l.sock,2,32) = notice ) {
    if ( $gettok(%g.l.sock,1,33)  !isin %v.sock  ) { aline -l @clone $gettok(%g.l.sock,1,33) | set %v.sock %v.sock $gettok(%g.l.sock,1,33) }     
    echo @clone [notice] $gettok(%g.l.sock,1,33) $gettok(%l.sock,4-,32) 
  }
  if ( $gettok(%l.sock,2,32) = nick ) {
    echo @clone [Nick] $gettok(%g.l.sock,1,33) devien $gettok($gettok(%l.sock,3,32),1,58) 
    if ( $gettok($gettok(%l.sock,3,32),1,58) !isin %v.sock  ) {  
      set %v.sock %v.sock $gettok($gettok(%l.sock,3,32),1,58)  
      set %nick $gettok($gettok(%g.l.sock,1,33),1,32)
      set %f.nick @ $+ $gettok($gettok(%g.l.sock,1,33),1,32)
      set %n $fline(@clone,%nick,1,1)
      if ( %n != $null ) { rline -l @clone %n $gettok($gettok(%l.sock,3,32),1,58) }
      if ( %n = $null ) { aline -l @clone $gettok($gettok(%l.sock,3,32),1,58) }
    }
    else { 
      set %nick $gettok($gettok(%g.l.sock,1,33),1,32) 
      set %n $fline(@clone,%nick,1,1)
      rline -l @clone %n $gettok($gettok(%l.sock,3,32),1,58) 
      set %v.sock %v.sock $gettok($gettok(%l.sock,3,32),1,58)
    }
    if ( $window(%f.nick) != $null ) {
      echo %f.nick %nick a changer de pseudo pour devenir $gettok($gettok(%l.sock,3,32),1,58)
      echo %f.nick fermeture de la fentere ouverture dune nouvelle dans une seconde
      window -c %f.nick
      window -ek @ $+ $gettok($gettok(%l.sock,3,32),1,58) -1 -1 300 200
    }
  }
  if ( $gettok(%l.sock,2,32) = quit ) {
    echo @clone [Quit] $gettok(%g.l.sock,1,33) quitte l'Irc  $+ $gettok(%l.sock,3-,32) $+ 
    set %search $gettok(%g.l.sock,1,33)
    set %pos $findtok(%v.sock,%search,1,32)
    set %v.sock $deltok(%v.sock,%pos,32) 
    set %nick $gettok($gettok(%g.l.sock,1,33),1,32) 
    set %n $fline(@clone,%nick,1,1)
    if ( %n != $null) { dline -l @clone %n }
  }
  if ( $gettok(%l.sock,2,32) = join ) { 
    if ( $gettok(%g.l.sock,1,33)  !isin %v.sock  ) { aline -l @clone $gettok(%g.l.sock,1,33) | set %v.sock %v.sock $gettok(%g.l.sock,1,33) }
    echo @clone [Join] $gettok(%g.l.sock,1,33) rejoin $gettok(%l.sock,3-,32)
    set %fen @ $+ $gettok($gettok(%l.sock,3,32),1,58)
    if ( $window(%fen) != $null ) { 
      echo %fen $gettok(%g.l.sock,1,33) rejoin %fen
      aline -l %fen $gettok(%g.l.sock,1,33) 
      inc %nbr- [ $+ [ $gettok($gettok(%l.sock,3,32),1,58) ] ]
      titlebar %fen [[ $+ %nbr- [ $+ [ $gettok($gettok(%l.sock,3,32),1,58) ] ]  $+ ]] %topic- [ $+ [ $gettok($gettok(%l.sock,3,32),1,58) ] ]
    }
  }
  if ( $gettok(%l.sock,2,32) = mode ) { 
    if ( $gettok(%g.l.sock,1,33)  !isin %v.sock  ) { aline -l @clone $gettok(%g.l.sock,1,33) | set %v.sock %v.sock $gettok(%g.l.sock,1,33) }
    echo @clone [mode] $gettok(%g.l.sock,1,33) met le mode $gettok(%l.sock,3-,32) 
    set %fen @ $+ $gettok(%l.sock,3,32)
    if ( $window(%fen) != $null ) { 
      echo %fen $gettok(%g.l.sock,1,33) met le mode $gettok(%l.sock,4-,32)  
      if ( $gettok(%l.sock,4,32) = +o ) {
        set %nick $gettok(%l.sock,5,32)
        set %n $fline(%fen,%nick,1,1)
        if ( %n = $null ) {
          set %nick + $+ $gettok(%l.sock,5,32)
          set %n $fline(%fen,%nick,1,1)
        }
        rline -l %fen %n @ $+ $gettok(%l.sock,5,32)
      }
      if ( $gettok(%l.sock,4,32) = -o ) {
        set %nick @ $+ $gettok(%l.sock,5,32)
        set %n $fline(%fen,%nick,1,1)
        rline -l %fen %n $gettok(%l.sock,5,32)
      }
      if ( $gettok(%l.sock,4,32) = +v ) {
        set %nick $gettok(%l.sock,5,32)
        set %n $fline(%fen,%nick,1,1)
        if ( %n = $null ) { 
          set %nick @ $+ %nick 
          set %n $fline(%fen,%nick,1,1) 
        }
        else {  rline -l %fen %n + $+ %nick }
      }
      if ( $gettok(%l.sock,4,32) = -v ) {
        set %nick @ $+ $gettok(%l.sock,5,32)
        set %n $fline(%fen,%nick,1,1)
        if ( %n = $null ) { 
          set %nick + $+ $gettok(%l.sock,5,32)
          set %n $fline(%fen,%nick,1,1) 
          rline -l %fen %n $gettok(%l.sock,5,32)
        }
        else { rline -l %fen %n %nick }
      }
    }
  }
  if ( $gettok(%l.sock,2,32) = part ) { 
    if ( $gettok(%g.l.sock,1,33)  !isin %v.sock  ) { aline -l @clone $gettok(%g.l.sock,1,33) | set %v.sock %v.sock $gettok(%g.l.sock,1,33) }
    echo @clone [part] $gettok(%g.l.sock,1,33) est parti de $gettok(%l.sock,3,32)
    set %fen @ $+ $gettok($gettok(%l.sock,3,32),1,58) 
    if ( $gettok(%g.l.sock,1,33) = %pseudo ) {
      set %search $gettok(%l.sock,3,32)
      set %pos $findtok(%c.sock,%search,1,32)
      set %c.sock $deltok(%c.sock,%pos,32) 
    }
    if ( $window(%fen) != $null ) { 
      set %nick $gettok($gettok(%g.l.sock,1,33),1,32)
      set %onick @ $+ $gettok($gettok(%g.l.sock,1,33),1,32)
      set %vnick + $+ $gettok($gettok(%g.l.sock,1,33),1,32)
      set %n1 $fline(%fen,%nick,1,1)
      set %n2 $fline(%fen,%onick,1,1)
      set %n3 $fline(%fen,%vnick,1,1)
      if ( %n1 != $null ) {
        dline -l %fen %n1 
        echo %fen %nick est parti du salon 
      }
      if ( %n2 != $null ) {
        dline -l %fen %n2 
        echo %fen %onick est parti du salon
      }
      if ( %n3 != $null ) {
        dline -l %fen %n3 
        echo %fen %vnick est parti du salon 
      }
      dec %nbr- [ $+ [ $gettok(%l.sock,3,32) ] ]
      titlebar %fen [[ $+  %nbr- [ $+ [ $gettok(%l.sock,3,32) ] ]  $+ ]] %topic- [ $+ [ $gettok(%l.sock,3,32) ] ]
    }
  }
  if ( ping isin %l.sock ) { halt }
  if ( irc.voila.fr isin %l.sock ) {
    ;raw 353 332 311 318 319 441 401 312
    ;$gettok(%l.sock,4-,32)
    echo @CloneStatus Motd  $gettok(%l.sock,4-,32)
    if ( $gettok(%l.sock,2,32) = 353 ) { 
      if ( $gettok(%l.sock,5,32) !isin %c.sock ) { 
        set %c.sock %c.sock $gettok(%l.sock,5,32)
        inc %c.sock.c
        set %salon- $+ %c.sock.c $gettok(%l.sock,5,32)
      }
      set %salon @ $+ $gettok(%l.sock,5,32)
      set %itr $gettok(%l.sock,0,32)
      set %nbr- $+ $gettok(%l.sock,5,32) $calc( %itr - 5 )
      if ( $window(%salon) = $null ) { window -ekl15 %salon -1 -1 500 300 }
      while ( 7 <= %itr ) {
        aline -l %salon $gettok(%l.sock,%itr,32)
        dec %itr
      }
      if ( %nbr- [ $+ [ $gettok(%l.sock,5,32) ] ] = 1 ) { aline -l %salon @ $+ %pseudo }
      if ( %nbr- [ $+ [ $gettok(%l.sock,5,32) ] ] != 1 ) { aline -l %salon %pseudo }
      titlebar %salon [[ $+ %nbr- [ $+ [ $gettok(%l.sock,5,32) ] ] $+ ]] %topic- [ $+ [ $gettok(%l.sock,5,32) ] ]
      halt
    }
    if ( $gettok(%l.sock,2,32) = 332 ) { 
      set %salon @ $+ $gettok(%l.sock,4,32)
      if ( $window(%salon) = $null ) {    
        window -ekl15 %salon -1 -1 500 300
      }
      set %topic- $+ $gettok(%l.sock,4,32) $gettok(%l.sock,5-,32)
    } 
    if ( $gettok(%l.sock,2,32) = 401 ) { 
      set %fen @ $+ $gettok(%l.sock,4,32)
      set %search $gettok(%g.l.sock,4,32)
      set %pos $findtok(%v.sock,%search,1,32)
      set %v.sock $deltok(%v.sock,%pos,32) 
      set %nick $gettok(%g.l.sock,4,32) 
      set %n $fline(@clone,%nick,1,1)
      if ( %n != $null) { dline -l @clone %n }
      if ( $window(%feni) != $null ) {
        echo %fen $gettok(%l.sock,4,32) nest pas sur l'irc
        echo %fen fermeture de la fenetre dans 4 secondes
        .timer 1 4 window -c %fen
      }
      halt
    }
    if ( $gettok(%l.sock,2,32) = 441 ) { 
      set %fen @ $+ $gettok(%l.sock,5,32)
      echo @CloneStatus $gettok(%l.sock,4,32) nest pas sur $gettok(%l.sock,5,32)
      if ( $window(%feni) != $null ) {
        echo %fen $gettok(%l.sock,4,32) nest pas sur $gettok(%l.sock,5,32)
      }
      halt
    }
    if ( $gettok(%l.sock,2,32) = 311 ) {
      set %wnick @ $+ $gettok(%l.sock,4,32)
      echo @Clone $gettok(%l.sock,4,32) : $gettok(%l.sock,5,32) $+ @ $+ $gettok(%l.sock,6,32)
      echo @Clone info $gettok(%l.sock,8-,32)
      if ( $window(%wnick) != $null ) { 
        echo %wnick  $gettok(%l.sock,4,32) : $gettok(%l.sock,5,32) $+ @ $+ $gettok(%l.sock,6,32)
        echo %wnick Info $gettok(%l.sock,8-,32)
      }
    }
    if ( $gettok(%l.sock,2,32) = 319 ) { 
      echo @Clone Salon $gettok($gettok(%l.sock,5-,32),1,58)
      if ( $window(%wnick) != $null ) { 
        echo %wnick Salon $gettok($gettok(%l.sock,5-,32),1,58)
      }
    }
    if ( $gettok(%l.sock,2,32) = 312  ) {
      echo @Clone Serveur $gettok(%l.sock,5,32)
      if ( $window(%wnick) != $null ) { 
        echo %wnick Serveur $gettok(%l.sock,5,32)
      }
    }
    if ( $gettok(%l.sock,2,32) = 317  ) {
      echo @Clone Idle $gettok(%l.sock,5,32) secondes
      if ( $window(%wnick) != $null ) { 
        echo %wnick Idle $gettok(%l.sock,5,32) secondes
      }
    }
    if ( $gettok(%l.sock,2,32) = 318 ) {
      echo @Clone Whois terminer
      if ( $window(%wnick) != $null ) { 
        echo %wnick Whois terminer
      }
    }
    if ( error isin %l.sock ) { echo @CloneStatus Erreur  %l.sock | halt }
    goto loop
  }
}

;.............................................................
;groupes , input , menus
;.............................................................

#input.sock off
on *:input:@clone: {
  if ( $1 ==  !quit ) {
    unset %c.sock.c %salon-*
    set %quit $replace($2-,$chr(32),$chr(160))
    sockwrite -n samisha quit %quit
    halt 
  } 
  if ( $1 ==  !join  ) {
    sockwrite -n samisha join $2 
    if ( $2 !isin %v.sock ) {  aline -l @clone $2 | set %v.sock %v.sock $2 }
    halt 
  }
  if ( $1 ==  !dit  ) {
    set %dit $replace($3-,$chr(32),$chr(44))
    sockwrite -n samisha privmsg $2 %dit
    halt
  } 
  if ( $1 ==  !notice ) {  
    set %notice $replace($3-,$chr(32),$chr(160))
    sockwrite -n samisha notice $2 %notice
    halt 
  }  
  if ( $1 ==  !ouvre  ) {
    sockclose samisha
    window -c @clone
    seti
    halt 
  } 
  if ( $1 ==  !part  ) { 
    sockwrite -n samisha Part $2 
    timer 1 2 window -c @ $+ $2
    var %itr = %c.sock.c
    while ( %itr => 0 ) {
      if ( %salon [ $+ [ %itr ] ] = $2 ) {
        unset %salon [ $+ [ %itr ] ] 
        dec %itr
      } 
    }
    dec %c.sock.c
    halt 
  } 
  if ( $1 == !nick ) { 
    sockwrite -n samisha nick $2
    set %pseudo $2
    titlebar @clone SuperClone De Kerrigan Nick> %pseudo Serveur> %serveur [[Port]> %port
    halt
  }
  if ( $sline(@clone,1) != $null ) && ( $left($1,1) != / ) { 
    set %dit $replace($1-,$chr(32),$chr(160))
    sockwrite -n samisha privmsg $sline(@clone,1) %dit
    aline -ph @clone $sline(@clone,1) %dit
    echo @ $+ $sline(@clone,1) < %pseudo > %dit
  }
}

on *:input:@*: { 
  if ( $window = @clone ) { halt }
  else {
    if ( $1 ==  !quit ) {
      unset %c.sock.c %salon*
      set %quit $replace($2-,$chr(32),$chr(160))
      sockwrite -n samisha quit %quit
      halt 
    } 
    if ( $1 ==  !join  ) {
      sockwrite -n samisha join $2 
      if ( $2 !isin %v.sock ) { aline -l @clone $2 | set %v.sock %v.sock $2 }
      halt 
    }
    if ( $1 ==  !dit  ) {
      set %dit $replace($3-,$chr(32),$chr(44))
      sockwrite -n samisha privmsg $2 %dit
      halt
    } 
    if ( $1 ==  !notice ) {  
      set %notice $replace($3-,$chr(32),$chr(160))
      sockwrite -n samisha notice $2 %notice
      halt 
    }  
    if ( $1 ==  !ouvre  ) {
      sockclose samisha
      window -c @clone
      seti
      halt 
    } 
    if ( $1 ==  !part  ) { 
      sockwrite -n samisha Part $2 
      timer 1 2 window -c @ $+ $2
      var %itr = %c.sock.c
      while ( %itr => 0 ) {
        if ( %salon [ $+ [ %itr ] ] = $2 ) {
          unset %salon [ $+ [ %itr ] ] 
          dec %itr
        } 
      }
      dec %c.sock.c
      halt 
    } 
    if ( $1 == !nick ) { 
      sockwrite -n samisha nick $2
      set %pseudo $2
      titlebar @clone SuperClone De Kerrigan Nick> %pseudo Serveur> %serveur [[Port]> %port
      halt
    }
    if ( $left($1,1) != /  ) {
      set %dit $+ $replace($1-,$chr(32),$chr(160))
      sockwrite -n samisha privmsg $replace($active,$chr(64),$chr(32)) %dit
      echo $active «  %pseudo  »    $1-
    }
  }
}
#input.sock end

#menu.sock off
menu @* {
  $iif( $mid( $active,2,1) = $chr(35) , Mode $active ) 
  .oper $sline($active,1) :/ sockwrite -n samisha mode $gettok($active,1,64) +o $statut($sline($active,1))
  .deoper $sline($active,1)  :/ sockwrite -n samisha mode $gettok($active,1,64) -o $statut($sline($active,1))
  .voicer $sline($active,1)  :/ sockwrite -n samisha mode $gettok($active,1,64) +v $statut($sline($active,1))
  .devoicer $sline($active,1)  :/ sockwrite -n samisha mode $gettok($active,1,64) -v $statut($sline($active,1))
  .bannir $sline($active,1)  :/ sockwrite -n samisha mode $gettok($active,1,64) +b $statut($sline($active,1))
  .kicker $sline($active,1)  :/ sockwrite -n samisha kick $gettok($active,1,64) $statut($sline($active,1)) Kerrigan
  .kickban $sline($active,1)  : {
    sockwrite -n samisha mode $gettok($active,1,64) +b $statut($sline($active,1)) 
    sockwrite -n samisha kick $gettok($active,1,64) $statut($sline($active,1))
  }
  .invite $sline($active,1)  :/ sockwrite -n samisha invite $gettok($active,1,64) $$?="qui?"
  .mode $active
  ..+i : / sockwrite -n samisha mode $gettok($active,1,64) +i
  ..-i  : / sockwrite -n samisha mode $gettok($active,1,64) -i
  ..+n  : / sockwrite -n samisha mode $gettok($active,1,64) +n 
  ..-n  : / sockwrite -n samisha mode $gettok($active,1,64)  -n
  ..+m  : / sockwrite -n samisha mode $gettok($active,1,64) +m
  ..-m  : / sockwrite -n samisha mode $gettok($active,1,64) -m
  ..+s  : / sockwrite -n samisha mode $gettok($active,1,64) +s
  ..-s  : / sockwrite -n samisha mode $gettok($active,1,64)  -p
  ..+t : / sockwrite -n samisha mode $gettok($active,1,64) +t
  ..-t : / sockwrite -n samisha mode $gettok($active,1,64) -t
  $iif( $mid( $active,2,1) != $chr(35) , Mode privé )
  .whois $active : {
    sockwrite -n samisha whois $gettok($active,1,64)
  }
  .fermer $active :/ window -c $active
  .ignorer ( pas pres )
  .join d'un chan : {
    set %chan $$?="entre le salon"
    sockwrite -n samisha join %chan
    aline @clone  %pseudo a rejoin le salon  %chan
    aline -l @clone %chan
  }
  .envoi d'un notice :{ 
    set %msg $$? = " texte "
    set %msg.notice $replace(%msg,$chr(32),$chr(160))
    sockwrite -n samisha notice $gettok($active,1,64) %msg.notice
  }
  .ouverture dun port : {
    sockclose samisha
    seti
  }
  .quit du clone %pseudo : {
    set %quitt $$?=" message de quit "
    set %quit $replace(%quitt,$chr(32),$chr(160))
    sockwrite -n samisha quit %quit
  }
}

menu @* { 
  dclick {
    set %active $active
    if ( + isin $sline(%active,1) ) {
      window -ek @ $+ $gettok($sline(%active,1),1,43) -1 -1 300 200
      if ( $address($gettok($sline(%active,1),1,43),1) = $null ) {  
        titlebar @ $+ $gettok($sline(%active,1),1,43) ( non connecter )
        echo @ $+ $gettok($sline(%active,1),1,43) certains pseudos ne sont pas recconnues et sont considerés comme non connectés
      }
      else { titlebar @ $+ $gettok($sline(%active,1),1,43)  ( $+ $gettok($address($gettok($sline(%active,1),1,43),1),2,42) $+ )
      }
    }
    if ( @ isin $sline(%active,1) ) {
      window -ek $sline(%active,1) -1 -1 300 200
      if ( $address($gettok($sline(%active,1),1,64),1) = $null ) {  
        titlebar $sline(%active,1) ( non connecter )
        echo $sline(%active,1) certains pseudos ne sont pas recconnues et sont considerés comme non connectés
      }
      else { titlebar $sline(%active,1) ( $+ $gettok($address($gettok($sline(%active,1),1,64),1),2,42) $+ ) }
    }
    elseif ( + !isin $sline(%active,1) ) && ( @ !isin $sline(%active,1) ) {
      window -ek @ $+ $sline(%active,1) -1 -1 300 200
      if ( $address($sline(%active,1),1) = $null ) {  
        titlebar @ $+ $sline(%active,1) ( non connecter )
        echo @ $+ $sline(%active,1) certain pseudo ne sont pas recconnu et sont considerés comme non connectés
      }
      else { titlebar @ $+ $sline(%active,1) ( $+ $gettok($address($sline(%active,1),1),2,42) $+ ) }
    }
  }
}

menu @clone {
  dclick {
    if ($left($sline(@clone,1),1) != $chr(35) ) { 
      window -ek @ $+  $sline(@clone,1) -1 -1 300 200
      if ( $address($sline(@clone,1),1) = $null ) {  
        titlebar @ $+ $sline(@clone,1) ( non connecter )
        echo @ $+ $sline(@clone,1) certains pseudos apparaissent comme non connectés
      }
      else { titlebar @ $+ $sline(@clone,1) ( $+ $gettok($address($sline(@clone,1),1),2,42) $+ ) }
    }
    if ($left($sline(@clone,1),1) = $chr(35) ) { echo @clone pour joindre un salon tape !join nom du salon }
  }
}

menu @clone {
  join d'un chan : {
    set %chan $$?="entre le salon"
    sockwrite -n samisha join %chan
    aline @clone  %pseudo a rejoin le salon  %chan
    aline -l @clone %chan
  }
  join $sline(@clone,1): {
    sockwrite -n samisha join $sline(@clone,1)
    aline @clone  %pseudo a rejoin le salon  $sline(@clone,1)
  }
  part d'un chan $sline(@clone,1) :{
    if ($left($sline(@clone,1),1) != $chr(35) ) { halt }
    sockwrite -n samisha Part $sline(@clone,1)
    aline @clone  %pseudo est parti de  $sline(@clone,1)
    window -c @ $+ $sline(@clone,1)
    var %itr = %c.sock.c
    while ( %itr => 0 ) {
      if ( %salon [ $+ [ %itr ] ] = $sline(@clone,1) ) {
        unset %salon [ $+ [ %itr ] ] 
        dec %itr
      } 
    }
    dec %c.sock.c
  }
  envoi d'un notice $sline(@clone,1) : { 
    if ( $sline(@clone,1) == $null ) { echo @clone pas d'element selectioner | halt  }
    set %msg $$? = " texte "
    set %msg.notice $replace(%msg,$chr(32),$chr(160))
    sockwrite -n samisha notice $sline(@clone,1) %msg.notice
  }
  envoi d'un message $sline(@clone,1) :{ 
    if ( $sline(@clone,1) == $null ) { echo @clone pas d'element selectioner | halt  }
    set %msg $$? = " texte "
    set %msg.query $replace(%msg,$chr(32),$chr(160))
    sockwrite -n samisha privmsg $sline(@clone,1) %msg.query
  }
  ouverture dun port : {
    sockclose samisha
    seti
  }
  quit du clone %pseudo : {
    set %quitt $$?=" message de quit "
    set %quit $replace(%quitt,$chr(32),$chr(160))
    sockwrite -n samisha quit %quit
  }
  privé avec $sline(@clone,1) : {
    if ($left($sline(@clone,1),1) != $chr(35) ) { 
      window -ek @ $+  $sline(@clone,1) -1 -1 300 200
      if ( $address($sline(@clone,1),1) = $null ) {  
        titlebar @ $+ $sline(@clone,1) ( non connecter )
        echo @ $+ $sline(@clone,1) certain pseudo apparaissent comme non connecter
      }
      else { titlebar @ $+ $sline(@clone,1) ( $+ $gettok($address($sline(@clone,1),1),2,42) $+ ) }
    }
    whois $sline(@clone,1) : {
      if ($left($sline(@clone,1),1) != $chr(35) ) { 
        sockwrite -n samisha whois $sline(@clone,1)
      }
    }
  }
}
#menu.sock end

Conclusion :


je n'ai pas encore traiter les evenement quit et nick pour les fenetres de salons aussi so on double click dans une fenetre ki n'est pas gerer par linstande de mon clone on peu avoir des conflit donc faite a tention kan vou utiliser cet addon dans votre script....
il est pas encore fini ... mais bon ya deja de koi samuser pas mal ( meme si votre clone est detectable mais ça c une autre histoire ....... )

A voir également

Ajouter un commentaire Commentaires
kotif Messages postés 34 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 27 avril 2009
8 déc. 2007 à 11:29
ok dsl je parle pas bien le fr je suis de suède en tous cas merci bien
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
8 déc. 2007 à 11:20
ca veut dire que tu ne peux pas te connecter... et s'il te plait, fais un effort de francais :/
kotif Messages postés 34 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 27 avril 2009
8 déc. 2007 à 10:03
tu c pas sa veux dire koi sa (10:01:51) * Unable to connect to server (Connection refused)
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
7 déc. 2007 à 19:45
rien compri.
kotif Messages postés 34 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 27 avril 2009
7 déc. 2007 à 16:28
jé des codes pour charger 10 clones sans gline mait le blm koman je cache le adress ip de c clone c simple a detecter ta pas un code pour sa ?
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.