begin process at 2012 02 10 16:38:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > PACIFIK MULTISERVER AUTOJOIN 1.2B

PACIFIK MULTISERVER AUTOJOIN 1.2B


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :AddOns Niveau :Initié Date de création :25/09/2002 Date de mise à jour :25/09/2002 10:10:36 Vu :4 205

Auteur : jfk69

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
c'est une partie de mon script (http://pacifik.dabug.com)
il permet de ce connecter a plusieur serveur avec chan différent pour ces serveurs

Source

  • alias joinall msaj_joinall
  • alias dlg { var %dlg = $$1 $+ .dlg | if ($dialog(%dlg) == $null) { dialog -domr %dlg %dlg } }
  • alias -l dlg_p { var %dlg = $$1 $+ .dlg | if ($dialog(%dlg) == $null) { dialog -amrov %dlg %dlg } }
  • alias -l dlg_close { dialog -x $dname $dname }
  • alias -l msaj_save { hsave -bo msaj_data pacifiKdata }
  • alias -l msaj_load { if ($hget(msaj_data) != msaj_data) { hmake msaj_data 1 } | if ($exists(pacifiKdata) == $true) { hload -b msaj_data pacifiKdata } }
  • alias -l msaj_err { $dlg_p(msaj_err) }
  • alias -l msaj_errmsg { did -ra msaj_err.dlg 1 $$1- }
  • alias -l msaj_hget { return $hget(msaj_data,$$1) }
  • alias -l msaj_hgetitem { return $hget(msaj_data,$$1).item }
  • alias -l msaj_hgetsize { return $hget(msaj_data,$$1).size }
  • alias -l msaj_connect { server $$1 $2 $3 -j $4- }
  • alias -l msaj_connectm { server -m $$1 $2 $3 -j $4- }
  • alias -l msaj_closeall { scon -a partall | scon -at1 quit | scon -a window -c "Status Window" }
  • alias -l msaj_delist { var %i = $did(msaj.dlg,$$1).lines | while (%i != 0) { did -r msaj.dlg $$1 %i | dec %i } }
  • alias -l msaj_refresh_srvlist { var %i = $msaj_hgetitem(0) | while (%i != 0) { if (.msaj !isin $msaj_hgetitem(%i)) { did -a msaj.dlg 2 $msaj_hgetitem(%i) } | dec %i } }
  • alias -l msaj_refresh_chanlist { var %temp = $did(msaj.dlg,2).seltext $+ .msajchan, %list.chan, %i | %list.chan = $msaj_hget(%temp) | %i = $numtok(%list.chan,44) | while (%i != 0) { did -a msaj.dlg 7 $gettok(%list.chan,%i,44) | dec %i } }
  • alias -l msaj_joinall {
  • var %first = 1, %i = $msaj_hgetitem(0), %srv, %srv.activ, %port, %passwd, %chan
  • while (%i != 0) {
  • %srv = $msaj_hgetitem(%i)
  • %port = %srv $+ .msajport
  • %port = $msaj_hget(%port)
  • %passwd = %srv $+ .msajpasswd
  • %passwd = $msaj_hget(%passwd)
  • %chan = %srv $+ .msajchan
  • %chan = $msaj_hget(%chan)
  • if (.msaj !isin %srv) {
  • %srv.activ = $msaj_hget(%srv)
  • if (%srv.activ == 1 && %first == 1) {
  • $msaj_connect(%srv,%port,%passwd,%chan)
  • %first = 0
  • }
  • elseif (%srv.activ == 1) {
  • $msaj_connectm(%srv,%port,%passwd,%chan)
  • }
  • }
  • dec %i
  • }
  • }
  • menu menubar,status,channel,query {
  • Multi-Serveur Auto-Join
  • .Dialog:/dlg msaj
  • }
  • on *:load:{ msaj_load }
  • on *:start:{ msaj_load | msaj_closeall | msaj_joinall }
  • dialog msaj.dlg {
  • title "PacifiK MSAJ v1.2b"
  • size -1 -1 230 280
  • option pixels
  • box "Liste des serveurs", 1, 10 10 210 80
  • combo 2, 20 30 190 160, sort size drop
  • button "+", 3, 150 60 20 20
  • button "-", 4, 180 60 20 20
  • check "Activer l'autojoin", 5, 20 60 110 20
  • box "Liste des channels", 6, 10 100 210 140
  • list 7, 20 120 160 110, sort size vsbar
  • button "+", 8, 190 120 20 20
  • button "-", 9, 190 150 20 20
  • button "&Quitter", 100, 80 250 80 25, default cancel
  • }
  • on *:dialog:msaj.dlg:init:*: { msaj_refresh_srvlist }
  • on *:dialog:msaj.dlg:sclick:*: {
  • if ($did == 2) { $msaj_delist(7) | msaj_refresh_chanlist | var %srv = $did($dname,2).seltext | if ($msaj_hget(%srv) == 1) { did -c $dname 5 } | else { did -u $dname 5 } }
  • if ($did == 3) { dlg_p msaj.addsrv }
  • if ($did == 4) { if ($did($dname,2).seltext) { var %srv = $did($dname,2).seltext $+ * | hdel -w msaj_data %srv | $msaj_delist(2) | msaj_refresh_srvlist | $msaj_delist(7) | did -u msaj.dlg 5 | msaj_save } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un serveur) } }
  • if ($did == 5) { if ($did($dname,2).seltext) { var %srv = $did($dname,2).seltext, %state | %state = $did($dname,5).state | hadd msaj_data %srv %state | msaj_save } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un serveur) } }
  • if ($did == 8) { if ($did($dname,2).seltext) { dlg_p msaj.addchan } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un serveur) } }
  • if ($did == 9) { if ($did(msaj.dlg,7).sel) { var %chan = $did($dname,7).seltext, %srv, %list.chan, %pos, %new.list | %srv = $did($dname,2).seltext $+ .msajchan | %list.chan = $msaj_hget(%srv) | %pos = $findtok(%list.chan,%chan,1,44) | %new.list = $deltok(%list.chan,%pos,44) | hdel msaj_data %srv | hadd msaj_data %srv %new.list | did -d msaj.dlg 7 $did($dname,7,1).sel | msaj_save } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un channel) } }
  • if ($did == 99) { msaj_closeall | msaj_joinall | dlg_close }
  • }
  • dialog msaj.addsrv.dlg {
  • title "PacifiK MSAJ v1.2b"
  • size -1 -1 260 170
  • option pixels
  • text "Nom du serveur : ", 1, 25 10 90 16, right
  • edit "", 2, 125 8 100 21, autohs center
  • text "Port : ", 3, 25 40 90 16, right
  • edit "6667", 4, 125 38 100 21, autohs center
  • text "Mot de passe : ", 5, 25 70 90 16, right
  • edit "", 6, 125 66 100 21, pass autohs center
  • check "Activer l'auto-join pour ce serveur", 7, 35 100 190 20
  • button "&Ajouter", 98, 45 135 75 25, default
  • button "A&nnuler", 99, 125 135 75 25, cancel
  • }
  • on *:dialog:msaj.addsrv.dlg:sclick:98 { if ($did($dname,2).text && $did($dname,4).text) { var %nom.srv = $did($dname,2).text, %activ.srv | if ($did($dname,7).state == 0) { %activ.srv = 0 } | else { %activ.srv = 1 } | hadd -m msaj_data %nom.srv %activ.srv | hadd -m msaj_data %nom.srv $+ .msajport $did(msaj.addsrv.dlg,4).text | if ($did($dname,6).text) { hadd -m msaj_data %nom.srv $+ .msajpasswd $did(msaj.addsrv.dlg,6).text } | $msaj_delist(2) | $msaj_delist(7) | msaj_refresh_srvlist | msaj_save | dlg_close } | else { msaj_err | $msaj_errmsg(Tu dois entrer le nom d'un chan et un port) } }
  • dialog msaj.addchan.dlg {
  • title "PacifiK MSAJ v1.2b"
  • size -1 -1 260 110
  • option pixels
  • text "Nom du cahnnel : ", 1, 25 10 90 16, right
  • edit "", 2, 125 8 100 21, autohs center
  • text "Mot de passe : ", 3, 25 40 90 16, disable right
  • edit "", 4, 125 38 100 21, disable autohs center
  • button "&Ajouter", 98, 45 75 75 25, default
  • button "A&nnuler", 99, 125 75 75 25, cancel
  • }
  • on *:dialog:msaj.addchan.dlg:sclick:98: { var %srv = $did(msaj.dlg,2).seltext, %chan, %temp, %list.chan | if ($did($dname,2).text) { %chan = $did($dname,2).text | if ($left(%chan,1) != $chr(35)) { %chan = $chr(35) $+ %chan } | %temp = %srv $+ .msajchan | %list.chan = $msaj_hget(%temp) | %list.chan = $addtok(%list.chan,%chan,44) | hadd -m msaj_data %temp %list.chan | $msaj_delist(7) | msaj_refresh_chanlist | msaj_save | dlg_close } | else { msaj_err | $msaj_errmsg(Tu dois entrer un chan) } }
  • dialog msaj_err.dlg {
  • title "PacifiK MSAJ Error"
  • size -1 -1 240 70
  • option pixels
  • text "", 1, 10 10 222 16, center
  • button "&OK", 99, 80 40 75 25, default cancel
  • }
alias joinall msaj_joinall 
alias dlg { var %dlg = $$1 $+ .dlg | if ($dialog(%dlg) == $null) { dialog -domr %dlg %dlg } } 
alias -l dlg_p { var %dlg = $$1 $+ .dlg | if ($dialog(%dlg) == $null) { dialog -amrov %dlg %dlg } } 
alias -l dlg_close { dialog -x $dname $dname } 
alias -l msaj_save { hsave -bo msaj_data pacifiKdata } 
alias -l msaj_load { if ($hget(msaj_data) != msaj_data) { hmake msaj_data 1 } | if ($exists(pacifiKdata) == $true) { hload -b msaj_data pacifiKdata } } 
alias -l msaj_err { $dlg_p(msaj_err) } 
alias -l msaj_errmsg { did -ra msaj_err.dlg 1 $$1- } 
alias -l msaj_hget { return $hget(msaj_data,$$1) } 
alias -l msaj_hgetitem { return $hget(msaj_data,$$1).item } 
alias -l msaj_hgetsize { return $hget(msaj_data,$$1).size } 
alias -l msaj_connect { server $$1 $2 $3 -j $4- } 
alias -l msaj_connectm { server -m $$1 $2 $3 -j $4- } 
alias -l msaj_closeall { scon -a partall | scon -at1 quit | scon -a window -c "Status Window" } 
alias -l msaj_delist { var %i = $did(msaj.dlg,$$1).lines | while (%i != 0) { did -r msaj.dlg $$1 %i | dec %i } } 
alias -l msaj_refresh_srvlist { var %i = $msaj_hgetitem(0) | while (%i != 0) { if (.msaj !isin $msaj_hgetitem(%i)) { did -a msaj.dlg 2 $msaj_hgetitem(%i) } | dec %i } } 
alias -l msaj_refresh_chanlist { var %temp = $did(msaj.dlg,2).seltext $+ .msajchan, %list.chan, %i | %list.chan = $msaj_hget(%temp) | %i = $numtok(%list.chan,44) | while (%i != 0) { did -a msaj.dlg 7 $gettok(%list.chan,%i,44) | dec %i } } 

alias -l msaj_joinall {
  var %first = 1, %i = $msaj_hgetitem(0), %srv, %srv.activ, %port, %passwd, %chan
  while (%i != 0) {
    %srv = $msaj_hgetitem(%i)
    %port = %srv $+ .msajport
    %port = $msaj_hget(%port)
    %passwd = %srv $+ .msajpasswd
    %passwd = $msaj_hget(%passwd)
    %chan = %srv $+ .msajchan
    %chan = $msaj_hget(%chan)
    if (.msaj !isin %srv) {
      %srv.activ = $msaj_hget(%srv)
      if (%srv.activ == 1 && %first == 1) {
        $msaj_connect(%srv,%port,%passwd,%chan)
        %first = 0
      }
      elseif (%srv.activ == 1) {
        $msaj_connectm(%srv,%port,%passwd,%chan)
      }
    }
    dec %i
  }
}

menu menubar,status,channel,query { 
Multi-Serveur Auto-Join
.Dialog:/dlg msaj 
} 
on *:load:{ msaj_load } 
on *:start:{ msaj_load | msaj_closeall | msaj_joinall } 
dialog msaj.dlg { 
  title "PacifiK MSAJ v1.2b" 
  size -1 -1 230 280 
  option pixels 
  box "Liste des serveurs", 1, 10 10 210 80 
  combo 2, 20 30 190 160, sort size drop 
  button "+", 3, 150 60 20 20 
  button "-", 4, 180 60 20 20 
  check "Activer l'autojoin", 5, 20 60 110 20 
  box "Liste des channels", 6, 10 100 210 140 
  list 7, 20 120 160 110, sort size vsbar 
  button "+", 8, 190 120 20 20 
  button "-", 9, 190 150 20 20 
  button "&Quitter", 100, 80 250 80 25, default cancel 
} 
on *:dialog:msaj.dlg:init:*: { msaj_refresh_srvlist } 
on *:dialog:msaj.dlg:sclick:*: { 
  if ($did == 2) { $msaj_delist(7) | msaj_refresh_chanlist | var %srv = $did($dname,2).seltext | if ($msaj_hget(%srv) == 1) { did -c $dname 5 } | else { did -u $dname 5 } } 
  if ($did == 3) { dlg_p msaj.addsrv } 
  if ($did == 4) { if ($did($dname,2).seltext) { var %srv = $did($dname,2).seltext $+ * | hdel -w msaj_data %srv | $msaj_delist(2) | msaj_refresh_srvlist | $msaj_delist(7) | did -u msaj.dlg 5 | msaj_save } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un serveur) } } 
  if ($did == 5) { if ($did($dname,2).seltext) { var %srv = $did($dname,2).seltext, %state | %state = $did($dname,5).state | hadd msaj_data %srv %state | msaj_save } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un serveur) } } 
  if ($did == 8) { if ($did($dname,2).seltext) { dlg_p msaj.addchan } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un serveur) } } 
  if ($did == 9) { if ($did(msaj.dlg,7).sel) { var %chan = $did($dname,7).seltext, %srv, %list.chan, %pos, %new.list | %srv = $did($dname,2).seltext $+ .msajchan | %list.chan = $msaj_hget(%srv) | %pos = $findtok(%list.chan,%chan,1,44) | %new.list = $deltok(%list.chan,%pos,44) | hdel msaj_data %srv | hadd msaj_data %srv %new.list | did -d msaj.dlg 7 $did($dname,7,1).sel | msaj_save } | else { msaj_err | $msaj_errmsg(Tu dois sélectionner un channel) } } 
  if ($did == 99) { msaj_closeall | msaj_joinall | dlg_close } 
} 
dialog msaj.addsrv.dlg { 
  title "PacifiK MSAJ v1.2b" 
  size -1 -1 260 170 
  option pixels 
  text "Nom du serveur : ", 1, 25 10 90 16, right 
  edit "", 2, 125 8 100 21, autohs center 
  text "Port : ", 3, 25 40 90 16, right 
  edit "6667", 4, 125 38 100 21, autohs center 
  text "Mot de passe : ", 5, 25 70 90 16, right 
  edit "", 6, 125 66 100 21, pass autohs center 
  check "Activer l'auto-join pour ce serveur", 7, 35 100 190 20 
  button "&Ajouter", 98, 45 135 75 25, default 
  button "A&nnuler", 99, 125 135 75 25, cancel 
} 
on *:dialog:msaj.addsrv.dlg:sclick:98 { if ($did($dname,2).text && $did($dname,4).text) { var %nom.srv = $did($dname,2).text, %activ.srv | if ($did($dname,7).state == 0) { %activ.srv = 0 } | else { %activ.srv = 1 } | hadd -m msaj_data %nom.srv %activ.srv | hadd -m msaj_data %nom.srv $+ .msajport $did(msaj.addsrv.dlg,4).text | if ($did($dname,6).text) { hadd -m msaj_data %nom.srv $+ .msajpasswd $did(msaj.addsrv.dlg,6).text } | $msaj_delist(2) | $msaj_delist(7) | msaj_refresh_srvlist | msaj_save | dlg_close } | else { msaj_err | $msaj_errmsg(Tu dois entrer le nom d'un chan et un port) } } 
dialog msaj.addchan.dlg { 
  title "PacifiK MSAJ v1.2b" 
  size -1 -1 260 110 
  option pixels 
  text "Nom du cahnnel : ", 1, 25 10 90 16, right 
  edit "", 2, 125 8 100 21, autohs center 
  text "Mot de passe : ", 3, 25 40 90 16, disable right 
  edit "", 4, 125 38 100 21, disable autohs center 
  button "&Ajouter", 98, 45 75 75 25, default 
  button "A&nnuler", 99, 125 75 75 25, cancel 
} 
on *:dialog:msaj.addchan.dlg:sclick:98: { var %srv = $did(msaj.dlg,2).seltext, %chan, %temp, %list.chan | if ($did($dname,2).text) { %chan = $did($dname,2).text | if ($left(%chan,1) != $chr(35)) { %chan = $chr(35) $+ %chan } | %temp = %srv $+ .msajchan | %list.chan = $msaj_hget(%temp) | %list.chan = $addtok(%list.chan,%chan,44) | hadd -m msaj_data %temp %list.chan | $msaj_delist(7) | msaj_refresh_chanlist | msaj_save | dlg_close } | else { msaj_err | $msaj_errmsg(Tu dois entrer un chan) } } 
dialog msaj_err.dlg { 
  title "PacifiK MSAJ Error" 
  size -1 -1 240 70 
  option pixels 
  text "", 1, 10 10 222 16, center 
  button "&OK", 99, 80 40 75 25, default cancel 
} 

 Conclusion

suffit de faire /load -rs chemin_du_script/msaj.mrc
ce script utilise le "base de donnée" mIRC et créé un fichier pacifikdata a la racine du rep d'install de mIRC
Je n'ai pas trouvé de bug, la gestion des mot de passe pour les chan et srv n'est pas encore géré


 Sources de la même categorie

PACMAN MULTI-JOUEUR EN LIGNE par wims
PROXY&SOCKS SCANNER+LEECHER par independentt
GESTIONNAIRE DE HIGHLIGHT AVANCÉ AVEC IGNORE SALON OU PSEUDO par doob666
AUTOJOIN HTABLE MULTISERVER par doob666
TCL - AJOUT SUPPRESSION DE LOGS par Atok

Commentaires et avis

Commentaire de jfk69 le 25/09/2002 10:15:35

pitite erreur :
"suffit de faire /load -rs chemin_du_script/msaj.mrc"
-> suffit de faire /load -rs chemin_du_script/nom_du_fichier.mrc

Commentaire de jfk69 le 25/09/2002 19:29:51

ben alors :°(
personne n'a testé ???
ou alors, mon script est a chier... :°°°(

Commentaire de WakBlack le 21/10/2002 18:26:14

Non c pa sa ton Addon est bien, mais, on voi direct que tu a du te faire chier et tout, mais tu aurait du mettre une Image de Fond et une Ptite-Icône, pi te fai pa de souci la plupart des personne aimerai tenvoyer des messages mais comme il fo sincrire et kil on plien de truc a faire il veule pa le faire ;o) allez continu

Commentaire de jhd le 28/02/2003 18:45:33

ton code m a l air vachement compliquer pr un simple autojoin multiserv

Commentaire de ArTeX le 09/11/2003 12:34:33

pas mal du tout il manque juste une option qui fait que l'on peut choisir un nick specifique pour chaque serveur sinon c tres bien

Commentaire de In Flames le 29/08/2004 01:46:12

ses cool mais il ne join pas les channel lorsque il y à une reconnection à un autre serveur ou d'une reconnection simple

Commentaire de Xrf le 19/09/2004 16:23:28

il marche bien merci du service :)

Commentaire de loadation le 20/11/2004 20:35:13

moi j compren rien au code ms c bo visuellement ms assé simple

Commentaire de redabouhaddar le 17/07/2010 14:38:51

Ca marche bien , merci :))

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales