IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 sohbet
derya sohbet


17Beğeni(ler)


 
 
Seçenekler Stil
Alt 04 Şubat 2021, 21:52   #1
Arrow On Text Event Kullanımı

Konu: on <level>:TEXT:<matchtext>:<*><?><#[,#]>:<commands>


* Merhaba, text eventi mirc scripting içerisin de kullanımı en yaygın event lerin başın da gelir ve bu yüzden, sizlere elimden geldiğince anlatmaya çalışıcam.

- On text eventi özel veya kanal da aldığınız mesajlar üzerine tetiklenen bir mirc script eventidir. Bu mesajlar sizin yazdığınız mesajları içermez. Kendi mesajlarınız için farklı bir ders konusun da ilgili eventin konusunu anlatacağım.

- Başlangıc olarak bu event de kullanabiliceğimiz '' joker '' karakterlerden bahsetmek istiyorum sizlere konu içeriği aslında bunu anlatmak olacak ve bir çoğunuzun zaten bu eventi bildiğinizi düşünüyorum ama yeni başlamış yada kendisi birşeyler yapmak istiyenler için faydalı olacağını düşünüyorum.

Aşağıda belirtilen joker karakterler event içerisin de kullanılabilir;

'' * '' => Herhangi bir metinle eşleşir.
'' & '' => Herhangi bir kelime ile eşleşir.
'' text '' => Metin sadece belirtilen kelime ile eşleşiyorsa tetiklenir.
'' text* '' => Metin sadece belirtilen kelime ile başlıyorsa eşleşiyorsa tetiklenir.
'' *text '' => Metin sadece belirtilen kelime ile bitiyorsa tetiklenir.
'' *text* '' => Metin sadece belirtilen kelime içinde geçiyorsa tetiklenir.

* Bu başın da sonunda ve geçiyorsa size tanıdık gelicektir. IRCd/services in çok eğlenceli olan wildcard konusundan anımsayacaksınız.

- Text eventini kullandığımız sırada tam olarak hedefi belirtmek için kullanmamız gereken karakterleri aşağıda size belirteceğim. Mesela, matchtext ( eşleştirme metni ) belirtilirken yukarı da belirttiğim joker karakterleri kullanarak bir eşleştirme metni oluşturalım yani Mylife yazınca tetiklensin ve istediğimiz işlemi yapsın.

Text eventi kullanımın da özel veya kanal belirleme işlemi şu şekilde oluşturulur;

'' ? '' => Herhangi bir özel mesaj için.
'' # '' => Herhangi bir kanal mesajı için.
'' #Mylife '' => Mylife kanalında olan bütün mesajlar için.
'' * '' => Özel veya kanal her iki durum da tetiklenmesi için.

Örnekler;

Kod

on 1:text:Mylife:#:/msg # Merhaba buyrun benim?
* Burada eğer birisi herhangi bir kanal da Mylife yazarsa o kanala merhaba buyrun benim? mesajı atmasını söyledik. Bu şekilde hazırlanan küçük bir kodda eşleşme için '' Mylife '' yazılması gerekir eğer tam olarak kelime Mylife değilse işlem yapmayacaktır.

- Mylife ile biten cümleler de, bahsettiğin şu mylife mı yazsın istiyelim...

Kod

on 1:text:*Mylife:#:/msg # Bahsettiğin şu mylife mı???
* İki örnek de var olan farklılığı anlamış olmanız gerekiyor birisi sade düz olarak yazılmış diğeri ise başında bir joker karakter olan '' * '' kullanılmış.

Mylife => Tam mylife ile eşleşir.
*Mylife => Mylife ile bitiyorsa eşleşir.
Mylife* => Mylife ile başlıyorsa eşleşir.
*Mylife* => Bir kelime için de Mylife geçiyorsa eşleşir.

* Text eventinde eğer kanal belirtilmezse bütün kanallar da işlem yapıcaktır.

- Özelime birisi Mylife yazarsa evet buyrun nasıl yardımcı olabilirim olarak yanıt versin?

Kod

on 1:text:Mylife:?:/privmsg $nick evet buyrun, nasıl yardımcı olabilirim?
* Tetiklenmesini istediğimiz şekli sadece Mylife ise bu şekilde yapmamız yeterli olacaktır. Mylife kelimesi için de geçiyorsa işlem yap *Mylife* olarak matchtext i belirlememiz gerekiyor.

* Peki özel veya kanal olarak bir eşleştirme yapılmasını istediğimiz de kanal kısmına '' * '' koymanız yeterli olacaktır.

Kod

on 1:text:matchtext:*:/işlem
Bu şekilde yapmak istediğinizi yapabiliceksiniz. İyi forumlar dilerim.



________________

i don't care if i'm misfit.

Konu Mylife tarafından (04 Şubat 2021 Saat 21:56 ) değiştirilmiştir..
 
Alt 04 Şubat 2021, 21:57   #2
Sim
civciv~🐥
Sim - ait Kullanıcı Resmi (Avatar)

Standart

emegine saglik @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] paylasim icin tesekkürler

________________

Hope. . . ✨
 
Alt 04 Şubat 2021, 22:01   #3
Standart

emeginize saglik

________________

No MoRe DramA
 
