Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Script] Probleme TCL
#16
Ah, et je n'avais pas vue aussi que tu as laisser une variable qui ne devrais plus être dans le code.

Celle ci :


tcl
variable salons


Hors cette variable, Utiliser un salon précis dans le code autorise.
re-Voici le code modifié, Test le pour voir.

Et tiens nous au courant si cela s'avère fonctionnel.


tcl
namespace eval ::autorise {
 
    # Nous vÃrifions si ya le package requis pour le msgcat.
    package require msgcat
    # Nous mettons la langue de msgcat en français.
    ::msgcat::mclocale fr
    # Nom du fichier ou seront les pseudos autorisÃ.
    variable fichiers "operateur.db"
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034 %s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s\037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "$::autorise::salons *" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # ProcÃdure de crÃation du fichier Autorise.
    if {![file exists $fichiers]} {
       set load [open $fichiers w+]
       close $load
       putlog "\2Je crÃe le fichier $fichiers\2"
    }
   # ProcÃdure de join.
    proc joinauto {nick host hand chan} {
       set k [lindex [split $nick |] 0]
       set vnick $nick
       if [isbotnick $nick] return
       if {[acceesalon $nick]==0} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            pushmode $salons +o $nick
            return 0
       }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $nick $chan $host]"
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $nick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\037\003"
       while {![eof $fp]} {
            set data [gets $fp]
            incr fc
            if {$data !=""} {
                putserv "notice $nick :\0031\[ \0034$data\0031\0031 ]\0031"
            }
            unset data
       }
       close $fp
       putserv "notice $nick :\037\00300,01 -> Fin de la liste des operateur. <-\037\003"
    }
   # Ne pas toucher Systeme Proc !!
    proc acceesalon {nick} {
       variable fichiers
       set fa [open $fichiers r]
       set access 0
       while { ![eof $fa]} {
       set ligne [gets $fa]
       if {[string tolower $nick] == [string tolower $ligne]} {
            set access 1
       }
       }
close $fa
return $access
    }
   # ProcÃdure d'Ãcriture de fichier.
    proc fwrite {fi arg} {
       set f [open $fi a]
       puts $f $arg
       close $f
    }
    # ProcÃdure de suppression de fichier.
    proc fdel {fi arg} {
       set f [open $fi w]
       puts $f $arg
       close $f
    }
    # ProcÃdure de lecture de fichier.
    proc fread {fi} {
       set f [open $fi r]
       set t [gets $f]
       close $f
       return $t
    }
}
putlog "\002\0034Chargement.. \002\037\0031op.tcl V1.0 by toretto\037\0031"

#17
(26/02/2014, 17:00)aliasangelius Wrote: Ah, et je n'avais pas vue aussi que tu as laisser une variable qui ne devrais plus être dans le code.

Celle ci :


tcl
variable salons


Hors cette variable, Utiliser un salon précis dans le code autorise.
re-Voici le code modifié, Test le pour voir.

Et tiens nous au courant si cela s'avère fonctionnel.


tcl
namespace eval ::autorise {
 
