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-CONNEXION/AUTO-JOIN MULTI-IDENT ET MULTI-SERVER COMPLET


Information sur la source

Catégorie :AddOns Classé sous : auto, connexion, join, multi, connection Niveau : Débutant Date de création : 12/06/2007 Date de mise à jour : 01/01/2009 17:47:08 Vu / téléchargé: 4 075 / 121

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Cliquez pour voir la capture en taille normale
J'ai ressorti ça de derrière les fagots, j'avais scripté ça avec un pote j'ai juste modeifier un petit peu. Bon pour présenter la source...tout est dit dans le titre.
 

Source

  • menu menubar,status {
  • aconnex
  • .Configuration:aconnex
  • .$submenu($aconnex.menu($1))
  • }
  • alias -l aconnex.menu {
  • if ($1 == begin) return -
  • if ($1 isnum) return $readini($+($scriptdir,aconnex.ini),Main,$+(n,$calc($1 - 1))) $+ :aconnex $readini($+($scriptdir,aconnex.ini),Main,$+(n,$calc($1 - 1)))
  • }
  • on *:START: {
  • var %i = 0, %servers
  • while ($readini($+($scriptdir,aconnex.ini),Main,$+(n,%i))) {
  • if ($readini($+($scriptdir,aconnex.ini),$ifmatch,aconnex) == on) {
  • var %servers = %servers $readini($+($scriptdir,aconnex.ini),Main,$+(n,%i))
  • }
  • inc %i
  • }
  • aconnex %servers
  • }
  • on *:DISCONNECT: {
  • if (%aconnex [ $+ [ $cid ] ]) {
  • var %Server = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Server)
  • var %Fullname = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Fullname)
  • var %Email = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Email)
  • var %pseudo = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Nick)
  • var %Alternative = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Alternative)
  • var %Firewall = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall)
  • var %Firewall-Type = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Type)
  • var %Firewall-Host = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Host)
  • var %Firewall-Port = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Port)
  • var %Firewall-User = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-User)
  • var %Firewall-Pass = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Pass)
  • if (%Server && %Firewall && %pseudo && %Alternative && %Email && %Fullname) {
  • if (%Firewall == on) .firewall -m $+ %Firewall-Type on %Firewall-Host %Firewall-Port %Firewall-User %Firewall-Pass
  • else .firewall off
  • server %Server -i %pseudo %Alternative %Email %Fullname
  • }
  • }
  • }
  • on *:CONNECT: {
  • if (%aconnex [ $+ [ $cid ] ]) {
  • var %i = 1
  • while ($readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-avantJoin $+ %i)) {
  • var %actionb = $iif(%actionb,%actionb $chr(124)) $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-avantJoin $+ %i)
  • inc %i
  • }
  • if (%actionb) {
  • alias action-avantJoin { %actionb }
  • action-avantJoin
  • alias action-avantJoin
  • }
  • $iif($readini($+($scriptdir,aconnex.ini),%aconnex [ $+ [ $cid ] ],Channels),join $ifmatch)
  • var %i = 1
  • while ($readini($+($scriptdir,aconnex.ini),%aconnex [ $+ [ $cid ] ],action-aprèsJoin $+ %i)) {
  • var %actiona = $iif(%actiona,%actiona $chr(124)) $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-aprèsJoin $+ %i)
  • inc %i
  • }
  • if (%actiona) {
  • alias action-aprèsJoin { %actiona }
  • action-aprèsJoin
  • alias action-aprèsJoin
  • }
  • }
  • }
  • on ^*:CLOSE:*: if (($target == Status Window) && (%aconnex [ $+ [ $cid ] ])) unset %aconnex [ $+ [ $cid ] ]
  • on *:EXIT: unset %aconnex*
  • alias aconnex {
  • if (!$1) dialog -m aconnex aconnex
  • else {
  • var %i = 1
  • while (%i <= $0) {
  • var %Server = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Server)
  • var %Fullname = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Fullname)
  • var %Email = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Email)
  • var %pseudo = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Nick)
  • var %Alternative = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Alternative)
  • var %Firewall = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall)
  • var %Firewall-Type = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Type)
  • var %Firewall-Host = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Host)
  • var %Firewall-Port = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Port)
  • var %Firewall-User = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-User)
  • var %Firewall-Pass = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Pass)
  • if (%Server && %Firewall && %pseudo && %Alternative && %Email && %Fullname) {
  • if (%Firewall == on) .firewall -m $+ %Firewall-Type on %Firewall-Host %Firewall-Port %Firewall-User %Firewall-Pass
  • else .firewall off
  • var %newWindow = $iif($status != disconnected,-m,$null)
  • server %newWindow %Server -i %pseudo %Alternative %Email %Fullname
  • set %aconnex [ $+ [ $iif(%newWindow,$scon($scon(0)).cid,$cid) ] ] $gettok($1-,%i,32)
  • }
  • inc %i
  • }
  • return
  • }
  • }
  • dialog -l aconnex {
  • title "Auto Connexion"
  • size -1 -1 165 165
  • option dbu
  • text "Selection", 1, 4 9 22 8
  • combo 2, 27 9 68 133, size edit vsbar drop
  • button "Ajout", 3, 96 8 20 10, disable
  • button "Efface", 4, 117 8 20 10, disable
  • button "Ordre", 5, 138 8 20 10
  • tab "Configuration", 6, 8 22 148 119
  • box "", 7, 16 39 135 98, tab 6
  • text "Network", 8, 21 48 38 8, tab 6 right
  • combo 9, 60 47 86 96, tab 6 size vsbar drop
  • text "Server", 10, 21 61 38 8, tab 6 right
  • combo 11, 60 60 86 83, tab 6 size vsbar drop
  • text "Nom complet", 12, 21 76 38 8, tab 6 right
  • edit $fullname, 13, 60 75 86 10, tab 6
  • text "E-mail", 14, 21 87 38 8, tab 6 right
  • edit $email, 15, 60 86 86 10, tab 6
  • text "Pseudo", 16, 21 101 38 8, tab 6 right
  • edit $mnick, 17, 60 100 60 10, tab 6
  • text "Alternative", 18, 21 112 38 8, tab 6 right
  • edit $anick, 19, 60 111 60 10, tab 6
  • check "Auto Connection à l'ouverture", 20, 21 124 84 10, tab 6
  • tab "Channel", 21
  • box "", 22, 16 39 135 98, tab 21
  • list 23, 21 47 116 74, tab 21 size vsbar
  • button "^", 24, 137 48 8 35, disable tab 21 flat
  • button "v", 25, 137 84 8 35, disable tab 21 flat
  • button "Ajout", 26, 21 121 41 10, tab 21
  • button "Editer", 27, 103 121 42 10, disable tab 21
  • button "Efface", 28, 62 121 41 10, disable tab 21
  • tab "Execution", 29
  • box "Avant de joindre", 30, 16 39 135 47, tab 29
  • edit "", 31, 21 47 125 34, tab 29 multi return autohs autovs hsbar vsbar
  • box "Après avoir join", 32, 16 90 135 47, tab 29
  • edit "", 33, 21 98 125 34, tab 29 multi return autohs autovs hsbar vsbar
  • tab "Firewall", 34
  • check "Firewall", 35, 16 40 49 10, tab 34
  • box "", 36, 16 52 135 85, tab 34
  • text "Protocol:", 37, 21 64 38 8, disable tab 34 right
  • combo 38, 60 63 50 50, disable tab 34 size drop
  • text "Hostname:", 39, 21 81 38 8, disable tab 34 right
  • edit "", 40, 60 80 50 10, disable tab 34
  • text "Port:", 41, 21 93 38 8, disable tab 34 right
  • edit "", 42, 60 92 30 10, disable tab 34
  • text "User ID:", 43, 21 108 38 8, disable tab 34 right
  • edit "", 44, 60 107 40 10, disable tab 34
  • text "Mot de passe", 45, 21 120 38 8, disable tab 34 right
  • edit "", 46, 60 120 40 10, disable tab 34
  • button "OK", 48, 79 147 37 12, ok
  • button "Annuler", 49, 120 147 37 12, cancel
  • list 50, 0 0 0 0, hide
  • }
  • dialog -l aconnex-Ordre {
  • title "Ordre"
  • size -1 -1 106 92
  • option dbu
  • list 1, 8 8 81 62, size vsbar
  • button "^", 2, 90 9 8 30, disable flat
  • button "v", 3, 90 39 8 30, disable flat
  • button "OK", 4, 9 74 89 10, ok
  • }
  • dialog -l aconnex-AddChan {
  • title "Ajout de channel"
  • size -1 -1 105 46
  • option dbu
  • text "Channel", 1, 8 9 29 8
  • edit "", 2, 37 8 60 10
  • text "Mot de passe", 3, 2 22 35 8
  • edit "", 4, 37 21 60 10
  • button "OK", 5, 8 34 88 10, ok
  • }
  • dialog -l aconnex-EditChan {
  • title "Edition de channel"
  • size -1 -1 105 46
  • option dbu
  • text "Channel", 1, 8 9 29 8
  • edit "", 2, 37 8 60 10
  • text "Mot de passe", 3, 2 22 35 8
  • edit "", 4, 37 21 60 10
  • button "OK", 5, 8 34 88 10, ok
  • }
  • alias -l aconnex:new.init {
  • did -a aconnex 3 Add
  • did $iif($did(2),-e,-b) aconnex 3
  • did -b aconnex 4,24,25,27,28,37,38,39,40,41,42,43,44,45,46
  • did -u aconnex 20,35,38
  • did -r aconnex 13,15,17,19,23,31,33,40,42,44,46
  • if ($did(9).seltext != All) {
  • did -r aconnex 11,50
  • var %server = 1
  • while (%server <= $server(0)) {
  • didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
  • inc %server
  • }
  • }
  • did -c aconnex 9,11,50 1
  • didtok aconnex 13,15,17,19 32 $fullname $email $mnick $anick
  • }
  • alias -l aconnex:load {
  • did -a aconnex 3 Save
  • did -e aconnex 3,4
  • var %i = 1, %actionb, %actiona
  • did -r aconnex 11,13,15,17,19,23,31,33,40,42,44,46,50
  • did -c aconnex 9 $didwm(9,$readini($+($scriptdir,aconnex.ini),n,$did(2),Network))
  • while (%i <= $server(0)) {
  • if (($readini($+($scriptdir,aconnex.ini),n,$did(2),Network) == $server(%i).group) || ($readini($+($scriptdir,aconnex.ini),n,$did(2),Network) == All)) {
  • did -a aconnex 11 $server(%i).desc
  • did -a aconnex 50 $server(%i) $server(%i).port
  • }
  • inc %i
  • }
  • did -c aconnex 11,50 $didwm(50,$readini($+($scriptdir,aconnex.ini),n,$did(2),Server))
  • didtok aconnex 13,15,17,19 32 $readini($+($scriptdir,aconnex.ini),n,$did(2),Fullname) $readini($+($scriptdir,aconnex.ini),n,$did(2),Email) $readini($+($scriptdir,aconnex.ini),n,$did(2),Nick) $readini($+($scriptdir,aconnex.ini),n,$did(2),Alternative)
  • did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),aconnex) == on,-c,-u) aconnex 20
  • var %i = 1
  • while ($gettok($gettok($readini($+($scriptdir,aconnex.ini),n,$did(2),Channels),1,32),%i,44)) {
  • did -a aconnex 23 $gettok($gettok($readini($+($scriptdir,aconnex.ini),n,$did(2),Channels),1,32),%i,44) $iif($gettok($gettok($readini($+($scriptdir,aconnex.ini),$did(2),Channels),2,32),%i,44) != nokey,$ifmatch)
  • inc %i
  • }
  • var %i = 1
  • while ($readini($+($scriptdir,aconnex.ini),n,$did(2),action-avantJoin $+ %i)) {
  • var %actionb = $iif(%actionb,%actionb $+ $crlf) $+ $readini($+($scriptdir,aconnex.ini),n,$did(2),action-avantJoin $+ %i)
  • inc %i
  • }
  • did -a aconnex 31 %actionb
  • var %i = 1
  • while ($readini($+($scriptdir,aconnex.ini),n,$did(2),action-aprèsJoin $+ %i)) {
  • var %actiona = $iif(%actiona,%actiona $+ $crlf) $+ $readini($+($scriptdir,aconnex.ini),n,$did(2),action-aprèsJoin $+ %i)
  • inc %i
  • }
  • did -a aconnex 33 %actiona
  • did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on,-c,-u) aconnex 35
  • did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on,-e,-b) aconnex 37,38,39,40,41,42,43,44,45,46
  • if ($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on) {
  • did -c aconnex 38 $replace($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Type),4,1,5,2,p,3)
  • didtok aconnex 40,42,44,46 32 $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Host) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Port) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-User) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Pass)
  • }
  • }
  • on *:DIALOG:aconnex:*:*: {
  • if $devent == init {
  • var %server = 1, %name = 0, %network
  • while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%name))) {
  • did -a aconnex 2 $ifmatch
  • inc %name
  • }
  • did -a aconnex 9 All
  • while (%server <= $server(0)) {
  • didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
  • if (!$didwm(9,$server(%server).group)) {
  • did -a aconnex 9 $server(%server).group
  • }
  • inc %server
  • }
  • did -c aconnex 9,11 1
  • didtok aconnex 38 32 Socks4 Socks5 Proxy
  • }
  • if $devent == edit {
  • if $did == 2 {
  • if ($len($did(2)) <= 1) {
  • aconnex:new.init
  • }
  • }
  • }
  • if $devent == sclick {
  • if $did == 2 {
  • aconnex:load
  • }
  • if $did == 4 {
  • var %name = 1, %i = 0
  • remini $+(",$scriptdir,aconnex.ini,") $did(2).seltext
  • while (%name <= $did(2).lines) {
  • if ($did(2,%name) != $did(2).seltext) {
  • writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,%i) $did(2,%name)
  • inc %i
  • }
  • inc %name
  • }
  • remini $+(",$scriptdir,aconnex.ini,") Main $+(n,%i)
  • did -d aconnex 2 $did(2).sel
  • did -d aconnex 2 0
  • aconnex:new.init
  • }
  • if $did == 5 {
  • dialog -m aconnex-Ordre aconnex-Ordre
  • }
  • if $did == 9 {
  • var %server = 1
  • did -r aconnex 11,50
  • while (%server <= $server(0)) {
  • if (($did(9) == $server(%server).group) || ($did(9) == All)) {
  • didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
  • }
  • inc %server
  • }
  • did -c aconnex 11 1
  • }
  • if $did == 23 {
  • did $iif($did(23).sel > 1,-e,-b) aconnex 24
  • did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
  • did $iif($did(23).sel,-e,-b) aconnex 27,28
  • }
  • if $did == 24 {
  • var %seltxt = $did(23).seltext, %selid = $did(23).sel, %uptxt = $did(23,$calc($did(23).sel - 1)), %upid = $calc($did(23).sel - 1)
  • did -o aconnex 23 %upid %seltxt
  • did -o aconnex 23 %selid %uptxt
  • did -c aconnex 23 %upid
  • did $iif($did(23).sel > 1,-e,-b) aconnex 24
  • did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
  • }
  • if $did == 25 {
  • var %seltxt = $did(23).seltext, %selid = $did(23).sel, %downtxt = $did(23,$calc($did(23).sel + 1)), %downid = $calc($did(23).sel + 1)
  • did -o aconnex 23 %downid %seltxt
  • did -o aconnex 23 %selid %downtxt
  • did -c aconnex 23 %downid
  • did $iif($did(23).sel > 1,-e,-b) aconnex 24
  • did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
  • }
  • if $did == 26 {
  • dialog -m aconnex-addchan aconnex-addchan
  • }
  • if $did == 27 {
  • if $did(23).sel {
  • dialog -m aconnex-editchan aconnex-editchan
  • }
  • }
  • if $did == 28 {
  • if $did(23).sel {
  • did -d aconnex 23 $did(23).sel
  • did -b aconnex 24,25
  • }
  • }
  • if $did == 35 {
  • did $iif($did(35).state,-e,-b) aconnex 37,38,39,40,41,42,43,44,45,46
  • }
  • if $did == 3,48 {
  • if ($did(2)) {
  • var %i = 0, %channels, %passes
  • if ($did(3) == Add) {
  • :start
  • if (Main == $did(2)) {
  • if ($?="Entrer un autre nom. $crlf $+ Mot non autoriser: Main") { did -o aconnex 2 0 $replace($ifmatch,$chr(32),$chr(160)) | goto start }
  • else halt
  • }
  • did -o aconnex 2 0 $replace($did(2),$chr(32),$chr(160))
  • while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%i))) inc %i
  • writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,%i) $did(2)
  • didtok aconnex 2,3 32 $did(2) Save
  • did -c aconnex 2 $calc(%i + 1)
  • did -e aconnex 4
  • }
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Network $did(9)
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Server $did(50,$did(11).sel)
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Fullname $did(13)
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Email $did(15)
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Nick $did(17)
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Alternative $did(19)
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) aconnex $iif($did(20).state,on,off)
  • var %chan = 1
  • while (%chan <= $did(23).lines) {
  • var %channels = $iif(%channels != $null,$+(%channels,$chr(44))) $+ $gettok($did(23,%chan),1,32)
  • var %passes = $iif(%passes != $null,$+(%passes,$chr(44))) $+ $iif($gettok($did(23,%chan),2,32),$ifmatch,nokey)
  • inc %chan
  • }
  • if (%channels) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Channels %channels %passes
  • else remini $+(",$scriptdir,aconnex.ini,") $did(2) Channels
  • var %i = 1, %j = 1
  • while (%i <= $did(31).lines) {
  • if ($did(31,%i)) {
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) action-avantJoin $+ %j $did(31,%i)
  • inc %j
  • }
  • inc %i
  • }
  • while ($readini($+($scriptdir,aconnex.ini),$did(2),action-avantJoin $+ %j)) {
  • remini $+(",$scriptdir,aconnex.ini,") $did(2) action-avantJoin $+ %j
  • inc %j
  • }
  • var %i = 1, %j = 1
  • while (%i <= $did(33).lines) {
  • if ($did(33,%i)) {
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) action-aprèsJoin $+ %j $did(33,%i)
  • inc %j
  • }
  • inc %i
  • }
  • while ($readini($+($scriptdir,aconnex.ini),$did(2),action-aprèsJoin $+ %j)) {
  • remini $+(",$scriptdir,aconnex.ini,") $did(2) action-aprèsJoin $+ %j
  • inc %j
  • }
  • writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall $iif($did(35).state,on,off)
  • if ($did(38)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Type $replace($did(38),Socks4,4,Socks5,5,Proxy,p)
  • if ($did(40)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Host $did(40)
  • if ($did(42)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Port $did(42)
  • if ($did(44)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-User $did(44)
  • if ($did(46)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Pass $did(46)
  • if ($did == 3) aconnex:load
  • flushini $+(",$scriptdir,aconnex.ini,")
  • }
  • }
  • }
  • if $devent == dclick {
  • if $did == 23 {
  • dialog -m aconnex-editchan aconnex-editchan
  • }
  • }
  • }
  • on *:DIALOG:aconnex-Ordre:*:*: {
  • if $devent == init {
  • var %i = 0
  • while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%i))) {
  • did -a aconnex-Ordre 1 $ifmatch
  • inc %i
  • }
  • }
  • if $devent == sclick {
  • if $did == 1 {
  • did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2
  • did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
  • }
  • if $did == 2 {
  • var %seltxt = $did(1).seltext, %selid = $did(1).sel, %uptxt = $did(1,$calc($did(1).sel - 1)), %upid = $calc($did(1).sel - 1)
  • did -o aconnex-Ordre 1 %upid %seltxt
  • did -o aconnex-Ordre 1 %selid %uptxt
  • did -c aconnex-Ordre 1 %upid
  • did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2
  • did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
  • }
  • if $did == 3 {
  • var %seltxt = $did(1).seltext, %selid = $did(1).sel, %downtxt = $did(1,$calc($did(1).sel + 1)), %downid = $calc($did(1).sel + 1)
  • did -o aconnex-Ordre 1 %downid %seltxt
  • did -o aconnex-Ordre 1 %selid %downtxt
  • did -c aconnex-Ordre 1 %downid
  • did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2
  • did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
  • }
  • if $did == 4 {
  • var %i = 1
  • did -r aconnex 2
  • while (%i <= $did(1).lines) {
  • writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,$calc(%i - 1)) $did(1,%i)
  • did -a aconnex 2 $did(1,%i)
  • inc %i
  • }
  • }
  • }
  • }
  • on *:DIALOG:aconnex-AddChan:*:*: {
  • if $devent == sclick {
  • if $did == 5 {
  • if ($did(2)) did -a aconnex 23 $did(2) $did(4)
  • did $iif($did(aconnex,23).sel < $did(aconnex,23).lines,-e,-b) aconnex 25
  • }
  • }
  • }
  • on *:DIALOG:aconnex-EditChan:init:0: {
  • if $devent == init {
  • dialog -t aconnex-EditChan Edit Channel
  • did -a aconnex-EditChan 2 $gettok($did(aconnex,23).seltext,1,32)
  • did -a aconnex-EditChan 4 $gettok($did(aconnex,23).seltext,2,32)
  • }
  • if $devent == sclick {
  • if $did == 5 {
  • if ($did(2)) did -o aconnex 23 $did(aconnex,23).sel $did(2) $did(4)
  • }
  • }
  • }
menu menubar,status {
  aconnex
  .Configuration:aconnex
  .$submenu($aconnex.menu($1))
}
alias -l aconnex.menu {
  if ($1 == begin) return -
  if ($1 isnum) return $readini($+($scriptdir,aconnex.ini),Main,$+(n,$calc($1 - 1))) $+ :aconnex $readini($+($scriptdir,aconnex.ini),Main,$+(n,$calc($1 - 1)))
}
on *:START: {
  var %i = 0, %servers
  while ($readini($+($scriptdir,aconnex.ini),Main,$+(n,%i))) {
    if ($readini($+($scriptdir,aconnex.ini),$ifmatch,aconnex) == on) {
      var %servers = %servers $readini($+($scriptdir,aconnex.ini),Main,$+(n,%i))
    }
    inc %i
  }
  aconnex %servers
}
on *:DISCONNECT: {
  if (%aconnex [ $+ [ $cid ] ]) {
    var %Server = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Server)
    var %Fullname = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Fullname)
    var %Email = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Email)
    var %pseudo = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Nick)
    var %Alternative = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Alternative)
    var %Firewall = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall)
    var %Firewall-Type = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Type)
    var %Firewall-Host = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Host)
    var %Firewall-Port = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Port)
    var %Firewall-User = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-User)
    var %Firewall-Pass = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Pass)
    if (%Server && %Firewall && %pseudo && %Alternative && %Email && %Fullname) {
      if (%Firewall == on) .firewall -m $+ %Firewall-Type on %Firewall-Host %Firewall-Port %Firewall-User %Firewall-Pass
      else .firewall off
      server %Server -i %pseudo %Alternative %Email %Fullname
    }
  }
}
on *:CONNECT: {
  if (%aconnex [ $+ [ $cid ] ]) {
    var %i = 1
    while ($readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-avantJoin $+ %i)) {
      var %actionb = $iif(%actionb,%actionb $chr(124)) $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-avantJoin $+ %i)
      inc %i
    }
    if (%actionb) {
      alias action-avantJoin { %actionb }
      action-avantJoin
      alias action-avantJoin
    }
    $iif($readini($+($scriptdir,aconnex.ini),%aconnex [ $+ [ $cid ] ],Channels),join $ifmatch)
    var %i = 1
    while ($readini($+($scriptdir,aconnex.ini),%aconnex [ $+ [ $cid ] ],action-aprèsJoin $+ %i)) {
      var %actiona = $iif(%actiona,%actiona $chr(124)) $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-aprèsJoin $+ %i)
      inc %i
    }
    if (%actiona) {
      alias action-aprèsJoin { %actiona }
      action-aprèsJoin
      alias action-aprèsJoin
    }
  }
}
on ^*:CLOSE:*: if (($target == Status Window) && (%aconnex [ $+ [ $cid ] ])) unset %aconnex [ $+ [ $cid ] ]
on *:EXIT: unset %aconnex*
alias aconnex {
  if (!$1) dialog -m aconnex aconnex
  else {
    var %i = 1
    while (%i <= $0) {
      var %Server = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Server)
      var %Fullname = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Fullname)
      var %Email = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Email)
      var %pseudo = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Nick)
      var %Alternative = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Alternative)
      var %Firewall = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall)
      var %Firewall-Type = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Type)
      var %Firewall-Host = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Host)
      var %Firewall-Port = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Port)
      var %Firewall-User = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-User)
      var %Firewall-Pass = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Pass)
      if (%Server && %Firewall && %pseudo && %Alternative && %Email && %Fullname) {
        if (%Firewall == on) .firewall -m $+ %Firewall-Type on %Firewall-Host %Firewall-Port %Firewall-User %Firewall-Pass
        else .firewall off
        var %newWindow = $iif($status != disconnected,-m,$null)
        server %newWindow %Server -i %pseudo %Alternative %Email %Fullname
        set %aconnex [ $+ [ $iif(%newWindow,$scon($scon(0)).cid,$cid) ] ] $gettok($1-,%i,32)
      }
      inc %i
    }
    return
  }
}
dialog -l aconnex {
  title "Auto Connexion"
  size -1 -1 165 165
  option dbu
  text "Selection", 1, 4 9 22 8
  combo 2, 27 9 68 133, size edit vsbar drop
  button "Ajout", 3, 96 8 20 10, disable
  button "Efface", 4, 117 8 20 10, disable
  button "Ordre", 5, 138 8 20 10
  tab "Configuration", 6, 8 22 148 119
  box "", 7, 16 39 135 98, tab 6
  text "Network", 8, 21 48 38 8, tab 6 right
  combo 9, 60 47 86 96, tab 6 size vsbar drop
  text "Server", 10, 21 61 38 8, tab 6 right
  combo 11, 60 60 86 83, tab 6 size vsbar drop
  text "Nom complet", 12, 21 76 38 8, tab 6 right
  edit $fullname, 13, 60 75 86 10, tab 6
  text "E-mail", 14, 21 87 38 8, tab 6 right
  edit $email, 15, 60 86 86 10, tab 6
  text "Pseudo", 16, 21 101 38 8, tab 6 right
  edit $mnick, 17, 60 100 60 10, tab 6
  text "Alternative", 18, 21 112 38 8, tab 6 right
  edit $anick, 19, 60 111 60 10, tab 6
  check "Auto Connection à l'ouverture", 20, 21 124 84 10, tab 6
  tab "Channel", 21
  box "", 22, 16 39 135 98, tab 21
  list 23, 21 47 116 74, tab 21 size vsbar
  button "^", 24, 137 48 8 35, disable tab 21 flat
  button "v", 25, 137 84 8 35, disable tab 21 flat
  button "Ajout", 26, 21 121 41 10, tab 21
  button "Editer", 27, 103 121 42 10, disable tab 21
  button "Efface", 28, 62 121 41 10, disable tab 21
  tab "Execution", 29
  box "Avant de joindre", 30, 16 39 135 47, tab 29
  edit "", 31, 21 47 125 34, tab 29 multi return autohs autovs hsbar vsbar
  box "Après avoir join", 32, 16 90 135 47, tab 29
  edit "", 33, 21 98 125 34, tab 29 multi return autohs autovs hsbar vsbar
  tab "Firewall", 34
  check "Firewall", 35, 16 40 49 10, tab 34
  box "", 36, 16 52 135 85, tab 34
  text "Protocol:", 37, 21 64 38 8, disable tab 34 right
  combo 38, 60 63 50 50, disable tab 34 size drop
  text "Hostname:", 39, 21 81 38 8, disable tab 34 right
  edit "", 40, 60 80 50 10, disable tab 34
  text "Port:", 41, 21 93 38 8, disable tab 34 right
  edit "", 42, 60 92 30 10, disable tab 34
  text "User ID:", 43, 21 108 38 8, disable tab 34 right
  edit "", 44, 60 107 40 10, disable tab 34
  text "Mot de passe", 45, 21 120 38 8, disable tab 34 right
  edit "", 46, 60 120 40 10, disable tab 34
  button "OK", 48, 79 147 37 12, ok
  button "Annuler", 49, 120 147 37 12, cancel
  list 50, 0 0 0 0, hide
}
dialog -l aconnex-Ordre {
  title "Ordre"
  size -1 -1 106 92
  option dbu
  list 1, 8 8 81 62, size vsbar
  button "^", 2, 90 9 8 30, disable flat
  button "v", 3, 90 39 8 30, disable flat
  button "OK", 4, 9 74 89 10, ok
}
dialog -l aconnex-AddChan {
  title "Ajout de channel"
  size -1 -1 105 46
  option dbu
  text "Channel", 1, 8 9 29 8
  edit "", 2, 37 8 60 10
  text "Mot de passe", 3, 2 22 35 8
  edit "", 4, 37 21 60 10
  button "OK", 5, 8 34 88 10, ok
}
dialog -l aconnex-EditChan {
  title "Edition de channel"
  size -1 -1 105 46
  option dbu
  text "Channel", 1, 8 9 29 8
  edit "", 2, 37 8 60 10
  text "Mot de passe", 3, 2 22 35 8
  edit "", 4, 37 21 60 10
  button "OK", 5, 8 34 88 10, ok
}
alias -l aconnex:new.init {
  did -a aconnex 3 Add
  did $iif($did(2),-e,-b) aconnex 3
  did -b aconnex 4,24,25,27,28,37,38,39,40,41,42,43,44,45,46
  did -u aconnex 20,35,38
  did -r aconnex 13,15,17,19,23,31,33,40,42,44,46
  if ($did(9).seltext != All) {
    did -r aconnex 11,50
    var %server = 1
    while (%server <= $server(0)) {
      didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
      inc %server
    }
  }
  did -c aconnex 9,11,50 1
  didtok aconnex 13,15,17,19 32 $fullname $email $mnick $anick
}

