🔔 Çevrimdışı bildirim almak ister misiniz?
Bir konuya etiketlendiğinizde, özel mesaj aldığınızda, bir mesajınız alıntılandığında forumda olmasanız bile anlık bildirim almak için lütfen izni verin.
Son olarak, Tekrar-Flood-Saldırı korumasını yayınlıyorum, bu şekilde kod yağmurumuz burda bitmiş oluyor. Fakat burda birkaç şeye dikkat ettim ki onları açıklayacağım. Anlamadığın bir yer olursa belirt lütfen, kodlar daha da geliştirilebilir.
1-) Muaf Kanallar ekleyebilirsiniz ve eklediğiniz kanallarda bu korumalar geçerli olmayacaktır.
Muaf kanal dosyası: muafkanallar.txt
2-) Muaf nickler ekleyebilirsiniz ve bu eklediğiniz nicklere şiddet uygulanmayacaktır.
Muaf nick dosyası: muafnickler.txt
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:#:{
%::chan = #
%::nick = $nick
kanal_koru
}
alias _kick {
if !$read(muafnickler.txt,w,%::nick) {
MODE $1 +b $mask($2,2)
KICK $1 %::nick : $+ $3-
}
}
alias maskban {
if !$read(muafnickler.txt,w,%::nick) {
mode $1 +b ~q: $+ $mask($2,1)
}
}
alias kanal_koru {
if !$read(muafkanallar.txt,w,%::chan) {
if $len(%::text) > 30 {
if $numtok(%::text,32) > 6 {
%::text = $gettok(%::text,1-5,32)
}
inc -u10 %mflood. [ $+ [ $+(%::chan,$hash($_dellast($strip(%::text)),32)) ] ]
if %mflood. [ $+ [ $+(%::chan,$hash($_dellast($strip(%::text)),32)) ] ] == 5 {
if $read(muafnickler.txt,w,%::nick) { .halt }
msg #Bugra :Saldiri tespit edildi: %::chan
msg #Bugra :Saldiri texti: %::text
maskban %::chan %::nick
msg %::chan %::nick , kanal içerisinde, saldırı girişiminde bulunduğunuzdan dolayı kanaldan banlandınız.
return
}
}
if !$read(muafkanallar.txt,w,%::chan) {
inc -u1 %flood. [ $+ [ %::chan ] $+ . $+ [ $hash(%::nick,32) ] ] 1
if %flood. [ $+ [ %::chan ] $+ . $+ [ $hash(%::nick,32) ] ] == 6 {
if $read(muafnickler.txt,w,%::nick) { .halt }
maskban %::chan %::nick
_kick %::chan %::add Kanal genellerinde flood seklinde yazmak, yazi karisikligi yaratmak ve kopyala/yapistir yapmak yasaktir.
}
var %yazi = $hash($strip($_dellast(%::text)),32)
var %eski.yazi = %tekrar. [ $+ [ %::chan ] $+ . $+ [ %::nick ] ]
var %eski.yazi = $deltok(%eski.yazi,1,46)
if (%tekrar. [ $+ [ %::chan ] $+ . $+ [ %::nick ] ] == $null) || (%eski.yazi != %yazi) {
set -u60 %tekrar. [ $+ [ %::chan ] $+ . $+ [ %::nick ] ] 1. $+ %yazi
goto hm
}
var %bugra = %tekrar. [ $+ [ %::chan ] $+ . $+ [ %::nick ] ]
var %sayac = $gettok(%bugra,1,46)
inc %sayac
set -u60 %tekrar. [ $+ [ %::chan ] $+ . $+ [ %::nick ] ] %sayac $+ . $+ %yazi
if (%sayac >= 3) {
if !%banning. [ $+ [ %::nick ] ] {
if $read(muafnickler.txt,w,%::nick) { .halt }
inc -u1 %banning. [ $+ [ %::nick ] ] 1
maskban %::chan %::nick
msg %::chan $+(,%::nick,) $+ ; kanal genelinde ayni yazinin tekrarini fazlaca yaptiginiz icin konusmaniz engellendi.
unset %tekrar*
unset %banning*
}
}
:hm
}
}
}
Kod yağmurumuz bittiğine göre, yardımcı olabildiğime sevinmek istiyorum, lütfen dene ve gerekli bilgiyi bu başlıktan aktar, Orhan_Veli.
Not: Denenmiştir! Fakat, muafnickler.txt muafkanallar.txt dosyalarını oluşturup, 1'er kişi ve kanal ekleyerek çalıştırmanı tavsiye ederim.
Saygılarımla, Scripting'li Günler dilerim ..
Konu WingmaN tarafından (01 Aralık 2008 Saat 20:36 ) değiştirilmiştir.