Merhabalar,
Kanal genelinde yada özellerde nickimize
$me seslenildiğinde genelde echo tarzı uyarıları kullanırız.Bu düşüncede biraz değişikliğe gidelim ve bunu biraz baloncuku andıran bir çalışma olarak düşünelim.
Aktif olmayan herhangi bir kanal yada özel penceresinde nickinize seslenildiğinde
@Balon çıkacaktır.
Yaklaşık
4 sn. süre boyunca size hangi pencereden,kimin seslendiğini ve mesaj içeriği hakkında bilgi verecektir.
Dikkat edilmesi gereken bir diğer nokta nickiniz $me cümle içerisinde tam değer olarak alınmaktadır.Bir başka deyişle kelime içerisinde algılamayacaktır.
Ahmet nickini örnek vermem gerekirse:
ahmet (algılar)
AHMET (algılar)
Sultanahmet (Algılamaz)
Şayet nickinizi yazan kanal\nicke cevap vermek isterseniz yada mesaja ulaşmak isterseniz
@Balon'a bir defa tıklamanız halinde ekranınız kanal\nicke geçiş yapacaktır.
O an pencereden rahatsızlık duyarsanız mouse'u @Balon üzerine getirdiğinizde kapatma
X işareti belirecek ve kapatabileceksiniz.
Aslında çalışmayı
$tip üzerinden de gidebilirdim ama version bazı kullanıcılara yetersiz kalabilir,düşüncesinde takıldım.
Bu nedenle
Picture Window ile yazmayı uygun gördüm,belki sizlerede bir fikir edinme imkanı sağlar.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
menu @Balon {
mouse:drawrect -f @Balon 4 2 226 7 15 14 | drawtext -o @Balon 0 Tahoma 10 230 7 X
sclick:if $inrect($mouse.x,$mouse.y,226,7,15,14) { window -c @Balon | unset %dify* | .timerdi* off } | elseif $inrect($mouse.x,$mouse.y,1,1,224,64) { window -a $strip(%dify.trg) | window -c @Balon | unset %dify* | .timerdi* off }
}
on *:text:*:*:{
if $regex($1-,/(?<=^|\s)\Q $+ $me $+ \E(?<=\b|$)/iS) {
set %dify.trg $+(,$iif($target ischan,#,$nick))
$iif($strip(%dify.trg) == $active,halt)
set %dify.msg $+(,$nick,:,$chr(32),$1-)
set %dify.windw $window($active).dw
set %dify.windh $window($active).dh
focus 350 120 40 15 6 1 1 6
.timerdi -m 1 150 focus 340 110 90 25 7 3 3 8
.timerdif -m 1 250 focus 330 100 130 35 8 6 4 10
.timerdifu -m 1 350 focus 320 90 170 45 9 7 6 15
.timerdifuz -m 1 450 focus 310 80 210 55 10 8 8 20
.timerdifuzy -m 1 550 baloncuk
.timerdifuzyo -m 1 4500 focus 310 80 210 55 10 8 8 20
.timerdifuzyon -m 1 4600 focus 320 90 170 45 9 7 6 15
.timerdifuzyon1 -m 1 4700 focus 330 100 130 35 8 6 4 10
.timerdifuzyon2 -m 1 4800 focus 340 110 90 25 7 3 3 8
.timerdifuzyon3 -m 1 4900 window -c @Balon
.timerdifuzyon4 -m 1 5000 unset %dify*
}
}
alias focus {
window -pdo +lnb @Balon $calc(%dify.windw - $1) $calc(%dify.windh - $2) $3 $4
drawrect -fr @Balon $rgb(82,164,173) 1 0 0 $3 $4
drawtext -p @Balon 1 Tahoma $5 $6 $7 Ekran: %dify.trg
drawtext -p @Balon 1 Tahoma $5 $6 $8 %dify.msg
}
alias baloncuk {
window -pado +lnb @Balon $calc(%dify.windw -300) $calc(%dify.windh -70) 250 65
drawrect -fr @Balon $rgb(82,164,173) 1 0 0 250 65
drawtext -po @Balon 6 Verdana 11 26 5 Sana sesleniyor
drawtext @Balon 6 Webdings 13 9 4 i
drawtext -p @Balon 1 Tahoma 11 10 25 Ekran: %dify.trg
drawtext -p @Balon 1 Tahoma 11 10 42 $bypass(%dify.msg,Tahoma,11,230)
drawline @Balon 11 1 2 2 20 2
drawline @Balon 11 1 2 2 2 15
drawline @Balon 11 1 2 60 2 47
drawline @Balon 11 1 2 60 20 60
drawline @Balon 11 1 245 2 225 2
drawline @Balon 11 1 245 2 245 15
drawline @Balon 11 1 245 60 225 60
drawline @Balon 11 1 245 60 245 47
}
alias bypass {
if ($width($1,$2,$3,0,0) > $4) {
var %a = $1
var %b = 1
var %c = $len(%a)
while (%b < $len(%a)) {
if ($width(%a,$2,$3,0,0) <= $4) { return %a $+ .. }
else { var %a = $left(%a,%c) }
dec %c
}
}
else { return $1 }
}
Hoşca paylaşımlar dilerim...