alias -l aconnex:load {
  did -a aconnex 3 Save
  did -e aconnex 3,4
  var %i = 1, %actionb, %actiona
  did -r aconnex 11,13,15,17,19,23,31,33,40,42,44,46,50
  did -c aconnex 9 $didwm(9,$readini($+($scriptdir,aconnex.ini),n,$did(2),Network))
  while (%i <= $server(0)) {
    if (($readini($+($scriptdir,aconnex.ini),n,$did(2),Network) == $server(%i).group) || ($readini($+($scriptdir,aconnex.ini),n,$did(2),Network) == All)) {
      did -a aconnex 11 $server(%i).desc
      did -a aconnex 50 $server(%i) $server(%i).port
    }
    inc %i
  }
  did -c aconnex 11,50 $didwm(50,$readini($+($scriptdir,aconnex.ini),n,$did(2),Server))
  didtok aconnex 13,15,17,19 32 $readini($+($scriptdir,aconnex.ini),n,$did(2),Fullname) $readini($+($scriptdir,aconnex.ini),n,$did(2),Email) $readini($+($scriptdir,aconnex.ini),n,$did(2),Nick) $readini($+($scriptdir,aconnex.ini),n,$did(2),Alternative)
  did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),aconnex) == on,-c,-u) aconnex 20
  var %i = 1
  while ($gettok($gettok($readini($+($scriptdir,aconnex.ini),n,$did(2),Channels),1,32),%i,44)) {
    did -a aconnex 23 $gettok($gettok($readini($+($scriptdir,aconnex.ini),n,$did(2),Channels),1,32),%i,44) $iif($gettok($gettok($readini($+($scriptdir,aconnex.ini),$did(2),Channels),2,32),%i,44) != nokey,$ifmatch)
    inc %i
  }
  var %i = 1
  while ($readini($+($scriptdir,aconnex.ini),n,$did(2),action-avantJoin $+ %i)) {
    var %actionb = $iif(%actionb,%actionb $+ $crlf) $+ $readini($+($scriptdir,aconnex.ini),n,$did(2),action-avantJoin $+ %i)
    inc %i
  }
  did -a aconnex 31 %actionb
  var %i = 1
  while ($readini($+($scriptdir,aconnex.ini),n,$did(2),action-aprèsJoin $+ %i)) {
    var %actiona = $iif(%actiona,%actiona $+ $crlf) $+ $readini($+($scriptdir,aconnex.ini),n,$did(2),action-aprèsJoin $+ %i)
    inc %i
  }
  did -a aconnex 33 %actiona
  did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on,-c,-u) aconnex 35
  did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on,-e,-b) aconnex 37,38,39,40,41,42,43,44,45,46
  if ($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on) {
    did -c aconnex 38 $replace($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Type),4,1,5,2,p,3)
    didtok aconnex 40,42,44,46 32 $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Host) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Port) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-User) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Pass)

  }
}


