Tekil Mesaj gösterimi
Alt 30 Mart 2014, 19:17   #1
Çevrimdışı
xwerswoodx
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Kodlama hakkında sorular [TCL]




TCL kodlamasını hiç bilmiyorum yeni başladım ve yavaş yavaş anlamaya çalışıyorum.[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
buradan biraz bilgi alıp ufak testler yaptım fakat hala çözemediğim bazı şeyler var.

[BOX="Soru 1"]Bot kafasına göre -e alıyor veya flood koruması yapıyor.
Bot sunucuya girip +h aldığında kafasına göre +e deki nickleri kaldırıp, flood yapanı atıyor, halbuki ben botun herhangi bir şekilde kanalda öyle bir koruma yapmasını istemiyorum. Zaten öyle bir kodda eklemedim ancak her botta tanımlanan bazı tcl dosyalarını tanımlamıştım sadece.
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/userinfo.tcl
source hamit/hamit.tcl[/BOX]

[BOX="Soru 2"]Bir text'e nasıl veri yazdırır ve o veriyi aktif olduğunda nasıl kullanırım?
sunucuda !kanal ekle #sohbet yazdığımda #sohbet kanalını bir text'e yazdırmak ve o texti sonradan sunucuya her girdiğinde channel add #kanal şeklinde çekmek istiyorum, ancak texte veriyi yazdırırken o textte o verinin olup olmadığını kontrol etmek istiyorum.

Ek olarak eğer bir text oluşturulmamışsa create tarzında bir komut var mı?

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# General Settings set channel_oper "#Opers" set channel_logs "#Bots" set channel_prefix "h" set me "Hamit" # Files set file_channel "hamit/database/channel.dat" #set file_language "hamit/database/lang/tr.lang" # Commands bind pub - !kanal Channel proc Channel {nick uhost hand chan text} { global channel_oper channel_prefix me channel_logs file_channel set fchan [lindex $text 1] set hamionay 0 if {[lindex $text 0] == "ekle"} { set hamit [open $file_channel r] if {[gets $fchan=1 line] > 0} { set hamitonay 1 } close hamit set hamit [open $file_channel w] if {$hamionay == "0"} { if {![validchan $fchan]} { puts $hamit "$fchan=1" putserv "PRIVMSG $chan $fchan kanalı listeye eklendi." return 1 } close hamit } } }

Böyle bir şey denedim ancak kayıt etmedi malesef. Mesaj yazdı ama sanırım yazma komutu puts değil. Gets ilede veriyi alıyor mu emin değilim. Dediğim gibi hiç bir şey bilmiyorum.

Ek olarak $istok gibi yada $regex gibi bir komut var mı? yani sadece ekle değilde (^ekle(me|)$) tarzında bir şeyler yapabilmek için. Veyahut $istok(ekle ekleme eklemek,$text,32) tarzında.[/BOX]

[BOX="Soru 3"]Array kullanımı hakkında?
Arraydan kastım şu

.set hamit(nicks) {
"sıfır"
"bir"
"iki"
}

Bu tarz bir kodda 2 yazdığımda $hamit(2) gibi bir komut var mı? Yani 2 yazdığımda "iki" olarak dönecek. Ek olarak badnick koruması gibi düşündüğümüzde bir nickin o listedeki bir maskeye uyup uymadığını anlamamız mümkün mü yoksa bu tarz bir yöntem ile while çekip mi bulabiliriz? Yani $hmatch tarzında bir komutu var mı?
[/BOX]

[BOX="Soru 4"]Gettok tarzında bir komut?
Mesela;
.set hamit 1=2

uyguladığım zaman $gettok($hamit,1,$asc(
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
) tarzında bir komut var mı? Sadece = den öncesini yada sonrasını alacağımız bir komut.

[/BOX]

Bunları cevaplarken TCL kodlamasıyla sadece 30dk uğraşmış biri olduğumu unutmadan cevap verirseniz çok sevinirim, şuanda hemen hemen hiç bir döngüyü kullanmayı bilmiyorum, yazarken biraz açıklamalı yazarsanız daha iyi anlayabilirim.

Sitede arama yaptım ancak bir çok link düşmüş veya anlayamadım, bazıları ise benim istediğimi veremiyorlar. Geçici olarak channel add ile yapıyorum zaten kod altından ama ben oraya eklenen kanalları text'e kayıt edip her girişte çekmek istiyorum. Conf içinden yapmam gerek sanırım bunu, o konuda yardımcı olurasnız çok sevinirim.

Başlığın çok açıklamalı olmadığının farkındayım, lakin başka sorularımın olabileceğini göz önünde bulundurarak her soru için bir başlık açmak yerine bu başlık altından sormak isterim diye öyle koydum, anlayış göstereceğinizi umuyorum.

Şimdiden teşekkürler.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet