in primul rand ai folosit mult prea multe binduri. toate cele 59 de binduri (unde e si al 60'lea?) puteau fi inlocuite simplu, cu o singura linie:
Code:
bind time - "* * * * *" timed:ask
nu ai nevoie de proc'urile modem si modemm. ai putea pur si simplu sa muti etapa asta chiar in timed:ask (nu uita sa adaugi un spatiu intre cifre si '[' la utimer)
Code:
proc timed:ask {min hour day month year} {
global ask
if {![info exists ask(start)]} { set ask(start) 0 }
if {$ask(start)} {
if {$ask(q) < [expr $ask(qmax)+1]} {
pushmode $ask(chan) +m
flushmode $ask(chan)
utimer 2[list puthelp "PRIVMSG $ask(chan) :$ask(question$ask(q))"]
utimer 10[list pushmode $ask(chan) -m]
incr ask(q)
} else {
set ask(start) 0
}
}
}
in general cand aplici moduri pe canale, e mai indicat sa folosesti pushmode (sintaxa o gasesti
aici)
cat despre instructiunile puthelp goale, dupa cum am spus si mai inainte, nu'si au rostul. nu e obligatoriu sa ai else dupa orice if, asa ca varianta corecta a codului tau este:
Code:
if {$ask(start) == 1} {putquick "MODE $ask(chan) -m"}