Clones ( connection au serveur demander sous plusieur host )

Contenu du snippet

Ce n'est pas du Vb mais ,
Le principe Winsock est le même
Copier ce code dans la parti Remotes
de votre Éditeur mIRC.

Svp , j'ai bati ce code pour montrer
comment utiliser Winsock sur différent language
'Merci et voila le Code !

Source / Exemple :


dialog Clones {
  title "Freedumb Clones"
  size -1 -1 275 180
  box "Connection", 1, 5 5 120 80
  button "&Connecter", 2, 15 25 100 25, default
  button "&Déconnecter", 3, 15 55 100 25, default
  box "Commande de canal", 4, 5 85 120 80
  button "&Joindre", 5, 15 105 100 25, default
  button "&Partir", 6, 15 135 100 25, default
  box "Commandes", 7, 145 5 120 130
  button "&Commande", 8, 155 25 100 25, default
  button "&Flood", 9, 155 50 100 25, default
  button "&Message", 10, 155 75 100 25, default
  button "&Aide", 11, 155 100 100 25, default
  button "&Quitter", 99, 145 140 120 25 ,ok
}
on *:dialog:Clones:sclick:2:.timerCLONES 1 0 sockclone $?="Combien de clones ?" $?="Adresse du serveur:" $?="Port:"
on *:dialog:Clones:sclick:3:sockclone.die
on *:dialog:Clones:sclick:5:.timerCLONES 1 0 sockclone.command join : $+ $?="Canal"
on *:dialog:Clones:sclick:6:.timerCLONES 1 0 sockclone.command part : $+ $?="Canal"
on *:dialog:Clones:sclick:8:.timerCLONES 1 0 sockclone.command $?="Commande?"
on *:dialog:Clones:sclick:9:.timerCLONES 1 0 sockclone.flood $?="Le nick ou le canal désiré"
on *:dialog:Clones:sclick:10:.timerCLONES 1 0 sockclone.command privmsg $?="Votre message ?"
on *:dialog:Clones:sclick:11: RUN $MIRCDIRCLONES/AIDE.TXT
on 1:connect:{
  sockclonecheck
  .timersockclonecheck 0 30 sockclonecheck
}
on 1:disconnect:{
  sockclonecheck
  .timersockclonecheck 0 30 sockclonecheck
}
on 1:load:{
  set %sockclone.prompt -=]SockCloneS[=-
}
alias sockclone { 
  if (%sockclone-number != $null) { echo -a %sockclone.prompt Tu as déja des clones connectés, déconnecte les et réessaye . | halt }
  if ($3 == $null) { usage SockClone }
  if (($1 <= 0) || ($1 > 20)) { echo -a %sockclone.prompt Choisisser un nombre de clone entre 1 et 20. | halt }
  set %sockclone-number $1
  .timer $1 5 sockclone.connect $2 $3
  .timersockclonecheck 0 30 sockclonecheck
}
alias sockclonecheck {
  if (($sock(sockclone1) == $null) && ($sock(sockclone2) == $null) && ($sock(sockclone3) == $null) && ($sock(sockclone4) == $null) && ($sock(sockclone5) == $null) && ($sock(sockclone6) == $null) && ($sock(sockclone7) == $null) && ($sock(sockclone8) == $null) && ($sock(sockclone9) == $null) && ($sock(sockclone10) == $null) && ($sock(sockclone11) == $null) && ($sock(sockclone12) == $null) && ($sock(sockclone13) == $null) && ($sock(sockclone14) == $null) && ($sock(sockclone15) == $null) && ($sock(sockclone16) == $null) && ($sock(sockclone17) == $null) && ($sock(sockclone18) == $null)) {
    if (($sock(sockclone19) == $null) && ($sock(sockclone20) == $null)) {
      sockclone.die -CHECK-
    }
  }
}
alias sockclone.connect {
  inc %sockclone-inc 1
  sockopen SockClone [ $+ [ %sockclone-inc ] ] $1 $2
}
alias sockclone.flood {
  if (%sockclone-number == $null) { echo -a %sockclone.prompt Connecte un clone avant de flooder ! | halt }
  if ($1 == $null) { echo -a %sockclone.prompt Spécifie un nick a flooder ! | halt }
  set %sockclone-loop 0
  :start
  inc %sockclone-loop 1
  if (%sockclone-loop > 20) { unset %sockclone-loop | halt }
  else { 
    set %sockclone-temp SockClone [ $+ [ %sockclone-loop ] ]
    if ($sock(%sockclone-temp).rcvd == 0) { goto start }
    if ($sock(SockClone [ $+ [ %sockclone-loop ] ] ) != $null) { 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
      sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] PRIVMSG $1 VERSION 
    }
  }
  goto start
}
alias sockclone.die {
  if ($1 == -Check-) {
    unset %sockclone-*
    .timersockclonecheck off
    halt
  }
  if (%sockclone-number == $null) { echo -a %sockclone.prompt Tu as déja des clones connectés, déconnecte les et réessaye . | halt }
  set %sockclone-loop 0
  :start
  inc %sockclone-loop 1
  if (%sockclone-loop > 20) { unset %sockclone-loop | unset %sockclone-* | .timersockclonecheck off | halt }
  else { 
    set %sockclone-temp SockClone [ $+ [ %sockclone-loop ] ]
    if ($sock(%sockclone-temp).rcvd == 0) { sockclose %sockclone-temp | goto start } 
    if ($sock(SockClone [ $+ [ %sockclone-loop ] ] ) != $null) { .sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] quit : $+ %sockclone.prompt 4[ 2Heaven4 ] }
  }
  goto start
}
alias sockclone.command {
  if (%sockclone-number == $null) { echo -a %sockclone.prompt Connecte un clone avant de flooder ! | halt }
  if ($1 == $null) { echo -a %sockclone.prompt You need specify a command | halt }
  set %sockclone-loop 0
  :start
  inc %sockclone-loop 1
  if (%sockclone-loop > 20) { unset %sockclone-loop | halt }
  else { 
    set %sockclone-temp SockClone [ $+ [ %sockclone-loop ] ]
    if ($sock(%sockclone-temp).rcvd == 0) { goto start }
    if ($sock(SockClone [ $+ [ %sockclone-loop ] ] ) != $null) { sockwrite -tn SockClone [ $+ [ %sockclone-loop ] ] $1- }
  }
  goto start
}
on 1:sockopen:*:{
  if (SockClone isin $sockname) {
    sockwrite -tn $sockname user Bob$+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) - - : $+ 4[ 2Heaven4 ] %sockclone.prompt
    if ($right($sockname,2) isin 10-11-12-13-14-15-16-17-18-19-20) { sockwrite -tn $sockname nick Bob $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) }
    else { sockwrite -tn $sockname nick Bob $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z) }
  }
}
on 1:sockread:*:{
  if (SockClone isin $sockname) {
    sockread %sockclone-rcvd
    if ($left(%sockclone-rcvd,6) == PING $+ $chr(32) $+ :) { sockwrite -tn $sockname PONG $mid(%sockclone-rcvd,6,$len(%sockclone-rcvd)) }
  }
}

Conclusion :


Ce langua est Basée sur les Évenement serveur.
Chaques évenements peut déclancher plusieurs
lignes de codes.

Bon courage

Ps: Vous pouvez modifier le code a votre Guise

A voir également

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.