begin process at 2008 05 17 08:24:06
1 173 922 membres
53 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AUTO JOIN MULTI-SERVEUR


Information sur la source

Catégorie :AddOns Niveau : Débutant Date de création : 18/12/2004 Date de mise à jour : 09/05/2005 07:24:19 Vu : 4 182

Note :
6,6 / 10 - par 5 personnes
6,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

Description

Voici un auto-join très simple d'utilisation.

Caractéristiques :

- Fonctionne a partir du $network
- Channels stockés en hash-table
- Dialog pas encombrant et assez simple d'utilisation
- Petite aide intégrée

Source

  • dialog autojoin {
  • title "Auto Join v1.3 Par MaX_62"
  • size -1 -1 161 104
  • option dbu
  • text "Liste des serveurs :", 1, 6 8 49 8
  • list 2, 5 17 71 54, size vsbar
  • button "Ajouter", 3, 8 72 30 12
  • text "Liste des channels :", 4, 86 8 49 8
  • list 5, 85 17 71 54, size vsbar
  • box "Serveurs", 6, 2 1 77 86
  • box "Channels", 7, 82 1 77 86
  • button "Effacer", 8, 42 72 30 12
  • button "Ajouter", 9, 88 72 30 12
  • button "Effacer", 10, 122 72 30 12
  • button "Fermer", 11, 78 90 37 12, cancel
  • button "Aide", 12, 117 90 37 12
  • check "Activer l'autojoin", 13, 12 90 50 12
  • }
  • dialog -l add.serv {
  • title "Ajouter un serveur"
  • size -1 -1 89 36
  • option dbu
  • text "Network :", 1, 5 6 25 8
  • edit "", 2, 31 5 52 10, autohs
  • button "Ajouter", 3, 26 19 37 12, ok cancel
  • }
  • dialog -l add.chan {
  • title "Ajouter un channel"
  • size -1 -1 89 36
  • option dbu
  • text "Channel :", 1, 5 6 25 8
  • edit "", 2, 31 5 52 10, autohs
  • button "Ajouter", 3, 26 19 37 12, ok cancel
  • }
  • dialog -l help.autojoin {
  • title "Auto Join Par MaX_62 ~ Aide"
  • size -1 -1 130 69
  • option dbu
  • text "Cette add-on vous permettra de joindre les channels que vous souhaitez, dans le(s) serveurs que vous aurez spécifié.", 1, 3 3 125 22
  • text "Pour connaître le network tapez //echo -a $network dans le serveur souhaité.", 2, 3 27 125 16
  • text "Bon t'chat !", 3, 3 45 31 8
  • button "Fermer", 4, 44 54 37 12, cancel
  • }
  • on *:DIALOG:*:*:*:{
  • if ($dname == autojoin) {
  • if ($devent == init) {
  • refresh.list.serv
  • if (%etat.autojoin == on) { did -c autojoin 13 }
  • }
  • elseif ($devent == sclick) {
  • if ($did == 2) { set %actuserv $did(autojoin,2).seltext | lister.channels }
  • elseif ($did == 3) { dialog $+(-,$iif($dialog(add.serv),v,m)) add.serv add.serv }
  • elseif ($did == 8 && $did(autojoin,2).seltext) { hdel autojoin $ifmatch | refresh.list.serv }
  • elseif ($did == 9) { dialog $+(-,$iif($dialog(add.chan),v,m)) add.chan add.chan }
  • elseif ($did == 10 && $did(autojoin,5).sel) { hadd autojoin %actuserv $deltok($hget(autojoin,%actuserv),$ifmatch,32) | refresh.list.serv }
  • elseif ($did == 12) { dialog $+(-,$iif($dialog(help.autojoin),v,m)) help.autojoin help.autojoin }
  • elseif ($did == 13) { set %etat.autojoin $iif($did(autojoin,13).state,on,off) }
  • }
  • }
  • elseif ($dname == add.serv && $devent == sclick && $did == 3 && $did(add.serv,2)) {
  • if (!$hfind(autojoin,$ifmatch)) { hadd autojoin $did(add.serv,2) | hsave autojoin autojoin | refresh.list.serv }
  • else { echo -a [AutoJoin] Ce serveur est déjà dans la liste }
  • }
  • elseif ($dname == add.chan && $devent == sclick && $did == 3 && $did(add.chan,2)) {
  • hadd autojoin %actuserv $addtok($hget(autojoin,%actuserv),$ifmatch,32)
  • hsave autojoin autojoin
  • refresh.list.serv
  • }
  • }
  • on *:START:{
  • hmake autojoin
  • $iif($exists(autojoin),hload,hsave) autojoin autojoin
  • }
  • on *:CONNECT:{
  • if (%etat.autojoin == on && $hget(autojoin,$network)) {
  • var %a 1
  • while ($gettok($hget(autojoin,$network),%a,32)) { join $ifmatch | inc %a }
  • }
  • }
  • on *:LOAD:{
  • echo -a [AutoJoin] v1.3 par MaX_62 chargé ! Utilisation : /autojoin
  • set %etat.autojoin on
  • }
  • alias -l refresh.list.serv {
  • did -r autojoin 2,5
  • var %a 1
  • while ($hget(autojoin,%a).item) { did -a autojoin 2 $ifmatch | inc %a }
  • }
  • alias -l lister.channels {
  • did -r autojoin 5
  • var %a 1
  • while ($gettok($hget(autojoin,%actuserv),%a,32)) { did -a autojoin 5 $ifmatch | inc %a }
  • }
  • alias autojoin dialog $+(-,$iif($dialog(autojoin),v,m)) autojoin autojoin
