Tekil Mesaj gösterimi
  #97  
Alt 15 Şubat 2021, 00:40
Avatar Yok
High High isimli Üye şimdilik offline konumundadır

mS Puan: 1
mS Derece: High Meraklı
 
Üyelik tarihi: 25 Ocak 2021
Bulunduğu yer: Samsun
Mesajlar: 17
Konular: 5
Eklentiler: 0
Alınan Teşekkür: 0
Yapılan Teşekkür: 6
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Standart

Alıntı:
L4roXyL Nickli Üyeden Alıntı Mesajı göster
Tarih: 06-01-2008, 19:44

Kanal belirlediğiniz flood saldırısında, kanalı belirlediğiniz süre ile +m moduna alıp, temizle.mrc dosyasındaki verilerle kanalı temizleyip tekrar kanalaı açmak için yazmış olduğum bir kod.

Kod:
alias -l fld {
  hinc $+(-mu,$1) fld $+($3,½,$4,$encode($5)) 1 
  if ($hget(fld,$+($3,½,$4,$encode($5))) >= $2) return $true 
  else return $false 
}
alias temizle {
  var %t 1 
  while %t <= $lines(temizle.mrc) { 
    msg $1 $read(temizle.mrc,%t) 
    inc %t 
  }
}
on @*:text:*:#: { 
  if $nick isreg # && $fld(10,3,#,$nick,$1-) {
    ban -k # $nick 2 sebeb. 
    mode # +m 
    temizle # 
    msg # Kanal güvenlik amaçlı 20 sn vs. 
    if !$timer($+(#,½,fld)) { 
      $+(.timer,½,#) 1 20 mode # -m 
      .timer 1 21 msg # Kanal açıldı. 
    } 
  } 
}
/fld alias'ının kullanımı; $fld(saniye,limit,#kanal,text-own,mesaj)
Ben örnek olarak; 10 saniye içerisin'de, aynı text 3 defa tekrar edilirse, gördüğünüz işlevleri sırası ile gerçekleştirir.

Eğer aynı yazının tekrar'ı değilde, belirlediğim saniye içerisin'de belirlediğim satır limit'i aşılırsa(hızlı text) işlev yapmak istiyorum diyorsan;
/fld alias'ını aşşağıdaki şekilde değiştir;

Kod:
alias -l fld { 
 hinc $+(-mu,$1) fld $+($3,½,$4) 1 
 if ($hget(fld,$+($3,½,$4)) >= $2) return $true 
 else return $false 
}


Ve kullanım şeklini verdiğim şekilde yap; $fld(saniye,limit,#kanal,text-own)

Örneğin; $fld(10,5,#,$nick)
10 saniye içerisinde, 5 satır text gönderen'e işlev yapar. Kanal'ı temizler vs.
Hocam izah ettiğiniz şekilde gerekli düzenlemeleri yaptım fakat KOD'u çalıştıramadım müsait olursan bi bakar mısın.

HTML-Kodu:
alias -l fld { 
 hinc $+(-mu,$1) fld $+($3,½,$4) 1 
 if ($hget(fld,$+($3,½,$4)) >= $2) return $true 
 else return $false 
}
on @*:text:*:#: { 
  if $nick isreg # && $fld(2,8,#,$nick,$1-) {
    ban -k # $nick 4TXT Flood!10 Yaptığınız için kanaldan uzaklaştırıldınız. 
    mode # +M 
    .temizle # 
    msg # 10Kanal da4 Txt flood10 tespit edildiği için4 Güvenlik amaçlı 1 dk Şifresiz nicklere10 kapatılmıştır. 
    if !$timer($+(#,½,fld)) { 
      $+(.timer,½,#) 1 60 mode # -M
      .timer 1 11 msg # 10Kanal geneli4 Şifresiz10 nicklere açılmıştır.4 İyi sohbetler 
    } 
  } 
}
Alıntı ile Cevapla
 
1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76