1
我在网上找到了这个脚本。这有点旧了,开发者页面早已消失。代码起作用,但我试图清理它一点点。例如:如果周= 0,则不显示它。我从控制台收到有关额外令牌的错误。我试图谷歌这个错误,但没有坚实的未来。寻找一些见解。Eggdrop TCL正常运行时间脚本
评论部分是我的“清理”的尝试。这是我收到的错误。
Tcl错误[正常运行时间]:在表达 “$ ::时间(周)= 0” 语法错误:在表达的端
随着部评论额外的令牌,它工作正常。只是试图清理东西,所以它不会返回“我已经在线0周0天0小时1分钟”。
bind pub "-|-" !uptime uptime
proc uptime { nick host handle channel text } {
putquick "PRIVMSG $channel :I have been online for [eggtime]."
}
proc eggtime {} {
set ::time(uptime) [expr [clock seconds]-$::uptime]
set ::time(week) [expr $::time(uptime)/604800]
set ::time(uptime) [expr $::time(uptime)-$::time(week)*604800]
set ::time(days) [expr $::time(uptime)/86400]
set ::time(uptime) [expr $::time(uptime)-$::time(days)*86400]
set ::time(hour) [expr $::time(uptime)/3600]
set ::time(uptime) [expr $::time(uptime)-$::time(hour)*3600]
set ::time(mins) [expr $::time(uptime)/60]
set ::time(uptime) [expr $::time(uptime)-$::time(mins)*60]
set ::time(secs) $::time(uptime)
#if {$::time(week) = 0} {
# set ::time(return) "$::time(days) day\(s\), $::time(hour) hour\(s\), $::time(mins) minute\(s\) and $::time(secs) second\(s\)"
#} else if {$::time(days) = 0} {
# set ::time(return) "$::time(hour) hour\(s\), $::time(mins) minute\(s\) and $::time(secs) second\(s\)"
#} {
# set ::time(return) "$::time(week) week\(s\), $::time(days) day\(s\), $::time(hour) hour\(s\), $::time(mins) minute\(s\) and $::time(secs) second\(s\)"
#}
set ::time(return) "$::time(week) week\(s\), $::time(days) day\(s\), $::time(hour) hour\(s\), $::time(mins) minute\(s\) and $::time(secs) second\(s\)"
return $::time(return)
}
夫妇失误。感谢您为我清理。我有时会弄糊涂我的代码语言。我能够让周消失,因为他们是0,但0天仍然回来。有什么想法吗? – Pat 2012-04-20 20:11:04
划痕 - 发现我的问题。需要将我的if语句逻辑向后工作。现在全部设置。 – Pat 2012-04-20 20:16:03