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/)
-   -   Clone Taraması Sorunu (https://www.ircforumlari.net/mirc-scripting-sorunlari/183900-clone-taramasi-sorunu.html)

Hayat 01 Mart 2009 19:18

Clone Taraması Sorunu
 
Arkadaşlar merhaba eskiden beri kullandığım bir clone tarama addonum var kodlar şu şekilde.

Kod:

alias scan {
  unset %cs.*
  set %cs.chan #
  who #
  .timer 1 4 /scan2
}
alias scan2 {
  window -l @Clones
  set %cs.a $nick(#,0)
  :loop
  if ($ialchan($address($nick(#,%cs.a),2),#,0) > 1) && ($address($nick(#,%cs.a),2) !isin %cs.d) {
    set %cs.d %cs.d $address($nick(#,%cs.a),2)
    set %cs.c $ialchan($address($nick(#,%cs.a),2),#,0)
    :l
    aline @clones $ialchan($address($nick(#,%cs.a),2),#,%cs.c).nick (4 $+ $address($nick(#,%cs.a),2) $+ )
    dec %cs.c 1
    if (%cs.c == 0) {  aline @clones - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | goto next }
    goto l
  }
  :next
  dec %cs.a 1
  if (%cs.a != 0) { goto loop }
  if (%cs.d == $null) { aline @clones hiç clone bulunamadı... }
  halt

menu @clones {
  Kick:/kick %cs.chan $wildtok($sline(@clones,1), *, 1, 32) Clone bulunudu.
  -
  Kick/Ban:/kick %cs.chan $wildtok($sline(@clones,1), *, 1, 32) Clone  bulundu.- %kick.logo | /mode %cs.chan +b $address($wildtok($sline(@clones,1), *, 1, 32),2) | /dline @clones $sline(@clones,1).ln
}
#onjoin on
on *:join:#:{
  if (%clonelevel [ $+ [ $chan ] ] == 1) { set %naddress $address($nick,0) }
  if (%clonelevel [ $+ [ $chan ] ] == 2) { set %naddress $address($nick,1) }
  if (%clonelevel [ $+ [ $chan ] ] == 3) { set %naddress $address($nick,2) }
  if (%clonelevel [ $+ [ $chan ] ] == $null) { set %naddress $address($nick,2) }
  if (%clonelevel [ $+ [ $chan ] ] == 4) { set %naddress $address($nick,4) }
  if (%cs_maxclones [ $+ [ $chan ] ] == $null) { set %cs_maxclones [ $+ [ $chan ] ] 0 }
  if ($nick != $me) {
    if ($ialchan(%naddress ,$chan,0) > 1) {
      set %pointer 1
      unset %clones
      :nickanchor
      set %clones %clones $ialchan(%naddress,$chan,%pointer).nick
      inc %pointer 1
      if (%pointer <= $ialchan(%naddress,$chan,0)) { goto nickanchor }
      if (%cs_affectsregular [ $+ [ $chan ] ] != $null) { goto skip }
      if (thechosen isin $level($address($nick,5))) { goto skip }
      if ($gettok(%clones,0,32) <= $calc(( [ %cs_maxclones [ $+ [ $chan ] ] ] ) + 1 )) { goto skip }
      if (%cs_currentaction [ $+ [ $chan ] ] == echo) { echo $chan 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14) }
      if (%cs_currentaction [ $+ [ $chan ] ] == $null) { echo $chan 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14) }
      if ($mid($level($nick),1,4) == 1002) { .quote notice $nick :4Clone Tespit Edildi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14) %kick.logo | .quote notice $nick :6Clone Protection Listemdesin %kick.logo | goto skip }
      if ($mid($level($address($nick,2)),1,4) == 1002) { .quote notice $nick :4Clone Tespit Edildi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14)  | .quote notice $nick :6Clone Protection Listemdesin %kick.logo | goto skip }
      if (%cs_currentaction [ $+ [ $chan ] ] == say) { msg $chan 4Clone Tespit EdiLdi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14)  }
      if (%cs_currentaction [ $+ [ $chan ] ] == notice) { .notice $chan 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14)  }
      if (%cs_currentaction [ $+ [ $chan ] ] == onotice) { /opnot $chan 2 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) (2 $+ %naddress $+ 14)  }
      if ($me isop $chan) {
        if (%naddress iswm $address($me,5)) { goto skip }
        if (%cs_currentaction [ $+ [ $chan ] ] == kick) { kick $chan $nick clone $+ $chr(2) $+ $chr(91) $+ $chr(2) $+ $chr(31) $+ Otomatik-Kick $+ $chr(31) $+ $chr(2) $+ $chr(93) $+ $chr(2) %kick.logo }
        if (%cs_currentaction [ $+ [ $chan ] ] == ban) { mode $chan +b %naddress }
        if (%cs_currentaction [ $+ [ $chan ] ] == kickban) { mode $chan +b %naddress | kick $chan $nick clone $+ $chr(2) $+ $chr(91) $+ $chr(2) $+ $chr(31) $+ Otomatik-KickBan $+ $chr(31) $+ $chr(2) $+ $chr(93) $+ $chr(2)  }
      }
      :skip
      unset %clones %naddress
    }
  }
  unset %clones %naddress
}
#onjoin end
}

Komut kanal popupslarında mevcut ve çalışıyor ayrıca aktif kanal penceresinde /scan yapıncada çalışıyor. scan komutunda o üç satırda birşeyler yapıyor ama tam olarak bilemiyorum sanırım who komutu ile cloneleri buluyor ve 4 sn sonra scan2 yaparak aktif ekranı açıyor ve orada listeliyor cloneleri Eğer direk scan2 komutunu uygularsam sadece @Clones penceresi açılıyor ve boş çıkıyor. Bu komutu diyaloga yükledim.

if ($did == 194) { dialog -x admin admin | timer 1 1 /scan }

sırf dialog kapandıktan sonra devreye girsin dedim timer kurmadan da denedim timer süresini uzatarakta denedim her yolu denedim kısacası dialogtan Clone tara tuşuna basınca tarama penceresi boş çıkıyor ve mirc olduğu gibi kilitleniyor neden böyle oluyor yardımcı olabilirmisiniz ?

Hayat 01 Mart 2009 19:56

Cevap: Clone Taraması Sorunu
 
Teşekkür neden anlamadım :) , kod işinemi yaradı yoksa..

CesuryureK 01 Mart 2009 20:15

Cevap: Clone Taraması Sorunu
 
PHP- Kodu:

alias scan {
  
set %kanal $$?="Hangi Kanalda Clone Taraması Yapılacak?"
  
unset %cs.*
  
set %cs.chan %kanal
  who 
%kanal
  
.timer 1 4 /scan2
}
alias scan2 {
  
window -@Clones
  set 
%cs.a $nick(#,0)
  
:loop
  
if ($ialchan($address($nick(#,%cs.a),2),#,0) > 1) && ($address($nick(#,%cs.a),2) !isin %cs.d) {
    
set %cs.%cs.d $address($nick(#,%cs.a),2)
    
set %cs.c $ialchan($address($nick(#,%cs.a),2),#,0)
    
:l
    aline 
@clones $ialchan($address($nick(#,%cs.a),2),#,%cs.c).nick (4 $+ $address($nick(#,%cs.a),2) $+ )
    
dec %cs.c 1
    
if (%cs.== 0) {  aline @clones - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | goto next }
    goto 
l
  
}
  :
next
  dec 
%cs.a 1
  
if (%cs.!= 0) { goto loop }
  if (%
cs.== $null) { aline @clones hiç clone bulunamadı... }
  
halt
}  
menu @clones {
  
Kick:/kick %cs.chan $wildtok($sline(@clones,1), *, 132) Clone bulunudu.
  -
  
Kick/Ban:/kick %cs.chan $wildtok($sline(@clones,1), *, 132) Clone  bulundu.- %kick.logo | /mode %cs.chan +b $address($wildtok($sline(@clones,1), *, 132),2) | /dline @clones $sline(@clones,1).ln
}
#onjoin on
on *:join:#:{
  
if (%clonelevel [ $+ [ $chan ] ] == 1) { set %naddress $address($nick,0) }
  if (%
clonelevel [ $+ [ $chan ] ] == 2) { set %naddress $address($nick,1) }
  if (%
clonelevel [ $+ [ $chan ] ] == 3) { set %naddress $address($nick,2) }
  if (%
clonelevel [ $+ [ $chan ] ] == $null) { set %naddress $address($nick,2) }
  if (%
clonelevel [ $+ [ $chan ] ] == 4) { set %naddress $address($nick,4) }
  if (%
cs_maxclones [ $+ [ $chan ] ] == $null) { set %cs_maxclones [ $+ [ $chan ] ] }
  if (
$nick != $me) {
    if (
$ialchan(%naddress ,$chan,0) > 1) {
      
set %pointer 1
      
unset %clones
      
:nickanchor
      set 
%clones %clones $ialchan(%naddress,$chan,%pointer).nick
      inc 
%pointer 1
      
if (%pointer <= $ialchan(%naddress,$chan,0)) { goto nickanchor }
      if (%
cs_affectsregular [ $+ [ $chan ] ] != $null) { goto skip }
      if (
thechosen isin $level($address($nick,5))) { goto skip }
      if (
$gettok(%clones,0,32) <= $calc(( [ %cs_maxclones [ $+ [ $chan ] ] ] ) + )) { goto skip }
      if (%
cs_currentaction [ $+ [ $chan ] ] == echo) { echo $chan 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14) }
      if (%
cs_currentaction [ $+ [ $chan ] ] == $null) { echo $chan 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14) }
      if (
$mid($level($nick),1,4) == 1002) { .quote notice $nick :4Clone Tespit Edildi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14) %kick.logo | .quote notice $nick :6Clone Protection Listemdesin %kick.logo | goto skip }
      if (
$mid($level($address($nick,2)),1,4) == 1002) { .quote notice $nick :4Clone Tespit Edildi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14)  | .quote notice $nick :6Clone Protection Listemdesin %kick.logo | goto skip }
      if (%
cs_currentaction [ $+ [ $chan ] ] == say) { msg $chan 4Clone Tespit EdiLdi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14)  }
      if (%
cs_currentaction [ $+ [ $chan ] ] == notice) { .notice $chan 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14)  }
      if (%
cs_currentaction [ $+ [ $chan ] ] == onotice) { /opnot $chan 2 4Clone Tespit Edildi 14(12 $+ %clones $+ 14) ($+ %naddress $+ 14)  }
      if (
$me isop $chan) {
        if (%
naddress iswm $address($me,5)) { goto skip }
        if (%
cs_currentaction [ $+ [ $chan ] ] == kick) { kick $chan $nick clone $+ $chr(2) $+ $chr(91) $+ $chr(2) $+ $chr(31) $+ Otomatik-Kick $+ $chr(31) $+ $chr(2) $+ $chr(93) $+ $chr(2) %kick.logo }
        if (%
cs_currentaction [ $+ [ $chan ] ] == ban) { mode $chan +%naddress }
        if (%
cs_currentaction [ $+ [ $chan ] ] == kickban) { mode $chan +%naddress kick $chan $nick clone $+ $chr(2) $+ $chr(91) $+ $chr(2) $+ $chr(31) $+ Otomatik-KickBan $+ $chr(31) $+ $chr(2) $+ $chr(93) $+ $chr(2)  }
      }
      :
skip
      
unset %clones %naddress
    
}
  }
  unset %
clones %naddress
}
#onjoin end 

/scan komutu hangi kanalda kullanılırsa o kanalda tarama yapmaktaydı.
dialoga ekleyince doğal olarak hangi kanalda tarama yapacağı belirtilmediğinden, @Clones penceresi boş çıkmaktaydı.
ben basit bir çözüm getirdim
kodu böyle değiştirmen yeterli.
dialog eklerken de
mesela diyelimki clone tarama did'i 147

if ($did == 147) { /scan }


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

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