ceyLin
8 November 2008, 11:47
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
[Only Registered Users Can See Links]
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ğilseif ($nick isreg #) {
;150 karakterden fazla karakter kullanan kicklenirif $prot(long,$1-,150) { kick # $nick uzunyazı(>150) }
;15'den fazla kontrol kodu kullanan kicklenirelseif $prot(ctrlcode,$1-,15) { kick # $nick controlcode(>15) }
;%80 oranından fazla caps kullanan kicklenirelseif $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) }
}
}
Alintidir..
İç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
[Only Registered Users Can See Links]
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ğilseif ($nick isreg #) {
;150 karakterden fazla karakter kullanan kicklenirif $prot(long,$1-,150) { kick # $nick uzunyazı(>150) }
;15'den fazla kontrol kodu kullanan kicklenirelseif $prot(ctrlcode,$1-,15) { kick # $nick controlcode(>15) }
;%80 oranından fazla caps kullanan kicklenirelseif $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) }
}
}
Alintidir..