on *:DIALOG:aconnex:*:*: {
  if $devent == init {
    var %server = 1, %name = 0, %network
    while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%name))) {
      did -a aconnex 2 $ifmatch
      inc %name
    }
    did -a aconnex 9 All
    while (%server <= $server(0)) {
      didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
      if (!$didwm(9,$server(%server).group)) {
        did -a aconnex 9 $server(%server).group
      }
      inc %server
    }
    did -c aconnex 9,11 1
    didtok aconnex 38 32 Socks4 Socks5 Proxy
  }
  if $devent == edit {
    if $did == 2 {
      if ($len($did(2)) <= 1) {
        aconnex:new.init
      }
    }
  }
  if $devent == sclick {
    if $did == 2 {
      aconnex:load
    }
    if $did == 4 {
      var %name = 1, %i = 0
      remini $+(",$scriptdir,aconnex.ini,") $did(2).seltext
      while (%name <= $did(2).lines) {
        if ($did(2,%name) != $did(2).seltext) {
          writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,%i) $did(2,%name)
          inc %i
        }
        inc %name
      }
      remini $+(",$scriptdir,aconnex.ini,") Main $+(n,%i)
      did -d aconnex 2 $did(2).sel
      did -d aconnex 2 0
      aconnex:new.init
    }
    if $did == 5 {
      dialog -m aconnex-Ordre aconnex-Ordre
    }
    if $did == 9 {
      var %server = 1
      did -r aconnex 11,50
      while (%server <= $server(0)) {
        if (($did(9) == $server(%server).group) || ($did(9) == All)) {
          didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
        }
        inc %server
      }
      did -c aconnex 11 1
    }
    if $did == 23 {
      did $iif($did(23).sel > 1,-e,-b) aconnex 24
      did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
      did $iif($did(23).sel,-e,-b) aconnex 27,28
    }
    if $did == 24 {
      var %seltxt = $did(23).seltext, %selid = $did(23).sel, %uptxt = $did(23,$calc($did(23).sel - 1)), %upid = $calc($did(23).sel - 1)
      did -o aconnex 23 %upid %seltxt
      did -o aconnex 23 %selid %uptxt
      did -c aconnex 23 %upid
      did $iif($did(23).sel > 1,-e,-b) aconnex 24
      did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
    }
    if $did == 25 {
      var %seltxt = $did(23).seltext, %selid = $did(23).sel, %downtxt = $did(23,$calc($did(23).sel + 1)), %downid = $calc($did(23).sel + 1)
      did -o aconnex 23 %downid %seltxt
      did -o aconnex 23 %selid %downtxt
      did -c aconnex 23 %downid
      did $iif($did(23).sel > 1,-e,-b) aconnex 24
      did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
    }
    if $did == 26 {
      dialog -m aconnex-addchan aconnex-addchan
    }
    if $did == 27 {
      if $did(23).sel {
        dialog -m aconnex-editchan aconnex-editchan
      }
    }
    if $did == 28 {
      if $did(23).sel {
        did -d aconnex 23 $did(23).sel 
        did -b aconnex 24,25
      }
    }
    if $did == 35 {
      did $iif($did(35).state,-e,-b) aconnex 37,38,39,40,41,42,43,44,45,46
    }
    if $did == 3,48 {
      if ($did(2)) {
        var %i = 0, %channels, %passes
        if ($did(3) == Add) {
          :start
          if (Main == $did(2)) {
            if ($?="Entrer un autre nom. $crlf $+ Mot non autoriser: Main") { did -o aconnex 2 0 $replace($ifmatch,$chr(32),$chr(160)) | goto start }
            else halt
          }
          did -o aconnex 2 0 $replace($did(2),$chr(32),$chr(160))
          while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%i))) inc %i
          writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,%i) $did(2)
          didtok aconnex 2,3 32 $did(2) Save
          did -c aconnex 2 $calc(%i + 1)
          did -e aconnex 4
        }
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Network $did(9)
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Server $did(50,$did(11).sel)
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Fullname $did(13)
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Email $did(15)
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Nick $did(17)
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Alternative $did(19)
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) aconnex $iif($did(20).state,on,off)
        var %chan = 1
        while (%chan <= $did(23).lines) {
          var %channels = $iif(%channels != $null,$+(%channels,$chr(44))) $+ $gettok($did(23,%chan),1,32)
          var %passes = $iif(%passes != $null,$+(%passes,$chr(44))) $+ $iif($gettok($did(23,%chan),2,32),$ifmatch,nokey)
          inc %chan
        }
        if (%channels) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Channels %channels %passes
        else remini $+(",$scriptdir,aconnex.ini,") $did(2) Channels
        var %i = 1, %j = 1
        while (%i <= $did(31).lines) {
          if ($did(31,%i)) {
            writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) action-avantJoin $+ %j $did(31,%i)
            inc %j
          }
          inc %i
        }
        while ($readini($+($scriptdir,aconnex.ini),$did(2),action-avantJoin $+ %j)) {
          remini $+(",$scriptdir,aconnex.ini,") $did(2) action-avantJoin $+ %j
          inc %j
        }
        var %i = 1, %j = 1
        while (%i <= $did(33).lines) {
          if ($did(33,%i)) {
            writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) action-aprèsJoin $+ %j $did(33,%i)
            inc %j
          }
          inc %i
        }
        while ($readini($+($scriptdir,aconnex.ini),$did(2),action-aprèsJoin $+ %j)) {
          remini $+(",$scriptdir,aconnex.ini,") $did(2) action-aprèsJoin $+ %j
          inc %j
        }
        writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall $iif($did(35).state,on,off)
        if ($did(38)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Type $replace($did(38),Socks4,4,Socks5,5,Proxy,p)
        if ($did(40)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Host $did(40)
        if ($did(42)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Port $did(42)
        if ($did(44)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-User $did(44)
        if ($did(46)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Pass $did(46)
        if ($did == 3) aconnex:load
        flushini $+(",$scriptdir,aconnex.ini,")
      }
    }
  }
  if $devent == dclick {
    if $did == 23 {
      dialog -m aconnex-editchan aconnex-editchan
    }
  }
}
on *:DIALOG:aconnex-Ordre:*:*: {
  if $devent == init {
    var %i = 0
    while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%i))) {
      did -a aconnex-Ordre 1 $ifmatch
      inc %i
    }
  }
  if $devent == sclick {
    if $did == 1 {
      did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2 
      did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
    }
    if $did == 2 {
      var %seltxt = $did(1).seltext, %selid =  $did(1).sel, %uptxt = $did(1,$calc($did(1).sel - 1)), %upid = $calc($did(1).sel - 1)
      did -o aconnex-Ordre 1 %upid %seltxt 
      did -o aconnex-Ordre 1 %selid %uptxt 
      did -c aconnex-Ordre 1 %upid
      did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2 
      did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
    }
    if $did == 3 {
      var %seltxt = $did(1).seltext, %selid =  $did(1).sel, %downtxt = $did(1,$calc($did(1).sel + 1)), %downid = $calc($did(1).sel + 1)
      did -o aconnex-Ordre 1 %downid %seltxt 
      did -o aconnex-Ordre 1 %selid %downtxt 
      did -c aconnex-Ordre 1 %downid
      did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2 
      did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
    }
    if $did == 4 {
      var %i = 1
      did -r aconnex 2
      while (%i <= $did(1).lines) {
        writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,$calc(%i - 1)) $did(1,%i)
        did -a aconnex 2 $did(1,%i)
        inc %i
      }
    }
  }
}
on *:DIALOG:aconnex-AddChan:*:*: {
  if $devent == sclick {
    if $did == 5 {
      if ($did(2)) did -a aconnex 23 $did(2) $did(4) 
      did $iif($did(aconnex,23).sel < $did(aconnex,23).lines,-e,-b) aconnex 25
    }
  }
}
on *:DIALOG:aconnex-EditChan:init:0: {
  if $devent == init {
    dialog -t aconnex-EditChan Edit Channel 
    did -a aconnex-EditChan 2 $gettok($did(aconnex,23).seltext,1,32) 
    did -a aconnex-EditChan 4 $gettok($did(aconnex,23).seltext,2,32) 
  }
  if $devent == sclick {
    if $did == 5 {
      if ($did(2)) did -o aconnex 23 $did(aconnex,23).sel $did(2) $did(4)
    }
  }
}

