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 Parça Kodlar (https://www.ircforumlari.net/mirc-parca-kodlar/)
-   -   Ip'den giren nickleri siralama (https://www.ircforumlari.net/mirc-parca-kodlar/727006-ipden-giren-nickleri-siralama.html)

SuLh 10 Şubat 2016 18:02

Ip'den giren nickleri siralama
 
Daha önce kendim için yaptığım, sunucuya giren nicklerin ip adreslerini ve girdikleri porttan giris tiplerini hash'a kaydettirip sorgulatan bir kod. Geliştirilebilir.


Kod:

on *:snotice:*client connect*: {
  if $remove($8,:) = 6667 {
    if $hfind( $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41),*,0,w) > 0 {
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 IRC
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h

    }
    else {
      hmake -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41)
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 IRC
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
      write yuklenecek.txt takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
    }
  }
  elseif $remove($8,:) = 7098 {
    if $hfind( $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41),*,0,w) > 0 {
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 WEB
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h

    }
    else {
      hmake -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41)
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 WEB
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
      write yuklenecek.txt takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
    }
  }
}
on $*:text:/^[!.&-]tak[iIİ]p/Si:#nes: {
  if !$2 { msg $chan Lutfen bir ip giriniz. | return }
  if !$regex($2,/^[0-9]/) { msg $chan Lutfen ip giriniz, nick degil. | return }
  if $hfind( $+ $2 $+ ,*,0,w) = 0 { msg $chan Bu ip hakkinda herhangi bir bilgi yok.. | return }
  else {
    msg $chan ------ 4 $2 ipsinden giris yapan nickler  -----
    var %i 1
    while (%i <= $hfind( $+ $2 $+ ,*,0,w)) {

      msg $chan 2Nick: 1,8 $hfind( $+ $2 $+ ,*,%i,w)  2Giris tipi: 1,8 $hget( $+ $2 $+ ,$hfind( $+ $2 $+ ,*,%i,w))
      msg $chan ---------------------------------------------------------
      inc %i
    }
  }
}

on *:start: {
  var %i 1
  while (%i <= $lines(yuklenecek.txt)) {
    hmake $remove($gettok($read(yuklenecek.txt,%i),2,$asc(/)),.h)
    hload -s $remove($gettok($read(yuklenecek.txt,%i),2,$asc(/)),.h) $read(yuklenecek.txt,%i)
    inc %i
  }
}


SuLh 11 Şubat 2016 22:22

Cevap: Ip'den giren nickleri siralama
 
Görseli ve açıklamayı unutmuşum.

!takip ip ile çalışır.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

YouMyCure 11 Şubat 2016 23:45

Cevap: Ip'den giren nickleri siralama
 
Emeğine Sağlık Kardeşim

Feragat 12 Şubat 2016 02:15

Cevap: Ip'den giren nickleri siralama
 
Üstte paylaştığın kod ile ilgili biliyor da olabileceğin bir kaç öneri
-
if $hfind( $+ $2 $+ ,*,0,w)

tanım içinde tanım kullanırken $+ ile birleştirmeye gerek kalmaz

if $hfind($2,*,0,w)

-

art arda kullanılan if koşullarında her defasında return veya halt etmeye gerek yok.

elseif kullanarak bu daha düzenli yapılabilir. if'lerin birbirinden bağımsız çalışması biraz engellenmiş olur.
if (koşul) { kodlar }
elseif (koşul) { kodlar }
elseif (koşul) { kodlar }
elseif (koşul) { kodlar }

-
if - else de return hatası

if (koşul) { kodlar | return }
else { kodlar }

if altında else kullanıldığında, if koşulunu return etmeye gerek kalmaz. Eğer koşul uymuyorsa else yi çalıştıracaktır.

if (koşul) { kodlar }
else { kodlar }
gibi..


-
hash tablo da -s anahtarı, yapılan işlemde bilgilendirme mesajı almak içindir.
ayrıca hadd komutunda -m anahtarı kullanırsan, öncesinde hmake yapmaya gerek kalmaz. -m anahtarı eğer tablo yoksa oluşturmaya yarar.

Anlatımım yanlış anlaşılmasın, hepimizin eksikleri/bilmedikleri var. Amacım sadece konunun zenginleşmesi.

Güzel paylaşım, başarılar.

SuLh 12 Şubat 2016 02:31

Cevap: Ip'den giren nickleri siralama
 
Alıntı:

Feragat Nickli Üyeden Alıntı (Mesaj 1041741674)
Üstte paylaştığın kod ile ilgili biliyor da olabileceğin bir kaç öneri
-
if $hfind( $+ $2 $+ ,*,0,w)

tanım içinde tanım kullanırken $+ ile birleştirmeye gerek kalmaz

