• Konu İçeriğini Görebilmek İçin Lütfen Üye Olun. Aksi Takdirde İçeriği Göremezsiniz.

If Then Else Kullanımı

[ZF] Konu Bilgileri

Konu Hakkında Merhaba, tarihinde mIRC Scripting Dersleri kategorisinde DarkLord™ tarafından oluşturulan If Then Else Kullanımı başlıklı konuyu okuyorsunuz. Bu konu şimdiye dek 71 kez görüntülenmiş, 0 yorum ve 0 tepki puanı almıştır...
Kategori Adı mIRC Scripting Dersleri
Konu Başlığı If Then Else Kullanımı
Konbuyu başlatan DarkLord™
Başlangıç tarihi
Cevaplar
Görüntüleme
İlk mesaj tepki puanı
Son Mesaj Yazan DarkLord™

DarkLord™

www.zirveforum.net
Ordinaryüs
Katılım
31 Ocak 2022
Mesajlar
1,872
Tepkime puanı
79
Puanları
120
Medeni Hali
vtEvVy
Takım
Beşiktaş

İtibar:

Hazırlama ve Anlatım: CesuryureK

IF THEN ELSE


if then else, bazı değerleri karşılaştırmak ve farklı alanlardaki karşılaştırmalara dayalı çalışmalar yapmanıza olanak sağlamaktadır.

Basit bir şekilde Formatı,

if (v1 operatör v2) { komutlar }
elseif (v1 operatör v2) { komutlar }
else { komutlar }

şeklindedir, bunu kabataslak öğrenme adına kodlarda örnek olarak görmek daha yerinde olacaktır.

bilindiği gibi, if "eğer" demektir, else ise, "değilse, aksi halde, bu değilse" anlamlarına gelmektedir, yani kod içerisinde üstteki if sorgularından hiçbiri değilse işlem yap olarak tanımlayabiliriz.

eğer ( ) parantezlerde doğru bir şekilde sorgu yapılmışsa bracked { } içindeki komutlar işleme girecektir.

eğer sorgu parantez kullanılarak yapılırsa hızlı olabileceğini khaled kendisi söylemektedir.
Yani if sorgusunda parantez kullanmak, sorgunun hızlı bir şekilde yapılıp, bracked içindeki komutların parantesiz durumdan daha erken işlem göreceği söylemektedir.

Bu sadece iç içe if sorgularında değil, diğer işlemlerde de parantez kullanılmasını Khaled önermektedir.

Operatörler

== : Eşitse

=== : Eşitse ( Büyük küçük harfe duyarlı ) [ Case-Sensitive ]

!= : Eşit değilse

< : Küçükse

> : Büyükse

>= : Büyük veya Eşitse

<= : Küçük veya Eşitse

// : v2 değeri v1 değerinin kendisi veya bir katına eşitse | if (v1 operatör v2)

\\ : v2 değeri v1 değerinin kendisine eşit ve bir katı değilse | if (v1 operatör v2)

& : Bit seviyesinde karşılaştırma

______________________________________________


isin : v1 değeri v2 değerinin içinde geçiyorsa

isincs : v1 değeri v2 değerinin içinde geçmesiyle birlikte büyük küçük harfe duyarlı olması

iswm : v1 değeri v2 değerinin içinde geçiyorsa ( Wilcard(Joker) kullanımı )

iswmcs : Wildcard kullanılarak v1 değeri v2 değerinin içinde geçmesiyle birlikte büyük küçük harfe karşı duyarlı olması.

isnum : v1 değeri v2 içinde bir rakam ise, burda v2 değeri istenilirse yazılmayabilir, isteğe bağlıdır. yazılmadığı taktirde tüm geçen rakamlar için geçerlidir.

isletter : v1 değeri v2 de bir harf ise, v2 değeri istenilirse yazılmayabilir, isteğe bağlıdır.

isalnum : Text(Metin) harf ve rakamlar içeriyorsa

isalpha : Text(Metin) sadece harf içeriyorsa

islower : Text(Metin) sadece küçük harfler içeriyorsa

isupper : Text(Metin) sadece büyük harfler içeriyorsa

ison : v1 (Nick) değeri v2 (Kanalında) değerinde bulunuyorsa

isop : v1 (Nick) değeri v2 (Kanalında) Op ise,

ishop : v1 (Nick) değeri v2 (Kanalında) HalfOp ise,

isvoice : v1 (Nick) değeri v2 (Kanalında) Voice ise,

isreg : v1 (Nick) değeri v2 (Kanalında) hiçbir Prefix'e ( ~ , & , @ , % , + ) sahip değilse,

ischan : v1 bulunduğunuz bir kanal ise,

isban : v1 (Nick|Mask) değeri v2 (Kanalının) ban listesinde ise,

isaop : v1 (Nick) değeri v2 (Kanalının) Otomatik Op Listesinde ise, ( v2 yazılmayabilir, isteğe bağlıdır)

isavoice : v1 (Nick) değeri v2 (Kanalının) Otomatik Voice Listesinde ise, ( v2 yazılmayabilir, isteğe bağlıdır)

isignore : v1 (Nick) değeri ignore Listemizde ise, ( v2 yazılmayabilir, isteğe bağlıdır)

isprotect : v1(Nick) sizin Protect yani koruma listenizde ise, (v2 yazılmayabilir, isteğe bağlıdır)

isnotify : v1(Nick) sizin Notify Listenizde ise,




Örneklerle Konu Pekiştirilmesi..


Soru 1: #mIRC Kanalıma Giren Hasan ise, "Hoş Geldin" Desin, Erdem ise "Niye Geldin" Desin, Ne Hasan ne Erdem ise, "Kanalımız Kapalı" Desin..


on !*:Join:#mIRC: {
;mIRC kanal girişinde harekete geçen giriş eventidir.
if ($nick == Hasan) { msg $chan Hoş Geldin $nick }
;eğerki giren kişi hasan ise kanala hoş geldin hasan dicek
elseif ($nick == Erdem) { msg $chan Niye Geldin $nick }
;eğerki giren kişi Hasan değilde Erdem ise, Niye Geldin Erdem diyecek
else { msg $chan Kanalımız Kapalı $nick }
;kanala giren ne Hasan ne Erdem ise, giren kişiye Kanalımız Kapalı diyecektir.
}

Burda if, elseif, else Kullanıp bu sorguda Eşittir (==) operatörünü kullandık.
--------------------------

Soru 2 : #mIRC Kanalına Giren Kişinin Nicki NUH Şeklinde Büyük yazılmışsa Ona Voice Vermek İstiyorum

on !*:Join:#mIRC: {
if ($nick === NUH) { mode $chan +v $nick }
}

Burda === (Büyük küçük harfe duyarlı ve eşitse) Operatörünü Kullandık.

--------------------------

Soru 3: #mIRC Kanalına Giren Kişi Eğerki CesuryureK Nicki Değilse Kick Atsın.

on !*:Join:#mIRC: {
if ($nick != CesuryureK) { kick $chan $nick <Sebep> }
}

Burda da Eşit Değilse ( != ) Operatörünü Kullandık.

--------------------------

Soru 4: #mIRC Kanalına Biri Girince, Eğerki Kanal Kişi Sayısı 50'den Büyükse Giren Kişiyi Atsın.

on !*:Join:#mIRC: {
if (50 < $nick(#mIRC,0)) { ban -k $chan $nick <Sebep> }
}

Burda Büyükse ( < ) Operatörünü kullandık.

--------------------------

Soru 5: #mIRC Kanal Sayısı 50'den Büyük veya Eşitse ve Giren Kişi Olursa, Giren Kişiyi Atsın.

on !*:Join:#mIRC: {
if (50 <= $nick(#mIRC,0)) { ban -k $chan $nick <Sebep> }
}

Burda Büyükse veya Eşitse ( <= ) Operatörünü kullandık.

---------------------------

Soru 6: Eğerki Bulunduğum Kanallardan #mIRC Kanalına Giriş Olursa ve Kanal Kişi Sayısı 50'dan Büyükse Kanala Msg Olarak "Global Olduk" Desin.
Bunun Yanı Sıra, Eğerki Kanal #mIRCHelp ise ve O Kanala Giren Kişinin Nicki CesuryureK Değilse ve Nickin Karakter Toplamı 2 veya 2'nin Katıysa Voice Versin,
Yok CesuryureK ise Hoş Geldin diye Notice Atsın.
Hem #mIRC Hemde #mIRCHelp Kanallarına Giren Kişi CesuryureK Değilse ve Giren Kişinin Nick Karakter Sayısı 2 veya 2'nin Katı Değilse Kanaldan Atsın.

on !*:Join:#: {
if ($chan == #mIRC) && (50 < $nick(#mIRC,0)) { msg $chan global olduk }
if ($chan == #mIRCHelp) && ($nick != CesuryureK) && (2 // $len($nick)) { mode $chan +v $nick }
if ($chan == #mIRCHelp) && ($nick == CesuryureK) { notice $nick Hoş Geldin }
if ($istok(#mIRC #mIRCHelp,$chan,32)) && ($nick != CesuryureK) && (2 \\ $len($nick)) { ban -k $chan $nick <Sebep> }
}

Şeklinde Katıysa ve Katı Değilse Operatörlerini Kullanımını da Gösterdik.

------------------------------


Soru 7: Özelime Yazan Kişi Eğerki #mIRC Kanalında Op ise "Buyur #mIRC Operatörü" Desin. Yok Op Değilse Halfop İse

"Buyur #mIRC Yardımcı Operatörü" Desin. İkisi de Değilde Voiceli İse "Seni Dinliyorum #mIRC Voice Useri" Desin. Eğerki Kanalda Hiçbir Yetkisi Yoksa "Zamanım Yok" Desin.. Yok Yazan Kişi #mIRC Kanalında Değilse ignore etsin.

on *:Open:?:*: {
if ($nick isop #mIRC) { msg $nick Buyur #mIRC Operatörü }
elseif ($nick ishop #mIRC) { msg $nick Buyur #mIRC Yardımcı Operatörü }
elseif ($nick isvoice #mIRC) { msg $nick Seni Dinliyorum #mIRC Voice Useri }
elseif ($nick isreg #mIRC) && ($nick ison #mIRC) { msg $nick Zamanım Yok }
elseif ($nick !ison #mIRC) { ignore $nick }
}

Burda isop ishop isvoice isreg ison operatörlerine değindik. Ayrıca ison operatörünün başına ünlem koyarak durumu olumlu

iken olumsuz yaptık. Yani,
if (ahmet ison #mirc) : eğerki ahmet mirc kanalındaysa
if (ahmet !ison #mirc) : eğerki ahmet mirc kanalında Değilse

operatörlerin ve identifierlerin başına ünlem koyarak cümleyi olumlu olumsuz yapabiliyoruz.

Kısacası if then else ve operatörleri böyle kullanılmaktadır. Hepsini tek tek sorularla pekiştirip öğrenmenizi tavsiye ediyorum.
 
Üst Alt