mIRC Script

mIRC Özel Pencereler: Kendi Bilgi Ekranlarınızı Oluşturmak

· Güncelleme: · 5 dk okuma

mIRC Özel Pencereler: Kendi Bilgi Ekranlarınızı Oluşturmak
İçindekiler
  1. Pencere Oluşturmak
  2. Metin Yazmak
  3. Liste Pencereleri
  4. Satırları Renklendirme
  5. Pencereye Menü Eklemek
  6. Pencere Olayları
  7. Çizim Modu
  8. Pratik Kullanım Senaryoları
  9. Pencere Yönetimi
  10. Dialog mu, Özel Pencere mi?
  11. Gerçek Bir Senaryo
  12. Pencere Performansı
  13. Pencereleri Taşınabilir Tutmak
  14. Sonuç

Scriptleriniz bir bilgi üretiyorsa onu nereye yazacaksınız? Kanala yazmak kanalı doldurur, durum penceresine yazmak diğer mesajlar arasında kaybolur. mIRC özel pencere özelliği, scriptlerinize kendi ekranlarını kazandırır: İstatistik tabloları, kullanıcı listeleri, log görünümleri, bildirim panelleri için ayrı pencereler oluşturabilirsiniz.

Pencere Oluşturmak

Özel pencere adları @ işaretiyle başlar:

window -a @Istatistik
window -ak0 @Liste
window -adk0l20 @Kullanicilar

Parametreler pencerenin türünü ve davranışını belirler:

ParametreNe yapar?
-aPencereyi etkinleştirir (öne getirir)
-nSimge durumunda açar
-hGizli açar
-lListe kutusu ekler (genişlik belirtilir)
-dMasaüstü penceresi olarak açar
-kTuş olaylarını yakalar
-eDüzenleme kutusu ekler
-sSatırları sıralar
-pÇizim (picture) modu
-cPencereyi kapatır

Pencere oluştururken boyut ve konum da belirtilebilir. Pencereyi kapatmak için:

window -c @Istatistik

Metin Yazmak

Basit metin yazmak için echo komutu kullanılır:

echo @Istatistik Bu bir satir.
echo -t @Istatistik Zaman damgali satir.

Pencere adını hedef olarak vermek yeterlidir. Pencere yoksa mIRC hata verir, bu yüzden yazmadan önce pencerenin varlığını kontrol etmek iyi bir alışkanlıktır:

if (!$window(@Istatistik)) { window -a @Istatistik }
echo @Istatistik Bilgi satiri

Liste Pencereleri

Liste kutusu olan pencerelerde satırlar numaralıdır ve tek tek yönetilebilir:

aline @Liste Yeni satir
aline -l @Liste Liste kutusuna satir
rline @Liste 3 Ucuncu satir degistirildi
dline @Liste 5
iline @Liste 2 Ikinci siraya eklenen satir
clear @Liste
KomutNe yapar?
alineSona satır ekler
rlineBelirtilen satırı değiştirir
ilineBelirtilen sıraya satır ekler
dlineBelirtilen satırı siler
clearPencereyi temizler
$lineBelirtilen satırı okur
$slineSeçili satırı verir

Liste pencereleri, sürekli güncellenen bilgiler için idealdir: Bir satırı tamamen yeniden yazmak yerine yalnızca ilgili satırı güncelleyebilirsiniz. Bu, bir sayaç veya durum göstergesi için çok verimlidir.

Satırları Renklendirme

Satır ekleme komutları, renk parametresi kabul eder. Bu, bilgiyi görsel olarak gruplamak için kullanışlıdır: Hatalar kırmızı, uyarılar sarı, normal bilgiler varsayılan renkte gösterilebilir.

Özel pencerelerde renk kullanmak, kanal mesajlarında renk kullanmaktan farklıdır: Çıktıyı yalnızca siz görürsünüz, bu yüzden kimseyi rahatsız etmezsiniz. Renk kodları için mIRC renk kodları yazımıza bakın.

Pencereye Menü Eklemek

Özel pencerelere sağ tık menüsü ekleyebilirsiniz:

menu @Liste {
  Secili satiri kopyala:/clipboard $sline(@Liste,1)
  Secili satiri sil:/dline @Liste $sline(@Liste,1).ln
  -
  Temizle:/clear @Liste
  Kapat:/window -c @Liste
}

Menü tanımının adı, pencere adıyla aynı olmalıdır. Bu, pencereyi gerçek bir araca dönüştürür: Kullanıcı listedeki öğelerle etkileşim kurabilir. Popup menüleri için mIRC popup menüleri yazımıza bakın.

Pencere Olayları

Özel pencerelerdeki kullanıcı etkileşimlerini yakalayabilirsiniz:

  • Kullanıcı bir satıra çift tıkladığında.
  • Kullanıcı pencerenin düzenleme kutusuna bir şey yazıp Enter'a bastığında.
  • Kullanıcı pencerede bir tuşa bastığında (pencere tuş yakalama modundaysa).
  • Kullanıcı pencereyi kapattığında.

Bu olaylar, pencerenizi etkileşimli hâle getirir: Bir liste penceresinde bir kullanıcıya çift tıklayarak whois sorgusu yapmak, düzenleme kutusuna komut yazarak işlem yapmak mümkündür. Olay adları ve parametreleri mIRC'in yardım dosyasında açıklanır.

Çizim Modu

