Konu: shunlist hk.
Tekil Mesaj gösterimi
Alt 14 Eylül 2019, 21:56   #10
Çevrimiçi
Feragat
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: shunlist hk.




Fredyyy Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Hiçbir çakışma yoktu Sayın @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yalnız Sayın @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] beyin dediği on *:join:#sohbet:{
if $read(shunn.txt,w,$+($nick,¿*)) {
kısmında $+($nick,¿,*) olan yere virgün koyup kodun diğer kısımlarındaki benzer noktaları da aynı şekil değiştirdim. Şimdi kanala giren ÖRN: ceber nickine shun atıyor yalnız ceber* şeklinde shun eklediğim vakit, ÖRN: ceberrrr olarak nick girişi olunca algılamıyor. Özetle wilcard kısmı olmuyor sanırım.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Sizlerin de kıymetli vaktini aldığımın farkındayım, kusuruma bakmayın lütfen. Bir de @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bey sizde de wilcardlı olarak komut işlev gördü mü? Şimdiden ilginiz için teşekkür ederim.

Merhabalar.

Yaptığın kodu, Fırsat bulup ancak inceleyebildim.

Yapmak istediğin işi anlıyorum ama istediğin gibi çalışması için mantığı değiştirmen gerek.

Şöyle anlatayım. Neyi, neyin içinde aradığına dikkat etmen gerek.

Örneğin; Elindeki veri Nick ve sen bu nicki dosya içinde eklediğin filtreler içinde arayacaksan eğer üstteki yaptığın hatalı çalışır.

Mantık hatası şudur;
$read mantığında Bütünü, parçanın içinde arayamazsın. Parçayı bütünde araman gerekiyor.
Mesela kanala giren nick Feragat diyelim, shunn.txt içinde eklediğin verilerin wildcard kullanılarak eklendiğini düşünelim.

Kanala Giren Nick = Feragat
Wildcard Ekli Parça = Fera*

Sen burada Feragat nickini Fera* kalıbı içinde ararsan sonuç alamazsın. Tam tersi Fera* yı Feragat'in içerisinde ararsan sonuç bulabilirsin.
Bunu başarabilmen için döngü kullanmalısın ki bu sağlıklı sonuç verebilse de yüzlerce kalıp ekli olduğunu düşünürsek çok yavaş sonuç verir. Döngü .txt içindeki her veriyi kanala giren nick ile kıyaslayacak ve eşleşme olursa sonuç dönecek. 1000 satır veri olduğunu var sayarsan bir hayli yavaş olur.

Bunu tek bir tanım içinde yapabilmek için hash table tanımlarını kullanabilirsin. Hash table Bütünü, parçanın içinde arayabiliyor.

Hash table için örnek.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//hadd -ms Nickler Fer* Reklam //echo -a $hfind(Nickler,Feragat,1,W)


Feragat bütününü Fer* parçasının içinde buldu.

Bunun dışında Access Levels konusundaki User List kullanmanı öneririm.

Event prefixi olarak join eventına ekleyip wildcard ile kanala giren nickleri döngüsüz tespit edip işlem yaptırabilirisin. ( Sebep de ekleyebilirsin. )

Access Levels için incelemeni önereceğim konu: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Belki fikir verebilir. Ayrıca .txt dosyalarına yazma/okuma/silme yaptırmana da gerek kalmaz.

__________________
The Ghost of Christmas Past...

i'm here sometimes

Konu Feragat tarafından (14 Eylül 2019 Saat 22:00 ) değiştirilmiştir. Sebep: Küçük bir düzenleme.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet