Keşfet

mIRC Mouse Hover Menu

NasyoneL

Yeni Üye
Katılım
28 Tem 2022
Mesajlar
222
Tepkime puanı
30
Puanları
0
Yaş
34
Konum
Türkiye
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
s1.gif
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
cool.png

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

neyse.. olay şöyle



cocoric-hover-menu.gif


Kod:
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 } }
 
Emek var , harekette varsa tebrik edilir.Selam ve saygımla.
 

Konu görüntüleyen kullanıcılar

Benzer konular

Geri
Üst