Pencereleri çizim modunda açtığınızda metin yerine grafik çizebilirsiniz: çizgiler, dikdörtgenler, daireler, resimler ve metin. Bu, grafik tabanlı araçlar oluşturmanıza imkân tanır: basit grafikler, oyun tahtaları, görsel göstergeler.

Çizim komutları koordinat bazlıdır ve pencere yeniden boyutlandırıldığında çizimi yenilemeniz gerekir. Bu, daha ileri bir konudur ve çoğu günlük ihtiyaç için metin tabanlı pencereler yeterlidir.

Pratik Kullanım Senaryoları

Bildirim paneli: Kendi nickinizin geçtiği mesajları, özel mesajları ve önemli olayları tek bir pencerede toplamak. Yoğun kanalları takip ederken önemli şeyleri kaçırmamanızı sağlar.

Kullanıcı takibi: İzlediğiniz kullanıcıların çevrimiçi durumunu gösteren bir liste penceresi.

İstatistik ekranı: Kanal aktivitesini, mesaj sayılarını veya kendi kullanım verilerinizi gösteren bir tablo.

Log görünümü: Belirli kanalların veya olayların kayıtlarını ayrı bir pencerede izlemek.

Araç listesi: Scriptinizin sunduğu komutları ve işlemleri menüden erişilebilir bir liste hâlinde göstermek.

Kanal listesi: Sunucudan gelen kanal listesini filtrelenmiş ve sıralanmış hâlde göstermek. Raw eventler için mIRC raw eventleri yazımıza bakın.

Pencere Yönetimi

Birden fazla özel pencere kullanıyorsanız düzen önemlidir:

  • Anlamlı adlar verin: Pencere adı ne gösterdiğini anlatsın.
  • Gereksiz pencereleri kapatın: Kullanılmayan pencereler ekranı doldurur.
  • Konum ve boyutu hatırlayın: Kullanıcının taşıdığı konumu kaydedip bir sonraki açılışta kullanmak düşünceli bir dokunuştur.
  • Satır sayısını sınırlayın: Sürekli büyüyen bir pencere bellek tüketir; belirli bir satır sayısını aşınca en eskileri silmek gerekir.
  • Script kaldırılırken temizleyin: Scriptinizi kaldıran kullanıcı, pencerelerinizin açık kalmasını istemez.

Dialog mu, Özel Pencere mi?

İki özellik farklı işler için tasarlanmıştır. Ayar panelleri, giriş formları ve butonlu arayüzler için dialog uygundur. Sürekli güncellenen bilgi akışı, listeler, log görünümleri ve metin tabanlı tablolar için özel pencere daha esnektir. Dialog tasarımı için mIRC dialog tasarımı yazımıza bakın.

Gerçek Bir Senaryo

Bir kullanıcı on beş kanalda aktif ve önemli mesajları kaçırıyor. Kendi nickinin geçtiği mesajları, özel mesajları ve izlediği birkaç kullanıcının hareketlerini tek bir özel pencerede toplayan bir script yazıyor. Pencereye sağ tık menüsü ekleyerek bir satıra tıklayıp ilgili kanala geçebilmesini sağlıyor. Satır sayısını beş yüzle sınırlıyor ve pencereyi kapatmadan simge durumuna alabiliyor. Artık on beş kanalı takip etmek yerine tek pencereye bakıyor ve hiçbir önemli mesajı kaçırmıyor.

Pencere Performansı

Özel pencerelere çok sık yazmak, mIRC'in performansını etkileyebilir. Saniyede onlarca satır eklenen bir pencere, arayüzün yavaşlamasına yol açar. Bu tür durumlarda yazdırmayı toplu hâle getirmek çözüm sunar: Satırları bir değişkende biriktirip saniyede bir kez pencereye yazmak, aynı bilgiyi çok daha az maliyetle gösterir.

Satır sayısı da önemlidir. Binlerce satırlı bir pencere bellekte yer tutar ve sıralama işlemleri yavaşlar. Pencere oluştururken satır sayısı sınırı belirlemek veya düzenli olarak eski satırları silmek, pencerenin uzun süreli kullanımda bile hızlı kalmasını sağlar.

Pencereleri Taşınabilir Tutmak

Scriptinizi başkalarıyla paylaşacaksanız pencere boyutlarını ve konumlarını farklı ekran çözünürlüklerinde çalışacak şekilde düşünün. Sabit büyük boyutlar, küçük ekranlarda pencerenin ekrandan taşmasına yol açar. Pencereyi varsayılan boyutta açıp kullanıcının kendi boyutlandırmasına izin vermek genellikle en güvenli yoldur.

Sonuç

Özel pencereler, scriptlerinize kendi ekranlarını kazandırır. Pencere türlerini ihtiyacınıza göre seçin, liste komutlarıyla satırları yönetin, menü ekleyerek etkileşim kurun, satır sayısını sınırlayın ve kullanılmayan pencereleri kapatın. Scriptlerinizdeki sorunları bulmak için sıradaki rehberimiz mIRC hata ayıklama.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Özel pencere nedir?

Scriptlerinizin kendi çıktısını gösterebileceği, @ işaretiyle başlayan adlara sahip pencerelerdir.

Özel pencere ile dialog arasındaki fark nedir?

Dialog sabit yerleşimli kontroller içerir ve form işleri için uygundur. Özel pencere ise metin akışı ve liste görünümü için esnektir.

Pencerede satırları sıralayabilir miyim?

Evet. Pencere oluşturulurken sıralama seçeneği verilebilir veya satırlar eklenirken sıra belirlenebilir.