mIRC Scripting - Aliases
17/1/2008 · Kategori: Klavye mIRC
Bu bölüm komut satırından, başka bir alias’dan ya da remote tarafından çağırılabilen
yeni kısayol komutları tanımlamak için kullanılır. Komut kullanımından kastımız mesela status penceresinde yazdığımız “/j kanaladı” tarzı bir komuttur. Kullanımı oldukça basittir. Aliases ekleyebilmemiz için mIRC Toolbarda 5. sıradaki yeşil /a ikonuna tıklarız ve gerekli komutları gireriz.
/klavye /join #klavye
Bu kod ile klavye isimli yeni bir komut kısayolu oluşturduk. Ok butonuna basıp onayladıktan sonra herhangi bir sunucuya bağlı durumda iseniz “/klavye” komutunu verdiğinizde klavye kanalına girdiğinizi göreceksiniz.
Alias’larda parametre kullanımı da mevcuttur. Parametreler komutlara bilgi göndermek amacıyla sıklıkla kullanılırlar. Parametreleri örneklerle açıklamak daha doğru olacaktır.
/paramdeneme /param Script Dinçer Klavye Aydoğdu
/param /echo $3 $1 & $2 $4
Bu iki satırı inceleyelim. İlk satırda “paramdeneme” isimli yeni bir komut oluşturuyoruz. Bu komut param isimli komutu çalıştırıyor ve parametre olarak “Script Dinçer Klavye Aydoğdu” string ifadelerini gönderiyor. İkinci satırda ise “param” isimli yeni bir komut oluşturuyoruz. Bu komut “paramdeneme” komutundan gelen parametreleri alıyor ve ekrana
Klavye Script & Dinçer Aydoğdu
yazdıracaktır. Sizinde farkettiğiniz gibi parametreleri yakalamak için $1 .... $n kullanıyoruz. $1 boşluğa kadar 1. parametre, $2 2. parametre, $n n. parametre anlamına geliyor.
Gelelim Giriş Kutusu/Input Box kullanmaya. Giriş kutusunu kullanıcıdan parametreleri istemek için kullanırız. Bilgi girişi bu kutular yardımı ile yapılır.
/indeneme /echo $?=”Lütfen Giriş Yapınız”
bu kodu alias’e ekleyip “/indeneme” komutunu girdiğimizde karşımıza input box çıkacak ve bizden giriş isteyecektir. Giriş yapıp OK butonuna bastığımızda ekranda girdiğimiz veri çıkış yapıp echo komutu yardımı ile görüntülenecektir. (echo komutu sadece istemci tarafında görüntülenebilen çıktılar üretir.) Input box ile yapılan girişi komut içinde başka işlemler içinde kullanacaksak $! jokerini kullanırız.
/indeneme2 /away $?=”Lütfen away mesajını giriniz” | /ame $! sebebiyle meşgul oldu.
Bu kodu ekledikten sonra “/indeneme2” komutunu status penceresinden girersek giriş kutusu bizden away sebebi isteyecektir ve ame komutu ile bulunduğumuz tüm kanallara action gönderecektir.
Input box’un diğer kullanım şekli de gizli kullanımdır. Giriş yapılırken biz normal girişimizi yaparız ancak bu yazdıklarımız giriş kutusunda “****” olarak görüntülenir. Kullanıcıdan şifre vb. veriler alacaksak bu yöntemi kullanmalıyız.
/inpass /nickserv identify $$?*=”Nickinizin şifresini giriniz”
yukarıdaki komut yardımı ile /inpass komutu girildiğinde şifre dialog kutusu karşımıza çıkacaktır ve güvenle şifre girişini yapabileceğiz. Bu web formlardaki password input box’a benzetilebilir.
Kalıcı Bağlantı Yorum (0)
mIRC Scripting - Aliases (2)
17/1/2008 · Kategori: Klavye mIRC
Gelelim parametre biçimlendirmeye. $1, $2, .... , $n ile nasıl parametre taşınacağını öğrendik. Şimdi sıra bu kullanımı biçimlendirmede. Bunları örneklerle anlatmak daha kolay olacaktır.
$3- : 3. parametre dahil olmak üzere 3. parametreden sonra gelen tüm parametreleri alır.
$2- : 2. parametre dahil olmak üzere 2. parametreden sonra gelen tüm parametreleri alır.
$n- : n. parametre dahil olmak üzere n. parametreden sonra gelen tüm parametreleri alır.
$1- : Farkedildiği üzere tüm parametreleri alır.Scripting’de sıkça kullanılır.
$2-5 : 2. parametre ve 5. parametre dahil olmak üzere arasındaki parametreleri alır.
/bicimle {
/echo Parametrelerin tamamı : $1-
/echo 2. parametre ve sonrası : $2-
/echo 2. ve 5. parametre ve arası : $2-5
}
“/bicimle a b c d e f g h” şeklinde bir komut girersek çıktı şu şekilde olacaktır.
Parametrelerin tamamı : a b c d e f g h
2. parametre ve sonrası : b c d e f g h
2. ve 5. parametre ve arası : b c d e
görüldüğü gibi parametreleri dilediğimiz gibi biçimlendirebiliyoruz. Komutta dikkatimizi çeken bir başka yer ise {} kullanımı olmalıdır. Örnekte görüldüğü gibi toplu komutlar kullanılırken {} köşeli parantez kullanabiliyoruz ve parantez içindeki her satır ayrı bir komut olarak algılanıyor. Toplu komut işlemlerini bu şekilde halledebiliyoruz.
Alias kullanırken aynı zamanda şartlar da kullanırız. Programcılıkla ilgilenen biri iseniz if-then-else görür görmez neden bahsettiğimizi anlamışsınızdır. Kullanım şu şekildedir.
/Komut {
If ( $degisken==değer ) {
Komutlar
Komutlar
}
elseif ( $degisken==başkadeğer ) {
Komutlar
Komutlar
}
else {
Komutlar
Komutlar
}
}
Şartlı komut kurulumu bu şekilde olmaktadır. Yukarıda ki komut setinin anlamı; Eğer $degisken değer ise ilk if’in tırnaklı parantezi içinde bulunan komutlar icra edilecektir. Bu şart yanlış yani false ise elseif satırı kontrol edilecektir ve if gibi işlem görecektir. Elseif teoride sınırsız sayıda çoğaltılabilir. Eğer elseif şartı da yanlış ise son olarak else satırı kesin olarak icra edilecektir.
/sartliifade {
if ( $1 <= 25) {
echo => $1 sayısı 0-25 arasındadır.
}
elseif ( $1 <= 50) {
echo => $1 sayısı 25-50 arasındadır.
}
elseif ( $1 <= 75) {
echo => $1 sayısı 50-75 arasındadır.
}
elseif ( $1 <= 100) {
echo => $1 sayısı 75-100 arasındadır.
}
else {
echo => $1 sayısı 100 den büyüktür.
}
}
Bu kodla yirmibeşerlik dilimlerde 0-100 arası sayıların hangi dilimde olduğunu bulabiliriz. Kodu inceleyiniz.
Kalıcı Bağlantı Yorum (0)
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)
mIRC Scripting - Popups
17/1/2008 · Kategori: Klavye mIRC
b) Popups
mIRC bizlere özelleştirilebilir açılabilir menüler oluşturabilmemize izin verir. Bunun için popup menüleri kullanırız. Popup menüler yardımıyla Query (Özel), Status, Kanal, Rumuz Listesi (Nick List) ve Ana Menübar’da Commands bölümünü dilediğimiz gibi özelleştirebiliriz.
Hazırladığımız popup menülerden Query, Channel, Nick List, Status için hazırladıklarımız ilgili yerlerde sağ tıklayınca sağ tuş menüsü olarak karşımıza çıkarlar. Aynı zamanda açılır menü yapabilmek de mümkündür. Menübar üzerindeki Commands sekmesi ise ilgili yere sol tıklama ile açılır. Dilersek Commands etiketini de yine popups içinden değiştirebiliriz.
Popup menülerde her menü seçeneğini seçim mirc tarafından bir komut olarak algılanır. Bu komut iç komutlardan biri olabileceği gibi bizim tanımladığımız bir alias da olabilir (Genellikle). Kullanım şekli şöyledir;
Menüelemanı:ilgilikomut
Popup girişini yapabilmemiz için ikonuna basarız ve açılan mIRC editöründe “View” menüsünü kullanarak Popup bölümlerine gidebiliriz.
Popuplar 5 bölümde incelenir. Bunlar;
1) Status (Durum Penceresi)
2) Channel (Kanal Penceresi)
3) Chat (Query/Özel Penceresi)
4) Nick List (Rumuz Listesi)
5) Menu Bar (Menü Bar – Commands)
Kalıcı Bağlantı Yorum (0)
mIRC Scripting - Popups (2)
17/1/2008 · Kategori: Klavye mIRC
b-1) Status Popup
Bu özelleştirilebilir menü son kullanıcının yani ******i kullanan kişinin status penceresinde sağ tıklaması halinde açılacak menüdür. Bu bölüme sunucu ve genel ****** yapısı ve servislerle ilgili kısayolları koymanızı tavsiye edebilirim.
Örneğin;
Server Özellikleri
.Deneme Script:/set %temp null | /unset %temp
.-
.Özelliklerim:/info
.Kullanici Sayisi:/lusers
.Günün Mesaji:/motd
.Server Saati:/time
.Yönetici:/admin
.K-Line'ler:/stats k
.Operler:/stats o
.Linkler:/links
.Kanal Listesi:/list
-
Kanallara Gir
.Deneme Script:/set %temp null | /unset %temp
.-
.#klavye:/j #klavye
.#zurna:/j zurna
.#istanbul:/j istanbul
.#ankara:/j ankara
.#izmir:/j izmir
-
IRC'den Çık:/quit
popup kodu girilip daha sonra status ekranında sağ tıkladığımızda çıkışı şu şekilde olacaktır. Kodu incelediğimiz taktirde popup kullanımının oldukça kolay olduğunu farkedebiliriz.
IRC’den Çık menü seçeneği birincil popuptur. Yani sağ tıkladığımızda ilk görünen ana menü seçeneklerinden biridir. Tıklandığında atanan komutu icra eder. Bizim örneğimizde bu komut /quit komutudur. Kullanımı menüseceneği:/komut şeklinde olacaktır.
Server Özellikleri ve Kanallara Gir menü seçenekleri de birincil popuptur ancak alt popuplar barındırırlar. Yani üzerine geldiğimizde yada tıkladığımızda kendine bağlı olan menü seçeneklerini açarlar. Bu şekilde popup tanımlamak için örnekte de görüldüğü gibi “.” (nokta) kullanılır. Öncelikle birincil menü seçenek adı yazılır (Server Özellikleri) ardından alt satıra geçilir, nokta konur ve birincil menü altında kullanılacak ilk ikincil seçenek adı yazılır ve iki nokta ile tamamlanıp ilgili komutu icra eder. (.Deneme Script:/set %temp null | /unset %temp) Nokta kullanmak kesinlikle gereklidir. Üstteki satırlardaki kendinden bir eksik noktalı menü seçeneğine bağlı olduğunu satır buradan anlamaktadır. Yani;
BirincilMenü
.İkincilMenü
..ÜçüncülMenü:/Komut1
..ÜçüncülMenü2:/Komut2
.İkincilMenü2:/Komut3
şeklindeki kullanım bize BirincilMenü altında bir menü sunacak, bunun üzerine geldiğimizde ise İkincilMenü ve İkincilMenü2 adı altında 2 menü açılacak, İkincilMenü üzerine geldiğimizde de bu menü seçeneği de bize ÜçüncülMenü ve ÜçüncülMenü2 adı altında 2 yeni menü seçeneği sunacaktır ve bunlara tıkladığımızda kendilerine bağlanan komutları icra edeceklerdir. İkincilMenü2 seçeneğine geldiğimizde ise direk olarak kendine bağlı alt menüleri olmadığından dolayı yine kendine bağlanmış olan komutu icra edecektir.
Status popuplarında kullanılabilecek değişken sayısı azdır. Bu nedenden dolayı gerekli işlemleri genelde $? input box değişkeni ile yaparız. Örneğin;
Nicki Kaydet:/nickserv register $?=”Şifreyi Giriniz ?” $?=”Email Adresinizi Giriniz?”
Şeklinde bir kod status penceresinde kullanmak için idealdir. Status popupları için sıkça kullanabileceğimiz mIRC tarafından üretilen değişkenler şunlardır;
$me : O anda kullanılan rumuzumuzun parametre olarak kullanılması gereken durumlarda kullanılır.
$fullname : İsim kısmına girilen verinin parametre olarak kullanılması gereken durumlarda kullanılabilir.
$fulldate: O anki tarih bilgisini Sat Jul 05 23:43:04 2003 şeklinde verir.
$version : Kullanılan mIRC sürümünü verir.
$os : Kullanılan Windows işletim sistemi sürümünü verir. (95, 98, 2K, XP gibi)
Kalıcı Bağlantı Yorum (0)
« Önceki :: Sonraki »