Voila un petit code bien pratique, destiné à être intégré au ZenScripT mais je me suis dit qu'il pourrait servir à d'autres ;)
Il sert à se mettre ou enlever son grade via chanserv en une seule commande pour un ou tous les chans ou vous vous trouvez :
Utile quand vous vous connectez avec un pseudo non enregistré et que vous devez vous remettre vos access sur les 10 chans ou vous êtes ^^
(Voir en bas de la page pour le fonctionnement) :)
Source / Exemple :
;###############################
;##### Gestion d'access #####
;##### Par ChrisTooCool #####
;##### Pour le ZenScripT #####
;###############################
on 1:LOAD: {
/mkdir ini
/writeini Access.ini Parametres Temps 5
/writeini Access.ini Parametres CommandeAccess1 !+
/writeini Access.ini Parametres CommandeAccess2 !-
/writeini Access.ini Parametres CommandeAccess3 !++
/writeini Access.ini Parametres CommandeAccess4 !--
/writeini Access.ini Parametres Visible $false
}
menu * {
ZenOutils
.-
.Gestion Access:/access
.-
}
alias Access dialog -m GestionAccess GestionAccess
dialog GestionAccess {
title "Gestion de mes Acces ~ ZenScripT ~"
size -1 -1 319 203
option dbu
tab "Access", 12, 0 -3 319 206
box "Salons Configurés", 39, 123 15 88 85, tab 12
box "", 35, 253 60 49 22, tab 12
box "Visibilité :", 26, 134 111 72 83, tab 12
box "Dans le Salon ou vous tapez la commande", 16, 9 111 122 40, tab 12
box "Dans tous les Salons d'un coup", 21, 9 154 122 40, tab 12
box "Commandes", 15, 4 101 207 99, tab 12
box "Acces", 3, 214 15 103 71, tab 12
box "Ajouter Un Salon", 2, 4 15 116 85, tab 12
combo 1, 14 54 94 57, tab 12 size edit vsbar drop
radio "Owner", 4, 218 28 30 10, tab 12
radio "Protect", 5, 218 38 31 10, tab 12
radio "Op", 6, 218 48 25 10, tab 12
radio "Voice", 8, 218 68 29 10, tab 12
radio "Halfop", 9, 218 58 31 10, tab 12
radio "Owner + Op", 7, 249 38 50 10, tab 12
radio "Protect + Op", 10, 249 48 50 10, tab 12
radio "Owner + Protect + Op", 11, 249 28 67 10, tab 12
edit "", 17, 12 122 35 12, tab 12 autohs
text "Pour vous mettre votre acces", 18, 48 124 77 8, tab 12 center
edit "", 19, 12 135 35 12, tab 12 autohs
text "Pour vous retirer votre acces", 20, 48 137 77 8, tab 12 center
edit "", 22, 12 165 35 12, tab 12 autohs
text "Pour vous mettre vos acces", 23, 48 167 77 8, tab 12 center
text "Pour vous retirer vos acces", 24, 48 180 77 8, tab 12 center
edit "", 25, 12 178 35 12, tab 12 autohs
button "Ok", 30, 245 114 37 12, tab 12 ok
button "Ajouter ce Salon =>", 31, 21 68 80 12, tab 12
button "Retirer le Salon Selectionné", 32, 127 84 79 12, tab 12
list 33, 127 24 80 58, tab 12 size
radio "Aucun", 34, 264 68 30 10, tab 12
text "Choisissez un Salon dans la liste des Salons ouverts ou entrez en un (ex #emule-fr-zenzone)", 36, 14 28 94 22, tab 12 center
button "Ajouter les Salons Ouverts =>", 37, 21 83 80 12, tab 12
check "Visibles", 27, 146 142 50 10, tab 12
check "Invisibles", 28, 146 152 50 10, tab 12
text "Les commandes seront :", 41, 143 122 51 14, tab 12 center
text "Par les autres utilisateurs.", 29, 143 172 51 16, tab 12 center
tab "A Propos", 13
box "", 14, 4 15 307 72, tab 13
text "Addon Gestion d'Acess pour le ZenScripT par ChrisTooCool", 38, 87 33 142 9, tab 13
link "ZenScripT@eMule-ZenZoNe.com", 40, 131 60 86 8, tab 13
text "Contact : ", 42, 100 60 25 8, tab 13
link "www.eMule-ZenZoNe.com", 43, 138 70 85 8, tab 13
text "Le ZenScripT : ", 44, 100 70 36 8, tab 13
}
dialog GestionAccessErreur {
title "Erreur !"
size -1 -1 76 30
option dbu
text " Ce Salon a déjà été ajouté.", 1, 2 2 72 10
button "Ok", 2, 17 15 37 12, ok
}
on 1:dialog:GestionAccess:edit:17,19,22,25: {
if ( $did == 17 ) /writeini $scriptdir $+ /ini/Access.ini Parametres CommandeAccess1 $did(GestionAccess,17)
if ( $did == 19 ) /writeini Access.ini Parametres CommandeAccess2 $did(GestionAccess,19)
if ( $did == 22 ) /writeini Access.ini Parametres CommandeAccess3 $did(GestionAccess,22)
if ( $did == 25 ) /writeini Access.ini Parametres CommandeAccess4 $did(GestionAccess,25)
}
on 1:dialog:GestionAccess:sclick:40:/run mailto:ZenScripT@eMule-ZenZoNe.com
on 1:dialog:GestionAccess:sclick:43:/run http://www.eMule-ZenZoNe.com
on 1:dialog:GestionAccess:sclick:31: {
/set %i 1
while ( $did(GestionAccess,33,%i).text != $null ) {
if ( $did(GestionAccess,33,%i).text == $did(GestionAccess,1).text ) {
/dialog -m GestionAccessErreur GestionAccessErreur
/halt
}
else /inc %i
}
/did -o GestionAccess 33 %i $did(GestionAccess,1).text
/writeini Access.ini Salons $did(GestionAccess,1).text ?
}
on 1:dialog:GestionAccess:sclick:37: {
/var %j 1
while ( $did(GestionAccess,33,%j).text != $null ) {
/set %chanlist %chanlist $did(GestionAccess,33,%j).text
/inc %j
}
/var %i 1
while ( %i <= $chan(0) ) {
if ( $chan(%i) !isin %chanlist ) {
/did -o GestionAccess 33 %j $chan(%i)
/writeini Access.ini Salons $chan(%i) ?
/inc %i
/inc %j
}
else { /inc %i }
}
/unset %chanlist
}
on 1:dialog:GestionAccess:sclick:32: {
/remini Access.ini Salons $did(GestionAccess,33,$did(GestionAccess,33).sel).text
/did -d GestionAccess 33 $did(GestionAccess,33).sel
}
on 1:dialog:GestionAccess:sclick:*: {
if ( $did == 33 ) {
/did -u GestionAccess 4,5,6,9,8,11,7,10,34
/AccesSalon $readini(Access.ini,Salons,$did(GestionAccess,33,$did(GestionAccess,33).sel).text)
}
elseif ($did(GestionAccess,33).sel != $null ) {
if ( $did == 4 ) /SaveAccess q
elseif ( $did == 5 ) /SaveAccess a
elseif ( $did == 6 ) /SaveAccess o
elseif ( $did == 9 ) /SaveAccess h
elseif ( $did == 8 ) /SaveAccess v
elseif ( $did == 11 ) /SaveAccess qao
elseif ( $did == 7 ) /SaveAccess qo
elseif ( $did == 10 ) /SaveAccess ao
elseif ( $did == 34 ) /SaveAccess ?
}
elseif ( $did == 27 ) { /writeini Access.ini Parametres Visible $true | /did -eu GestionAccess 28 | /did -b GestionAccess 27 }
elseif ( $did == 28 ) { /writeini Access.ini Parametres Visible $false | /did -eu GestionAccess 27 | /did -b GestionAccess 28 }
}
on 1:dialog:GestionAccess:init:0: {
/var %i 1
while ( %i <= $chan(0) ) {
/did -o GestionAccess 1 %i $chan(%i)
/inc %i
}
/var %j 1
while ( %j <= $ini(Access.ini,Salons,0) ) {
/did -o GestionAccess 33 %j $ini(Access.ini,Salons,%j)
/inc %j
}
/did -a GestionAccess 17 $readini(Access.ini,Parametres,CommandeAccess1)
/did -a GestionAccess 19 $readini(Access.ini,Parametres,CommandeAccess2)
/did -a GestionAccess 22 $readini(Access.ini,Parametres,CommandeAccess3)
/did -a GestionAccess 25 $readini(Access.ini,Parametres,CommandeAccess4)
if ( $readini(Access.ini,Parametres,Visible) == $true ) { /did -bc GestionAccess 27 }
else { /did -bc GestionAccess 28 }
}
alias AccesSalon {
if ( $1 == q ) /did -c GestionAccess 4
elseif ( $1 == a ) /did -c GestionAccess 5
elseif ( $1 == o ) /did -c GestionAccess 6
elseif ( $1 == h ) /did -c GestionAccess 9
elseif ( $1 == v ) /did -c GestionAccess 8
elseif ( $1 == qao ) /did -c GestionAccess 11
elseif ( $1 == qo ) /did -c GestionAccess 7
elseif ( $1 == ao ) /did -c GestionAccess 10
else /did -c GestionAccess 34
}
alias SaveAccess /writeini Access.ini Salons $did(GestionAccess,33,$did(GestionAccess,33).sel).text $1
alias UnAccess {
/var %access $readini(Access.ini,Salons,$1)
if ( %access != $null ) {
if ( %access == q ) { /cs owner $1 }
if ( %access == a ) { /cs protect $1 $me }
if ( %access == o ) { /cs op $1 $me }
if ( %access == h ) { /cs halfop $1 $me }
if ( %access == v ) { /cs voice $1 $me }
if ( %access == qao ) { /cs owner $1 | /cs protect $1 $me | /cs op $1 $me }
if ( %access == qo ) { /cs owner $1 | /cs op $1 $me }
if ( %access == ao ) { /cs protect $1 $me | /cs op $1 $me }
}
}
alias MoinsUnAccess {
/var %access $readini(Access.ini,Salons,$1)
if ( %access != $null ) {
if ( %access == q ) { /cs deowner $1 }
if ( %access == a ) { /cs deprotect $1 $me }
if ( %access == o ) { /cs deop $1 $me }
if ( %access == h ) { /cs dehalfop $1 $me }
if ( %access == v ) { /cs devoice $1 $me }
if ( %access == qao ) { /cs deowner $1 | /cs deprotect $1 $me | /cs deop $1 $me }
if ( %access == qo ) { /cs deowner $1 | /cs deop $1 $me }
if ( %access == ao ) { /cs deprotect $1 $me | /cs deop $1 $me }
}
}
alias AllAccess {
/var %i 1
while ( %i <= $chan(0) ) {
/UnAccess $chan(%i)
/inc %i
}
}
alias MoinsAllAccess {
/var %i 1
while ( %i <= $chan(0) ) {
/MoinsUnAccess $chan(%i)
/inc %i
}
}
on 1:INPUT:#: {
/var %Com1 = $readini(Access.ini,Parametres,CommandeAccess1)
/var %Com2 = $readini(Access.ini,Parametres,CommandeAccess2)
/var %Com3 = $readini(Access.ini,Parametres,CommandeAccess3)
/var %Com4 = $readini(Access.ini,Parametres,CommandeAccess4)
/var %Visible = $readini(Access.ini,Parametres,Visible)
if ( $1- == %Com1 ) { /UnAccess $active | if ( !%Visible ) /halt }
if ( $1- == %Com2 ) { /MoinsUnAccess $active | if ( !%Visible ) /halt }
if ( $1- == %Com3 ) { /AllAccess | if ( !%Visible ) /halt }
if ( $1- == %Com4 ) { /MoinsAllAccess | if ( !%Visible ) /halt }
}
Conclusion :
Dans le menu config du script (clic droit, ZenOutils/Gestion Access), pour chaque chan choisissez votre grade (op , halfop , voice ...)
Ensuite par une commande que vous definissez vous pourrez mettre ou enlever votre grade toujours par la même commande quelquesoit votre grade en fonction du chan ou vous tapez la commande.
Ex:
!+ => vous mettra votre "grade" sur le canal ou vous tapez la commande. (op halfop voice ...)
!- => vous otera votre "grade" sur le canal ou vous tapez la commande.
C'est là que c'est interessant :
!++ => Vous mettra votre "grade" sur tous les chans ou vous êtes.
!++ => Vous otera votre "grade" sur tous les chans ou vous êtes.
C'est à dire si vous avez bien réglé en tapant !++ dans n'importe quelle fenetre mirc, vous serez oppé sur #monchan1 , voicé sur #monchan2 , owner + protect sur #monchan3 ... via chanserv.
Soyez indulgents, je ne suis pas un grand scripteur, je bidouille ^^ , si vous avez des remarques n'hésitez pas ;)
enjoy, @Bientot ;)
Chris
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.