Konu: İf-Then-Else
Anlatım: Mylife

İf then else, değer karşılaştırmanıza ve bu karşılaştırmaya dayalı olarak bir betiğin farklı bölümlerini calıştırmanıza izin verir. Mirc scripting ile ilgiliyseniz bu ilişkiyi çok iyi bilmeniz gerekiyor.

Kodun doğru calışması için event icerisinde sorguları çok iyi ve tutarlı yapmalısınız aksi takdir de hata almanız çok olasıdır.

Basit örnek;

Kod:
if ($nick isop #) { msg # $nick $+ , op konumuna geçti }
elseif ($nick ishop) { msg # $nick $+ , halfop konumuna geçti }
else { msg # $nick $+ , hoşgeldiniz. }
Yani burada dedikki eğer $nick op sa kanalda giren nick için op konumuna gecti şeklinde mesaj gönder. Eğer nick halfop sa halfop konumuna gecti şeklinde mesaj gönder ve hiç biri değilse nick e hoşgeldin mesajı gönder.

if => Eğer
elseif => eğer o değilse
else => Hiç biri değilse

Kodlama sırasında en düzgün sorgu oluşturma şekli bu şekilde olması gerekir if then else ilişkisi sorunsuz calışması için sorguları doğru bir mantıkla oluşturulmalıdır.

Brackets kullanımı;

Brackets kullanımları kodlama sırasında çok önemli bir faktordur. Sadece bir parantez ne olur demeyin eğer kullandığınız bir parantezi kapatmazsanız ( yani eşit sayıda kullanmazsanız ) saatlerce uğraştığınız kodlamayı bitirdiğinizde calışmadığını görürsünüz. Açılan bütün brackets ler kapatılmalıdır aksi takdir de kod doğru bir sorgu oluşturmuş olsada calışmayacaktır. Parantez ler kullanımlarında açık ve kapalı parantez olmak üzere eşitlenmelidir. Peki neden brackets kullanırız. Herhangi bir kodlamada sorgu sırasında brackets kullanmak o kodu hızlandırabilir kullanım mantığı aslında tam olarak budur.

Şimdi operatorler hakkında biraz bilgi vermek istiyorum;

== : Eşittir.
=== : Eşittir ( case-sensitive ) , büyük kücük harf duyarlı.
!= : Eşit değildir.
< : Daha az. ( kücüktür )
> : Daha çok. ( büyüktür )
>= : Büyük yada eşittir.
<= : kücük yada eşittir.
// : V2, V1 bir katıdır.
\\ : V2, V1 bir katı değildir.
& : Bitsel karşılaştırma.
isin : İçinde geciyorsa.
isincs : İçinde geciyorsa. ( büyük kücük harf duyarlı )
iswm : wildcard kullanımı ile icinde geciyorsa/varsa.
iswmcs : iswm ile aynıdır ( büyük kücük harf duyarlı )
isnum : Sayısal değerler ile eşleşir.
isletter : v1 harfi v2'deki harfler listesindeki bir harftir (v2 isteğe bağlı)
isalnum : Metin sadece harf ve sayılardan oluşursa eşleşir.
isalpha : Metin sadece harf ise eşleşir.
islower : Metin sadece kücük harfler ise eşleşir.
isupper : Metin sadece büyük harfler ise eşleşir.
ison : Kanalda bulunuyorsa.
isop : Kanalda op konumunda ise.
ishop : Kanalda halfop konumunda ise.
isvoice : Kanalda voice konumunda ise.
isreg : Kanalda hiç bir yetkisi yoksa eşleşir.
ischan : Girilen nick ile aynı kanalda isen eşleşir.
isban : Girilen nick ban listesinde bulunuyorsa eşleşir
isinvite : Girilen nick davetli listesinde bulunuyorsa eşleşir.
isexcept : Girilen nick kanalda değilse.
isaop : Access liste varsa eşleşir.
isavoice : Oto voice liste varsa eşleşir.
isignore : İgnore listesinde varsa eşleşir.
isprotect : Protect listesinde varsa eşleşir.
isnotify : Notify listesinde varsa eşleşir.

Bütün bu operator ler kullanımlarında ( ! ) ünlem işareti kodu sorgu sırasında negatif yönde döndürür. Bir örnekle konumuzu bitirelim.

Örnek;

Kod:
if ($1- isin Mylife) { msg # nick Merhaba, nasıl yardımcı olabilirim? } | elseif (Mylife ison #kanal) { msg # ooo Mylife da burdaymış! } | else { return } }
text icerisinde Mylife geciyorsa belirttiğim mesajı kanala yaz, oda değilse Mylife kanalda bulunuyorsa belirttiğm mesajı kanala yaz, hiç biri değilse tekrar başla. İyi forumlar.