Conclusion

Enjoy =D pas de bug répértoriés. j'attends vos commentaires sur la sources pour l'améliorer et l'optimiser
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

14 juin 2007 08:34:45 :
petite mise a jour
29 juin 2007 16:57:47 :
correction d'une multitude de gros bug, amélioration visuelle, ajout d'un screenshot.
29 juin 2007 17:15:16 :
ajout du zip pour Lebaronrouge ;)
01 janvier 2009 17:47:08 :
diverse optimisation optimisation des on dialog insertion des didtok correction de certain bug mise a jour du .zip

Commentaires et avis

signaler à un administrateur
Commentaire de Alain Proviste le 12/06/2007 07:09:37 administrateur CS

personnellement je suis incapable de dire si c'est bien codé ou non car ce n'est pas mon langage de prédilection, mais ce que je peux dire c'est que ça va vraiment bien me servir.

signaler à un administrateur
Commentaire de doob666 le 12/06/2007 07:36:50

alors heureux que ça te serve. et si tu relève des bugs (on sait jamais...) merci de me prévenir =)

signaler à un administrateur
Commentaire de ZeroOo le 12/06/2007 16:50:25

Yep,

Bon, c'est une source comme celle-là sera toujours utile, mais niveau codage c'est pas trop ça. Quelques trucs que tu peux modifier :