if $hfind($2,*,0,w)

-

art arda kullanılan if koşullarında her defasında return veya halt etmeye gerek yok.

elseif kullanarak bu daha düzenli yapılabilir. if'lerin birbirinden bağımsız çalışması biraz engellenmiş olur.
if (koşul) { kodlar }
elseif (koşul) { kodlar }
elseif (koşul) { kodlar }
elseif (koşul) { kodlar }

-
if - else de return hatası

if (koşul) { kodlar | return }
else { kodlar }

if altında else kullanıldığında, if koşulunu return etmeye gerek kalmaz. Eğer koşul uymuyorsa else yi çalıştıracaktır.

if (koşul) { kodlar }
else { kodlar }
gibi..


-
hash tablo da -s anahtarı, yapılan işlemde bilgilendirme mesajı almak içindir.
ayrıca hadd komutunda -m anahtarı kullanırsan, öncesinde hmake yapmaya gerek kalmaz. -m anahtarı eğer tablo yoksa oluşturmaya yarar.

Anlatımım yanlış anlaşılmasın, hepimizin eksikleri/bilmedikleri var. Amacım sadece konunun zenginleşmesi.

Güzel paylaşım, başarılar.

Tabii ki eleştiri, anlatım olmadan gelişim olmaz. Alternatif fikir oldukça eleştiri güzeldir, önerilerini dikkate alacağım teşekkür ederim..

GeneraL 20 Mart 2022 02:08

Cevap: Ip'den giren nickleri siralama
 
Merhaba üstad bunu aynı şekilde yükledim lakin olmadı nerede yanlış yapıyoruz acaba

Alıntı:

SuLh Nickli Üyeden Alıntı (Mesaj 1041740967)
Daha önce kendim için yaptığım, sunucuya giren nicklerin ip adreslerini ve girdikleri porttan giris tiplerini hash'a kaydettirip sorgulatan bir kod. Geliştirilebilir.


Kod:

on *:snotice:*client connect*: {
  if $remove($8,:) = 6667 {
    if $hfind( $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41),*,0,w) > 0 {
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 IRC
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h

    }
    else {
      hmake -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41)
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 IRC
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
      write yuklenecek.txt takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
    }
  }
  elseif $remove($8,:) = 7098 {
    if $hfind( $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41),*,0,w) > 0 {
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 WEB
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h

    }
    else {
      hmake -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41)
      hadd -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $9 WEB
      hsave -s $token($token( $+ $10 $+ ,2,$asc(@)),1,41) takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
      write yuklenecek.txt takipler/ $+ $token($token( $+ $10 $+ ,2,$asc(@)),1,41) $+ .h
    }
  }
}
on $*:text:/^[!.&-]tak[iIİ]p/Si:#nes: {
  if !$2 { msg $chan Lutfen bir ip giriniz. | return }
  if !$regex($2,/^[0-9]/) { msg $chan Lutfen ip giriniz, nick degil. | return }
  if $hfind( $+ $2 $+ ,*,0,w) = 0 { msg $chan Bu ip hakkinda herhangi bir bilgi yok.. | return }
  else {
    msg $chan ------ 4 $2 ipsinden giris yapan nickler  -----
    var %i 1
    while (%i <= $hfind( $+ $2 $+ ,*,0,w)) {

      msg $chan 2Nick: 1,8 $hfind( $+ $2 $+ ,*,%i,w)  2Giris tipi: 1,8 $hget( $+ $2 $+ ,$hfind( $+ $2 $+ ,*,%i,w))
      msg $chan ---------------------------------------------------------
      inc %i
    }
  }
}

on *:start: {
  var %i 1
  while (%i <= $lines(yuklenecek.txt)) {
    hmake $remove($gettok($read(yuklenecek.txt,%i),2,$asc(/)),.h)
    hload -s $remove($gettok($read(yuklenecek.txt,%i),2,$asc(/)),.h) $read(yuklenecek.txt,%i)
    inc %i
  }
}



Beatle 03 Nisan 2022 04:52

Cevap: Ip'den giren nickleri siralama
 
Emeğine sağlık

JameS 03 Nisan 2022 05:05

Cevap: Ip'den giren nickleri siralama
 
Emeğine Sağlık

Subzero 17 Nisan 2022 02:55

Cevap: Ip'den giren nickleri siralama
 
Alıntı:

GeneraL Nickli Üyeden Alıntı (Mesaj 1042643713)
Merhaba üstad bunu aynı şekilde yükledim lakin olmadı nerede yanlış yapıyoruz acaba

Kod:

on $*:text:/^[!.&-]tak[iIİ]p/Si:#nes: {
bu kısımdaki #nes olan kanal kısmını değiştir. denedim çalışıyor.


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net