dialog autojoin {
  title "Auto Join v1.3 Par MaX_62"
  size -1 -1 161 104
  option dbu
  text "Liste des serveurs :", 1, 6 8 49 8
  list 2, 5 17 71 54, size vsbar
  button "Ajouter", 3, 8 72 30 12
  text "Liste des channels :", 4, 86 8 49 8
  list 5, 85 17 71 54, size vsbar
  box "Serveurs", 6, 2 1 77 86
  box "Channels", 7, 82 1 77 86
  button "Effacer", 8, 42 72 30 12
  button "Ajouter", 9, 88 72 30 12
  button "Effacer", 10, 122 72 30 12
  button "Fermer", 11, 78 90 37 12, cancel
  button "Aide", 12, 117 90 37 12
  check "Activer l'autojoin", 13, 12 90 50 12
}
dialog -l add.serv {
  title "Ajouter un serveur"
  size -1 -1 89 36
  option dbu
  text "Network :", 1, 5 6 25 8
  edit "", 2, 31 5 52 10, autohs
  button "Ajouter", 3, 26 19 37 12, ok cancel
}
dialog -l add.chan {
  title "Ajouter un channel"
  size -1 -1 89 36
  option dbu
  text "Channel :", 1, 5 6 25 8
  edit "", 2, 31 5 52 10, autohs
  button "Ajouter", 3, 26 19 37 12, ok cancel
}
dialog -l help.autojoin {
  title "Auto Join Par MaX_62 ~ Aide"
  size -1 -1 130 69
  option dbu
  text "Cette add-on vous permettra de joindre les channels que vous souhaitez, dans le(s) serveurs que vous aurez spécifié.", 1, 3 3 125 22
  text "Pour connaître le network tapez //echo -a $network dans le serveur souhaité.", 2, 3 27 125 16
  text "Bon t'chat !", 3, 3 45 31 8
  button "Fermer", 4, 44 54 37 12, cancel
}
on *:DIALOG:*:*:*:{
  if ($dname == autojoin) {
    if ($devent == init) {
      refresh.list.serv 
      if (%etat.autojoin == on) { did -c autojoin 13 } 
    }
    elseif ($devent == sclick) {
      if ($did == 2) { set %actuserv $did(autojoin,2).seltext | lister.channels }
      elseif ($did == 3) { dialog $+(-,$iif($dialog(add.serv),v,m)) add.serv add.serv }
      elseif ($did == 8 && $did(autojoin,2).seltext) { hdel autojoin $ifmatch | refresh.list.serv }
      elseif ($did == 9) { dialog $+(-,$iif($dialog(add.chan),v,m)) add.chan add.chan }
      elseif ($did == 10 && $did(autojoin,5).sel) { hadd autojoin %actuserv $deltok($hget(autojoin,%actuserv),$ifmatch,32) | refresh.list.serv }
      elseif ($did == 12) { dialog $+(-,$iif($dialog(help.autojoin),v,m)) help.autojoin help.autojoin }
      elseif ($did == 13) { set %etat.autojoin $iif($did(autojoin,13).state,on,off) }
    }
  }
  elseif ($dname == add.serv && $devent == sclick && $did == 3 && $did(add.serv,2)) {
    if (!$hfind(autojoin,$ifmatch)) { hadd autojoin $did(add.serv,2) | hsave autojoin autojoin | refresh.list.serv }
    else { echo -a [AutoJoin] Ce serveur est déjà dans la liste }
  }
  elseif ($dname == add.chan && $devent == sclick && $did == 3 && $did(add.chan,2)) {
    hadd autojoin %actuserv $addtok($hget(autojoin,%actuserv),$ifmatch,32)
    hsave autojoin autojoin
    refresh.list.serv
  }
}
on *:START:{
  hmake autojoin
  $iif($exists(autojoin),hload,hsave) autojoin autojoin
}
on *:CONNECT:{
  if (%etat.autojoin == on && $hget(autojoin,$network)) {
    var %a 1
    while ($gettok($hget(autojoin,$network),%a,32)) { join $ifmatch | inc %a }
  }
}
on *:LOAD:{ 
  echo -a [AutoJoin] v1.3 par MaX_62 chargé ! Utilisation : /autojoin
  set %etat.autojoin on
}

