![]() |
|
|||||||
| Tcl scripting Tcl scripting related questions |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
TCB & Ratings projects Member, #Mythic representative
|
Am un script de greet si vreu sa ii fac niste modificari:
1 sa inlocuiasca daca pun ca greet welcome %nick% to %chan% %nick% si %chan% cu nick-ul celui care a intrat pe canal si %chan% cu canalul 2 scriptul sa verifice dak e activat chanset +greet si daca e activat sa puna greet, dak nu sa dea un msg pe canal Code:
proc greet:replace { nick chan line } {
global botnick
if {[string match "*%nick%*" $line]} { regsub -all %nick% $line $nick line }
if {[string match "*%chan%*" $line]} { regsub -all %chan% $line $chan line }
if {[string match "*%bot%*" $line]} { regsub -all %bot% $line $botnick line }
return $line
}
proc set_greet {nick uhost hand chan} {
global random_greet setgreet botnick
if {$botnick != $nick} {
if {[info exists setgreet([string tolower $chan])] && [lindex $setgreet([string tolower $chan]) 0] != ""} {
set i $setgreet([string tolower $chan])
puthelp "NOTICE $nick :$i"
} {
foreach i [array names random_greet] {
if {[lsearch -exact [string tolower [channels]] [string tolower $i]] != -1} {
if {[lindex $random_greet([string tolower $i]) 0] != ""} {
set greet [lindex $random_greet($i) [rand [llength $random_greet($i)]]]
if {$chan == $i} {
puthelp "NOTICE $nick :$greet"
}
}
} {
unset random_greet($i)
}
}
}
}
}
|
|
|
|
|
|
#3 (permalink) |
|
TCB & Ratings projects Member, #Mythic representative
|
merci da cu greet:replace am ceva prb k nuj chiar exact cum sa il folosesc pt k eu is incepator intr`ale tcl si m-am inspirat putin din alt script cand am facut proc`u
Last edited by UniversaliA; 21-02-2005 at 22:07. Reason: in acest caz nu era nevoie de quote |
|
|
|
|
|
#4 (permalink) |
|
Administrator
aka aqwzsx |
Dubios la tine e greet`ul. Raspuns la intrebarea ta:
Code:
puthelp "NOTICE $nick :$greet Code:
puthelp "NOTICE $nick :[greet:replace $nick $chan $greet] Code:
if {[string match "*%bot%*" $line]} { regsub -all %bot% $line $botnick line }
|
|
|
|
|
|
#5 (permalink) |
|
Junior Member
|
HTML Code:
proc greet:replace { nick chan line } {
global botnick
if {[string match "*%nick%*" $line]} { regsub -all %nick% $line $nick line }
if {[string match "*%chan%*" $line]} { regsub -all %chan% $line $chan line }
if {[string match "*%bot%*" $line]} { regsub -all %bot% $line $botnick line }
return $line
}
proc set_greet {nick uhost hand chan} {
global random_greet setgreet botnick
if {$botnick != $nick} {
if {[info exists setgreet([string tolower $chan])] && [lindex $setgreet([string tolower $chan]) 0] != ""} {
set i $setgreet([string tolower $chan])
puthelp "NOTICE $nick :$i"
} {
foreach i [array names random_greet] {
if {[lsearch -exact [string tolower [channels]] [string tolower $i]] != -1} {
if {[lindex $random_greet([string tolower $i]) 0] != ""} {
set greet [lindex $random_greet($i) [rand [llength $random_greet($i)]]]
if {$chan == $i} {
puthelp "NOTICE $nick :$greet"
}
}
} {
unset random_greet($i)
}
}
}
}
}
... cu source nu mege si am incercat si cum a zis Virtual sa redenumesc fisierul sal pun in aScript dar tot nu mere (
|
|
|
|
|
|
#6 (permalink) |
|
Administrator
aka aqwzsx |
bind la join unde e ? care sa activeze greet`ul tau. Aici este doar procesul greet, dar bot`ul trebuie sa stie cand sa-l activeze, corect ? Si greet trebuie activat la join, pentru aceasta se faci bind la join unde se spune ca bot`ul sa execute procesul greet. Plus ia seama ca nu ai antiflood la greet, bot`ul cam risca sa faca lag cand revine din split sau la flood join.
|
|
|
|
|
|
#8 (permalink) |
|
Administrator
aka aqwzsx |
In afara de bind join tu ai nevoie de 2 variabile globale random_greet setgreet sa fie setate. Sincer cel mai optimal e sa te uiti in sursa de unde ai luat acest cod, sa ai toate setarile corespunzatoare. Daca nu mai tii minte de unde ai sursa, incearca pe egghelp.org.
|
|
|
|
|
|
#10 (permalink) |
|
Member
Join Date: Dec 2004
Location: Under a rock!
Posts: 116
Rep Power: 32 ![]() |
Voi la script-urile pe care le copiati/folositi nu va uitati asa de curiozitate ce si cum a facut omu acolo? In loc de regsub ar trebui sa folositi comanda subst (citez "perform backslash, command, and variable substitutions") "care este" mult mai rapid.
Cine stie cunoaste.Edit: A si nu ar strica sa mai aruncati si voi un ochi peste docs/tcl-commands.doc pentru ca o sa va ajute ENORM. De ex, in loc de Code:
if {$botnick != $nick} {
ar trebui inlocuit cu: Code:
if {![isbotnick $nick]} {
|
|
|
|
![]() |
| 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 |
| [Correct script] Eroare Botnet [Welcome,Leave,Greet] | SoLLo | Tcl scripting | 1 | 24-05-2007 19:07 |
| [Correct script] HELP - greet :) | vR|Ar | Tcl scripting | 5 | 07-04-2007 16:11 |
| Greet | AdrianK | a&a light script | 0 | 28-02-2007 23:05 |
| Exista greet la join? | BizZu | #a&a | 3 | 27-09-2005 18:29 |