    # Nous vÃrifions si ya le package requis pour le msgcat.
    package require msgcat
    # Nous mettons la langue de msgcat en français.
    ::msgcat::mclocale fr
    # Nom du fichier ou seront les pseudos autorisÃ.
    variable fichiers "operateur.db"
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034 %s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s\037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "$::autorise::salons *" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # ProcÃdure de crÃation du fichier Autorise.
    if {![file exists $fichiers]} {
       set load [open $fichiers w+]
       close $load
       putlog "\2Je crÃe le fichier $fichiers\2"
    }
   # ProcÃdure de join.
    proc joinauto {nick host hand chan} {
       set k [lindex [split $nick |] 0]
       set vnick $nick
       if [isbotnick $nick] return
       if {[acceesalon $nick]==0} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            pushmode $salons +o $nick
            return 0
       }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $nick $chan $host]"
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $nick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\037\003"
       while {![eof $fp]} {
            set data [gets $fp]
            incr fc
            if {$data !=""} {
                putserv "notice $nick :\0031\[ \0034$data\0031\0031 ]\0031"
            }
            unset data
       }
       close $fp
       putserv "notice $nick :\037\00300,01 -> Fin de la liste des operateur. <-\037\003"
    }
   # Ne pas toucher Systeme Proc !!
    proc acceesalon {nick} {
       variable fichiers
       set fa [open $fichiers r]
       set access 0
       while { ![eof $fa]} {
       set ligne [gets $fa]
       if {[string tolower $nick] == [string tolower $ligne]} {
            set access 1
       }
       }
close $fa
return $access
    }
   # ProcÃdure d'Ãcriture de fichier.
    proc fwrite {fi arg} {
       set f [open $fi a]
       puts $f $arg
       close $f
    }
    # ProcÃdure de suppression de fichier.
    proc fdel {fi arg} {
       set f [open $fi w]
       puts $f $arg
       close $f
    }
    # ProcÃdure de lecture de fichier.
    proc fread {fi} {
       set f [open $fi r]
       set t [gets $f]
       close $f
       return $t
    }
}
putlog "\002\0034Chargement.. \002\037\0031op.tcl V1.0 by toretto\037\0031"

J'ai une erreur en core a la ligne 25

tcl
set k [lindex [split $nick |] 0]

Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#18
Re,

Oui en effet, cette variable aussi ne devrais plus y être.
Désoler j'avais oublier de la retirer.

Voici :


tcl
namespace eval ::autorise {
 
    # Nous vÃrifions si ya le package requis pour le msgcat.
    package require msgcat
    # Nous mettons la langue de msgcat en français.
    ::msgcat::mclocale fr
    # Nom du fichier ou seront les pseudos autorisÃ.
    variable fichiers "operateur.db"
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034 %s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s\037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "$::autorise::salons *" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # ProcÃdure de crÃation du fichier Autorise.
    if {![file exists $fichiers]} {
       set load [open $fichiers w+]
       close $load
       putlog "\2Je crÃe le fichier $fichiers\2"
    }
   # ProcÃdure de join.
    proc joinauto {nick host hand chan} {
       if [isbotnick $nick] return
       if {[acceesalon $nick]==0} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            pushmode $chan +o $nick
            return 0
       }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $nick $chan $host]"
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $nick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\037\003"
       while {![eof $fp]} {
            set data [gets $fp]
            incr fc
            if {$data !=""} {
                putserv "notice $nick :\0031\[ \0034$data\0031\0031 ]\0031"
            }
            unset data
       }
       close $fp
       putserv "notice $nick :\037\00300,01 -> Fin de la liste des operateur. <-\037\003"
    }
   # Ne pas toucher Systeme Proc !!
    proc acceesalon {nick} {
       variable fichiers
       set fa [open $fichiers r]
       set access 0
       while { ![eof $fa]} {
       set ligne [gets $fa]
       if {[string tolower $nick] == [string tolower $ligne]} {
            set access 1
       }
       }
close $fa
return $access
    }
   # ProcÃdure d'Ãcriture de fichier.
    proc fwrite {fi arg} {
       set f [open $fi a]
       puts $f $arg
       close $f
    }
    # ProcÃdure de suppression de fichier.
    proc fdel {fi arg} {
       set f [open $fi w]
       puts $f $arg
       close $f
    }
    # ProcÃdure de lecture de fichier.
    proc fread {fi} {
       set f [open $fi r]
       set t [gets $f]
       close $f
       return $t
    }
}
putlog "\002\0034Chargement.. \002\037\0031op.tcl V1.0 by toretto\037\0031"


J'au aissi enlever le : set vnick $nick, Qui pareille ne devais plus y être :).
Test comme ceci à présent voir.

J'ai aussi modifié le pushmode,
Avant tu avais ceci :


tcl
pushmode $salons +o $nick


J'ai changer salons par chan

"Envoyé depuis mon GT-N7000 avec Tapatalk"
#19
(26/02/2014, 17:46)aliasangelius Wrote: Re,

Oui en effet, cette variable aussi ne devrais plus y être.
Désoler j'avais oublier de la retirer.

Voici :


tcl
namespace eval ::autorise {
 
