Senin verdiğin kod pek sağlıklı çalışmaz.
Hatta düzgün çalışmaz. Ben sana hash table ile yazdım. Daha seri ve hızlı çalışacaktır. Ek olarak yukarıdaki kod'da sorun yoktu. Ama ben sana daha farklı ve hızlı bir kod yazdım. İşini fazlası ile görecektir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
chk {
var %1 = 1 | while (%1 <= $hget(bad,0).item) {
if ($ialchan($+(*,$hget(bad,%1).item,*),$1,0) == 1 && >= 0) { hadd -m $1 $ialchan($+(*,$hget(bad,%1).item,*),$1,1).nick 1 }
else { chk2 $1 $+(*,$hget(bad,%1).item,*) } | inc %1 }
echo $colour(info) $1 $timestamp $iif($hget($1,0).item >= 1,Bulunan badnick sayısı: $hget($1,0).item,Badnick bulunamadı.)
echo $colour(info) $1 $timestamp Nickleri görüntülemek için: CTRL + F9 tuşuna basınız.
echo $colour(info) $1 $timestamp $iif($regex($nick($1,$me).pnick,@|&|%|~),$iif($regex($usermode,a|A|N|C),Nickleri kanal'dan atmak için: F9 tuşuna basınız.),Kanaldan atma yetkiniz yok.))
}
chk2 if ($1 && $2) { var %& = 1 | while (%& <= $ialchan($2,$1,0)) { hadd -m $1 $ialchan($2,$1,%&).nick | inc %& } }
cF9 if ($hget($active)) { seen $active }
seen var %t = 1,%tt | while (%t <= $hget($1,0).item) { %tt = $addtok(%tt,$hget($1,%t).item,32) | inc %t } | echo $colour(info) $1 $timestamp Tespit edilen badnickler: %tt
F9 if ($hget($active)) { bans $active } | else { diğer komut }
bans var %- = 1 | while (%- <= $hget($1,0).item) { ban -k $1 $hget($1,%-).item 2 SEBEB. | inc %- } | %// = %- - 1 | echo $colour(info) $1 $timestamp Atılan nick sayısı: %// | hfree $1
badd $iif(!$1,echo -at Kelime girmediniz.,$iif($hget(bad,$1),echo -at $1 kelimesi listede.,hadd -m bad $1 1)) | hsave -i bad bad.hsh
bdel $iif(!$1,echo -at Kelime girmediniz.,$iif(!$hget(bad,$1),echo -at $1 kelimesi listede değil.,hdel bad $1)) | hsave -i bad bad.hsh
blist window -Caldk0 +L @Bad-words 0 0 200 400 | var %- = 1 | while (%- <= $hget(bad,0).item) { aline @bad-words $+(%-,-) $hget(bad,%-).item | inc %- }
Gelişmiş bir özellik ekledim.(CTRL + F9 tuşuna bastığında, badnick olarak tespit edilen nickleri sana gösterecektir.)
Sadece F9 tuşuna bastığında, badnick olarak tespit edilen nickleri kanal'dan atacaktır.
Hash ve $ialchan kullandığımız için, gayet hızlı çalışacaktır.
Kod'da hiçbir sorun yok. Hata çıkarsa senden kaynaklanıyordur.