IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 sohbet
Sohbet chat


mIRC Scripting Dersleri mIRC veya IRC komutları hakkında detaylı anlatım makalelerine bu başlık altından ulaşabilirsiniz.

💬 Bu Alana Reklam Ver ! 🎉 Hemen Katıl!
 
Seçenekler Stil
Alt 11 Kasım 2024, 03:01   #1
Editör
Emirhan - ait Kullanıcı Resmi (Avatar)

Wink Temelden mIRC Scripting dersleri bölüm 3 - Döngüler ve Koşullu İfadeler

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ı:

Kod

if (koşul) { işlemler } else { alternatif işlemler }
Örnek: Kullanıcının Yaşını Kontrol Etme

Kod

alias yas_kontrol { var %yas = $1 if (%yas >= 18) { echo Ehliyet alabilirsiniz. } else { echo Ehliyet almak için yeterli yaşta değilsiniz. } }
Kullanım:

Kod

/yas_kontrol 20
Bu komut "Ehliyet alabilirsiniz." mesajını ekrana yazdırır.

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

Kod

alias 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. } }
Kullanım:

Kod

/deger_kontrol 5 -3
Bu komut "En az bir sayı pozitif değil." mesajını ekrana yazdırır.

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ı:

Kod

var %i = başlangıç_değeri while (%i <= bitiş_değeri) { işlemler inc %i }
Örnek: 1'den 5'e Kadar Sayıları Yazdırma

Kod

alias sayilar { var %i = 1 while (%i <= 5) { echo Sayı: %i inc %i } }
Kullanım:

Kod

/sayilar
Bu komut ekrana aşağıdaki çıktıyı verir:

PHP- Kodu

 Sayı1 Sayı2 Sayı3 Sayı4 Sayı

2. For Döngüsü

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:

Kod

alias for_dongusu { var %i = 1 while (%i <= 5) { echo For döngüsü: %i inc %i } }
3. Sınırlı Döngüler

Belirli bir liste üzerinde dolaşmak için kullanılır.

Örnek: Kanal Kullanıcılarını Listeleme

Kod

alias kanal_kullanicilari { var %i = 1 var %toplam = $nick($active,0) while (%i <= %toplam) { echo Kullanıcı %i: $nick($active,%i) inc %i } }
$nick($active,0): Aktif kanaldaki toplam kullanıcı sayısını verir.
$nick($active,%i): Aktif kanaldaki %i'nci kullanıcının ismini verir.

Kullanım:

Kod

/kanal_kullanicilari
Uygulama: Basit Bir Hesap Makinesi

Kullanıcının girdiği iki sayı üzerinde toplama, çıkarma, çarpma ve bölme işlemleri yapalım.

Alias Tanımlama:

Kod

alias 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 }
Kullanım:

Kod

/hesap_makinesi 10 + 5
Bu komut ekrana "Sonuç: 15" yazdırır.

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

Kod

alias isim_kontrol { var %isim = $1 if (%isim == Emirhan) { echo Hoş geldin, Emirhan! } else { echo Merhaba, %isim } }
Kullanım:

Kod

/isim_kontrol Emirhan
Bu komut ekrana "Hoş geldin, Emirhan!" yazdırır.

Joker Karakter Kullanımı

$istok() fonksiyonu ile metin içinde belirli bir kelimenin olup olmadığını kontrol edebilirsiniz.
Örnek:

Kod

alias mesaj_kontrol { var %mesaj = $1- if ($istok(%mesaj, merhaba, 32)) { echo Kullanıcı merhaba dedi. } else { echo Kullanıcı farklı bir şey dedi. } }
$1-: Alias çağrılırken verilen tüm metni alır.
32: Boşluk karakterini ayırıcı olarak kullanır.

Kullanım:

Kod

/mesaj_kontrol merhaba nasılsın
Bu komut ekrana "Kullanıcı merhaba dedi." yazdırır.

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.

Kod

alias 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 } }
Kullanım:

Kod

/asal_sayilar
Bu komut, 2'den 20'ye kadar olan asal sayıları ekrana yazdırır.

Uygulama: Basit Bir Chat Botu

Kullanıcıların mesajlarına otomatik yanıt veren bir bot oluşturalım.

Event Tanımlama:

Kod

on :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. } }
Açıklama:

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)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 23:53.