![]() |
!ban-!unban-!kick-!op-!deop vs... Kodları İşe yarar diye düşündüm bu kodu yazdım. Bu komutları sadece oda Operatorleri kullanabilir. Kod: ########################### !ban <nick> !unban <nick> !kick <nick> !kb <nick> !op <nick> !deop <nick> !voice <nick> !devoice <nick> !temizle Botun daha hızlı işlem yapması için; SHH'ye login olun ve; cd egg*1* cd src cd mod cd server.mod pico server.c Açılan dosyada #define msgrate 2 satırını bulup #define msgrate 0 Şeklinde değiştirip ctrl +x + y basarak (kaydeder) çıkıyorsunuz. Daha sonra: cd cd egg*1* yazıp açılan dizinde sırasıyla ./configure make config make make install DipNot: Test ettim gayet güzel çalışıyor, CR'de kullanılan komutları ekledim (!ban-!unban) Unrealda kullanacak olanlar "samode $chan" yazan yerlere "os mode $chan" yapması yeterli olacak. Ayrıca botun !kb/kick gibi komutları kullanması icin odada op konumunda bulunması lazım ve operini açması lazım... ;) Saygılar... |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları Herbişeyine sağlık kanka. Güzel çalışma tebrikler. |
Yanıt: !ban-!unban-!kick-!op-!deop vs... Kodları Son dönemlerde TCL scriptingde de hazır tcllerin değil de bu şekilde iyi/kötü emek verilerek hazırlanmış TCL'lerin de artması beni sevindiriyor.. TCL scriptinge olan bu ilgi gerçekten bir "TCL sever" olarak beni mutlu ediyor.. Bunu yazan ve paylaşan arkadaşa tekrar teşeşkkürler, bu işler böyle başlar ve gelişir.. Şimdi bu kodu bizi eleştirelim (olumlu yönde, bişeyler öğrenmek adına..) Parça parça kodu ele almak istiyorum.. Kod: bind pub - !ban banned if {![isop $nick $chan]} {return 0} ;komutu yazana op değilse çalışma. Buraya kadar güzel. Şimdi gelelim $text değerine.. !ban kelimesinden sonra gelen bütün kelimeleri kapsar.. Yani diyelimki !ban ahmet mehmet hasan yazdık.. ahmet nickine ahmet!*@* şeklinde ban koyacaktır.. O halde geliştirmek için neler yapabiliriz.. Diyelimki ip ye ban atmasını istiyoruz, o halde yapmamız gereken şu: Nickin kanaldaki hostunu getchanhost komutunu kullanarak almaya çalışacaz.. biz $text değerinin bir den fazla kelime olma ihtimaline karşın, birinci kelimesini banlanacak nick olarak alalım.. bunun için ise lindex komutunu kullanacaz.. Şimdi örneklerle gösterelim.. [lindex $text 0] dediğimiz zaman $text değerinin ilk değerini alır.. şimdi sıra getchanhost ile bu ilk değerin (nickin) kanaldaki hostunu alalım.. [getchanhost [lindex $text 0] $chan] Böylece hostunu ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] masikinin ASDKAKLS.KJASDJKA.ASDJAJD.IP kısmını almış bulunuyoruz..) Şimdi gelelim bunu banlamaya.. putquick "samode $chan +b $text" Burayı putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]" Şekline çevirebiliriz.. Şimdi öğrenmek adına örneği genişletelim istiyorum.. Banlayınca kicklemekte lazım gelir :) Bu yüzden hani o $text değerindeki ilk ahmet değerinden sonrakileride kick nedeni olarak alalım.. yani bunu yazan kişi şöyle yazdı sayıyoruz : !ban ahmet sana yasak burası "sana yasak burası" kick sebebi sayıyoruz. Peki bunu nasıl alacaz? Bu kez bir başka komutla tanışıyoruz: lrange lrange komutu bir aralık için kullanılır (lindex değerler kümesinde bir tek değer içindi..) [lrange $text 1 end] bunu yazarsak (0 ilk değer içindi biz 1 kullandık) ikinci değerden başla en son değere kadar (en son değer dahil) al, demiş oluruz.. O halde öreniğimizde geçen !ban ahmet sana yasak burası koyu punta ile belirtiğim kısmı aldık.. Şimdi banladığımız kişiyi kickleyelim.. putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]" Şeklinde kanaldan kickledik.. O halde kodumuzun son görünümüne bakıp bir kaç ileri adıma daha gidecez.. proc banned {nick uhand host chan text} { if {![isop $nick $chan]} {return 0} putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]" putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]" } Bu haliyle de kod hala yetersiz.. Geliştirmeye devam ediyoruz.. $text değerindeki ilk kelimeyi nick olarak algıla ve kanaldan hostunu al dedik.. Peki bu nick (ya da mask) kanalda değilse? İşte bunun için if kullanmamız gerekecek.. Burada hem if nasıl kullanılır onu görecez ve hem bir iki yeni komutla daha tanışacaz.. Ne dedik? kanalda değilse.. Bunu da onchan komutuyla anlıyoruz.. Genel kullanımı [onchan $nick $chan] şeklindedir.. Burada bizim nick dediğimiz değer [lindex $text 0] idi.. öyleyse komutumuz [onchan [lindex $text $chan] olmalıdır.. Şimdi bunu if içine sokalım.. if {[onchan lindex $text $chan]} { komut... Kullanım budur.. o halde kodun en son hali nedir? proc banned {nick uhand host chan text} { if {![isop $nick $chan]} {return 0} if {[onchan [lindex $text 0] $chan]} { putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]" putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]" } } Peki kanalda değilse? yani [onchan [lindex $text 0] $chan] değerinin olumsuz haliyse.. başına ! koyduğumuz hal yani.. ikinci bir if içine sokabiliriz veya bir kişi ya kanaldadır ya da değildir olacağı için bunların dışında manasına gelen else kullanabilir.. biz else kullanalım.. proc banned {nick uhand host chan text} { if {![isop $nick $chan]} {return 0} if {[onchan lindex $text $chan]} { putquick "mode $chan +b *!*@[getchanhost [lindex $text 0] $chan]" putquick "KICK $chan [lindex $text 0] [lrange $text 1 end]" } else { putquick "mode $chan +b [lindex $text 0]" } } Şeklinde oluyor.. Tabi bütün bunları geliştirmek çok daha mümkün.. Bu sadece bir başlangıç olsun.. Alttaki diğer kodları da bu şekilde göstermek isterdim ama tek post altında çok uzun bir döküman olacağından okunmak için cazip olmayabilir.. Onları da bu postun ardından gelecek sorulara göre diğer postlarda ben ve diğer arkadaşımlarımla açıklamaya çalışırız.. Umarım faydalı olmuştur.. |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları arkadaşlar bu tclye !+m !kill nick !zline gibi komutları nasıl ekleyebiliriz? Yardımcı olabilirmisiniz ? pardon zline kill felan olmaz :D oplar kullanacağı için af edersiniz ama +m ve -m komutları için bir fikriniz var mı |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları Alıntı:
PHP- Kodu: !zline komutunuda vereyim, diğerlerinize sen kendin üretirsin... PHP- Kodu: Komut: !zline <nick> <Sebep> |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları Abiciğim Süpersin Çok tşk ederim :) |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları Alıntı:
PHP- Kodu: (Fakat komutu uygulayacağın odada op olmanda gerekiyor;)) |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları bunu sadece adminlerin kullanmasını istiyorum onu nasıl yapabilirim ? |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları Arkadaslar Bizim Okey Sistemimizde Kanaldan Yazılar irc ye LMSG olarak dusuyor ben bu tcl yı cok ıstedım buldum denedım !op olarak calısıyor yanlız mirci sadece adminler kullanıyor diger gorevlilere mirc kullanmasi okey sistemlerinde hem tehlike hem kapalı o yuzden bunu LMSG !op olarak nasıl kullana bilirim..Acil lazim gercekden ılgılenen olursa cok sevınırım |
Cevap: !ban-!unban-!kick-!op-!deop vs... Kodları Yokmu Arkadaslar Bir Bakan ..rica Etsem Bununla Bilen Bir Kişi Yardımcı Olsun |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 15:43. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk