Webmaster  Forumu

Geri git   Webmaster Forumu > ıRC FORUM > mIRC Scripting ve Sohbet Programları > mIRC Scripting Dersleri

Cevapla
 
Seçenekler Stil
Alt 09-13-2008, 02:10 AM   #1
Regex
* Handcoder
 
Üyelik tarihi: Sep 2008
Bulunduğu yer: Code City
Yaş: 25
Mesajlar: 18
Tecrübe Puanı: 10
Regex is on a distinguished road
Lightbulb Ayraçlar Hakkında Bilgi


Ders: Ayraçlar Hakkında Bilgi
Tarih: 01.11.2007 Perşembe
Yazan: Regex
Not: Lütfen başka platformlarda paylaşacaksanız, bu metni silmeyiniz (emeğe saygı).

-

Evet arkadaşlar, sizlere bu derste 2 ayraç hakkında bilgi vereceğim.

Bunlar;
  1. Ve (&&)
  2. Veya (||)


Kelime manaları itibari ile; günlük hayatta bildiğimiz anlamdadırlar (ve, veya).

Bir örnek ile dilerseniz başlayalım açıklamaya:

Çok basit bir kod yazalım.
Bu kod, kanala birisi girdiğinde, eğer o nick Regex ise; "Hoşgeldin Regex." şeklinde mesaj yollamamızı sağlasın.

Hemen kodumuzu yazalım:


Kod:
on *:join:#:{
  if $nick == Regex {
    msg $chan Hoşgeldin Regex.
  }
}

NOT: Aslında böyle bir kod yazacak olsak, event'tan sonra; if $nick != $me { gibi bir kod eklememiz gerekir ki; kanala giriş yapan kişi, eğer biz değilsek işlev yapsın.
Fakat bu kodda kullanmadım; çünkü bu sadece bir örnek, olayı kavramanız için. Kafanızın karışmamasını istiyorum bu döngüyle.

Şimdi ayraçlarımıza başlıyoruz.

Şimdi yukarıda kodumuzu yazdık.
Dedik ki; "eğer kanala girenin nicki Regex ise işlev yapılsın".
Şimdi ve ile olayı biraz geliştiriyoruz.
Diyoruz ki; "eğer kanala girenin nicki Regex ise ve kanalın ismi de #Turk-mIRC ise işlev yapılsın".

O zaman kodumuz şöyle oluyor:


Kod:
on *:join:#:{
  if $nick == Regex && $chan == #Turk-mIRC {
    msg $chan Hoşgeldin Regex.
  }
}
Evet bu kodda ve (&&) ayracını kullanmış olduk.
Olay bu kadar basittir.

UYARI: Ayraçlarımızdan bir tanesini kullandıktan sonra tekrar if diye devam etmiyoruz. Şöyle düşünelim, nasıl Türkçe'de "eğer hedeyse ve hödöyse xx yap" diyoruz da, "eğer hedeyse ve eğer hödöyse xx yap" demiyorsak, mIRC Scripting'de de bu böyledir.

NOT: Aslında burada ve kullanmadan event'taki # yerine #Turk-mIRC yazarak olayı bitirebilirdik, fakat benim amacım bu ayracı size kavratmak olduğundan bu şekilde yaptım. Fakat genelde kodlar kısa/işlevsel yazılmak istenildiğinden, event'da olayı bitirmemiz daha uygundur.

Şimdi gelelim ikinci ayraca, yani; veya.
Fakat ben bu kodun içerisinde yine veyi de kullanacağım, olayı daha iyi kavrayabilmeniz için.

Farzedelimki bir koruma botu hazırlıyoruz.
Kodumuz hakkında:
Öncelikle, bu komut sadece #Admin kanalında çalışacak (bu sefer, event'ta bitirdim).
Kanalda !zlineat nick sebep yazıldığında, 2. kelimeye, 3. ve sonrası kelimeler sebebi ile zline atacak ve kanala "$2 nickine, $3- sebebi ile zline atıldı." şeklinde mesaj yollayacak.
Bu komutu, Regex veya Lifeman nickleri kullanabilecek (veya ayracı).
Ayrıca kodun altında açıklamalar da yapacağım.

Kodumuz:


Kod:
on *:text:!zlineat*:#Admin:{
  if $2 && $3 {
    if $nick == Regex || $nick == Lifeman {
      zline $2 : $3-
      msg $chan $2 nickine, $3- sebebi ile zline atıldı.
    }
  }
}

- AÇIKLAMALAR -


on *:text:!zlineat*:#Admin:{

;Event'ımızı açtık. Burada 2 işlevi kafadan yaptık:
;Kanalın #Admin olması ve gönderilen yazının başı !zlineat olmasını sağladık.

if $2 && $3 {

;Burada ve ayracı kullandık. Zaten ilk kelime !zlineat olduğundan, ikinci ve üçüncü kelimelerin olması durumunda işlev yapmasını söyledik. Devam ediyoruz.

if $nick == Regex || $nick == Lifeman {

;Burada da veya ayracını kullandık. Mesaj atan nick eğer Regex veya Lifeman ise işlev yapmasını söyledik. Devam ediyoruz.

zline $2 : $3-

;Burada ise 2. kelimenin zline atılacak nick, 3. ve varsa sonraki kelimelerin de sebep olduğunu varsayarak zline işlemini gerçekleştirdik.

msg $chan $2 nickine, $3- sebebi ile zline atıldı.

;Bilgilendirmemizi kanala yolladık.

}
}

;Döngülerimizi kapattık, şimdi event'ımızı da kapatalım.

}

;Event'ımızı da kapattık.


Bu kadar basit arkadaşlar.

Örneklerimizin yeterli olduğunu düşünüyorum, başlık altından takıldığınız yerlerde sorularınızı yöneltebilirsiniz.
*Soru sormadan önce lütfen bir kez daha, dikkatlice okuyunuz.

İyi çalışmalar.
__________________
Only coding or encoding, life.

To be or not to be...
Regex isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

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ı

Hizli Erisim


WEZ Format +3. Şuan Saat: 11:48 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
webmaster