- Les var en cascade, tu changes et tu fais var %a = blabla, %b = blabla, %c = etc.
- tes événements dans le on *:dialog, tu peux utiliser les if ($devent == init), if ($devent == sclick), etc.
- Lorsque tu fais les "did -a $dname 4 $fullname" ça ne sert à rien. Laisse uniquement le "edit $fullname, 11, 42 57 60 10" (le fullname va se mettre directement dans l'édit).
- Les nombreux "did -a" peuvent être amélioré.
- Les /write en cascade aussi, c'est pas génial, pense au file handling (jete un oeil à l'aide).
- Les fautes d'orthographe sont trop nombreuses et un petit screen aurait été sympa.

Voilà, bonne continuation !

signaler à un administrateur
Commentaire de doob666 le 12/06/2007 20:17:38

ok pour les var, les on dialog et le fullname.

pour les "did -a" je les améliores comment??
j'irais faire un tour dans l'aide pour le file handling
désolé pour les fautes d'orthographe. je ferais de mon mieu pour améliorer ça.

je m'y met dès demain, si tu pouvais me répondre ça serait sympa comme ça je le fait tout d'un trait.

signaler à un administrateur
Commentaire de wims le 12/06/2007 22:45:47

Moi j'ai du mal a comprendre un truc, tu sors ça :
http://www.ircfr.com/codes/AUTO-JOIN-MULTI-SERVEUR-HASH-TABLE_43039.aspx
Je finis par te dire que le refaire entierement configurable serait mieux, tu me dis oui, mais que tu n'a pas trop le temps, et là tu sors ça, sois disant qui date depuis longtemps, non non, ça colle pas.

