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/)
-   -   kaç kez atılmış (https://www.ircforumlari.net/mirc-scripting-sorunlari/869661-kac-kez-atilmis.html)

Hesapsiz33 13 Mayıs 2020 11:47

kaç kez atılmış
 
selam saatlerdir şu kodu Toprak arkadaşın paylaştıgı badnick has dosyasına göre ayarlamaya çalıyorum ama bi türlü yapamadım
badnick has dosyasında ki tüm verileri aktarıyorum ama bu yüzdende her seferinde flooddan donuyor mirc.
yapmak istedigim şey /kaçkez ahmet yazdıgım zaman o nickin kac sefer atıldıgını öğrenebilmek.
/kaçkez ahmet
1- ahmet 3 kez atildi gibi.

on bnick:join:#: {
hinc -m bnick $ulist($nick) 1 | mode # +b $nick | kick # $nick Badnick.
}
alias blist {
var %z = $iif($1,msg $1,echo -ta)
if $hget(bnick) {
var %i = 1 | %z Badnick istatistikleri; | while $hget(bnick,%i).item { %z $+(%i,-) $v1 $hget(bnick,%i).data kez atildi | inc %i } | %z *** Bilgilerin Sonu ***
}
else { %z Liste mevcut degil }
}
on *:exit:if $hget(bnick) { hsave -o bnick bnick.txt }
on *:start:if !$hget(bnick) { hmake bnick } | if $isfile(bnick.txt) { hload bnick bnick.txt }

Alper 13 Mayıs 2020 13:19

Cevap: kaç kez atılmış
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042305574)
selam saatlerdir şu kodu Toprak arkadaşın paylaştıgı badnick has dosyasına göre ayarlamaya çalıyorum ama bi türlü yapamadım
badnick has dosyasında ki tüm verileri aktarıyorum ama bu yüzdende her seferinde flooddan donuyor mirc.
yapmak istedigim şey /kaçkez ahmet yazdıgım zaman o nickin kac sefer atıldıgını öğrenebilmek.
/kaçkez ahmet
1- ahmet 3 kez atildi gibi.

on bnick:join:#: {
hinc -m bnick $ulist($nick) 1 | mode # +b $nick | kick # $nick Badnick.
}
alias blist {
var %z = $iif($1,msg $1,echo -ta)
if $hget(bnick) {
var %i = 1 | %z Badnick istatistikleri; | while $hget(bnick,%i).item { %z $+(%i,-) $v1 $hget(bnick,%i).data kez atildi | inc %i } | %z *** Bilgilerin Sonu ***
}
else { %z Liste mevcut degil }
}
on *:exit:if $hget(bnick) { hsave -o bnick bnick.txt }
on *:start:if !$hget(bnick) { hmake bnick } | if $isfile(bnick.txt) { hload bnick bnick.txt }


Bunun için döngüye gerek yok ki sadece sayı alacaksan aşağıdaki gibi kullanman yeterli olacaktır. Döngü tüm atılan nickler için lazım olur.


Kod:

on bnick:join:#: {
  hinc -m bnick $nick 1
  mode # +b $nick
  kick # $nick Badnick.
}
alias kackez {
  if $hget(bnick,$1) {
    echo -a $1 Nicki $hget(bnick,$1) kez atıldı.
  }
}

/kackez nick



yaptığında kaç kere atıldığını sana gösterecektir.

Edit:********************************************* *************

Ek olarak hepsini göstermek istiyorsan döngü aliası


Kod:

alias blist {
  var %z = $iif($1,msg $1,echo -ta)
  if $hget(bnick) {
    var %i = 1
    %z Badnick istatistikleri;
    while %i <= $hget(bnick,0).item {
      %z $+(%i,-) $hget(bnick,%i).item $hget(bnick,%i).data kez atildi
      inc %i
    }
    %z *** Bilgilerin Sonu ***
  }
  else { %z Liste mevcut degil }
}

Bu şekilde olması gerek. Hata yaptığın kısım kırmızı işaretlediğim yer.


Döngü kullanırken koşul vermen gerekiyor neye göre döndürecek.


