mIRC Scripting  
 
  Event'lardaki ^@* gibi Karakterlerin Anlamları 15.03.2025 06:13 (UTC)
   
 
User level ya da access level diye geçer scripting'de. Ne işe yarar onu anlatalım...

1. seviyedeki olaylara herkes erişim sahibidir. Yani:

on 1:text:selam:?: { msg $nick sana da selam }

Özele kim selam yazarsa yazsın sen de onun özeline "sana da selam" yazarsın otomatik olarak.

Bu seviyeyi 2 3 4 400 400000 4000000000000 vs diye değiştirebilirsin.
Herhangi bir IP adresi, ident veya nicki userlist dediğimiz bu seviyelerin kaydedildiği yere ekleyebilirsin. Örneğin 100. seviyeden birini eklemek istersen /auser 100 nick!*@* yapıp eklersin. Veya *!ident@* *!*@IP şeklinde de ekleyebilirsin. Silmek için de /auser yerine /ruser kullanacaksın.

"İyi güzel hoş yapmış amcam da, bunlar ne işe yarar ki?" diye bir soru belirirse kafanda onu da anlatalım.

User level'lerin en çok kullanıldığı olay kesinlikle karalistelerdir. Örnek bir karaliste:

on @666:join:#: { mode $chan +b $nick | kick $chan $nick Karalistedesin. }

Basit bir karaliste Nickleri karalisteye eklemek için /auser 666 nick!*@* yazabilirsiniz.

Peki bu baştaki @ ! gibi işaretler ne işe yarar?

Bu tür işaretler userlevelden önce gelir. Yani 1 2 3 4 400 400000 vs gibi seviyelerden hemen önce gelir. @666 @1 gibi.

@ işaretini kullandığımızda bu kod eğer siz o kanalda opsanız işe yarar. Yani
if $me isop $chan kullanmak yerine @ işaretiyle olayı bitirebilirsiniz.

^ işareti genelde notice ve textlerde kullanılır ama koruma olarak kullanılmaz. Mesela noticeleri başka bir pencerede gösterirken ^ işaretini kullanırsanız noticeyi daha mIRC göstermeden o pencereye taşırsınız. Yani mIRC klasik işlemini yapmadan önce siz olaya el koymuş olursunuz. Örneğin:

on ^*:notice:*not*registered:?:{ if $nick == ChanServ { echo -a Bu nick kayıtlı değil. | halt } }

^ kullanırken halt ı mutlaka kullanmanız gerekiyor. Yoksa hem aktif pencerede bu nick kayıtlı değil uyarısı çıkar, hem de chanserv'den gelen The nickname xxx is not registered uyarısı çıkar. Ama halt ve ^ işaretini kullandığınızda chanserv in uyarısı yerine bu uyarı çıkar.

+ işareti kullandığınızda sadece o seviyedeki user'lar bu olaya erişim sahibi olurlar. Örneğin:

on 5:text:asd:?:{ msg $nick asd ne demek yahu? }

5. seviye ve üstündeki kişiler özelinize asd yazdığınızda asd ne demek yahu? diye cevap verir otomatik olarak onlara. Ama:

on +5:text:asd:?:{ msg $nick asd ne demek yahu? }

yaptığınızda sadece 5. seviyedekilere cevap verir. 6. seviye veya 7 8 9000. seviyedekiler bu olaya erişim sahibi değillerdir.

* işareti de bütün seviyedeki nickler için geçerlidir.

Anlamadığın bir yer var mı?
Güzel anlatmışsın kardeşim. Ben de biraz eklenti yapayım.

! öneği (örnek on !1:text):
Örneğin, 1 leveli herkese açık. Fakat siz 1 levelini öne sürerken, ekstradan sizin listenizde de bulunup bulunmadığını kontrol ettirmek istiyorsunuz. Bu gibi durumlarda ! kullanılır.

& öneği (örnek on &*:text:):
Bu öneği kullandığınızda, mIRC bu eventı en son olarak değerlendirmeye alır. Eğer aynı eventta, başka bir kodunuzda halt veya haltdef ile durdurma yapmışsanız, işleme konulmaz. Eğer event başka bir kodunuzda durdurulmak istenmemişse bu event en son devreye girer.

$ öneği (örnek on $*:text:m//switches:):
Bu önek regular expression'dan çeviri yapmak için kullanılır. İşleme konulması için belirli koşulları vardır. İlgilenenler araştırma yapabilir.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Bugün 20 ziyaretçi (27 klik) kişi burdaydı!
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol