botlending forum  

Go Back   botlending forum > Eggdrop & TCL > Tcl scripting

Tcl scripting Tcl scripting related questions

Reply
 
LinkBack Thread Tools Display Modes
Old 30-04-2005, 03:50   #11 (permalink)
Administrator

aka aqwzsx
 
Join Date: Jun 2004
Posts: 827
Blog Entries: 126
Rep Power: 3
UniversaliA is on a distinguished road
Default

Arata ce ai si fii mai concret in ceea ce vreai.

Din cate am inteles, daca de exemplu sunt < 2 opi - BOT`ul seteaza +m, daca sunt > 2 opi - BOT`ul scoate +m.

Doresti asta sa fie integrat in a&a light sau vreai script aparte ? Sa fie asociat aceasta setare cu un flag de canal concret ? de exemplu in a&a light cu +secure.

Deci cand ai o problema, fii te rog detaliat la maxim. Kiar daca in acest thread s-a discutat problema, nu am chef acuma sa recitesc toate posturile, si iti dai seama nu poti ghici exact ce doresti.
UniversaliA is offline   Reply With Quote
Old 30-04-2005, 10:21   #12 (permalink)
Senior Member
 
GoRaPiD's Avatar
 
Join Date: Jun 2004
Location: In pat cu avatarul meu
Age: 20
Posts: 256
Rep Power: 0
GoRaPiD is an unknown quantity at this point
Send a message via Yahoo to GoRaPiD
Default

Deci pana acuma seta +m daca era doar el si X op , acuma vreau sa mai lase 1 op , adik decat sa fie dependent de X mai bine sa fie setat sa puna +m daca sunt 3 opi si daca sunt mai multi sa scoata m , daca se poate 10x
__________________
Forza RAPID ALE ALEEEEEEEEEEEEEEEEEEEEEEe
GoRaPiD is offline   Reply With Quote
Old 01-05-2005, 15:32   #13 (permalink)
Senior Member
 
GoRaPiD's Avatar
 
Join Date: Jun 2004
Location: In pat cu avatarul meu
Age: 20
Posts: 256
Rep Power: 0
GoRaPiD is an unknown quantity at this point
Send a message via Yahoo to GoRaPiD
Default Scriptu folosit de mine

Code:
bind time - "* * * * *" ch:set
setudef flag moderate
set neednick "X"
set needops "2"
 
proc ch:set {min hour day month year} { 
global neednick needops
foreach chan [channels] {
set lop 0
if {[channel get $chan moderate]} {
foreach u [chanlist $chan] { 
if {[isop $u $chan]} { incr lop }
 }
 if {[botisop $chan] && ($lop == $needops) && [onchan $neednick $chan] && [isop $neednick $chan]} {puthelp "mode $chan +m"} {puthelp "mode $chan -m"}
  }
 }
}
eu am incercat sa il modific astfel da nu a mers :
Code:
bind time - "* * * * *" ch:set
setudef flag moderate
set neednick "X |Rapid"
set needops "3"
 
proc ch:set {min hour day month year} { 
global neednick needops
foreach chan [channels] {
set lop 0
if {[channel get $chan moderate]} {
foreach u [chanlist $chan] { 
if {[isop $u $chan]} { incr lop }
 }
 if {[botisop $chan] && ($lop == $needops) && [onchan $neednick $chan] && [isop $neednick $chan]} {puthelp "mode $chan +m"} {puthelp "mode $chan -m"}
  }
 }
}
Daca as scoate neednick si as lasa doar needops la 3 ar merge ?
__________________
Forza RAPID ALE ALEEEEEEEEEEEEEEEEEEEEEEe
GoRaPiD is offline   Reply With Quote
Old 02-05-2005, 03:21   #14 (permalink)
Administrator

aka aqwzsx
 
Join Date: Jun 2004
Posts: 827
Blog Entries: 126
Rep Power: 3
UniversaliA is on a distinguished road
Default