while $hget(bnick,%i).item {



Burada sadece 1. ifadeyi alır. Toplamı göstermen gerekiyor.


while $hget(bnick,0).item {


Sonra ise ne kadar döneceği hakkında bilgi vermen gerek.


while %i <= $hget(bnick,0).item {


Diyoruz ki %i değişkeni veriden küçükse ve eşit olana kadar döngüye devam et.


inc in amacı zaten %i değişkenini arttırmak koşul sağlanması için.

Hesapsiz33 13 Mayıs 2020 13:26

Cevap: kaç kez atılmış
 
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042305619)
Bunun için döngüye gerek yok ki sadece sayı alacaksan aşağıdaki gibi kullanman yeterli olacaktır. Döngü tüm atılan nickler için lazım olur.


Kod:

on bnick:join:#: {
  hinc -m bnick $nick 1
  mode # +b $nick
  kick # $nick Badnick.
}
alias kackez {
  if $hget(bnick,$1) {
    echo -a $1 Nicki $hget(bnick,$1) kez atıldı.
  }
}


/kackez nick



yaptığında kaç kere atıldığını sana gösterecektir.

yardımın için çok teşkkür ederim Alper sende olmasan işimiz yaş gerçekten :) tşkler.

Alper 13 Mayıs 2020 13:32

Cevap: kaç kez atılmış
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042305637)
yardımın için çok teşkkür ederim Alper sende olmasan işimiz yaş gerçekten :) tşkler.


Rica ederim. Ben olmasam başka arkadaşlar var ;)

Hesapsiz33 13 Mayıs 2020 13:59

Cevap: kaç kez atılmış
 
[QUOTE=Alper;1042305619]Bunun için döngüye gerek yok ki sadece sayı alacaksan aşağıdaki gibi kullanman yeterli olacaktır. Döngü tüm atılan nickler için lazım olur.


Kod:

on bnick:join:#: {
  hinc -m bnick $nick 1
  mode # +b $nick
  kick # $nick Badnick.
}
alias kackez {
  if $hget(bnick,$1) {
    echo -a $1 Nicki $hget(bnick,$1) kez atıldı.
  }
}

/kackez nick


haklısınız döngüye gerek yok. verdiginiz bilgiden yola çıkarak kullandıgım koda kırmızı renkte belirttigim yeri ekledim ve sorunsuz çalışıyor fakat kanala giren tüm nickler için çalışıyor şimdide.
yani akalası olmayan bi rumuza bile /kackez ahmet yaptıgım zaman onun içinde bilmem kaç kez atıldı diyor.
yukarıda ki on bnick:join:#: { eventi kafamı karıştırdı açıkcası.


on *:join:#:{
hinc -m bnick $nick 1
if !$hfind(Koruma,$nick,1,W).data && $hfind(badnick,$nick,1,W).data {
mode # +b $nick
kick # $nick Badnick
}
}
}

Alper 13 Mayıs 2020 14:03

Cevap: kaç kez atılmış
 
[QUOTE=Hesapsiz33;1042305657]
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042305619)
Bunun için döngüye gerek yok ki sadece sayı alacaksan aşağıdaki gibi kullanman yeterli olacaktır. Döngü tüm atılan nickler için lazım olur.


Kod:

on bnick:join:#: {
  hinc -m bnick $nick 1
  mode # +b $nick
  kick # $nick Badnick.
}
alias kackez {
  if $hget(bnick,$1) {
    echo -a $1 Nicki $hget(bnick,$1) kez atıldı.
  }
}

/kackez nick


haklısınız döngüye gerek yok. verdiginiz bilgiden yola çıkarak kullandıgım koda kırmızı renkte belirttigim yeri ekledim ve sorunsuz çalışıyor fakat kanala giren tüm nickler için çalışıyor şimdide.
yani akalası olmayan bi rumuza bile /kackez ahmet yaptıgım zaman onun içinde bilmem kaç kez atıldı diyor.
yukarıda ki on bnick:join:#: { eventi kafamı karıştırdı açıkcası.


on *:join:#:{
hinc -m bnick $nick 1
if !$hfind(Koruma,$nick,1,W).data && $hfind(badnick,$nick,1,W).data {
mode # +b $nick
kick # $nick Badnick
}
}
}





Kod:

on *:join:#:{
  if !$hfind(Koruma,$nick,1,W).data && $hfind(badnick,$nick,1,W).data {
    hinc -m bnick $nick 1
    mode # +b $nick
    kick # $nick Badnick
  }
}


Bu şekilde kullanırsan sorun çözülür. Çünkü if bloğunun dışında olursa kanala her gireni listeye ekler. Koşulun içinde olursa ban atıldığında listeye eklenir.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02: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