    # Nous vÃrifions si ya le package requis pour le msgcat.
    package require msgcat
    # Nous mettons la langue de msgcat en français.
    ::msgcat::mclocale fr
    # Nom du fichier ou seront les pseudos autorisÃ.
    variable fichiers "operateur.db"
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034 %s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s\037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "$::autorise::salons *" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # ProcÃdure de crÃation du fichier Autorise.
    if {![file exists $fichiers]} {
       set load [open $fichiers w+]
       close $load
       putlog "\2Je crÃe le fichier $fichiers\2"
    }
   # ProcÃdure de join.
    proc joinauto {nick host hand chan} {
       if [isbotnick $nick] return
       if {[acceesalon $nick]==0} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            pushmode $chan +o $nick
            return 0
       }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $nick $chan $host]"
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $nick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\037\003"
       while {![eof $fp]} {
            set data [gets $fp]
            incr fc
            if {$data !=""} {
                putserv "notice $nick :\0031\[ \0034$data\0031\0031 ]\0031"
            }
            unset data
       }
       close $fp
       putserv "notice $nick :\037\00300,01 -> Fin de la liste des operateur. <-\037\003"
    }
   # Ne pas toucher Systeme Proc !!
    proc acceesalon {nick} {
       variable fichiers
       set fa [open $fichiers r]
       set access 0
       while { ![eof $fa]} {
       set ligne [gets $fa]
       if {[string tolower $nick] == [string tolower $ligne]} {
            set access 1
       }
       }
close $fa
return $access
    }
   # ProcÃdure d'Ãcriture de fichier.
    proc fwrite {fi arg} {
       set f [open $fi a]
       puts $f $arg
       close $f
    }
    # ProcÃdure de suppression de fichier.
    proc fdel {fi arg} {
       set f [open $fi w]
       puts $f $arg
       close $f
    }
    # ProcÃdure de lecture de fichier.
    proc fread {fi} {
       set f [open $fi r]
       set t [gets $f]
       close $f
       return $t
    }
}
putlog "\002\0034Chargement.. \002\037\0031op.tcl V1.0 by toretto\037\0031"


J'au aissi enlever le : set vnick $nick, Qui pareille ne devais plus y être :).
Test comme ceci à présent voir.

J'ai aussi modifié le pushmode,
Avant tu avais ceci :


tcl
pushmode $salons +o $nick


J'ai changer salons par chan

"Envoyé depuis mon GT-N7000 avec Tapatalk"
Toujour meme erreur ligne 25 :(
Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#20
Kill sa pid, et relance ton eggdrop.
Lance le sans charger le tcl, une fois lancer, reload le tcl.
Et si il plante montre moi toute l'erreur complète que tu obtiens en pl

"Envoyé depuis mon GT-N7000 avec Tapatalk"
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
#21
(26/02/2014, 18:05)aliasangelius Wrote: Kill sa pid, et relance ton eggdrop.
Lance le sans charger le tcl, une fois lancer, reload le tcl.
Et si il plante montre moi toute l'erreur complète que tu obtiens en pl

"Envoyé depuis mon GT-N7000 avec Tapatalk"

Ok je te fais sa dessuite

Voicis L'erreur que j'ai en pl


tcl
|17:09:10| <Protector> [17:09:20] Tcl error in file 'air.conf':
|17:09:10| <Protector> [17:09:20] missing close-brace
|17:09:10| <Protector>     while executing
|17:09:10| <Protector> "namespace eval ::autorise {
|17:09:10| <Protector>  
|17:09:10| <Protector>     # Nous vÃrifions si ya le package requis pour le msgcat.
|17:09:10| <Protector>     package require msgcat
|17:09:10| <Protector>     # Nous mettons la langue de..."
|17:09:10| <Protector>     (file "scripts/op.tcl" line 25)
|17:09:10| <Protector>     invoked from within
|17:09:10| <Protector> "source scripts/op.tcl"
|17:09:10| <Protector>     (file "air.conf" line 99)
|17:09:10| <Protector> [17:09:20] * FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR)
-
DCC session closed

[/align]
Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#22
Je me co taleur sur le reseau irc de CrazyCat : zeolia.net
Nous verrons tout cela via irc pour mieux voir le sujet.

