Basit bir örnek vermek gerekirse...
Kod: Kodu kopyalamak için üzerine çift tıklayın!
;Titreşim gönder yazısının
;bulunduğu mini penceremizi açıyoruz..
alias -l titpenac {
if ($1 != $me) {
var %pen = $+(@titpen*,$1)
if (!$window(%pen)) {
window -haBpdo +dL %pen 0 0 105 25
window -a %pen
;Kapalı gri renkte içi doldurulmuş 105 25 boyutlarında bir kare çiz
drawrect -rf %pen $rgb(192,192,192) 1 0 0 105 25
;Siyah renkte içi boş 105 25 boyutlarında bir kare çiz
drawrect -r %pen $rgb(0,0,0) 1 0 0 105 25
;X = 5 Y = 5 kordinatlarında kalın stilinde(-o)
;Yazı tipi adı Tahoma Yazı tipi boyutu 11 olan
;titreşim gönder! yazısını mini pencereye yaz.
drawtext -or %pen $rgb(0,0,0) Tahoma 11 5 5 Titreşim gönder!
;mini pencereyi query penceresinin içerisine at.
;Tabi bu içerisine atılma işi sürekli çalışmayacaktır.
;Ne zaman mini pencere kapatılır yada mini penceresinin
;içine atıldığı query penceresi kapatılıp tekrardan açıldığında
;gerçekleşecektir.
;Kısacası: X Query Penceresi için(@titpen*x) Y query penceresi için(@titpen*y)
;Her query'e bir mini pencere.
dll windowfx.dll SetChild $1 > %pen
;Mini Pencere içerisine atıldıktan sonra aktif olacağından
;kullanıcıların query editbox'da yazı yazabilmeleri için query
;penceresine tekrar tıklamak zorunda bırakmamak için
;query penceresini tekrar aktif pencere yap.
window -a $1
}
}
}
menu @titpen* {
uclick: {
;Nudge alias'ı bunun altına...
var %nick = $remove($active,@titpen*)
nudge %nick
window -a %nick
}
}
;Query pencereleri aktif olduğunda titreşim gönder yazısının
;bulunduğu pencere açılacak...
on *:active:?: titpenac $active
;Nick'ini değiştiren şahsa ait mirc'inizde query penceresi açık ise
;query penceresi içerisinde yer alan "titreşim gönder" yazısının
;bulunduğu pencereninde adı kişinin yeni nick'ine göre değiştirilmelidir.
;Aksi taktide pencereye tıklandığında kişinin eski nick'i üzerine işlem
;yapmaya çalışacak ve titreşim gönderilecek nick bulunamayacaktı.
;Bu soruna neden olmasın diye mini penceremizin ismini değiştiriyoruz.
on *:nick: {
var %win = $+(@titpen*,$nick)
renwin %win $+(@titpen*,$newnick)
}
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Bu yöntem çok sağlam bir yöntem değildir açıkcası.Çünkü nudge.dll'nin çalışma mantığı
query penceresini desktop'a çıkarır(masaüstünde gösterir) pencereyi titretir ve tekrar
mIRC'in içine atar.Nudge.dll'yi yazarken query pencerelerinin içerisinde yer alabilecek
pencereleri düşünemedim.Şöyle bir sorun verebilir denemedim bilmiyorum.Query
penceresi desktop'a çıkartıldığında içerisindeki child pencere(ler) query'den kendini dışarı
atabilir.Tekrar söylüyorum.Denemedim bilmiyorum.Ümit abi(CoCoRiCo) ile Titreşim olayını
yazarken query penceresinin içerisine herhangi bir pencere atmadan denemiştik.
Eğer öyle bir sorun olursa bildirirseniz seviniriz.
Ayrıca bu çok ama çok basit bir örnek.
Başka bir sürü yerler var button koyabileceğiniz.Örneğin WPadding.DLL'yi kullanarak
Query penceresinin altında bir bölüm açtırıp o açılan bölüme bir pencere/dialog atıp
sadece titreşim gönder yerine başka özelliklerde o bölüme koyabilirsiniz.Onu da mı
beğenmediğiniz.Size başka seçenek sunayım.Kendinize özel bir dialog oluşturup o
dialog'u mIRC'in en altına yada üstüne Hos.dll yada Rebar.dll yi kullanarak sabitleyebilir
ve dialog'unuzun içerisine kullanıcıların titreşim ve diğer özellikleri kullanabilmelerini
sağlayacak olan button'lar yerleştirebilirsiniz.Seçenek çok seçin,beğenin birisini alın
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
İyi çalışmalar.