Evet aşağıdaki $prot() identiferı kanalınız için bir koruma identifierıdır. Kullanımı çok basit.
İçinde olan korumalar;
Tekrar koruması
$prot(repeat,#kanal-adı,nick,mesaj,satır,saniye)
Örnek: $prot(repeat,#ircforumlari,el33t,selam naber,2,5) bu identifierı on TEXT eventi içinde kullandığımızda 5 saniye içinde 2 kez selam naber yazısını tekrar edersem bu identifier $true olacaktır, yani şöyle kullanabiliriz:
on @*:text:*:#:if $prot(repeat,#,$nick,$1-,2,5) { kick # $nick Tekrar etme! }
Flood koruması
$prot(flood,#kanal,nick,satır,saniye)
Örnek:
on @*:text:*:#:if $prot(flood,#,$nick,3,4) { kick # $nick Flood yapma }
Yukardaki kod 4 saniye içinde 3 satır yazı yazanı kanaldan kickler.
Caps koruması
Belirlediğiniz orandan fazla büyük harf kullananlar içindir
$prot(caps,mesaj,oran)
Örnek:
on @*:text:*:#:if $prot(caps,$1-,80) { kick # $nick Büyük harf kullanma! }
Yazdığı yazının %80’inden fazlası büyük harf olan kişi kanaldan atılır.
Uzun yazı koruması
$prot(long,mesaj,karakter sayısı)
Örnek:
on @*:text:*:#:if $prot(long,$1-,150) { kick # $nick Uzun yazı yazma! }
150 karakterden fazla karakter içeren mesaj yazarsa kanaldan atılır
Kontrol kodu koruması
mIRC’de CTRL tuşlarına basınca çıkan kodlar içindir. (CTRL+K, CTRL+B, CTRL+U gibi)
Örnek:
on @*:text:*:#:if $prot(ctrlcode,$1-,15) { kick # $nick 15den fazla kontrol kodu kullanma! }
15’den fazla kontrol kodu kullanan kanaldan atılır.
Küfür koruması
$prot(bword,mesaj,dosya)
Örnek:
on @*:text:*:#:if $prot(bword,$1-,küfürler.txt) { kick # $nick Küfür etme! }
mIRC’de küfürler.txt dosyası oluşturup alt alta wildcardda kullanarak istediğin küfürleri eklediğinde eğer kişinin yazdığı yazıda bunlardan biri varsa kanaldan atılır. Küfürler.txt dosyasına ekleme şekli şöyle olmalı:
*sex*
*fuck*
*anan?*
gibi..
Reklam koruması
$prot(spam,mesaj,dosya)
Aynı küfür koruması gibi çalışır.
on @*:text:*:#:if $prot(spam,$1-,spam.txt) { kick # $nick Reklam yapma! }
spam.txt dosyasına wildcard kullanarak eklenen kelimeleri içeren mesaj yazan kanalan atılır.
Fazla Noktalama İşareti koruması
$prot(punc,mesaj,maksimum noktalama işareti sayısı)
Belirlenen sayıdan fazla noktalama işaretlerini kullananları kontrol etmek için identifierın punc özelliğini kullanabilirsiniz. Noktalama işaretleri: ?!:;,.
on @*:text:*:#:if $prot(punc,$1-,20) { kick # $nick Bu kadar fazla noktalama işareti kullanma! }
Yukardaki örnekte op olduğunuz kanalda 20’den fazla noktalama işareti kullananlar kanaldan atılır.
Ve işte kod: (Remote’a (ALT+R) koyuyoruz.)
alias prot {
if !$istok(repeat flood caps long ctrlcode bword spam punc,$1,32) { return $false }
goto $1
:repeat
var %÷ = $+(%,repeat.,$2,.,$3,.,$encode($4,m))
inc $(%÷,1)
if (!$timer($gettok(%÷,1,37))) { $+(.timer,$gettok(%÷,1,37)) 1 $6 unset $(%÷,1) }
if ($(%÷,2) >= $5) { unset $(%÷,1) | return $true }
else { return $false }
:flood
var %µ = $+(%,flood.,$2,.,$3)
inc $(%µ,1)
if (!$timer($gettok(%µ,1,37))) { $+(.timer,$gettok(%µ,1,37)) 1 $5 unset $(%µ,1) }
if ($(%µ,2) >= $4) { unset $(%µ,1) | return $true }
else { return $false }
:caps
var %e = $remove($strip($2),$chr(32))
return $iif($iif($len(%e) >= 10,$calc($regex(%e,/[A-ZÄÖÜĞÇİ]/g)/$len(%e)*100),0) >= $3,$true,$false)
:long
return $iif($len($strip($2)) >= $3,$true,$false)
:ctrlcode
return $iif($regex($2,/[[:cntrl:]]/g) >= $3,$true,$false)
:bword
var %· = 1 | while $read($3,%·) { if $v1 iswm $2 { return $true } | inc %· } | return $false
:spam
var %º = 1 | while $read($3,%º) { if $v1 iswm $2 { return $true } | inc %º } | return $false
:punc
return $iif($regex($2,/([?!:;,.])/g) >= $3,$true,$false)
}
Umarım işinize yarar, istediğiniz gibi değiştirip, kullanmakta özgürsünüz. İsteyen ben yazdım diyebilir.
NOT: Şimdilik aklıma gelen korumalar bunlar, önerileriniz ve isteklerinizi belirtiniz.
Eğer hepsini bir on TEXT eventi içinde kullanmak isterseniz bir örnek: (küfürler.txt ve reklamlar.txt’i oluşturmayı unutmayın.)
;Op olduğum kanalda çalışması için
on @*:text:*:#:{
;Eğer kanala yazı yazan nick op/voice/halfop değilse
if ($nick isreg #) {
;150 karakterden fazla karakter kullanan kicklenir
if $prot(long,$1-,150) { kick # $nick uzunyazı(>150) }
;15’den fazla kontrol kodu kullanan kicklenir
elseif $prot(ctrlcode,$1-,15) { kick # $nick controlcode(>15) }
;%80 oranından fazla caps kullanan kicklenir
elseif $prot(caps,$1-,80) { kick # $nick caps(>%80) }
;5 saniye içinde 2 tekrar yapan kicklenir.
elseif $prot(repeat,#,$nick,$strip($1-),2,5) { kick # $nick tekrar(5sn:2) }
;1 saniye içinde 3 satır yazan kicklenir.
elseif $prot(flood,#,$nick,3,1) { kick # $nick flood(1sn:3) }
;küfürler.txt’den herhangi bir kelimeyi kullanan kicklenir
elseif $prot(bword,$1-,küfürler.txt) { kick # $nick küfür }
;reklamlar.txt’den herhangi bir kelime kullanan kicklenir
elseif $prot(spam,$1-,reklamlar.txt) { kick # $nick reklam }
;30’dan fazla noktalama işareti kullanan kicklenir
elseif $prot(punc,$1-,30) { kick # $nick noktalamaişareti(>30) }
}
Bir Kaç Koruma Dersi - Yorumlar
Yapılan Yorumlar
Hazırlanan codeler remoteye eklenir ve scriptte sorunsuz çalışması sağlandıktan sonra kullanmaya başlanılır:) Güzel bi paylaşım..
BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler
Irc Oper Komutlarının Bir Tanesinde Kısaltma 19 Şubat 2011
irc ban parametrelerinin kullanımı 17 Ocak 2011
irc invex komutu 17 Ocak 2011
irc notify kullanımı 17 Ocak 2011
SOSYAL MEDYADA BİZSitemizin sosyal medya hesapları
ÖNE ÇIKAN KATEGORİLER
FACEBOOK'TA BİZ
Hoşgeldiniz
kelebek.gen.tr – kelebek mirc - Tüm Hakları Saklıdır