Tekil Mesaj gösterimi
Alt 01 Aralık 2011, 01:42   #6
Çevrimdışı
Set
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: giriş yoğunlugu zline




Coded/Yazar: L4roXyL

Bu tür işlemler için en iyisi hash table kullanmaktır. Karmaşık veri yazdırma ve üzerinde işlem yapmada hash table-dan daha iyi bir seçenek olamaz.

Şimdi kısacası senin istediğini görecek bir kod yazdım. Sana gerekli açıklamalarda bulunacağım. Dolayısıyla sende kodu istediğin gibi editleyip kendine göre düzenleyebileceksin. Ek olarak birazda bilgin olmuş olur.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias _ban var %. 1 | while $hmatch($1,$2,%.) { ban -k $1 $v1 ban sebebi. | hdel $1 $v1 | inc %. } on !*:join:#: { if ($regex($nick,/(.{3,})-(.{1,})/i)) { var %n = $token($nick,1,45) $+ -* hadd -mu5 # $nick _ if ($hmatch(#,%n,0) >= 4) { mode # +b %n } } }

Açıklamalar:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on !*:join:#:

Herhangi bir kanala(# - tabi senin içerisinde bulunduğun kanal olması lazım) senin haricinde(!) bir kullanıcı girdiği anda,

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ($regex($nick,/(.{3,})-(.{1,})/i))

Kanala giren rumuz "-" karakterinden öncesinde en az üç ve fazlası((.{3,})), "-" karakterinden sonrası en az bir ve fazlası((.{1,})) herhangi bir karakter varsa(yani kısacası senin istediğin şekildeyse / "nick-karakter"),

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
var %n = $token($nick,1,45) $+ -*

%n değişkenine rumuzun "-" karakterinden önceki verisini($token($nick,1,45)) -* karakterleri ile birleştirerek($+) atama yapıyoruz(temp), (-* eklememizin sebebi sonraki satırda sorgulama yapacağımız yerde wildcard-lı arama yapmaktır)

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
hadd -mu5 # $nick _

/hadd komutu ile (/help /hadd bakabilirsin) kanal tablosuna(#) giriş yapan rumuzu($nick) 5 saniye sonra silinme kaydıysa(-u5) ekliyoruz,

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ($hmatch(#,%n,0) >= 4)

Eğer(if) kanal tablosunda(#) %n verisinden(rumuz-*) kelimesinden 4 veya fazlası varsa(>= 4),
Not: $hmatch tanımı mIRC Help dosyasında olmayıp, mIRC içerisinde gizli olan bir search tanımıdır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
mode # +b %n

Kanalda(#) %n verisini (rumuz-*) şeklinde banlıyoruz.

Sanırım buraya kadar anlamadığın birşey yok.
Gelelim _ban aliasına.

Eğer sen son giren nick ile beraber öncesinde giren ve korumaya yakalanan tüm nickleri banlamak istiyorsan, mode # +b %n satırının altına;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
_ban # %n

Komutunu ekleyebilirsin. Bu şekilde son giren ve korumaya yakalanan nick dahil onunla aynı rumuzla başlayan tüm nickler kanaldan adres ban şeklinde uzaklaştırılır.


Konu L4roXyL tarafından (24 Ekim 2012 Saat 20:00 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver