24/11/2011, 16:54
(Modification du message : 24/11/2011, 16:55 par aliasangelius.)
Bonjour,
Même avec la version d'eggdrop 1.6.20 il et possible de faire un timer en minutes sans utilisé bind cron.
Exemple d'un morceau de code tcl :
Même avec la version d'eggdrop 1.6.20 il et possible de faire un timer en minutes sans utilisé bind cron.
Exemple d'un morceau de code tcl :
tcl
bind EVNT - init-server proc:initje
proc proc:initje { type } {
#### salon sur lequel se déroule le timer #####
set ::salon "#salon"
#### temps minimum entre deux phrases #####
set ::temps "60"
#### temps aléatoire max à ajouter au temps minimum ####
set ::add_temps "5"
#### Phrases à faire répéter #####
set ::phrases {
"blablabla"
"reblablabla"
}
set ::active 0
}
bind pub -|- !active onn
proc onn { nick uhost hand chan arg } {
if [info exists ::active]&&($::active==1) {
putserv "PRIVMSG $::salon :\0031Les Annonces sont déjà \0034activé\0031, veuillez d'abord les \0034désactivé avant de le relancer !"
return
}
putserv "PRIVMSG $::salon :\0031Les Annonces sont \0034activé !"
active
}
bind pub o|o !inactive off
proc off { nick uhost hand chan arg } {
if ![info exists ::active]||($::active==0) {
putserv "PRIVMSG $::salon :\0031Les Annonces sont déjà \0034déactivé !"
return
}
putserv "PRIVMSG $::salon :\0031Les Annonces sont \0034désactivé !"
set ::active 0
foreach t [timers] {
if {[lindex $t 1] == " active "} {
killtimer [lindex $t 2]
}
}
}
proc active {} {
set ::active 1
set ::phrase [lindex $::phrases [rand [llength $::phrases]]]
putserv "PRIVMSG $::salon :\0031Annonces : \0034 $::phrase\0031"
timer [expr $::temps + [rand $::add_temps]] { active }
}