Buyrun size taslak.. ( Aslı gibidir
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. )
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#sunucu adminlerini belirleyelim..
set m(admins) {
"nick1"
"nick2"
"nick3"
}
#söylenecek mesajları belirleyelim..
set m(nosifre) "nickiniz kayıtsız kaydetmek için komut..."
set m(sifreli) "sunucuya hoşgeldiniz ...."
set m(adminmsg) "sunucu kurallarına uyalım v.s"
#mesajları notice şeklinde mi privmsg şeklinde mi göndersin?
set m(msg) "NOTICE"
#snotice bilgileri gelince go:notice1 procuna git
bind raw * notice go:notice1
proc go:notice1 {from keyword arg} {
global m
#eğer gelen notice bilgisinde Client connecting yazısı varsa..
if { [string match "*Client connecting*" $arg] } {
#bu yazı içerisinden 9. kelimeyi nick olarak seç..
set nick [lindex $arg 9]
#nick admin lisstemizde mi?
foreach j $m(admins) {
if {[string match -nocase $j $nick]} {
putserv "$m(msg) $nick $m(adminmsg)"
}
return 0
}
#eğer nick admin değilse şifreli mi şifresiz mi anlamak için ns info çektiriyoruz..
putquick "privmsg nickserv ns info $nick"
}
}
#İlk kısım sona erdi.. İkinci kısımın genel hatlarını yapıp tamamlamayı size bırakacam..
#ns info çektirdiğimiz için bize sonuç yine notice ile gelecektir..
bind raw * notice go:notice2
proc go:notice2 {from keyword arg} {
global m
#Gelen cevapta eğer nick kayıtsızsa (servis cevabı farklıysa metni değiştirin)
if { [string match "*Kayitli bir nick degil*" $arg] } {
#nicki seçtiriyoruz. ctrl kodlarını silerek..
set nick [lindex [stripcodes bcru $arg] 0]
putserv "$m(msg) $nick $m(nosifre)"
}
#Gelen cevapta eğer nick kayıtlıysa..
if { [string match "* isim*" $arg] } {
#Nicki seçtiriyoruz.. ctrl kodlarını silerek yine..
set nick [lindex [stripcodes bcru $arg] 0]
putserv "$m(msg) $nick $m(sifreli)"
}
}
Genel hatlarıyla böyle bir şey
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. Taslak dememin nedeni daha da geliştirilip daha güzel birşey yapılabilir olması.. Ben sadece bir örnek olsun diye yazdım bunu..