Communauté Eggdrop
SOS - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : SOS (/showthread.php?tid=477)



SOS - Babytigrou16 - 08/08/2009

Alors voila j'ai un pti probléme j'ai un ami qui ma donner un code TCL de SOS mais sa me dit < -01:40:48- <Nemesis> [07:40] Tcl error [procsos]: can't read "saloni": no such variable > Alors si vous avais une idées d'ou sa vien ... car j'ai meme changé la variable et sa rien changé :/ alors j'ignore quoi faire ... merci d'avance :P

Coordialement Dragon061


tcl
bind pub - !secours procsos
bind pub - !secour procsos
proc procsos {nick host hand chan arg} {
global nosos vhostnetadmin sossalon countsossalon salonsecours nososoff saloni
   set arg [string tolower $arg]
   set timenow [ctime [unixtime] ]
   set salon [lindex $arg 1]
   set arg1 [lindex $arg 0]
   set arg2 [lindex $arg 0]
   set liste [lindex $arg 1]
   foreach salonsecoursok $salonsecours {
   if {[string match -nocase $salonsecoursok $chan]} {
   foreach admin $vhostnetadmin {
   if {[string match -nocase $admin $host]} {
   if { ($arg2 == "off") && ($liste == "all") } {
   putfast "PRIVMSG #admin :Commande !sos/attaque désactivé sur tous les salons off par $nick !"
   set sossalon($liste) "Tout"
   set datasossalon [open "./sossalon.db" "w"]
   puts $datasossalon [list array set sossalon [array get sossalon]]
   close $datasossalon
   set nososoff 1
   incr nososoff
   return 0
   }
   if { ($arg2 == "on") && ($liste == "all") } {
   putfast "PRIVMSG #admin :Commande !sos/attaque réactivé sur tous les salons off par $nick ."
   unset sossalon($liste)
   set datasossalon [open "./sossalon.db" "w"]
   puts $datasossalon [list array set sossalon [array get sossalon]]
   close $datasossalon
   unset nososoff
   return 0
   }
   if { ($arg2 == "off") && ($liste == "list") } {
    if {[array exists countsossalon]} {
        unset countsossalon
    }
    foreach run [array names sossalon] {
        foreach r $sossalon($run) {
            if {[info exists countsossalon($r)]} {
                incr countsossalon($r)
            } else { 
              set countsossalon($r) 1
            }
        }
    }
    putfast "PRIVMSG $chan :Liste des salons désactivée pour les SOS :"
    foreach cousossalon [lsort -dictionary [array names countsossalon]] {
        putquick "privmsg $chan :$cousossalon est désactivé ."
     } 
    putfast "PRIVMSG $chan : Fin Liste ."
  }
  foreach connus $saloni {
   if { ($arg1 == "off") && ($salon != "") && [string match -nocase $connus $salon] } {
    if {[array exists countsossalon]} {
        unset countsossalon
    }
    foreach run [array names sossalon] {
        foreach r $sossalon($run) {
            if {[info exists countsossalon($r)]} {
                incr countsossalon($r)
            } else {
                set countsossalon($r) 1
            }
        }
    }
    foreach cousossalon [lsort -dictionary [array names countsossalon]] {
      if {[string match -nocase $cousossalon $salon]} {
      putfast "NOTICE $nick :Commande !sos/attaque déjà désactivé sur $salon !"
      return 0
      } 
    } 
   putfast "PRIVMSG #admin :Commande !sos/attaque désactivé sur $salon par $nick !"
   set sossalon($salon) "$salon"
   set datasossalon [open "./sossalon.db" "w"]
   puts $datasossalon [list array set sossalon [array get sossalon]]
   close $datasossalon
   set nosos 1
   incr nosos
   return 0
   }
   set listsalon " [array names sossalon] "
   if { ($arg1 == "on") && ($salon != "") && [string match -nocase $connus $salon] && [string match -nocase "* $connus *" $listsalon] } {
   putfast "PRIVMSG #admin :Commande !sos/attaque réactivé  sur $salon par $nick ."
   unset sossalon($connus)
   set datasossalon [open "./sossalon.db" "w"]
   puts $datasossalon [list array set sossalon [array get sossalon]]
   close $datasossalon
   unset nosos
   return 0
      } elseif { ($arg1 == "on") && ($salon != "") && [string match -nocase $connus $salon] && ![string match -nocase "* $connus *" $listsalon] } {
      putfast "PRIVMSG $chan :Commande !sos/attaque déjà réactivé1 sur $salon ."
      return 0
      }
     }
    }
   }
  }
 }
}
 
if {[file exists "./sossalon.db"]} {
source "./sossalon.db"
}





RE: SOS - heretoc - 08/08/2009

bha deja prend pas des codes sans savoir comment ils marchent ... surtout que cela apartient au robot de chat land ...


RE: SOS - BlackNight - 09/08/2009

y'a des caractères code couleur Mirc, tu va te faire sanctionner si tu les enlève pas Babytigrou, et je t'avais déjà dit ailleurs, de pas poster des codes sans l'autorisation de leur propriétaire.
Et je n'ai pas été le seul à le dire.


RE: SOS - Babytigrou16 - 09/08/2009

j'ai retiré les code couleurs ! :o mais la sa m'aide pas -_- ....


RE: SOS - BlackNight - 09/08/2009

essai

tcl
bind pub - !secours procsos
bind pub - !secour procsos
proc procsos {nick host hand chan arg} {
global nosos vhostnetadmin sossalon
global countsossalon salonsecours nososoff saloni





RE: SOS - Babytigrou16 - 09/08/2009

non fonctionne toujour pas

-16:34:14- <Nemesis> [22:34] Tcl error [procsos]: can't read "saloni": no such variable


RE: SOS - CrazyCat - 09/08/2009

Je ne vois nulle part de "set saloni ....."


RE: SOS - BlackNight - 09/08/2009

ou est elle définir ta variable $saloni ?


RE: SOS - Babytigrou16 - 10/08/2009

ici

tcl
foreach connus $saloni {
   if { ($arg1 == "off") && ($salon != "") && [string match -nocase $connus $salon] } {
    if {[array exists countsossalon]} {
        unset countsossalon
    }
    foreach run [array names sossalon] {
        foreach r $sossalon($run) {
            if {[info exists countsossalon($r)]} {
                incr countsossalon($r)
            } else {
                set countsossalon($r) 1
            }
        }
    }



Si tu regarde plus haut ... elle es seulement bien cacher :D


RE: SOS - BdS - 10/08/2009

Tu montres un morceau de code qui utilise la variable "saloni" ... mais ou est elle défini ? Que contient elle ?
Pareil que CrazyCat, je ne vois aucun "set saloni ...".


RE: SOS - heretoc - 10/08/2009

Moi personellement je ne cherche plus, il prend les code d'un peut tous le monde et cherche meme pas a comprendre pourquoi sa marche pas ...


RE: SOS - Babytigrou16 - 11/08/2009

heretoc s'a tarrive de laisser les gens tranquil ? si oui alors fou moi la paix ^^ XD Et oui vous avais rasion voila :-P miciii ++


RE: SOS - BlackNight - 12/08/2009

Voivi un petit SOS pour toi recodé vite fait.
Je vais VOLONTAIREMENT y placer des erreurs, pour que tu voye un peu comment ca fonctionne. Ce sont des erreurs toutes bêtes, mais qui t'obligeront a relire le tcl correctement.


tcl
set ::alertchan {
""chan1"
"#chan2"
"#chan3""
}
 
bind pub - !sos sos_alert
proc sos_alerte {nick uhost handle chan args} {
 putquick "NOTICE $nick :\002\00312Votre SOS a été envoyé au staff \003\002" 
 set ::chango $chan
  foreach chanalert $::alerteuhchan {
 putquick "LocOps :\002\00304SOS\002:\00312 $nick \00306>> \00304!SOS par $nick \00301sur\00312 $chan !!\003" 
 putquick "PRIVMSG $chanalert :\002\00304SOS\002:\00312 $nick \00306>> \00304!SOS par $nick \00301sur\00312 $chan !!\003" 
 putquick "NOTICE $chanalert :\002\00304SOS\002:\00312 $nick \00306>> \00304!SOS par $nick \00301sur\00312 $chan !!\003" 
}
}
 
bind pub - !gosos sos_join
proc sos_joint {nick host hand chan arg} {
foreach gochan $::alertchan {
 if [string match -nocase $gochan $chan]  {
 putquick "SAJOIN $nick $::chango"
 putquick "SAMODE $::chango +h $nick"
 putquick "PRIVMSG $chan :\002\00312$nick \00306prends en charge le \00304SOS \00306sur\00305 $::chango\003\002"
}
}
}





RE: SOS - BlackNight - 12/08/2009

Désole pour le double post, fausse manip