Am modificat putin script`ul si am descris fiecare rand ce face. Sper lsn sa nu fie contra.
Code:
bind time - "* * * * *" ch:set ;#fiecare minuta bot`ul va demara procesul "ch:set"
 
setudef flag moderate ;# setarea de canal ca sa fie activata optiunea, poate fi setata in dcc
 
set needops "3"  ;# cati opi minim sa fie
 
proc ch:set {min hour day month year} { 
 global needops
 
 #pentru fiecare canal
 foreach chan [channels] {
  #daca canalul e moderate si bot`ul e op
  if { [channel get $chan moderate] && [botisop $chan]} {
   #aflam numarul de opi pe canal, setam "lop" 0 
   set lop 0
   #pentru fiecare user de pe canal
   foreach u [chanlist $chan] { 
	#daca user`ul e op, marim variabila "lop" cu o unitate
	if { [isop $u $chan]} {incr lop}
   }
   #daca numarul de opi e mai mic decat cel specificat, setam +m.
   #in caz contrar setam -m
   if {$lop < $needops} {pushmode $chan +m} {pushmode $chan -m}
  }
 }
}
UniversaliA is offline   Reply With Quote
Old 29-04-2006, 14:02   #15 (permalink)
Senior Member
 
GoRaPiD's Avatar
 
Join Date: Jun 2004
Location: In pat cu avatarul meu
Age: 20
Posts: 256
Rep Power: 0
GoRaPiD is an unknown quantity at this point
Send a message via Yahoo to GoRaPiD
Default

1. vreau comanda de canal ca sa setez numarul de opi care au voie nu sa stau sa modific de fiecare data in tcl

2. vreau de ex cum era prima data scriptu depindea daca era X pe chan acuma sunt 2 boti pe chan al meu si al inca unui om , dar ala mai pica si daca limita e setata sa fie si pt botu ala on , daca botu ala nu e on si un om ia op nu mai poate scoate moderat ca e setata o anumita limita si vreau ceva de genu :

daca este hostul *!*@user.undernet.org online sa fie limita de opi setata de mine , daca nu este sa fie cu una in minus

adik daca este limita la 4 sa fie apoi modificata la 3 daca nu este acel host online

De exemplu:

exista pe canalu #Rapid 3 boti

X
RapidGuard
InI

Cand sunt mai putin de 4 opi RapidGuard pune moderat si daca sunt 4 il scoate

X
RapidGuard
InI
GoRaPiD (sa zicem ) - deci acuma scoate moderat

-dar daca lipseste InI si ia un om op nu poate scoate moderate pentru ca sunt sub 4 oameni cu op si tot pune moderat

X
RapidGuard
GoRaPiD

eu vreau in momentu cand lipseste InI el sa modifice automat limita de la 4 opi la 3 opi si cand revine InI sa revina la limita de 4 opi
__________________
Forza RAPID ALE ALEEEEEEEEEEEEEEEEEEEEEEe

Last edited by UniversaliA; 29-04-2006 at 18:35. Reason: merged 2 posts
GoRaPiD is offline   Reply With Quote
Old 11-05-2006, 10:13   #16 (permalink)
Member
 
caesar's Avatar
 
Join Date: Dec 2004
Location: Under a rock!
Posts: 116
Rep Power: 33
caesar will become famous soon enough
Default

Pentru un maxim de eficacietate in locul tau lsn as merge pe mai multe bind-uri ca: join, part, quit, sign, etc. care sa alepeze un acelasi proces care decide daca sa puna sau sa scoate modul "m" de pe un canal. Daca incerci cu timp nu ai sa reusesti sa il faci sa reactioneze cum trebuie tot timpul.
caesar is offline   Reply With Quote
Old 12-05-2006, 11:48   #17 (permalink)
lsn
Member
 
lsn's Avatar
 
Join Date: Jun 2004
Location: In the NeXuS
Posts: 160
Rep Power: 38
lsn will become famous soon enough
Default

