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/)
-   -   raw319 ve mirc donma sorunu (https://www.ircforumlari.net/mirc-scripting-sorunlari/871122-raw319-ve-mirc-donma-sorunu.html)

Hesapsiz33 28 Mayıs 2020 13:59

raw319 ve mirc donma sorunu
 
aşagıdaki kod kanala girenlere whois cekip kanal1 kanal2 kanallarında olması durumunda ban atıyor.
bunu dosyaya eklicek şekilde ayarlamaya çalışıyorum ama yapamadım. /komut #kanal yazdıgım zaman
kanaldaki herkese whois çekip kanal1 kanal2 de olan kişileri dosya txt nasıl ekleyebilirim.
kırmızı ile belirtilen yerleri ben ekledim.

orjinali ise bu
mode $comchan(%ufuk,%t) +b %ufuk | kick $comchan(%ufuk,%t) %ufuk mesaj..

birde bazı kodları denerken mirc donuyor ve mirci komple kapatmak zorunda kalıyoruz bunun için ctrl shift tuşları ile komutu sonlandırabilecegimiz bir kısa yol var mı acaba?

Kod:

raw 319:*: {
  if *kanal1* iswm $3- || *kanal2* iswm $3- { set %ufuk $2 | .timer 1 1 ufuks }
}
alias ufuks {
  var %t 1
  while (%t <= $comchan(%ufuk,0)) {
    if $me isop $comchan(%ufuk,%t) {
      !$read(olanlar.txt,w,%ufuk) $comchan(%ufuk,%t) write olanlar.txt  %ufuk | echo -at %ufuk eklendi.
      inc %t
    }
  }
}


Alper 28 Mayıs 2020 16:49

Cevap: raw319 ve mirc donma sorunu
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042314000)
aşagıdaki kod kanala girenlere whois cekip kanal1 kanal2 kanallarında olması durumunda ban atıyor.
bunu dosyaya eklicek şekilde ayarlamaya çalışıyorum ama yapamadım. /komut #kanal yazdıgım zaman
kanaldaki herkese whois çekip kanal1 kanal2 de olan kişileri dosya txt nasıl ekleyebilirim.
kırmızı ile belirtilen yerleri ben ekledim.

orjinali ise bu
mode $comchan(%ufuk,%t) +b %ufuk | kick $comchan(%ufuk,%t) %ufuk mesaj..

birde bazı kodları denerken mirc donuyor ve mirci komple kapatmak zorunda kalıyoruz bunun için ctrl shift tuşları ile komutu sonlandırabilecegimiz bir kısa yol var mı acaba?

Kod:

raw 319:*: {
  if *kanal1* iswm $3- || *kanal2* iswm $3- { set %ufuk $2 | .timer 1 1 ufuks }
}
alias ufuks {
  var %t 1
  while (%t <= $comchan(%ufuk,0)) {
    if $me isop $comchan(%ufuk,%t) {
      !$read(olanlar.txt,w,%ufuk) $comchan(%ufuk,%t) write olanlar.txt  %ufuk | echo -at %ufuk eklendi.
      inc %t
    }
  }
 }



Donmanın sebebi sonsuz döngüye girmen :) Yani dikkat etmen gereken konu inc %degisken mesela sen if blogunun içinde kullanmışsın o koşul varsa 1 artar ama yoksa artmayacağı için sonsuz döngüye girecektir. Senin yaptığın kodu ele alalım.



if $me isop $comchan(%ufuk,%t) {



kanalında op isem devamında işlem yap %t arttır ama op değilsen yandın :)


Eğer listeye ekleyeceksen zaten op olmana gerek yok gereksiz kod.



O yüzden inc %t yi if koşulu bittikten sonra yazman gerekiyor. Ek olarak zaten başka bir eksik ise $read() dan önce if kullanmamışsın.



!$read(olanlar.txt,w,%ufuk) $comchan(%ufuk,%t) write olanlar.txt %ufuk | echo -at %ufuk eklendi.
}
inc %t


if parantezini kapattıktan sonra kullanacaksın inc %t komutunu.


Diğer bir ipucu ise alias ile iş yaptıracaksan değişken set etmene gerek yok. Mesela



set %ufuk $2 | .timer 1 1 ufuks



yerine


.timer 1 1 ufuks $2


kullanabilirsin. Burada kullandığın $2 aliasta $1 e denk gelir. Bunun anlamı aliasta %ufuk gördüğün yere $1 yazabilirsin.



Yapmaya çalış yapamazsan yardımcı olacam.

Hesapsiz33 28 Mayıs 2020 18:16

Cevap: raw319 ve mirc donma sorunu
 
/whois nick yaparak şu şekilde çalışlıyor donmadan ama veriableste hangi nick varsa onu ekliyor sadece
örnek %ufuk ahmet varsa /whois mehmet yapsam da yine ahmeti ekliyor
veriableste ilkali %ufuk nick olması gerekiyor yani eger variableste nick yoksa hiç bişey eklemiyor

Kod:

raw 319:*: {
  if *kanal1* iswm $3- || *kana2* iswm $3- { .timer 1 1 ufuks $2 }
}
alias ufuks {
  var %t 1
  while (%t <= $comchan(%ufuk,0)) {
    if !$read(olanlar.txt,w,%t) { inc %t && $comchan(%ufuk,%t) | write olanlar.txt %ufuk | echo -at %ufuk eklendi.  }
  }
}



--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 18:16 -->-> Daha önceki mesaj 17:41 --

bu ufuk kimse Allah belasını vermesin her yere % deleri yapıştırmıs adam para yapıştırır gibi
buda çok kafa karıştırıyor.
tarama kodlarından yola çıkarak bu gün hallederim ben bunu inş.

Alper 28 Mayıs 2020 18:28

Cevap: raw319 ve mirc donma sorunu
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042314087)
/whois nick yaparak şu şekilde çalışlıyor donmadan ama veriableste hangi nick varsa onu ekliyor sadece
örnek %ufuk ahmet varsa /whois mehmet yapsam da yine ahmeti ekliyor
veriableste ilkali %ufuk nick olması gerekiyor yani eger variableste nick yoksa hiç bişey eklemiyor

Kod:

raw 319:*: {
  if *kanal1* iswm $3- || *kana2* iswm $3- { .timer 1 1 ufuks $2 }
}
alias ufuks {
  var %t 1
  while (%t <= $comchan(%ufuk,0)) {
    if !$read(olanlar.txt,w,%t) { inc %t && $comchan(%ufuk,%t) | write olanlar.txt %ufuk | echo -at %ufuk eklendi.  }
  }
}



--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 18:16 -->-> Daha önceki mesaj 17:41 --

bu ufuk kimse Allah belasını vermesin her yere % deleri yapıştırmıs adam para yapıştırır gibi
buda çok kafa karıştırıyor.
tarama kodlarından yola çıkarak bu gün hallederim ben bunu inş.


Yukarıda ipucu vermiştim ama anlaşılmamış anlaşılacağı şekilde örnek ile göstereyim.




Kod:

alias ufuks {
  var %t 1
  while (%t <= $comchan($1,0)) {
    if !$read(olanlar.txt,w,$1) {
      write olanlar.txt $1
      echo -at $1 eklendi.
    }
    inc %t
  }
}



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

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