"Envoyé depuis mon GT-N7000 avec Tapatalk"
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
#23
(26/02/2014, 18:17)aliasangelius Wrote: Je me co taleur sur le reseau irc de CrazyCat : zeolia.net
Nous verrons tout cela via irc pour mieux voir le sujet.

"Envoyé depuis mon GT-N7000 avec Tapatalk"

Ok vers quelle heure ?
Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#24
Entre 19h et 20h
Je t'attendrais si tu n'es pas encore la

"Envoyé depuis mon GT-N7000 avec Tapatalk"
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
#25
(26/02/2014, 18:22)aliasangelius Wrote: Entre 19h et 20h
Je t'attendrais si tu n'es pas encore la

"Envoyé depuis mon GT-N7000 avec Tapatalk"

ok merci a tout a l'heure
Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#26
Problème résolu un grand merci a alias_angilus qui ma corriger le problème du tcl voici le code complet qui fonctionne parfaitement


tcl
#################################
#		Script op.tcl			#
#	 Tcl Creat By Toretto		#
#			23/02/2014			#
#								#
####################################
#		Aurel-Tchat Network		   #
#	Server irc://irc.aurel-tchat.fr#
# Site-Web http://aurel-tchat.fr   #
# Forum http://forum.aurel-tchat.fr#
####################################
 
#####################################################################################
#	Attention Si vous toucher le code vous risquer de le faire planter				#
#		Merci de pas toucher si vous avez aucune connaissance dans le domaine du TCL#
#####################################################################################
 
#***********************************#
# TCL en NameSpace.                 #
# Utilisation de msgcat.            #
# Utilisation des procédure         #
# Pushmode/Putkick.                 #
#***********************************#
 
namespace eval ::autorise {
 
