![]() |
| mIRC Scripting Dersleri mIRC veya IRC komutları hakkında detaylı anlatım makalelerine bu başlık altından ulaşabilirsiniz. |
| | Seçenekler | Stil |
| | #1 |
| Konu: Döngüler ve Koşullu İfadeler Anlatım: Emirhan Tarih: 11 Kasım 2024 Merhaba sevgili IRCrehberi üyeleri, Bu dersimizde mIRC scripting'de döngüler ve koşullu ifadeler konularını detaylı bir şekilde inceleyeceğiz. Bu yapılar, script'lerinizde kontrol akışını yönetmenizi ve daha karmaşık işlemleri gerçekleştirmenizi sağlar. Koşullu İfadeler (If Statements) Koşullu ifadeler, belirli bir koşulun doğru veya yanlış olmasına göre farklı işlemler yapmamızı sağlar. Temel Yapı: Kodif (koşul) { işlemler } else { alternatif işlemler } Kodalias yas_kontrol { var %yas = $1 if (%yas >= 18) { echo Ehliyet alabilirsiniz. } else { echo Ehliyet almak için yeterli yaşta değilsiniz. } } Kod/yas_kontrol 20 Karşılaştırma Operatörleri: == : Eşittir != : Eşit değil > : Büyüktür < : Küçüktür >= : Büyük veya eşit <= : Küçük veya eşit Mantıksal Operatörler: && : Ve (AND) || : Veya (OR) ! : Değil (NOT) Örnek: Kullanıcının İki Değerini Kontrol Etme Kodalias deger_kontrol { var %sayi1 = $1 var %sayi2 = $2 if ((%sayi1 > 0) && (%sayi2 > 0)) { echo Her iki sayı da pozitiftir. } else { echo En az bir sayı pozitif değil. } } Kod/deger_kontrol 5 -3 Döngüler (Loops) Döngüler, belirli bir işlemi birden fazla kez tekrarlamamızı sağlar. Türleri: While Döngüsü For Döngüsü Sınırlı Döngüler 1. While Döngüsü Koşul doğru olduğu sürece döngü devam eder. Temel Yapı: Kodvar %i = başlangıç_değeri while (%i <= bitiş_değeri) { işlemler inc %i } Kodalias sayilar { var %i = 1 while (%i <= 5) { echo Sayı: %i inc %i } } Kod/sayilar PHP- Kodu
mIRC scripting'de doğrudan bir "for" döngüsü bulunmamasına rağmen, "while" döngüsü ile benzer işlevi elde edebiliriz. Örnek: Kodalias for_dongusu { var %i = 1 while (%i <= 5) { echo For döngüsü: %i inc %i } } Belirli bir liste üzerinde dolaşmak için kullanılır. Örnek: Kanal Kullanıcılarını Listeleme Kodalias kanal_kullanicilari { var %i = 1 var %toplam = $nick($active,0) while (%i <= %toplam) { echo Kullanıcı %i: $nick($active,%i) inc %i } } $nick($active,%i): Aktif kanaldaki %i'nci kullanıcının ismini verir. Kullanım: Kod/kanal_kullanicilari Kullanıcının girdiği iki sayı üzerinde toplama, çıkarma, çarpma ve bölme işlemleri yapalım. Alias Tanımlama: Kodalias hesap_makinesi { var %sayi1 = $1 var %islem = $2 var %sayi2 = $3 if (%islem == +) { var %sonuc = $calc(%sayi1 + %sayi2) } elseif (%islem == -) { var %sonuc = $calc(%sayi1 - %sayi2) } elseif (%islem == *) { var %sonuc = $calc(%sayi1 * %sayi2) } elseif (%islem == /) { if (%sayi2 != 0) { var %sonuc = $calc(%sayi1 / %sayi2) } else { echo Bölme işleminde bölen 0 olamaz! halt } } else { echo Geçersiz işlem! Lütfen +, -, *, / kullanın. halt } echo Sonuç: %sonuc } Kod/hesap_makinesi 10 + 5 Koşullu İfadelerde Metin Karşılaştırma Metinleri karşılaştırırken eşitlik ve joker karakterler kullanabilirsiniz. Örnek: Kullanıcının İsmini Kontrol Etme Kodalias isim_kontrol { var %isim = $1 if (%isim == Emirhan) { echo Hoş geldin, Emirhan! } else { echo Merhaba, %isim } } Kod/isim_kontrol Emirhan Joker Karakter Kullanımı $istok() fonksiyonu ile metin içinde belirli bir kelimenin olup olmadığını kontrol edebilirsiniz. Örnek: Kodalias mesaj_kontrol { var %mesaj = $1- if ($istok(%mesaj, merhaba, 32)) { echo Kullanıcı merhaba dedi. } else { echo Kullanıcı farklı bir şey dedi. } } 32: Boşluk karakterini ayırıcı olarak kullanır. Kullanım: Kod/mesaj_kontrol merhaba nasılsın Gelişmiş Döngü ve Koşul Kullanımı Örnek: Asal Sayıları Bulma 1'den 20'ye kadar olan sayılar içinde asal olanları bulalım. Kodalias asal_sayilar { var %sayi = 2 while (%sayi <= 20) { var %bolen = 2 var %asal = $true while (%bolen < %sayi) { if ($calc(%sayi % %bolen) == 0) { var %asal = $false break } inc %bolen } if (%asal == $true) { echo %sayi bir asal sayıdır. } inc %sayi } } Kod/asal_sayilar Uygulama: Basit Bir Chat Botu Kullanıcıların mesajlarına otomatik yanıt veren bir bot oluşturalım. Event Tanımlama: Kodon :TEXT::#:{ if ($1 == !merhaba) { msg $chan Merhaba $nick, hoş geldin! } elseif ($1 == !saat) { msg $chan Şu an saat: $time(HH:nn) } else { msg $chan $nick, komutunuzu anlayamadım. } } on :TEXT::#: {...}: Herhangi bir kullanıcı, herhangi bir kanalda bir mesaj gönderdiğinde tetiklenir. $1: Kullanıcının mesajının ilk kelimesi. $nick: Mesajı gönderen kullanıcının ismi. $chan: Mesajın gönderildiği kanal. $time(HH:nn): Geçerli saati saat:dakika formatında verir. Kullanım: Kullanıcı kanalda !merhaba yazarsa, bot "Merhaba [kullanıcı adı], hoş geldin!" mesajını gönderir. Kullanıcı kanalda !saat yazarsa, bot geçerli saati bildirir. Farklı bir mesaj yazıldığında bot, komutu anlayamadığını belirtir. Ders bitimi; Bu dersimizde mIRC scripting'de döngüler ve koşullu ifadelerin nasıl kullanıldığını öğrendik. Kendi örneklerinizi oluşturarak pratik yapmanızı öneririm. İyi forumlar IRCrehberi.NET Saygılar.
________________ Ben, karanlığın suskunluğunda huzur bulurum; ama bilir misin? Her sessiz gece, içinde sakladığı bir ışıkla yaşar. Gölgelere sığındığım her an, bir gün doğumu düşlerim. Its only after we have lost everything that we are free to do anything. | |
| |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |