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 Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   kactane Badnick Bulundu? (https://www.ircforumlari.net/mirc-scripting-sorunlari/58305-kactane-badnick-bulundu.html)

Gurur 16 Mayıs 2008 22:18

kactane Badnick Bulundu?
 
on *:join:#: {
if $nick == $me {
.echo # *** 15,1Bad Nick Taraması Aktif.
.timer 1 1 scn #
}
}
alias scn {
var %n = 1
while $nick($1,0,r) >= %n {
if $ulist($nick($1,%n,r),bad,1) != $null {
if $me isop $1 {
mode $1 +b $ulist($nick($1,%n,r),bad,1) | kick $1 $nick($1,%n,r) 15,1 4Badnick 15,1Taramasına yakaLandınız.4!
}
else {
echo $1 **** Rapor Op Degilsiniz: $nick($1,%n,r) Badnick var.
}
}
inc %n
}
echo $1 **** 15,1Bad nick taraması tamamlandı
}

------------------------------
IF den aLdigim Bu kodu Biraz modifiye edebilirmisiniz.?
Şöyle Birsey yani:Ben kanaLa Girdigimde kactane Bad Nick oLdugunu Echo yapicak.ve Bi alt satirda yine echo ile Badnickleri atmak icin f9 tuşuna basiniz Diycek.ve Ben f9 a bastigimda Badnickleri aticak ama Ben kanala Girdigim de yaptigi echolarin sonunda ben f9 a basmıyorsam atmiycak. Böyle Bir sey yapabilirmisiniz acaba Rica etsem? Şimdiden Teşekkürler.

L4roXyL 16 Mayıs 2008 23:27

Cevap: kactane Badnick Bulundu?
 
Kod:

bchk var %& = 1 | while (%& <= $hget(bad,0).item) { if ($regex($1,/ $hget(bad,%&).item/i)) { hadd -m nick $1 1 } | inc %& }
chk if ($1) { var %1 = 1 | while (%1 <= $nick($1,0)) { bchk $nick($1,%1) | inc %1 } | echo $1 Bulunan badnick sayısı: $hget(nick,0).item $(|) Nickleri atmak için: F9 tuşuna basınız. }
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 %- }
F9 if (%k) { var %s = 1 | while (%s <= $hget(nick,0).item) { echo -a $hget(nick,%s).item 2 Sebeb. | inc %s } | unset %k | hfree nick } | else { diğer komut }


Bu yukarıdaki kodları, aliases bölümüne ekle.
Aşşağıdaki kodlarıda remote bölümüne ekle.

Kod:

on me:*:join:#:set %k # | .timer 1 1 chk #
on *:start:if ($isfile(bad.hsh)) { hmake bad 50 | hload -i bad bad.hsh }

Bad eklemek için: /badd kelime
Bad silmek için: /bdel kelime
Listelemek için: /blist

Hash table kullandım. Gayet hızlı çalışacaktır.

Gurur 16 Mayıs 2008 23:36

Cevap: kactane Badnick Bulundu?
 
kanaldaki Bir nick i ekledim.
/badd benimlekal yazdim
kanaLda /hop yaptim Nick hala kanalda ayrica sormadi bile yani

amam /blist yaptigimda nick listede gözüküyor ama ne echo veriyon nede baska birsey ayrica users den okutabilirmisiniz. users de Bad:Nick şeklinde ekli

L4roXyL 17 Mayıs 2008 16:50

Cevap: kactane Badnick Bulundu?
 
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.

Aşşağıdaki kodları ALIASES bölümüne ekle:

Kod:

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 %- }

Bu kodlarıda REMOTE bölümüne ekle:

Kod:

on me:*:join:#:.ial on | .who # | .timer 1 2 chk #
on *:start:if ($isfile(bad.hsh)) { hmake bad 50 | hload -i bad bad.hsh }

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.

Diğer komutları kullanım şekli:

Bad eklemek için: /badd kelime
Bad silmek için: /bdel kelime
Listelemek için: /blist

Dipnot: Kod'da hiçbir sorun yok. Hata çıkarsa senden kaynaklanıyordur.

Gurur 18 Mayıs 2008 17:38

Cevap: kactane Badnick Bulundu?
 
kanaldan cıkıp tekrar girdigimde status e tarama yaptigi nickleri yaziyor ve sunucudan düşüyor. teşekkür ederim yinede saol


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk