Tekil Mesaj gösterimi
Alt 12 Haziran 2022, 02:52   #1
Çevrimiçi
CoCoRiCo
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
mIRC Mouse Hover Menu




Adından da anlaşılacağı gibi "mIRC hover menu" fare üzerine gelince açılan menü.


Epeydir MSL/mIRC kod yazmamıştım paslanmışız haliyle, pasımızı atalım dedik.
HTML de sık kullladığım ve mIRC'de çok eskiden beri yapmayı düşünüp zaman
bulamadığım bir fikir, "hotlink" meselesi çok sevdiğim bir konu bu "olay"
tetikleyicisini kullanarak herhangi bir kelimenin (nick, kanal vb.) fare üzerine
gelince menü açılması ve buna göre işlem yapılmasına dayanan bir mantık.


Ben kanal için bir menü planladım ve kanalda nick'in üstüne fare gelince
açılan bir menü çıkıyor, farklı şeyler düşünenler için kod oldukca sade ve açık
olarak yazıldı, içine kolayca anlaşılması için ek açıklamalar da bıraktım.



Simgeleri her windows içide bulunan simge fontlarından seçtim, isteyen

"drawpic" ile icon, backgroun ve animasyon ekleyebilir gerisi hayal gücünüze kalmış



Standart "hotlink" olay tetikleyici yerine algılayıcı ile çalışıyor ve "picture
window" kullanılıyor dileyen "dialog" kullanarak çok farklı şeyler yapabilir.

Sanırım bu teknik ilkkez kullanılıyor yanılıyor olmayı çok isterim
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
varsa örnek lütfen görsterin.

İsteyen kendisi için özelleştirebilir ki amacı bu.. Eski sürümlerle de çalışabilmesi için
yeni fonsiyonlardan kaçındım ve haliyle biraz fazla kod oludu, dilediğiniz gibi

düzenleyebilir alıntı/çalıntı yapabilir isim bile belirmeyebilirsiniz söz kızmam kimseye
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

konu hakkında yardım isteyen veya fikri olan varsa konu başlığında yazabilir.

neyse.. olay şöyle




Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.





Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias add:icon { ;<drawtext|switch><win-name><color|$rgb(x,x,x)|0-15><"font"><font size> <coord: x|y> <text-icon> drawtext -r $win(name) $rgb(64,64,64) Webdings 24 10 2 . drawtext -r $win(name) $rgb(65,105,225) verdana 10 10 28 Alıntı drawtext -r $win(name) $rgb(64,64,64) $qt(webdings) 32 45 -1 ` drawtext -r $win(name) $rgb(65,105,225) verdana 10 45 28 Takip drawtext -r $win(name) $rgb(64,64,64) Webdings 28 80 0 ^ drawtext -r $win(name) $rgb(65,105,225) verdana 9 80 28 Özel drawtext -r $win(name) $rgb(64,64,64) Webdings 28 116 0 i drawtext -r $win(name) $rgb(65,105,225) verdana 10 116 28 Whis drawtext -r $win(name) $rgb(64,64,64) Webdings 28 150 0 x drawtext -r $win(name) $rgb(65,105,225) verdana 10 150 28 Banla drawtext -r $win(name) $rgb(255,0,0) $qt(Wingdings 2) 16 205 0 T clear -c $win(name) } menu @cc:hover:tooltipop:menu { sclick { set %cl~ 1 ;coordinates <button x|y> <command |%nick[%1~ = raw text-line hover]> if (($mouse.x > 207) && ($v1 < %ww~)) { win -c } elseif (($mouse.x > 150) && ($v1 < %ww~)) { ban $address(%nick,1) } elseif (($mouse.x > 110) && ($v1 < %ww~)) { whois %nick } elseif (($mouse.x > 80) && ($v1 < %ww~)) { query %nick } elseif (($mouse.x > 45) && ($v1 < %ww~)) { notify %nick } elseif (($mouse.x > 10) && ($v1 < %ww~)) { editbox $noqt(%h:win) $qt(%1~) } } leave: { if (%cl~) win -c | unset %cl~ } } on 1:HOTLINK:*:#:{ set %hwin $qt($active) if ($1) && ($hotlink(match).type == nick) && (%apa~) { if ($regsubex($1,/([\<\>\[\]\{\}\(\)\{\}\\\/\\\"\*\!\@\+\%\&\.])/gui,) ison $chan) { set %nick $v1 } set %1~ $hotline set %h:win # var %fs~ $ceil($calc($window(#).fontsize * 0.66)) var %x~ $calc($len($1) + $mouse.dx + %fs~ + $win(left)) var %y~ $calc($len($1) + $mouse.dy + %fs~ + $win(top)) set %w:y $calc($window(#).dy + %fs~ ) noop $win($win(name),%x~,%y~,$hotline).mkwin return } else { .timer_winc -m 1 50 win -c } haltdef } on 1:OPEN:*:*: win -c on 1:HOTLINK:*:*: haltdef on 1:APPACTIVE: { if (!$appactive) win -c $win(name) | set %apa~ $appactive } on 1:ACTIVE:*: { if ($active == $win(name)) noop $add:icon if ($lactive == $win(name)) || (!$lactive) || (%hwin == $qt(lactive)) || ($active != $win(name)) win -c } alias -l win { set %wn~ @cc:hover:tooltipop:menu if $isid { if $prop == mkwin { set %ww~ 220 | set %wh~ 40 ;-oadDH +dbB window -aodbvDHfw0pBw0g0 +bLex $1 $2 $3 %ww~ %wh~ clear -c %wn~ } } if $1 == name { return %wn~ } if $1 == -c { $iif($window(%wn~),window -c %wn~) } if $1 == top { return - 50 } if $1 == left { return + 10 } }


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet