mIRC Scripting - Aliases (3)
17/1/2008 · Kategori: Klavye mIRC
Şartlı ifadelerde bazen komut içerisinde dallanmamız gerekebilir. Bu dallanmayı goto komutu yardımı ile yaparız. Çoklukla kullanılan bir yöntemdir.
/rakam {
if ($1 == 1) goto bir
elseif ($1 == 2) goto iki
else goto belirsiz
:bir
echo Bir
halt
:iki
echo İki
halt
:Belirsiz
echo Belirsiz rakam!
halt
}
Bu kodla eğer parametre 1 ise Bir etiketli alt programa dallanma olacak ve o program ekrana “Bir” yazdıracaktır. Elseif koşulunda ise 2 için yukarıdaki işlemler yapılacaktır.Burada ilk defa gördüğümüz halt komutunu alt programların ve ana programın işleyişini durdurmak için kullanıyoruz. Eğer halt komutu ile örneğin Bir alt programını sonlandırmasaydık iki programı da kendiliğinden çalışmaya başlayacaktı ve istenmeyen sonuç ortaya çıkacaktı.
Şu ana kadar statik değişkenlerle işlem yaptık. Dinamik değişkenlerin kullanım alanı statik değişkenlere göre çok daha fazladır. Dinamik değişken tanımlamak için /set komutunu kullanırız. /unset komutu ile atadığımız dinamik değişkeni yokederiz. /set komutu ile kurulmuş bir dinamik değişkeni yeniden set yaparsak eski değeri silinip yerine yeni değeri yazılacaktır. Tüm bu dinamik değişkenler aksi belirtilmedikçe mIRC dizinindeki remote.ini dosyasında dosya olarak saklanmaktadır. Yani her değişken atamada bunlar bir dosya üzerine yazılmaktadır. Bu şekilde mIRC kapanıp açıldığında bu değişkenler gerekliyse hala saklanmaktadır.Çok laf az örnek olmaz. Bahsettiklerimizi hemen bir örnekle açıklayalım.
/saydir {
set %i 1
:bas
echo - %i -
if ( %i == 5) {
unset %i
halt
}
else {
inc %i
goto bas
}
}
“/saydir” komutu girildiğinde %i dinamik değişkenine 1 değeri atanacaktır. Daha sonra %i değeri ekrana yansıtılacaktır. Eğer i=5 olursa unset komutu ile %i değişkeni boşaltılacaktır. Aksi halde %i inc komutu ile bir arttırılıp bas etiketli yere dallanacaktır. Burada dikkat etmemiz gereken şey döngüyü düzenli kurmaktır. Aksi halde sonsuz döngü kurulur ve mIRC’i yeniden başlatmaktan başka şansımız kalmaz.
Gelelim fonksiyon tuşlarının kullanımına. Hani şu klavyemizin üst tarafında bulunan F1, F2, ... , F12 tuşlarından bahsediyorum. mIRC için bu tuşları kullanabilmek çok kolaydır. Aliase küçük eklemeler yapmak yeterli olacaktır. Misal F1 fonksiyon tuşuna atama yapmak için F1 adında yeni bir kısayol komutu oluşturmamız yeterli olacaktır.
/F2 {
/nickserv identify $?*=”Lütfen Nick Şifrenizi Giriniz?”
}
Bu kod Klavye Script’teki F2 tuşunun kodudur. F2 tuşuna basıldığında otomatik olarak identify giriş kutusu çıkacaktır. Fonksiyon tuşları yetmediği zamanlarda imdadımıza Ctrl ve Shift tuşları yetişir. Örneğin Shift + F1 tuşuna herhangi bir atama yapabilmek için SF1 olarak bir komut tanımlamamız yeterlidir. Yada Ctrl + F4 tuşuna bir atama yapabilmek için CF4 olarak bir komut tanımlamamız yeterli olacaktır.
Mirc Scripting’de bazı komutların internal yani iç çıktıları vardır. Örneğin ignore komutunun. Bu iç çıktıları son kullanıcıya göstermeyip sadece ******in bilmesini istiyorsak kullandığımıuz komutun başına “.” (nokta) koymalıyız.
/yoksay /.ignore $1
Yukarıdaki kod yardımı ile kullanıcıya herhangi bir çıktı göndermeden parametre olarak girilen nick’i ignore edebiliriz. “/ignore herhangibiri” dediğimiz taktirde; * “Added herhangibiri!*@* to ignore list” ekran çıktısı alırız. Ancak “/yoksay herhangibiri” komutunu verdiğimizde ise herhangi bir çıktı almadan kişi görmezden gelinir.
Program içinde kendimiz için veya kodu inceleyen bir başkası için açıklama kullanmak istiyorsak;
;açıklamalar buraya
şeklinde açıklama satırları oluşturabiliriz.
Carpma {
;Bu kod 2*2 nin 4 olduğunu gösterir :)
set %a 2
set %b 2
var %c = %a * %b
echo İşlem : 2*2 = %c
unset %a
unset %b
unset %c
}
Aliasler hakkında anlatacaklarımız şimdilik bu kadar. Scripting bir bütün olduğu için ilerleyen bölümlerde aliaslardan yine sık sık bahsedeceğiz.
İPUCU : Aliase ekleyeceğimiz bazı komut kısayollarının sorunsuz çalışması için aktif sunucu bağlantımızın olması şarttır. Bu bağlantıyı kontrol etmenin bir çok yolu vardır. Benim önerdiğim ve sürekli kullandığım basit yol mIRC tarafından atanan $server değişkenidir. $server değişkeni herhangine bir sunucuya bağlandığımız zaman mIRC tarafından sunucu adı atanır. Bu değişkenin boş olup olmadığını kontrol edersek istenmeyen hatalarla karşılaşmamış oluruz.
/whois {
if ( $server != $null ) {
whois $1
}
else {
Echo Sunucuya bağlı değilsiniz
}
}
Bu kodu incelediğimizde size yabancı gelen tek değişken $null değişkenidir. Bu değişken hiçbirşey anlamına gelmektedir. Sunucuya bağlı olmadığımız durumlarda $server değişkeni boş olduğundan dolayı != mantıksal şartı ile eşit değil kuruyoruz ve herhangi bir sunucuya bağlıysak whois işlemimiz gerçekleşiyor. Aksi halde else şartı devreye giriyor ve bize bir uyarı mesajı gönderiyor.
Kalıcı Bağlantı Yorum (0) Yorum yaz!Arkadaşına Gönder!
0 yorum yazılmıştır