Yazan: L4roXyL
-
Forumu bıraktım ama kod yazmadan duramıyorum. .)
Kod'u yazdıktan sonrada paylaşmadan duramıyorum. Neyse umarım işinize yarar.
Aliasesimizin adı: /marquee
Kullanım şekli: /marquee [dlg|cstm] [dialog-name|custom-name] [item|line] [space-num] [d|t] [marquee-speed] [text]
Şimdi bu aliasesimizi sizin anlayacağınız şekilde açıklıyalım.
[dlg|cstm]: Dlg anlaşıldığı gibi dialoglar için kullanılır. Cstm ise, custom pencereleri için kullanılır. Yani ilk başta nerede kullanıcağız onu belirliyoruz.
[dialog-name|custom-name]: Adı üstünde, eğer dialog üzerinde kullanıcaksak dialog ismini; eğer custom window üzerinde kullanıcaksak, pencere ismi girilmelidir.
[item|line]: Buradaki item, dialog için geçerlidir. Yani eğer dialog üzerinde kullanıcaksanız, item belirtmek zorundasınız. - Line ise, custom window için geçerlidir. Uygulanacak satır'ı belirlemeniz gerekir.
Not: Dialoglarda sadece; list ve text itemlerinde çalışmaktadır.
[space-num]: Buraya kayan text'in arasındaki boşluk miktarını gireceksiniz.
[d|t]: Buradaki d(düz) t(ters) manasına gelir. Yani sağdan-sola veya soldan-sağa kaydırabilirsiniz.
[marquee-speed]: Kayacak olan text'in hızını belirlersiniz. 0-1000 arasında bir rakam girebilirsiniz.
Not: Rakam ne kadar küçük ise o kadar hızlı kayacaktır.
Kodumuz; Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias marquee {
if (!$regex($1,^(dlg|cstm)$) || !$gettok($1-,7,32)) { echo $colour(info) -a * /marquee: yanlış veya eksik kullanım. | halt }
var %s = 1,%t = $timer(0),%% = $+(mrqe,$2,-,$3,-*)
while (%s <= %t) { if ($regex($timer(%s),%%)) { $+(.timer,$timer(%s)) off | $iif($regex($1,^dlg$),did -r $2-3,dline $2 $+($3,-,$3)) | break } | inc %s }
var %s = 1,%q = $+($iif($regex($5,^t$),$7-),$chr(160),$iif($4 > $len($7-),$str($chr(160),$calc($4 - $len($7-)))),$iif($regex($5,^d$),$7-))
$iif($regex($1,^dlg$),did -a $2-3 %q,rline $2-3 %q) | var %& = $len(%q)
while (%s <= %&) { $+(.timermrqe,$2,-,$3,-,%s) -m 1 $calc($6*%s) $iif($regex($1,^dlg$),did -r $2-3,dline $2 $+($3,-,$3)) $chr(124) $iif($regex($1,^dlg$),did -a $2-3,rline $2-3) $+($right(%q,$iif($regex($5,^t$),-) $+ %s),$left(%q,$iif($regex($5,^d$),-) $+ %s)) $iif(!$calc($len(%q)-%s),$chr(124) marquee $1-) | inc %s }
}
Örnek kullanımlar; (Dialog için; /deneme
dlg - Custom için; /deneme
cstm yazınız)
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias denemedlg dialog -m deneme deneme
alias denemecstm window -c @deneme | window -daClk0 @deneme 0 0 400 50 | marquee cstm @deneme 1 100 d 100 Bu bir denemedir.
dialog deneme {
title "Deneme"
size -1 -1 168 14
option dbu
text "", 1, 13 3 144 8
}
on *:dialog:deneme:init:*:marquee dlg $dname 1 75 d 100 Bu bir denemedir.
Umarım işinize yarar. Eğlenceli bir kod oldu.