alias -l refresh.list.serv {
  did -r autojoin 2,5
  var %a 1
  while ($hget(autojoin,%a).item) { did -a autojoin 2 $ifmatch | inc %a }
}
alias -l lister.channels {
  did -r autojoin 5
  var %a 1
  while ($gettok($hget(autojoin,%actuserv),%a,32)) { did -a autojoin 5 $ifmatch | inc %a }
}
alias autojoin dialog $+(-,$iif($dialog(autojoin),v,m)) autojoin autojoin

Conclusion

Voila, c'est rien de compliqué, mais assez utile.
Si vous remarquez des bugs ou défauts, merci de me les dire :p

MaX_62
18 décembre 2004 22:16:12 :
Version 1.1 : - Redimensionnement du dialog.
20 décembre 2004 17:12:35 :
Version 1.2 Correction d'un bug au niveau du chargement de la hash table.
26 mars 2005 16:12:30 :
- Version 1.3 grosse mise a jour, optimisation oblige :P
09 mai 2005 07:24:19 :
- Alias et dialogs en local
  • signaler à un administrateur
    Commentaire de J4Gu4R le 18/12/2004 17:52:10

    utilisation des hashtable
    utilisation simple de la boite de dialog
    t'a penser à intégrer une aide
    code propre à première vue

    par contre j'aime pas trop les dialog avec trop de vide moi je l'aurai plutot réduit (la ligne du "check", l'aide les bordure)voir même utliliser "les tab"
    un peu de couleur mais sobre ça peut etre plus attractif
    (mais bon tout ça c'est une question de gout)

    j'ai pas pris le temps de regarder en détaille si ya des erreurs ou beugue mais ça me plait bien :))

    bonne continuation...

    -J4Gu4R-

  • signaler à un administrateur
    Commentaire de neo66 le 18/12/2004 19:19:03

    Coter positif:
    - Hash Table
    - Faciliter d'utilisation
    - Pas de bug (du moin j'en est pas vu)

    Coter negatif:
    - comme la dit j4gu4r, moi non plus j'aime pas trop le vide dans les dialogs.


    Sinon sa va, j'aime bien toutes les sources où il y a des Hash...
    coter utiliter pour moi, mon:
    on *:connect:{
      if ($network == server) {
         join #chan1,#chan2,#chan3,#chan4
         msg .. login pass
         }
    else if ($network == server2) {
         join #chan1,#chan2,#chan3,#chan4
         msg .. login pass
         }
    }

    Voilou :P
    mais le mien na pas de dialog :]

    Bonne continuation

  • signaler à un administrateur
    Commentaire de Asthar le 18/12/2004 20:37:56

    Trop de perte dans le dialog, pas de +k =/
    Sinon le code est propre =)

  • signaler à un administrateur
    Commentaire de COOLMAN002 le 18/12/2004 20:45:33

    ~~ AUTO JOIN V1 BY MAX_62 ~~
    Chargement réussi !

    * /hload: unable to open 'C:\PROGRAM FILES\BOT_6.03\autojoin' (line 94, script5.mrc)

    << Quand j'ai load.

    * /hsave: unable to open 'C:\PROGRAM FILES\BOT_6.03\autojoin' (line 73, script5.mrc)
    << Quand j'ai voulu ajouter un "network"
    (hadd -s autojoin......)

    * /hsave: unable to open 'C:\PROGRAM FILES\BOT_6.03\autojoin' (line 84, script5.mrc)
    <<Quand j'ai voulu ajouter un salon.

    * /hload: unable to open 'C:\PROGRAM FILES\BOT_6.03\autojoin' (line 94, script5.mrc)
    < En ouvrant

    ça vient de moi ? :/

  • signaler à un administrateur
    Commentaire de MaX_62 le 18/12/2004 22:06:42

    COOLMAN002 je pense que tu n'as pas installé l'add-on dans la racine du script :)

  • signaler à un administrateur
    Commentaire de MaX_62 le 18/12/2004 22:22:13

    Je viens de mettre a jour, j'ai redimensionné le dialog ;=)

  • signaler à un administrateur
    Commentaire de tempusus le 19/12/2004 17:02:02 administrateur CS

    Bonjour,

    a prioris cette 2eme version est sympa et semble fonctionner chez moi.

    8/10 pour moi :)

    Tempusus
    Admin CS

  • signaler à un administrateur
    Commentaire de J4Gu4R le 19/12/2004 21:18:17

    c beaucoup mieu :))

    bonne continuation sur ta lancée

    -J4Gu4R-

  • signaler à un administrateur
    Commentaire de Asthar le 20/12/2004 00:11:39

    En effet, beaucoup plus joli ainsi, il ne manque que la prise en compte du mode +k et tout y est :)
    Bon boulot :)

  • signaler à un administrateur
    Commentaire de loadation le 20/12/2004 12:17:26

    je debute e nscripting quest ce que le +k?
    et sinan bah moi marche ils mettent que la table na pas eté trouV
    sinan jaime bien le dialog

  • signaler à un administrateur
    Commentaire de MaX_62 le 20/12/2004 14:00:58

    le mode +k c'est quand il y a un mot de passe au channel

    pour entrer dans un channel +k tu dois faire /join #channel mot-de-passe

  • signaler à un administrateur
    Commentaire de KiNdErMaXi le 20/12/2004 14:30:11

    ashtar : "il ne manque que la prise en compte du mode +k et tout y est :)"
    au lieu de rajouter un truc exprès +k et bien quand tu rentre ton salon tu met la clé derrière. Exemple : #kinder 1234
    voila :) mais c'est vrai que si on veut etre rigoureux et bien on rajouter un truc +k :)
    sinon il est très bien ton auto join ;)

  • signaler à un administrateur
    Commentaire de MaX_62 le 20/12/2004 14:42:27

    KiNdErMaXi non c'est pas ça, en fait je sépare les tokens avec le $chr(32) donc si tu tapes #kinder 1234 ça t'ajouteras les channels #kinder et 1234
    faudra que j'ajoute un truc pour le +k

  • signaler à un administrateur
    Commentaire de MaX_62 le 20/12/2004 17:09:07

    loadation -> tu avais raison il y a bien un bug au niveau du chargement de la table.

    Je mets a jour tout de suite.

  • signaler à un administrateur
    Commentaire de KiNdErMaXi le 20/12/2004 17:36:44

    oupss autant pour moi ashtar

  • signaler à un administrateur
    Commentaire de loadation le 20/12/2004 21:11:35

    j compren rien j arrive mm a trouV les bugs  :)

  • signaler à un administrateur
    Commentaire de kev23401 le 06/01/2007 10:25:50

    j ai un probleme avec , il marche bien . bien sur
    mais il m auth qu apres avoir rejoint tout les chans donc je doit rejoindre tout pour avoir mes @
    une solution ?

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Boutique

Boutique de goodies CodeS-SourceS