    # Nous vérifions si ya le package requis pour le msgcat.
    package require msgcat
    # Nous mettons la langue de msgcat en français.
    ::msgcat::mclocale fr
    # Nom du fichier ou seront les pseudos autorisé.
    variable fichiers "operateur.db"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Les messages de msgcat.
    ::msgcat::mcset fr Join "\0031Auto-Op Accepter Pour \0034%s \0031Sur \0034%s"
    ::msgcat::mcset fr Ajout "\00314Félicitation \0034° \0033%s \0034° \037\0031a etait ajoutà dans la liste des opÃrateur de %s sur l'host %s \037\0031"
    ::msgcat::mcset fr Del "\0031Auto-Op Supprimé Pour \0034%s \0031Sur \0034%s"
    # Listes des binds.
    bind join - "*" [namespace current]::joinauto
    bind pub o "!opadd" [namespace current]::+ajout
    bind pub o "!opdel" [namespace current]::-ajout
    # ProcÃdure de crÃation du fichier Autorise.
    if {![file exists $fichiers]} {
       set load [open $fichiers w+]
       close $load
       putlog "\2Je crée le fichier $fichiers\2"
    }
   # Procédure d'auto-op/voice sur salon.
   proc verif {nick chan} {
    if {[isop $nick $chan]} {return}
        set vnick [lindex [split $nick |] 0]
        putserv "mode $chan +ov $vnick $vnick"
   }
   # Procédure de join.
    proc joinauto {nick host hand chan} {
       if {$nick == $::botnick} { return 0 }
       if {![botisop $chan]} { return 0 }
       if {[acceesalon $nick]==1} {
       putserv "privmsg $chan :[::msgcat::mc Join $nick $chan]"
            utimer $::autorise::opsec [list ::autorise::verif $nick $chan]
            return 1
       }
    }
      # ProcÃdure d'ajout de pseudo autorise.
    proc +ajout { nick host hand chan arg } {
       variable fichiers
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opadd <pseudo>"
            putserv "NOTICE $nick :Exemple !opadd $nick"
            return 0
       }
       set lis "[fread $fichiers]"
       set args [split $arg]
       set vnick [lindex $arg 0]
       set host "[split [getchanhost $vnick $chan] @]"
       if {[lsearch -exact "x $fichiers" "$temp"]!="0"} {
            lappend lis $temp
            fwrite $fichiers $temp
            putserv "privmsg $chan :[::msgcat::mc Ajout $vnick $chan $host]"
            utimer $::autorise::opsec [list ::autorise::verif $vnick $chan]
            return 0
       }
       putserv "NOTICE $nick :\002Erreur:\002$temp\002 \0034est dÃjà dans la liste\0034"
       return 0
    }
   # ProcÃdure de suppression de pseudo autorise.
    proc -ajout { nick host hand chan arg } {
       variable fichiers
       set args [split $arg]
       set vnick [lindex $arg 0]
       set temp [lindex $arg 0]
       if {$temp == ""} {
            putserv "NOTICE $nick :Utilisation: !opdel <pseudo>"
            putserv "NOTICE $nick :Exemple: !opdel $nick"
            return 0
       }
       set autoajout "[fread $fichiers]"
       set tmp ""
       foreach bb $autoajout {
            if {![string match $temp $bb]} {lappend tmp $bb}
       }
       fdel $fichiers $tmp
       putserv "privmsg $chan :[::msgcat::mc Del $vnick $chan]"
       return 0
    }
   # ProcÃdure pour voir la liste des autorise.
    bind pub o "!opliste" [namespace current]::auto
    proc auto { nick host hand chan arg } {
       variable fichiers
       set fp [open $fichiers "r"]
       set fc -1
       putserv "notice $nick :\037\00300,01 -> Liste des operateur. <-\037\003"
       while {![eof $fp]} {
            set data [gets $fp]
            incr fc
            if {$data !=""} {
                putserv "notice $nick :\0031\[ \0034$data\0031\0031 ]\0031"
            }
            unset data
       }
       close $fp
       putserv "notice $nick :\037\00300,01 -> Fin de la liste des operateur. <-\037\003"
    }
   # Ne pas toucher Systeme Proc !!
    proc acceesalon {nick} {
       variable fichiers
       set fa [open $fichiers r]
       set access 0
       while { ![eof $fa]} {
       set ligne [gets $fa]
       if {[string tolower $nick] == [string tolower $ligne]} {
            set access 1
       }
       }
close $fa
return $access
    }
   # ProcÃdure d'Ãcriture de fichier.
    proc fwrite {fi arg} {
       set f [open $fi a]
       puts $f $arg
       close $f
    }
    # ProcÃdure de suppression de fichier.
    proc fdel {fi arg} {
       set f [open $fi w]
       puts $f $arg
       close $f
    }
    # ProcÃdure de lecture de fichier.
    proc fread {fi} {
       set f [open $fi r]
       set t [gets $f]
       close $f
       return $t
    }
}
 
 
putlog "\002\0034Chargement.. \002\037\0031op.tcl V1.0 by toretto\037\0031"

Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#27
Ce fût un grand plaisir de t'aider.
Le sujet étant résolus, Serait-il possible de le passer en [Résolus] CrazyCat S'il te plaît merci.

PS : Un grand merci à CrazyCat pour m'avoir dit de mettre des putlog, Ainsi que pour le set args.
ce qui m'a aidez dans la procédure de join.
#28
D'ici quelle que jour une version v2 va etre mis en place et elle sera egalement en telechargement sur http://scripts.eggdrop.fr Cordialement,
Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D
#29
Voila version V2 fini se matin elle et enfin disponible en téléchargement sur http://scripts.eggdrop.fr/details-Statut...-s196.html.

Description: Tcl d'ajout de statut en fichier db sur commande !

Exemple: !opadd pseudo va rajouté le pseudo désiré dans les opérateur !
!halfadd pseudo va rajouté le pseudo désiré dans les halfop
Enfin !voiceadd pseudo va rajouté le pseudo désiré dans les voice

Vous avez aussi la fonctions !opliste,!halfliste et !voiceliste pour voir les pseudo que vous avez enregistré dans une des 3 catégorie !
Site Web: Clic ici Nous rejoindres par mIRC -> Clic Ici
inutile d'avoir une grosse machine si il y'a un con deriere l'ecran :D


Forum Jump:


Users browsing this thread: 1 Guest(s)