Difuzyon güzel bir mantıkla yaklaşmış. Ama dediği bir kısım bu şekilde bir yazım biçimi için çok önemli gerçektende.
Giriş/text-gönderen nick/mode değiştiren nick
vb. durumların yansıtılması scriptlerde
farklı değişiklikler gösterebilir. Bunun için daha basit bir mantık kullanılabilir.
Nedir bu mantık? /sline komutu zaten nicklist-de olmayan herhangi bir nick-i seçmez. Siz nereye tıklarsanız tıklayın(ki yukarıdaki kullanımda her yere tıklanabiliyor) tıklanılan
$1(1.kelime)
/sline kullanacaksak, zaten nicklist-de yok ise işlev görmez.
O yüzden şöyle bir mantık kullanılabilir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on ^*:hotlink:*:#:{
if ($mouse.key & 1) sline -a # $regsubex($1,/[ $+ $prefix $+ <>]/g,)
}
Burada yaptığımız işlev. HOTLINK olayında kanaldaki herhangi bir yazıya/satıra tıkladığımızda,
$1(1.kelime/tıklanılan kelime)-i
$regsubex tanımınıyla ayıkladığımız şekilde nicklist-de seçmeye çalışır.
Yukarıdaki
$regsubex() 1. kelimeden "
<,> + $prefix(sunucunun kanallarında kullanılabilen online operatör prefixleridir/sunucuya bağlı değilseniz default olarak @%+. döner)" karakterlerini ayıklar.
Yani:
|
Alıntı: |
$regsubex(<nick>,/[ $+ $prefix $+ <>]/g,) => nick
$regsubex(<@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]>,/[ $+ $prefix $+ <>]/g,) => nick2
$regsubex(+nick3,/[ $+ $prefix $+ <>]/g,) => nick3 |
Vb. olarak dönecektir.
Zaten ayıklamış olduğumuz
<,> ve operatör karakterleri($prefix) nick içerisinde kullanılamayan illegal karakterlerdir. Bundan dolayı nick-e herhangi bir etki etmez.
Bu şekilde bir kullanım ile kanalda istediğin kelimeye tıklayabilirsin. Kısacası
/sline belirttiğimiz ayıklama ile kendisi internal bir sorgu yaparak ekleme işlemini yapar veya yapmaz.
Not: Kanala text gönderen nick, yukarıdaki kodda
<nick> şeklinde varsayılmaktadır. Eğer sen mIRC-inde text gönderen nick-i,
<nick> şeklinden herhangi başka bir kullanıma (
=nick=, #nick# vb.) aldıysan, yukarıdaki $regsubex-de
"<>" karakterleri yerine o karakterleri girmen lazım. Tabii bu karakterler nick içerisinde kullanılabilen legal karakterler ise o zaman sorun yaşayabilirsin.