![]() |
|
|||||||
| Tcl scripting Tcl scripting related questions |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Junior Member
Join Date: Dec 2005
Posts: 5
Rep Power: 0 ![]() |
Am incercat acest script de mai jos si nu fuctioneaza si nu stiu de ce. Daca ma poate ajuta cineva va rog. Va multumesc.
Code:
#just type !idle on channel to get the top 5 idlers
bind pub - !idle idle_getnick
proc idle_getnick {nick mask hand chan args} {
global botnick
set idlaajia 0
set idle_1 "0"
set idle_2 "0"
set idle_3 "0"
set idle_4 "0"
set idle_5 "0"
set idle_1_nick "N/A"
set idle_2_nick "N/A"
set idle_3_nick "N/A"
set idle_4_nick "N/A"
set idle_5_nick "N/A"
foreach mec [chanlist $chan] {
set idle_idle [getchanidle $mec $chan]
if {$idle_idle > $idle_1 && $mec != $botnick && $mec != "L"} {set idle_1 $idle_idle ; set idle_1_nick $mec ; incr idlaajia }
}
foreach mec [chanlist $chan] {
set idle_idle [getchanidle $mec $chan]
if {$idle_idle > $idle_2 && $mec != $idle_1_nick && $mec != $botnick && $mec != "L"} {set idle_2 $idle_idle ; set idle_2_nick $mec ; incr idlaajia}
}
foreach mec [chanlist $chan] {
set idle_idle [getchanidle $mec $chan]
if {$idle_idle > $idle_3 && $mec != $idle_1_nick && $mec != $idle_2_nick && $mec != $botnick && $mec != "L"} {set idle_3 $idle_idle ; set idle_3_nick $mec ; incr idlaajia}
}
foreach mec [chanlist $chan] {
set idle_idle [getchanidle $mec $chan]
if {$idle_idle > $idle_4 && $mec != $idle_1_nick && $mec != $idle_2_nick && $mec != $idle_3_nick && $mec != $botnick && $mec != "L"} {set idle_4 $idle_idle ; set idle_4_nick $mec ; incr idlaajia}
}
foreach mec [chanlist $chan] {
set idle_idle [getchanidle $mec $chan]
if {$idle_idle > $idle_5 && $mec != $idle_1_nick && $mec != $idle_2_nick && $mec != $idle_3_nick && $mec != $idle_4_nick && $mec != $botnick && $mec != "L"} {set idle_5 $idle_idle ; set idle_5_nick $mec ; incr idlaajia}
}
#here you can change the output method if you want.
if {$idlaajia > "5"} {set idlaajia 5}
putchan $chan "# Idle Top $idlaajia at $chan #"
if {$idle_1_nick != "N/A"} { putchan $chan "# $idle_1 minutes <-- $idle_1_nick" }
if {$idle_2_nick != "N/A"} { putchan $chan "# $idle_2 minutes <-- $idle_2_nick" }
if {$idle_3_nick != "N/A"} { putchan $chan "# $idle_3 minutes <-- $idle_3_nick" }
if {$idle_4_nick != "N/A"} { putchan $chan "# $idle_4 minutes <-- $idle_4_nick" }
if {$idle_5_nick != "N/A"} { putchan $chan "# $idle_5 minutes <-- $idle_5_nick" }
}
Last edited by lsn; 15-04-2007 at 14:54. |
|
|
|
|
|
#2 (permalink) |
|
TCB & Ratings projects Member, #Mythic representative
|
1. cand postezi un cod pune-l intre tagurile [code] pt a il face mai lizibil
2. incearca codul acesta: Code:
bind pub - !idle pub:idle
proc pub:idle {nick host hand chan txt} {
foreach nick [chanlist $chan] {
set idle([getchanidle $nick $chan]) "$nick"
}
set values [lrange [lsort -decreasing [array names idle]] 0 4]
set i 1
foreach value $values {
if {![info exists idletop]} { set idletop "\002${i}.\002 $idle($value) $value" }
else { lappend idletop "\002,${i}.\002 $idle($value) $value" }
incr i
}
puthelp "PRIVMSG $chan :Top 5 idlers: [join $idletop]"
}
__________________
Fuck oFF! Last edited by arcade; 14-04-2007 at 23:38. Reason: multumiri lui lsnx pt ca a observat unele lucruri :P |
|
|
|
|
|
#5 (permalink) |
|
Junior Member
Join Date: Dec 2005
Posts: 5
Rep Power: 0 ![]() |
Da am verificat si am gasit ce nu ii placea, imi dadea eroare din cauza ca am pus else pe line noua.
Mai e o problema totusi, dau comanda dar nu seteaza corect topul, pune aiurea persoanele din top, iar persoana care era pe primul loc avea idle 3 secunde. nu inteleg de ce. Eu top idle ma refeream sa imi arate pe primul loc care are cel mai mare idle de pe canal si asa mai departe.. in orinde descrescatoare. Ms mult de tot de ajutor. |
|
|
|
|
|
#7 (permalink) |
|
TCB & Ratings projects Member, #Mythic representative
|
dupa cum a spus si universalia, intrebarea e ce tip de idle te intereseaza. Scriptul scris de mine verifica idle pe canal (cat timp a trecut de cand persoanele respective nu au mai facut nimic pe canal) folosind idle intern al eggdrop. Deci persoanele din top pot sa aiba si 1 s idle pe irc, daca pe chan n-au mai facut nimic de X timp, botul va folosi idle de pe canal, nu idle de pe IRC.
__________________
Fuck oFF! |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Anti-Idle TCL | GoRaPiD | Tcl scripting | 4 | 15-01-2005 21:22 |
| idle-deop | Virtual | Tcl scripting | 7 | 30-12-2004 21:48 |