1. Pentru a inlocui %chan% %nick% si %chan% - tu deja ai proc`ul greet:replace. Stii cum sa-l folosesti ?
2. Ca sa verifici daca chan`ul are setat greet, simplu:
Code:if { [channel get $chan greet]} {... greet user ...} {... ignore user ...}
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) } } } } }
1. Pentru a inlocui %chan% %nick% si %chan% - tu deja ai proc`ul greet:replace. Stii cum sa-l folosesti ?
2. Ca sa verifici daca chan`ul are setat greet, simplu:
Code:if { [channel get $chan greet]} {... greet user ...} {... ignore user ...}
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 21:07. Reason: in acest caz nu era nevoie de quote
Dubios la tine e greet`ul. Raspuns la intrebarea ta:
inlocuiesti cuCode:puthelp "NOTICE $nick :$greet
Si inca o mica nuanta.Code:puthelp "NOTICE $nick :[greet:replace $nick $chan $greet]
Acest rand, poti sterge din proc`ul greet:replace, din motiv ca nu este folosit.Code:if {[string match "*%bot%*" $line]} { regsub -all %bot% $line $botnick line }
Asta ar fi nu ?Daca asta ii cand o pun pe A&ALightScript nu mereHTML 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
(
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.
Nu prea stiu multe despre tcl... care mil face si mie complet cu tot cei nevoie ? pls dau o bere
scuze ca va tot bat la cap
dar am vrut demult greet la A&ALightScript si deaia
...
Last edited by Topsy; 10-05-2005 at 22:09.
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.
Sursa e multigreet
eu nu am cerut decat ce mi-a trebuit mie, Toopsy vezi egghelp.org pt script
Totusi am uitat sa mentionez k greet:replace nu mere si nuj d c
Last edited by arcade; 22-08-2005 at 14:43.
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
(care apropo e gresit din start pentru ca ABC nu este aceiasi cu abc)Code:if {$botnick != $nick} {
ar trebui inlocuit cu:
si asa mai departe..Code:if {![isbotnick $nick]} {
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks