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/)
-   -   Kayıt (https://www.ircforumlari.net/mirc-scripting-sorunlari/870384-kayit.html)

Hesapsiz33 19 Mayıs 2020 01:22

Kayıt
 
Selam asaşagıdaki kode extradan zorunlu Kontrol: eklentisi verince kanala aynı rumuzla giren kişiyi dosyaya tekrar ekliyor. örnek ahmet rumuzu 3 kez girmişse 3 kez ekliyor. tek seferde ekleyecek şekilde nasıl ayarlaya bilirim acaba?
kontrol:ahmet
kontrol:ahmet
kontrol:ahmet


Kod:

on *:join:#sohbet:{
  if !$hfind(Koruma,$nick,1,W).data &&  $hfind(badnick,$nick,1,W).data {
    $iif(!$read(nickler.txt,w,$nick),.write nickler.txt kontrol: $+ $nick)
    }
  }
}


Alper 19 Mayıs 2020 02:50

Cevap: Kayıt
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042309284)
Selam asaşagıdaki kode extradan zorunlu Kontrol: eklentisi verince kanala aynı rumuzla giren kişiyi dosyaya tekrar ekliyor. örnek ahmet rumuzu 3 kez girmişse 3 kez ekliyor. tek seferde ekleyecek şekilde nasıl ayarlaya bilirim acaba?
kontrol:ahmet
kontrol:ahmet
kontrol:ahmet


Kod:

on *:join:#sohbet:{
  if !$hfind(Koruma,$nick,1,W).data &&  $hfind(badnick,$nick,1,W).data {
    $iif(!$read(nickler.txt,w,$nick),.write nickler.txt kontrol: $+ $nick)
    }
  }
 }



Kod:

$iif(!$read(nickler.txt,w,$nick),.write nickler.txt kontrol: $+ $nick)

Kısmını



Kod:

$iif(!$read(nickler.txt,w,kontrol: $+ $nick),.write nickler.txt kontrol: $+ $nick)

olarak değiş.


w parametresini kullanmışsın ama joker ifade kullanmamışsın neye göre arama yapacak. Dosyanın içinde kontrol:nick olarak kaydediyorsun ama nick olarak arama yapıyorsun. Kaydettiğin veriye benzer olmalı arattığın şey yada başında joker ifadesi kullanacaksın alternatif olarak !$read(nickler.txt,w,*: $+ $nick) bu şekilde de arama yaptırabilirsin : önceki yer herhangi ifade olabilir : sonra nicki aratabilirsin. Umarım sadece kodu kullanıp açıklama kısmını es geçmiyorsundur :) Mantığı anlamanız için anlatıyorum. Bir daha böyle bir durumda yardım istersen bu konuyu gösteririm :)

Hesapsiz33 19 Mayıs 2020 08:33

Cevap: Kayıt
 
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042309320)
Kod:

$iif(!$read(nickler.txt,w,$nick),.write nickler.txt kontrol: $+ $nick)

Kısmını



Kod:

$iif(!$read(nickler.txt,w,kontrol: $+ $nick),.write nickler.txt kontrol: $+ $nick)

olarak değiş.


w parametresini kullanmışsın ama joker ifade kullanmamışsın neye göre arama yapacak. Dosyanın içinde kontrol:nick olarak kaydediyorsun ama nick olarak arama yapıyorsun. Kaydettiğin veriye benzer olmalı arattığın şey yada başında joker ifadesi kullanacaksın alternatif olarak !$read(nickler.txt,w,*: $+ $nick) bu şekilde de arama yaptırabilirsin : önceki yer herhangi ifade olabilir : sonra nicki aratabilirsin. Umarım sadece kodu kullanıp açıklama kısmını es geçmiyorsundur :) Mantığı anlamanız için anlatıyorum. Bir daha böyle bir durumda yardım istersen bu konuyu gösteririm :)

jokeri kullanmadım çünkü ,w, kısmı joker anlamını ifade ediyor diye düşündüm.
(nickler.txt,w,kontrol: $+ $nick) bu şekilde eklemek aklımın ucundan da geçmezdi :)
son olarak direkt kodu alıp kullanmıyorum yani piş agzıma düş olayını sevmem benim için kodun kendisinden çok çalışmamasına neden olan etkenleri ögrenmek önemli eger öyle olmasaydı bundan önceki paylaşımımdaki *:keyup:@dosya: kısmını kendi başıma halledemezdim. yani açıklamaları önemsiyorum ve kod ile beraber not alıyorum her zaman :)
yardımın için çok teşekkür ederim başkan.

Alper 19 Mayıs 2020 10:05

Cevap: Kayıt
 
Alıntı:

Hesapsiz33 Nickli Üyeden Alıntı (Mesaj 1042309400)
jokeri kullanmadım çünkü ,w, kısmı joker anlamını ifade ediyor diye düşündüm.
(nickler.txt,w,kontrol: $+ $nick) bu şekilde eklemek aklımın ucundan da geçmezdi :)
son olarak direkt kodu alıp kullanmıyorum yani piş agzıma düş olayını sevmem benim için kodun kendisinden çok çalışmamasına neden olan etkenleri ögrenmek önemli eger öyle olmasaydı bundan önceki paylaşımımdaki *:keyup:@dosya: kısmını kendi başıma halledemezdim. yani açıklamaları önemsiyorum ve kod ile beraber not alıyorum her zaman :)
yardımın için çok teşekkür ederim başkan.


w parameterisi wildcard ifadeleri(*?) kullanabilirsin anlamına gelir. Daha iyi anlayabilmen için mesela text eventi kullanarak kanaldaki bir ifadeyi yakalamak için iswm kullanıyorsun ahmet iswm $1- yazarsan sadece ahmet i yakalarsın ama ahmet* iswm $1- yazarsan ahmet ifadesi ve sonra ne gelirse gelsin onu yakalarsın aynı mantık w parametresi. Böyle durumlarda ezberden çok mantığını öğrenmeye çalış ben öyle yapıyorum.



Ek olarak bir post atarken konu başlığını anlamlı atarsan en azından daha sonra aynı sorunu yaşayan ve öğrenmek isteyen biri forumda araştırma yaptığında aramalarda bulabilsin :)


Örnek: Txt dosyasında kayıt tekrar sorunu, Txt dosyasına kayıt sorunu vs.. gibi...

Hesapsiz33 19 Mayıs 2020 12:17

Cevap: Kayıt
 
Alıntı:

Alper Nickli Üyeden Alıntı (Mesaj 1042309412)
w parameterisi wildcard ifadeleri(*?) kullanabilirsin anlamına gelir. Daha iyi anlayabilmen için mesela text eventi kullanarak kanaldaki bir ifadeyi yakalamak için iswm kullanıyorsun ahmet iswm $1- yazarsan sadece ahmet i yakalarsın ama ahmet* iswm $1- yazarsan ahmet ifadesi ve sonra ne gelirse gelsin onu yakalarsın aynı mantık w parametresi. Böyle durumlarda ezberden çok mantığını öğrenmeye çalış ben öyle yapıyorum.



Ek olarak bir post atarken konu başlığını anlamlı atarsan en azından daha sonra aynı sorunu yaşayan ve öğrenmek isteyen biri forumda araştırma yaptığında aramalarda bulabilsin :)


Örnek: Txt dosyasında kayıt tekrar sorunu, Txt dosyasına kayıt sorunu vs.. gibi...


sadece kayıt yazmamın sebebi herhangi bir aramada içerisinde kayıt geçen kelimelerde çıkması içindi.
yine wilcard kafa mantıgı yani :))
neyse dikkat ederim ama bundan sonra.


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

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