En plus il manque des alias, et c'est super mal codé, tu ne dis même pas comment marche ton addon, je l'ai essayé, j'ai rien compris.

signaler à un administrateur
Commentaire de doob666 le 13/06/2007 05:38:04

alors wims : http://www.ircfr.com/codes/AUTO-JOIN-MULTI-SERVEUR-HASH-TABLE_43039.aspx <= ça ça va faire 2 mois que je suis dessus et faut tout que je refasse (donc ça prend un peu de temps quand même ) . cette source ça fait 6 mois que je l'ai, je n'ai fait qu'améliorer le dialog ( 10 min grand maximum). C'est mal codé, oui peut-être, on démarrait dans le scripting et on demandait un peu à tous le monde comment faire telle ou telle truc mais bon elle marche. Pour le fonctionnement :
on enregistre nos server dans "selection"
"effacer" permet de l'effacer
"sauver" parmet une fois la config finis de sauvez les paramètres
"ordre" permet de définir l'ordre de connexion
on ajoute des salons en auto join avec "ajouter" (en dessous de la liste)
"editer" sert à modifier le chan
"effacer" ai je besoin de l'expliquer...
bon pour l'autre cotés
Network : on laisse All
Server : on a sa liste de server enregistrer
fullname, email, Pseudo et Alternatif sont des configuration de base necessaire a se logger, on peut les changer selon le server .
firwall maintenant : à n'utiliser que si on est derrière un pare feu (hum ça fait bateau mais bon...)
tous les edit à remplir sont connu de ceux qui utilise les firewall donc je n'ai pas besoin de les expliquer.

Encore pour toi Wims, je sort cette source uniquement pour l'améliorer j'aurais tout mon temps cet été, je prend note de tout ce que les gens comme ZeroOo me disent, je la modifierais cet été, tout comme l'auto-join en HT. De plus si tu as fait attention j'ai aussi modifier ma première source, je n'ai refait que le dialog (comme j'ai fait ici) mais les conseil que tu m'as donné sont pris en compte et je la ressortirais elle aussi en été avec tout tes conseils =). Voila j'éspère t'avoir aider sur le fonctionnement de la source. (et désolé pour le pavé :x)

signaler à un administrateur
Commentaire de lebaronrouge le 13/06/2007 12:22:48

Et un petit zip et ce sera tout bon merci

signaler à un administrateur
Commentaire de wims le 13/06/2007 15:11:46

Ok non mais cette source ressemble plus a ce que je voulais que tu fasse sur l'ancienne donc oublie l'ancienne et travaille plutot sur celle là j'pense.Dans ton dialog, tu peux utilise $me et $anick pour retourné le Nickname et Alternative comme valeur par défaut, je vais regardé plus en détails le code...

signaler à un administrateur
Commentaire de wims le 13/06/2007 15:40:36

Quand je click sur editer pour un salon, j'ai /dialog invalid parameter, la commande associé est : /dialog aconnex-EditChan aconnex-EditChan, il manque un -m je pense mais de toute facon cette table de dialog n'existe pas et pourtant tu code quand même les event ( en fait tu les a codé en fonction de la table "chan je crois ) donc  faut revoir ça

Une autre chose : les bouton sont souvent trop petit et n'affiche pas tout le texte entierement, essaye de les faire plus grand

Quand je fait sauver, je n'ai pas mon server dans la liste des server

dans la table du dialog :

  edit $mPseudo, 15, 42 83 60 10
  text "Alternatif:", 16, 12 97 29 8
  edit $aPseudo, 17, 42 96 60 10

$mpseudo et $apseudo ne sont pas des alias définis ( il corresponde a $anick et $me )

le bouton Ajouter (pour les salons) est clikable même si aucun server n'est rentré
idem pour le bouton Ordre, qui est clickable alors que le dialog me dis que j'ai aucun server de configuré

pas mal de chose a revoir :]

signaler à un administrateur
Commentaire de ZeroOo le 13/06/2007 18:50:17

Yop,

Pour les did -a à améliorer, j'ai pensé à faire une var pour stocker les données et une while pour  lister les données et les afficher dans les item. Après, c'est une technique comme une autre.

signaler à un administrateur
Commentaire de wims le 13/06/2007 19:24:35

On peut utiliser /did -a pour ajouter un truc dans plusieur id :
/did -a $dname 1,2,50,94,1006 Ga
;ajoutera Ga dans les id 1 2 50 94 et 1006
/did -a $dname 1-20,30-60 GA
;ajoutera GA dans les id de 1 a 20 et dans les id de 30 a 60


On peut aussi ajouter plusieur texte dans plusieur id
/didtok $dname 1,3,5,6 32 GA is GA
;ajoutera Ga dans les edit 1 3 5 et 6
;ajoutera ensuite is dans les edit ...
;et encore une fois Ga dans ces même edit
;32 represente le caractere ascii de l'espace

signaler à un administrateur
Commentaire de doob666 le 14/06/2007 08:24:07

did -a aconnex 9,42 $server(%server).desc,$server(%server) $server(%server).port <<<< comme ça ça marcherait? base :
"did -a aconnex 9 $server(%server).desc
did -a aconnex 42 $server(%server) $server(%server).port "
j'ai remplacé$mpseudo et $apseudo
j'ai regroupé mes event du dialog
les var ont été améliorer.

j'attend pour la réponse pour les did -a et je vois ce qui va pas.

signaler à un administrateur
Commentaire de lebaronrouge le 14/06/2007 12:14:49

Et moi j'attends toujour le zip pour tester ce code....merciiiiiiiiii ^^'

signaler à un administrateur
Commentaire de doob666 le 14/06/2007 14:09:47

