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/)
-   -   Klon Taraması (https://www.ircforumlari.net/mirc-scripting-sorunlari/402328-klon-taramasi.html)

JohnGalt 04 Ağustos 2011 22:17

Klon Taraması
 
Merhaba;

Kod:

alias Clone {
  var %ğ = $nick(#,0)
  while %ğ {
    if !$hget(host,$address($nick(#,%ğ),2)) { hadd -m host $address($nick(#,%ğ),2) 1 }
    else { hinc host $address($nick(#,%ğ),2) }
    dec %ğ
  }
  echo 4 -a # kanalı için klon taraması başlatıldı.
  echo -s -
  .timer 1 0 .h_al #
}
alias h_al {
  var %ı = $hget(host,0).item
  while %ı {
    if $hget(host,%ı).data > 1 {
      set %y_k yes
      var %ç = $nick($1,0)
      while %ç {
        if $hget(host,%ı).item == $address($nick($1,%ç),2) { set %_cln $addtok(%_cln,$nick($1,%ç),32) }
        dec %ç
      }
      echo -a Klon:4 $hget(host,%ı).data 1- Adres:4 $hget(host,%ı).item 1- Nick:4 $gettok(%_cln,1-,32)
      unset %_cln
    }
    dec %ı
  }
  echo -s -
  $iif($(%y_k,2) != yes,echo 4 -a $1 kanalında klon bulunamadı.,echo 4 -a $1 kanalı için klon taraması tamamlandı.)
  unset %y_k
  hfree host
}

Elimde böyle bir klon tarama remotesi var. Aslında daha farklıydı ilk başta bu kod (ban atma vs..) ama ben kendi ihtiyaçlarıma göre biraz düzenledim.

Fakat kendim eklemeyi beceremediğim ve olmasını istediğim bir özellik var; hostu olanların hostunu değil de usermaskına göre taramayı eklemesi.

Örneğin kanalda;
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] hostlu bir nick ve nick@adres şeklinde bir nick daha var. Bunların ikisi de tek kişiye ait. /userip komutu ile nickleri karşılaştırdığımda görebiliyorum ama bu klon remotesi bunu göremiyor. =)

Bu özelliği ekleyebilir miyiz? Yani acaba hostları olan nicklerin ip'lerinin tarama sonuçlarını da bu klon tarama sonuçlarına ekletebilir miyiz karşılaştırması için?

Difuzyon 06 Ağustos 2011 21:55

Cevap: Klon Taraması
 
Kod:

alias klone {
  if !%start { echo 4 -a # kanalı için klon taraması başlatıldı. | set -e %start $nick(#,0) }
  $iif($isid,userip $remove($1,.,~,&,@,%,+),filter -wkl # klone *)
}
raw 340:*:{
  if %start {
    haltdef
    dec -e %start
    set $+(%,clone,$token($1-,2,64)) $addtok($($+(%,clone,$token($1-,2,64)),2),$token($2-,1,61),32)
    if !%start {
      var %stop 1 | while %stop <= $var(%clone*,0) {
        if $numtok($($var(%clone*,%stop),2),32) > 1 { echo -a 4CLONE: $remove($var(%clone*,%stop),%,clone) 02 $remove($($var(%clone*,%stop),2),$chr(42)) }
        inc %stop
      }
      echo -a Clone taraması sona erdi. | unset %clone* %start
    }
  }
}

Bu kod IRCop düzeyinde olmayan,aynı zamanda sunucuda kullanıcıların default olarak +i modesine sahip olduğu varsayımıyla yazılmıştır.Haliyle aktif ekrandaki (#kanal) tüm kullanıcılara tek tek /userip komutunu uygulaması nedeniyle yorucu bir metoddur.Kullanıcı sayısının fazla olduğu bir kanalda uygulanması halinde aşırı veri istemi sebebiyle sunucudan bağlantınız kopabilir!

Şayet IRCop iseniz "belirtmeniz halinde" daha pratik bir yöntemler(örneğin, who +I parametresi) önerebiliriz.

JohnGalt 18 Ağustos 2011 14:09

Cevap: Klon Taraması
 
Difüzyon, kod için tekrar teşekkür ederim.

Fakat acaba bunu sunucudan aşırı veri istemi yapmamasını sağlaması için ekleme yapabilir miyiz?

Yani atıyorum, benim bu klon taramasını yaptırdığım kanalda 8 tane hostu olan kullanıcı, 72 tane de olmayan kullanıcı olduğunu varsayarsak, sadece hostu olan kullanıcılara userip taraması yapsa ve diğer kalan 72 kullanıcıya denk bir hale getirse, sonra bu tüm 80 kullanıcıyı birbiri içerisinde karşılaştırsa?

Böyle bir eklenti yapmak mümkün müdür? Çünkü anladığım kadarı ile kanalda 15 kişi de olsa, hiçbirinde host olmasa da hepsine userip taraması yapıyor gibi.

Teşekkürler.

Difuzyon 18 Ağustos 2011 17:44

Cevap: Klon Taraması
 
Mesajında,kodlamadaki mantığın daha pratik hale gelmesini sağlayacak bir yorum yok.


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

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