Tekil Mesaj gösterimi
Alt 28 Mayıs 2020, 16:49   #2
Çevrimdışı
Alper
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: raw319 ve mirc donma sorunu




Hesapsiz33 Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
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:   Kodu kopyalamak için üzerine çift tıklayın!
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
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
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
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



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.

__________________
Davut Alper BALCI - pC`kOpAt

Konu Alper tarafından (28 Mayıs 2020 Saat 16:51 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver