![]() |
|
|
#1 (permalink) |
|
Member
|
Am facut urmatorul script nu e prea bine facut dar functzioneaza totusi am niste intrebari
1.cum sa fac sa dea help despre comanda de ex daca scrii !adduser el sa te ia la privat si sa iti zica !adduser <user> <nivel> si asa mai departe la restu 2.ce ar mai trebuii inbunatatzit la el Code:
# Set what prefix you whant to use! Default is "!"
# you chan modify with "." "`"
set cmdpfix "!"
## BINDS
bind pub -|x ${cmdpfix}xautotopic pub:xautotopic
bind pub -|x ${cmdpfix}xdesc pub:xdesc
bind pub -|x ${cmdpfix}xurl pub:xurl
bind pub -|x ${cmdpfix}xadduser pub:xadduser
bind pub -|x ${cmdpfix}xremuser pub:xremuser
bind pub -|x ${cmdpfix}xclear pub:xclear
bind pub -|x ${cmdpfix}xvoice pub:xvoice
bind pub -|x ${cmdpfix}xdevoice pub:xdevoice
bind pub -|x ${cmdpfix}xop pub:xop
bind pub -|x ${cmdpfix}xdeop pub:xdeop
bind pub -|x ${cmdpfix}xkick pub:xkick
bind pub -|x ${cmdpfix}xban pub:xban
bind pub -|x ${cmdpfix}xunban pub:xunban
bind pub -|x ${cmdpfix}xsuspend pub:xsuspend
bind pub -|x ${cmdpfix}xunsuspend pub:xunsuspend
bind pub -|x ${cmdpfix}xtopic pub:xtopic
## Don't modify if you don't know what you do
# !xautotopic <on|off>
proc pub:xautotopic {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :set $chan autotopic $ar"
putcmdlog "<<$nick>> !$hand! x autotopic $chan"
}
# !xdesc <text>
proc pub:xdesc {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :set $chan desc $ar"
putcmdlog "<<$nick>> !$hand! x desc $chan"
}
# !xurl <url>
proc pub:xurl {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :set $chan url $ar"
putcmdlog "<<$nick>> !$hand! x url $chan"
}
# !xadduser <user> <level>
proc pub:xadduser {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :adduser $chan $ar"
putcmdlog "<<$nick>> !$hand! x adduser $chan"
}
# !xremuser <user>
proc pub:xremuser {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :remuser $chan $ar"
putcmdlog "<<$nick>> !$hand! x remuser $chan"
}
# !xclear
proc pub:xclear {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :clearmode $chan"
putcmdlog "<<$nick>> !$hand! x clear $chan"
}
# !xvoice <nick1> <nick2> .. <nickn>
proc pub:xvoice {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :voice $chan $ar"
putcmdlog "<<$nick>> !$hand! x voice $chan"
}
# !xdevoice <nick1> <nick2> .. <nickn>
proc pub:xdevoice {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :devoice $chan $ar"
putcmdlog "<<$nick>> !$hand! x devoice $chan"
}
# !xop <nick1> <nick2> .. <nickn>
proc pub:xop {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :op $chan $ar"
putcmdlog "<<$nick>> !$hand! x op $chan"
}
# !xdeop <nick1> <nick2> .. <nickn>
proc pub:xdeop {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :deop $chan $ar"
putcmdlog "<<$nick>> !$hand! x deop $chan"
}
# !xkick <nick> <reason>
proc pub:xkick {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :kick $chan $ar"
putcmdlog "<<$nick>> !$hand! x kick $chan"
}
# !xban <nick/host> <duration> <reason>
proc pub:xban {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :ban $chan $ar"
putcmdlog "<<$nick>> !$hand! x ban $chan"
}
# !xunban <mask>
proc pub:xunban {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :unban $chan $ar"
putcmdlog "<<$nick>> !$hand! x unban $chan"
}
# !xsuspend <user> <duration>
proc pub:xsuspend {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :suspend $chan $ar"
putcmdlog "<<$nick>> !$hand! x suspend $chan"
}
# !xunsuspend <user>
proc pub:xunsuspend {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :unsuspend $chan $ar"
putcmdlog "<<$nick>> !$hand! x unsusped $chan"
}
# !xtopic <topic>
proc pub:xtopic {nick uhost hand chan ar} {
global botnick
putserv "PRIVMSG X :topic $chan $ar"
putcmdlog "<<$nick>> !$hand! x topic $chan"
}
__________________
Owner of #ro-tcl |
|
|
|
|
|
#2 (permalink) |
|
Administrator
aka aqwzsx |
1. ai uitat de autorizare.
2. nu ar fi rau bind sa faci in afara de local X si pe global X folosim X, pentru ca x global e utilizat deja. corect ? Code:
bind pub X|X ${cmdpfix}xautotopic pub:xautotopic
4. pentru a verifica daca lipseste textul (optiunea la comanda, exemplu la xdesc) Code:
if {![string length $ar]} {
puthelp "PRIVMSG $nick :FAILED: no argument Specified"
return "FAILED: no argument specified"
}
Code:
if {![string equal -nocase $ar on] && ![string equal -nocase $ar off]} {
puthelp "PRIVMSG $nick :Specify valid options ON or OFF"
return "FAILED: invalid argument specified"
}
Code:
set option [lindex [split $ar] 0]
if {![string equal -nocase $option on] && ![string equal -nocase $option off]} {
puthelp "PRIVMSG $nick :Specify valid options ON or OFF"
return "FAILED: invalid argument specified"
}
6. pentru a verifica daca e cifra & nu depaseste 499 & nu e mai mica ca 1 (exemplu la xadduser) Code:
set whom [lindex [split $ar] 0]
set access [lindex [split $ar] 1]
if {![string length $whom]} {
puthelp "PRIVMSG $nick :FAILED: no argument Specified"
return "FAILED: no argument specified"
}
if {![isnumber $access] || $access > 498 || $access < 1} {
puthelp "PRIVMSG $nick :FAILED: invalid level access"
return "FAILED: no/invalid argument specified"
}
O suggestie in plus, daca nu e specificat nivelul de acces (din orice motiv), BOTul "by default" sa atribuie acces-ul 399, adica comanda !xadduser blabla sa fie echivalenta cu !xadduser blabla 399 Code:
set whom [lindex [split $ar] 0]
set access [lindex [split $ar] 1]
if {![string length $whom]} {
puthelp "PRIVMSG $nick :FAILED: no argument Specified"
return "FAILED: no argument specified"
}
if {![isnumber $access] || $access > 498 || $access < 0} {
set access 399}
#continuare la script
a. verificam daca user-ul e pe chan b. verificam daca user-ul are deja voice sau op etc. Folosim comenzile din tcl-commands.doc, daca va intereseaza topic nou deschideti. Code:
set whom [lindex [split $ar] 0]
if {![string length $whom]} {
set whom $nick
}
#daca utilizatorul nu specifica nici un argument, deci el vrea el insusi sa fie deopdat
if {![onchan $whom $chan]} {
puthelp "PRIVMSG $nick :FAILED: nick not on chan"
return "FAILED: nick not on chan"
}
if {![isop $whom $chan]} {
puthelp "PRIVMSG $nick :FAILED: nick is not opped on chan"
return "FAILED: nick is not opped on chan"
}
#pentru "voice" if {![isvoice $whom $chan]} ***
Detalii in plus, dupa ce apare a doua versiune a script-lui ![]() ___ bind, puthelp, onchan, isop, isvoice - comanda interna eggdrop (vezi doc/tcl-commands.doc) isnumber - proc intern eggdrop (vezi scripts/alltools.tcl) proc, set, string, return - comenzi Tcl (vezi http://tcl.tk/man/) Last edited by UniversaliA; 11-06-2004 at 06:50. |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|