Gestion d'access

Soyez le premier à donner votre avis sur cette source.

Vue 4 558 fois - Téléchargée 127 fois

Description

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

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
6 mars 2006

Excellent, ça marche super bien :)

Sauf que moi je suis sur 15 salons, encore mieux

merci c'est TooCool :)
Messages postés
3
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
3 novembre 2004

lol princesse, mais nan j'ai pas oublié ^^

Bizoux, je re dimanche, le 56k c dur dur j'prefere le 2048 ;o)

Allez bye ;)
Messages postés
104
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
14 février 2007

Oups je ois que tu as mis ton site now bisoux et @ tres bientot quan Mme adsl reviendra ^^
Messages postés
104
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
14 février 2007

Kikoo mon ptit ChrisTooCool ^^

Eh vi c moi la zen Princesse ^^
Juste un ptit truc rien à voir avec ta source que je trouve superbe maintenant, tu pourrais éditer ton profil sur ce forum pour mettre le site de la ZenZone :pp
Car tu n'es pas le seul à utiliser ce script que tu as créé mais tous les users du site et du chan ZenZone ^^

C'est qu'il est modeste mon ptit Zen mais il bosse bcp pour nous faciliter la vie sur IRC en plus je l'ADORE car il est super super ZEN :))

Bisouxx mon ptit [ZEN] ^^
Messages postés
3
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
3 novembre 2004

Normalement ya plus de bugs, je suis absent une semaine je nettoierai la syntaxe et repondrai aux questions, suggestions, s'il y en a en revenant, ça empeche pas que le script fonctionne sans problèmes, perso j'suis sur un serveur IRC ou les splits sont reguliers, pour dire que c'est a moi le 1er qu'il sert ce script ;)

Vala allez @Bientot ;)
Afficher les 9 commentaires

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.