IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.) (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/15566-prot-kanal-icin-koruma-identiferi-tekrarfloodcapsuzun-yazikufurreklam-vs.html)

el33t 09 Nisan 2006 16:03

$prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.)
 
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ı:

*****
*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) }
}
}

Serhatt 09 Nisan 2006 16:08

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam)
 
saoLasIn Abi..

Ajan 09 Nisan 2006 16:23

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam)
 
Üstad büyüksün ;hail Kodlarından,dökümanlarından çok şey öğrendim.Öğrenmeyede devam ediyorum.Birde bu kadar gizemli olmasan çok daha fazla sevicem ama neyse (; ;bravo

viruS 09 Nisan 2006 23:40

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam)
 
Alıntı:

Ajan Nickli Üyeden Alıntı
Üstad büyüksün ;hail Kodlarından,dökümanlarından çok şey öğrendim.Öğrenmeyede devam ediyorum.Birde bu kadar gizemli olmasan çok daha fazla sevicem ama neyse (; ;bravo

Bazı insalarda öyle davranmaktan zevk alıyor, nekadar karamsar olursa okadar çok şey ögreniyor.

Teşekkürler ; el33t

bLackStar 10 Nisan 2006 00:53

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam)
 
mükemmel. eline sağlık

eviL 10 Nisan 2006 18:20

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.)
 
aynen, süper olmuş

GoKhaN1 30 Mayıs 2006 13:51

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.)
 
on *:text:*hotmail*:# { mode # +b $nick | msg #ops $nick : # 'da Banlandı. }
on *:text:*sik*:# { mode # +b $nick | msg #ops $nick : # 'da Banlandı. }
on *:PART:#:if (*Left all channels* iswm $1-) { gline $nick Tro }
on *:text:*:#:if $prot(repeat,#,$nick,$1-,2,5) { mode # $nick Tekrar etme! }
on *:text:*:#:if $prot(flood,#,$nick,3,4) { kick # $nick Flood yapma }
on *:text:*:#:if $prot(caps,$1-,80) { kick # $nick Büyük harf kullanma! }
on *:text:*:#:if $prot(long,$1-,20) { kick # $nick Uzun yazı yazma! }
on 1:join:#manisa { /mode #manisa +v $nick | /notice #manisa $nick Merhaba $nick , #Manisa Kanalına Hoş Geldiniz. }
on *:part:#manisa { /msg $nick #Manisa Kanalımıza Yine bekleriz :) }
on *:text:*#*:#: { msg # Lütfen Kanallarda Reklam yapmayınız... | msg haha $nick uyarıldı. }

bu protlar çalışmıyor hata nerde ? yardımcı olacak warmı ?

el33t 30 Mayıs 2006 17:59

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.)
 
on text eventlerini combine etmen yani birleştirmen gerekirdi, çünkü bu haliyle sadece en üstte olan çalışır. Ayrıca mode # $nick Tekrar etme diye bir komut olamaz. Bu kodlarla birlikte yazdığım alias prot la başlayan aliası da remote'a koymayı unutmamışsındır umarım. İşte kod:

Kod:

on *:text:*:#:{
  if *hotmail* iswm $1- || *sik* iswm $1- { mode # +b $nick | msg #ops $nick # kanalında banlandı. }
  elseif *#* iswm $1- { msg # Lütfen kanallarda reklam yapmayınız. | msg haha $nick uyarıldı. }
  elseif $prot(repeat,#,$nick,$1-,2,5) { kick # $nick Tekrar etme! }
  elseif $prot(flood,#,$nick,3,4) { kick # $nick Flood yapma }
  elseif $prot(caps,$1-,80) { kick # $nick Büyük harf kullanma! }
  elseif $prot(long,$1-,20) { kick # $nick Uzun yazı yazma! }
}
on !*:join:#manisa:{ mode # +v $nick | notice $nick Merhaba $nick $+ , # kanalına hoşgeldiniz. }
on !*:part:#manisa:{ if *Left all channels* iswm $1- { gline $nick Tro } | else { msg $nick # kanalımıza yine bekleriz. } }

Umarım işine yarar..

aLoSs 01 Haziran 2006 21:04

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.)
 
yokmu derdime derman olacak bi yardımcı ?

bu postu atmak istemezdim ama bende çözemedim bekliyorum

[box=Moderator cevabı: diEfoRyoU]
Kod:


on *:text:*:#:{
if *hotmail* iswm $1- || *sik* iswm $1- { mode # +b $nick | msg #ops $nick # kanalında banlandı. }
elseif *#* iswm $1- { msg # Lütfen kanallarda reklam yapmayınız. | msg haha $nick uyarıldı. }
elseif $prot(repeat,#,$nick,$1-,2,5) { kick # $nick Tekrar etme! }
elseif $prot(flood,#,$nick,3,4) { kick # $nick Flood yapma }
elseif $prot(caps,$1-,80) { kick # $nick Büyük harf kullanma! }
elseif $prot(long,$1-,20) { kick # $nick Uzun yazı yazma! }
}
on !*:join:#manisa:{ mode # +v $nick | notice $nick Merhaba $nick $+ , # kanalına hoşgeldiniz. }
on !*:part:#manisa:{ if *Left all channels* iswm $1- { gline $nick Tro } | else { msg $nick # kanalımıza yine bekleriz. } }
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)
}

;Kodu bu şekilde remote'a koyarmısın.
[/box]

aLoSs 25 Haziran 2006 20:00

Yanıt: $prot() Kanal için koruma identiferı (tekrar,flood,caps,uzun yazı,küfür,reklam vs.)
 
peki ben bu korumaların belirlediğim nickler için aktif olmasını istemiyorum.

mesela oyun botu büyük yazdığğında onu banlıyor , nomercy uzun yazdığında banlıyor.Bunu nası yapabiliriz?


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:47.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net