hai mai nu va luati de mine ca am fost prea putin online ultimele 2-3 saptamani
Ok, sa vedem daca am inteles bine ce vrea GoRaPiD, si cu hinturile lui caesar

Code:
setudef flag moderate
setudef int modops
setudef str modhost

bind sign -|- * mod:moderate
bind join -|- * mod:moderate
bind part -|- * mod:moderate
bind mode -|- * mod:modes

bind pub n|n {@set} mod:set

proc mod:moderate {nick uhost hand chan {arg ""}} {
    if {![channel get $chan moderate]} {return}
    set host [channel get $chan modhost]
    set ops  [channel get $chan modops]
    set op 0
    set ok 1	
    foreach u [chanlist $chan] { if {[isop $u $chan]} {incr op} }
    foreach c [chanlist $chan] {
	if {[llength $host]} {
	    if {[string equal -nocase [lindex [split [getchanhost $c] @] 1] [lindex [split $host @] 1]]} {set ok 0; break} 
	}
    }
    if {$ok} {set ops [expr $ops - 1]}
    if {$op < $ops} {pushmode $chan +m} {pushmode $chan -m}
    
}

proc mod:modes {nick uhost hand chan mode target} {
    if {![channel get $chan moderate]} {return}
    switch -exact -- $mode {
	"+m" -
	"-m" -
	"+o" -
	"-o" {mod:moderate $nick $uhost $hand $chan}
    }
}

proc mod:set {nick uhost hand chan arg} {
    set arg [split $arg]
    switch -exact -- [string tolower [lindex $arg 0]] {
	"needops"   {if {[scan [lindex $arg 1] "%f%s" f g] == 1} {channel set $chan modops [lindex $arg 1]; puthelp "notice $nick :Ok, set."} {puthelp "notice $nick :Usage: \$set \[needops|needhost|\[-+\]moderate\] \[\$number|\$host\]"}}
	"needhost"  {if {[string match -nocase *!*@*.??* [lindex $arg 1]]} {channel set $chan modhost [lindex $arg 1]; puthelp "notice $nick :Ok, set."} {puthelp "notice $nick :Usage: \$set \[needops|needhost|\[-+\]moderate\] \[\$number|\$host\]"}}
	"+moderate" {channel set $chan +moderate; puthelp "notice $nick :Ok, set."}
	"-moderate" {channel set $chan -moderate; puthelp "notice $nick :Ok, set."}
	default     {puthelp "notice $nick :Usage: @set \[needops|needhost|\[-+\]moderate\] \[\$number|\$host\]"}
    }
}
Folosire
Code:
Usage: @set [needops|needhost|[-+]moderate] [$number|$host]
Orice sugestie e binevenita in continuare, apropo nu am testat prea mult ca nu prea am timp, daca sunt erori ... corectam
lsn is offline   Reply With Quote
Old 12-05-2006, 18:37   #18 (permalink)
Senior Member
 
GoRaPiD's Avatar
 
Join Date: Jun 2004
Location: In pat cu avatarul meu
Age: 20
Posts: 256
Rep Power: 0
GoRaPiD is an unknown quantity at this point
Send a message via Yahoo to GoRaPiD
Default

so o explicatie cum a pus aqwzsx pls ? ca nu inteleg 2 boabe
__________________
Forza RAPID ALE ALEEEEEEEEEEEEEEEEEEEEEEe
GoRaPiD is offline   Reply With Quote
Old 15-05-2006, 08:27   #19 (permalink)
lsn
Member
 
lsn's Avatar
 
Join Date: Jun 2004
Location: In the NeXuS
Posts: 160
Rep Power: 38
lsn will become famous soon enough
Default

Ex:
Code:
@set needops 3
seteaza nr de opi
Code:
@set needhost *!*@host
seteaza hostul care trebuie sa se afle pe canal
Code:
@set [+-]moderate
seteaza sau scoate canalul din raza de actiune a scriptului
Comenzile se dau pe canal.
lsn is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT +3. The time now is 07:09.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.