Alt 05 Şubat 2021, 12:09   #4
✰ ÖzeL..
oMeN - ait Kullanıcı Resmi (Avatar)

Standart

Emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

________________

Edep; aklın Tercümanıdır. İnsan edebi kadar akıllı, Aklı kadar şerefli, Şerefi kadar Kıymetlidir. Massive..




~ E & B ~
 
Alt 05 Şubat 2021, 12:42   #5
Emektar
Elyanura - ait Kullanıcı Resmi (Avatar)

Standart

Emeğine sağlık

 
Alt 05 Şubat 2021, 12:44   #6
Standart

Emeğine Sağlık

 
Alt 05 Şubat 2021, 12:57   #7
~Ölüm Çiçeği~
LaviNia - ait Kullanıcı Resmi (Avatar)

Standart

Emeğinize sağlık

________________

Bazen de yıldızlar bakar.
İnsanlar kayar hayatımızdan..

 
Alt 09 Mayıs 2022, 11:21   #8
Kyo
Kyo - ait Kullanıcı Resmi (Avatar)

Standart

Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , Emeğine Sağlık. Mümkünse Text eventi kullanırken, iç içe if kullanımına bir örnek verir misin?

 
Alt 28 Mayıs 2022, 14:21   #9
Standart

Alıntı:
CeLeborn Nickli Üyeden Alıntı Mesajı göster
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , Emeğine Sağlık. Mümkünse Text eventi kullanırken, iç içe if kullanımına bir örnek verir misin?
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ,

İç içeden kastınız yan yana bir kullanım mı yoksa if then else kullanımı kastettiniz anlamadım ama bir kaç bilgilendirme bırakıcam.

Text eventi içerisin de sorgu oluşturma;

Kod

on *:text:*:*: { if $regex($1,/[\.!]sor$/Si) { msg # $nick, 1 ile 1 in toplamı kaçtır? } | elseif $regex($1,/[\.!]cevap$/Si) { msg # $nick, 1 ile 1 in toplamı 5 dir. } | else { return } }
Burada basit anlaşılması için örneklendirdim... bu sorgu oluşturma olayını text eventi içerisin de değil bütün kodlama eventlerin de kullanabilirsiniz. Buradaki mantık çok basittir aslında...

Açıklaması;

Herhangi birisi .sor yazdığında belirtilen soruyu kanala yansıtır. Burada if ( EĞER ) kanala .sor yazıldıysa bu soruyu sor dedik.

Daha sonra kanala sor yazılmak yerine .cevap yazılmışsa elseif ( eğer ilk sorgu değilse ) kullandık belirtilen cevabı kanala yansıt dedik ve son olarak da else ( sorguların hiç biri değilse ) return yani başa dön.

Burada tavsiye olarak şunu belirtebilirim mircscripting kodlaması yaparken görüyorum bir çok kod yazılımları sadece if kullanarak yapılıyor kendinizi bu şekilde alıştırmayın if - elseif - else kullanımlarını düzenli olarak yaparsanız hem kodlama yolu olarak daha akıcı şekilde yapabilecek aynı zaman da daha sağlıklı olacaktır.

Umarım açıklayıcı olmuştur. İyi forumlar.

________________

i don't care if i'm misfit.
 
Alt 06 Haziran 2022, 20:04   #10
Kyo
Kyo - ait Kullanıcı Resmi (Avatar)

Standart

Alıntı:
Mylife Nickli Üyeden Alıntı Mesajı göster
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ,

İç içeden kastınız yan yana bir kullanım mı yoksa if then else kullanımı kastettiniz anlamadım ama bir kaç bilgilendirme bırakıcam.

Text eventi içerisin de sorgu oluşturma;

Kod

on *:text:*:*: { if $regex($1,/[\.!]sor$/Si) { msg # $nick, 1 ile 1 in toplamı kaçtır? } | elseif $regex($1,/[\.!]cevap$/Si) { msg # $nick, 1 ile 1 in toplamı 5 dir. } | else { return } }
Burada basit anlaşılması için örneklendirdim... bu sorgu oluşturma olayını text eventi içerisin de değil bütün kodlama eventlerin de kullanabilirsiniz. Buradaki mantık çok basittir aslında...

Açıklaması;

Herhangi birisi .sor yazdığında belirtilen soruyu kanala yansıtır. Burada if ( EĞER ) kanala .sor yazıldıysa bu soruyu sor dedik.

Daha sonra kanala sor yazılmak yerine .cevap yazılmışsa elseif ( eğer ilk sorgu değilse ) kullandık belirtilen cevabı kanala yansıt dedik ve son olarak da else ( sorguların hiç biri değilse ) return yani başa dön.

Burada tavsiye olarak şunu belirtebilirim mircscripting kodlaması yaparken görüyorum bir çok kod yazılımları sadece if kullanarak yapılıyor kendinizi bu şekilde alıştırmayın if - elseif - else kullanımlarını düzenli olarak yaparsanız hem kodlama yolu olarak daha akıcı şekilde yapabilecek aynı zaman da daha sağlıklı olacaktır.

Umarım açıklayıcı olmuştur. İyi forumlar.
Emeğine sağlık, açıklama için cok tesekkür ederim.

 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





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