Tekil Mesaj gösterimi
  #18  
Alt 07 Ekim 2011, 14:10
Avatar Yok
L4roXyL L4roXyL isimli Üye şimdilik offline konumundadır
 Chief 

mS Puan: 1031
mS Derece: L4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisi
 
Üyelik tarihi: 10 Temmuz 2009
Yaş: 39
Mesajlar: 339
Konular: 100
Eklentiler: 3
Alınan Teşekkür: 146
Yapılan Teşekkür: 0
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Standart

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.
__________________
C/co/cod/code^man.
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