mdr dsl je n'ai pas de zipeur :x prend le sur l'espace code  c'est le même =) (copié/collé)

signaler à un administrateur
Commentaire de wims le 14/06/2007 20:03:33

Non did -a ajoute du texte et /didtok ajoute du texte en tokenizant celui ci :

/didtok $dname id,id1 32 $server(%server).desc $server(%server) $server(%server).port

signaler à un administrateur
Commentaire de TropNul le 15/06/2007 11:21:11

ou alors c'est du aux orages. un éclair s'abbatant non loin de chez toi aurait peut-être produit une légère surtension. en se basant sur la théorie du chaos, on peut donc en conclure qu'après une réaction en chaîne, ton doigt ait cliqué plusieurs fois à cause de cet éclair. mais l'hypothèse qui stipule qu'un dysfonctionnement de la souris en rapport à l'éclair peut aussi être retenue.

(humour quand tu nous tiens :o))

signaler à un administrateur
Commentaire de lebaronrouge le 16/06/2007 17:32:47

Non merci le c/c je me retrouve avec un code ou chaque ligne est numérotées et je ne me vois pas retier pres de 350 chiffre un à un ligne par ligne....

signaler à un administrateur
Commentaire de lebaronrouge le 21/06/2007 17:10:55

toujours pas de zip? la version finale alors peut être?.............

signaler à un administrateur
Commentaire de rawte le 21/06/2007 21:57:18

salut !

Ton script a l'air super, il me tente beaucoup car j'utilise actuellement celui-ci : http://www.ircfr.com/code.aspx?ID=14371 mais l'ordre de connexion des serveurs est franchement merdique. De plus on ne peut éditer, bref c'est vraiment moyen.

Tout ce que je demande, c'est de pouvoir choisir 3-4 serveurs qui se connectent automatiquement au démarrage, et surtout l'ordre dans lequel il se connectent. Mon perform fait le reste.

Malheureusement, il y a un petit bug.
J'ai prix un exe de mirc 6.2 et je l'ai lancé tout seul, donc vraiment une config par défaut.
Regarde ce screenshot : http://i9.tinypic.com/63sj1oj.png Le bouton 'ajouter' à côté de 'Sélection' n'est pas cliquable, ce qui fait que je ne peux ajouter de serveur, pour ensuite choisir l'ordre.

J'ai fait quelque chose de mal où c'est un bug que tu vas très vite corriger ?

D'avance merci.

Extasy (oui c'était déjà pris, Exta aussi, et Ext aussi, alors j'ai tapé nimp :p)

signaler à un administrateur
Commentaire de doob666 le 22/06/2007 10:18:20

Bon pour répondre à lebaronrouge . pour l'instant le zip c'est pas encore, je viens de m'apercevoir d'une multitude de petit bug. Je suis en train de tout le rescripter, changer certain éléments du code, réorganiser le dialog, etc etc. Mais bon en ce moment je bosse 9h par jour donc quand je rentre j'ai pas trop envie de scripter, ce qui répond en même temps à rawte, oui je vais corriger tout les bugs existant mais je ne sais pas si je pourrais le faire très rapidement, je fais tout ce que je peux.

De plus ça => writeini -n $+($scriptdir,aconnex.ini) $did(2) Server $did(42,$did(9).sel)
me donne "insufisient parameter" je vois pas trop pourquoi, il a pourtant tout!

signaler à un administrateur
Commentaire de wims le 22/06/2007 13:22:37

ça dépend, a première vu ton code est juste, mais si tu as cette erreur alors il y a 100% de chance que cette ligne de dépende pas d'un evenement on dialog, au quel cas le parametre du dialog est obligatoire dans un $did : $did(dialog,id) donc tout tes $did retourne $null

signaler à un administrateur
Commentaire de rawte le 23/06/2007 09:11:09

Pour répondre au baron, si tu fais un copier coller, ça ne copie pas les numéros, juste quelques espaces et une étoile devant la ligne. '   *' (Firefox 2.0.0.4)
Tu colles le tout dans le bloc-note, tu fais ctrl+h, dans le champs du haut tu mets '   *' et tu ne mets rien dans celui du bas, tu cliques sur 'remplacer tout', et hop, t'as le script tout propre.

Tu enregistres, tu renommes ton .txt en .mrc, et zou !

signaler à un administrateur
Commentaire de rawte le 23/06/2007 10:25:06

Bon sinon j' l'ai mis là : http://ftpexta.free.fr/temp/aconnex.mrc =)

signaler à un administrateur
Commentaire de wims le 23/06/2007 15:39:42

Il met sois le numéro des lignes sois des # ou sois des * et ta methode du bloc note est la meilleur façon de se retrouvé avec un code tout pourri étant donné que on utilise * ou # (ou les chiffres de 0 a 9) partout dans mirc et le ctrl + h remplace tout.

signaler à un administrateur
Commentaire de rawte le 23/06/2007 21:58:36

J'voulais aider moi c'est tout :)

Tu dis plus haut l'avoir essayer, tu as retirer le début de chaque ligne à la main ? Si oui, pourquoi ne pas nous en faire profiter ? (même si c'est encore tout bugué d'après doob)

Cordialement

Exta.


ps : fuck dsl j'ai cliqué sans faire exprès sur la première étoile, qui correspond à 1/10, c'était pas voulu désolé doobs.

signaler à un administrateur
Commentaire de wims le 23/06/2007 22:43:35

Euh, c'est pas très clair ce que tu dis ^^

J'ai essayé la methode du bloc note oui, suffit de mettre une ligne comme ça :
* on *:input:*:echo -a ok
de faire ta manip et on se retrouve avec ça
on :input::echo -a ok

c'est pas top, le mieux je te le dis est de faire un alias qui supprime chaque premier caractère de chaque ligne.Sinon oui, j'enlève tout a la main.

signaler à un administrateur
Commentaire de lebaronrouge le 24/06/2007 12:39:36

Vue la longueur du code non merci je m'en suis asser farcis des lignes a rééditer pour cause de *#656 machin truc bidule a cause du c/c si quelqu'un peut proposer ce code épuré des numéroteurs de lignes ou autre merci je suis preneur ;o)

signaler à un administrateur
Commentaire de wims le 24/06/2007 13:25:54

Tu prends internet explorer et normalement il n'y a pas de problème

signaler à un administrateur
Commentaire de lebaronrouge le 25/06/2007 11:33:39

Ok ok ca y est c'est loadé dans mon mirc ;o)

Par contre le bouton "Ajouter" qui se trouve en haut à coté du menu déroulant sert à quoi? j'ai beau tenter d'inscrire quelque chose dans ce menu et clicker sur ajouter il ne se passe rien la liste reste vide.....

signaler à un administrateur
Commentaire de doob666 le 29/06/2007 17:11:52

Je sais ce que vous allez dire : c'est encore et toujours mal codé, je le sais, je poste le code et j'optimise après (même si j'ai pas trop le temps)

Pour LEBARONROUGE le bouton ajuoter sert a ajouter le server et à le sauver (j'avais pas fait gaffe que j'avais virer une partie du code quand j'ai voulu le remettre a jour) .Je t'ai mis spécialement un zip pour toi ;)

Pour RAWTE ta tech