Попробуй так:
proc ::calc::randomdata {{chan ""}} {
global calc
if {$chan == "" } {set chandata $calc(data)} else {set chandata [::calc::getchancalcs $calc(data) $chan]}
if {[llength $chandata] > 0} {
if {[info exists num] && $num != "" && $num <= [llength $chandata]} {
return [lindex $chandata $num]
incr num
} else {
set num 0
return [lindex $chandata $num]
}
}
putlog "\[calc\] error: can't get random calc data for channel $chan!"
return ""
}
Когда ты показываешь код, то пользуйся меню "подсветка синтаксиса". Выделяй код, и в выпадающем меню выбирай язык TCL. А тэг Quote нужен для показа каких-либо цитат. Например, лога ошибки из-за которой мой вариант процедуры не будет работать.
И вообще, если ты скачивал этот скрипт с архива, то там была ссылка
Тема на форуме туда и надо было писать. Это нужно для того, чтобы все вопросы по скрипту были в одной теме, а не с непонятно какими названиями разбросаны по форуму.