Bonjour,
Je n'arrive pas à choisir mon pseudo quand je me connecte.
Plutot que de me lancer dans des explications, je vous montre le code
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 scripts\server } alias -l msaj_load { if ($hget(msaj_data) !
msaj_data) { hmake msaj_data 1 } | if ($exists(scripts\server) $true) { hload -b msaj_data scripts\server } }
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 }
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
}
}
on *:load:{ msaj_load }
on *:start:{ msaj_load | msaj_closeall | dialog -m msaj.dlg msaj.dlg }
dialog msaj.dlg {
title " Auto-join multiserveurs"
size -1 -1 230 310
icon scripts/betterscript.ico
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 salons", 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
text "Ton pseudo:", 22, 21 255 80 14
edit "Entre ton pseudo", 21, 116 250 100 20
button "&Connexion", 20, 30 280 80 25
button "&Quitter", 100, 120 280 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 salon) } }
if ($did == 99) { msaj_closeall | msaj_joinall | dlg_close }
if ($did == 20) { msaj_load | msaj_closeall | msaj_joinall }
}
dialog msaj.addsrv.dlg {
title " Ajouter un seveur"
size -1 -1 260 170
icon scripts/betterscript.ico
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 et le port du serveur) } }
dialog msaj.addchan.dlg {
title " Ajouter un salon"
size -1 -1 260 110
icon scripts/betterscript.ico
option pixels
text "Nom du salon : ", 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 salon) } }
dialog msaj_err.dlg {
title " Erreur"
size -1 -1 240 70
icon scripts/betterscript.ico
option pixels
text "", 1, 10 10 222 16, center
button "&OK", 99, 80 40 75 25, default cancel
}
J'ai rajouté ça
on 1:dialog:msaj.dlg:edit:21: { set %me $did(msaj.dlg,21) }
Mais ça ne marche pas....
Camanche
Afficher la suite