Event Prefixes (Olay Önekleri) konusu içinde bir de
& Prefix'i bulunmakta. Script içinde herhangi dosyada
halt/haltdef ile sonlandırılmış veya kısıtlanmış bir
Event olup olmadığını görmemizi sağlar.
$halted tanımı
$true sonuç verirse
halt/haltdef kullanılmış demektir,
$false ise tam tersi.
Örnek:
mIRC'inizde 2 adet remote dosyası olduğunu varsayalım.
1- script1.ini
2- script2.ini
script1.ini dosyasına bir Event yazdınız.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on ^*:text:*deneme*:#xdeney:halt
-
Açıklaması: #xdeney kanalında cümle içinde veya yalnızca kelime olarak
deneme yazılırsa bunu bana
gösterme!
Sonra
script2.ini dosyasında başka bir text eventı kullanmak istediniz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:#xdeney:echo -aet Nick: $nick - Text: $1-
-
Açıklaması: #xdeney kanalında herhangi bir yazı yazıldığında, yazı yazan kişinin nickini ve yazdığı yazıyı aktif ekranda echo ile göster.
script1.ini dosyasında
deneme yazısını göstermemesini istemiştik,
script2.ini dosyasındaki
event bu şekilde
deneme yazısından tetiklenecek ve bize Örneğin
Nick: Feragat - Text: Selam deneme şeklinde bir
echo verecektir. Oysaki biz bunu ilk event da
istemiyorduk.
Kanalda başka bir nickle
selam naber deneme yazdım ve alttaki gibi sonuç döndü.
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
[20:33] Nick: Project`Nightmare - Text: selam naber deneme
Söylediğim gibi biz içinde
deneme geçen bir cümle veya
deneme kelimesini görmek
istemiyoruz ama 2. bir text eventı ile de yine kanalda yazı yazıldığında
Nick: $nick - Text: $1- şeklinde yazanın nickini ve yazdığı yazıyı aktif ekranda
echo ile görmek istiyoruz.
İşte
& bu prefix burada işe yarıyor. Şimdi 2. Event'ımızın başına
& prefixini koyup deneme yapıyorum.
1. Event'ım
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on ^*:text:*deneme*:#xdeney:halt
2. Event'ım
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on &*:text:*:#xdeney:echo -aet Nick: $nick - Text: $1-
- Örnek 1 - Text: selam naber
Sonuç: Kod: Kodu kopyalamak için üzerine çift tıklayın!
[20:38] <Project`Nightmare> selam naber
-
[20:38] Nick: Project`Nightmare - Text: selam naber
Cümle içinde
deneme yazısı olmadığı için event çalıştı.
-- Örnek 2 -- Text: Selam naber deneme
Sonuç: Hiçbir tepki yok.
& Prefix'i ile daha önce uygulanan
/halt veya
/haltdef komutlarına diğer eventların da saygı göstermesini sağlıyoruz.
On Text event'ı sadece bir örnekti. Anlaşılır olması adına
On Text ile örnek verdim. Bunu pek çok Event'da kullanabilirsiniz.
Üstte de söylediğim gibi
$halted tanımını kullanarak
/halt -/haltdef sonucunu
$true ve
$false olarak görebilirsiniz. Küçük bir örnek vereyim.
script1.ini dosyası içeriği
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on ^*:text:*deneme*:#xdeney:halt
script2.ini dosyası içeriği
-
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:#xdeney:echo -aet Nick: $nick - Text: $1- - $!halted $+ : $halted
Sonuç:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
[20:50] Nick: Project`Nightmare - Text: Selam naber deneme - $halted: $true
- me Prefixi -
-
Bir de
me prefix'i bulunuyor.
me prefixi
Türkçe anlamı: Ben, beni
Sadece sizin nickinizle tetiklenir. JOIN eventı'ı #kanala giriş yapıldığında tetiklenen bir Event. Eğer koşul belirtmezseniz kanala her giren nick için tetiklenecektir.
Sadece kendi nickinize işlem yaptırmak için sizi bir if koşulundan kurtaracaktır.
Örnek 1: Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:join:#xdeneme:{
if ($nick == $me) {
echo -ta Şu anda # Kanalındasınız.
}
}
Açıklaması: #xdeneme kanalına giren nick
Benim nickim ise,
echo ile aktif ekrana
Şu anda #xdeneme Kanalındasınız. Örnek 2: Kod: Kodu kopyalamak için üzerine çift tıklayın!
on me:*:join:#xdeneme:echo -ta Şu anda # Kanalındasınız.
-
1. Örnek ile aynı işlemi yaptı. Sizi bir
if koşulundan kurtarmış oldu.
Umarım açıklayıcı olmuştur. Kolay gelsin.