Gurkan | 13 Kasım 2024 08:48 | Cevap: Mırc script ve toolbar hakkında bir kaç sorun. Alıntı: ZaLiM1979 Nickli Üyeden Alıntı
(Mesaj 1042944700)
| Buradan bir sonuç çıkmayacak ama yenilgiyi kabul etmiyorum :) Aliance'ın ilk yaptığı çalışan kod üzerinde bir kaç modifiye yaptım. Dene bakalım:melek: Kod:
/*
real time editbox changer(RTEC)
başlama tarihi: 1/Mayıs/2008
yapımcı: Alience
versiyon: 1.0.3
*/
;--- DCX dll fonksiyonları START
;--- DCX dll fonksiyonları END
on *:load: {
set %rtecsentence 1
echo $color(info text) -at * RTEC yüklendi, ayarlarını yapmak için /rtec veya /stil komutunu kullanabilirsiniz.
}
on *:connect: {
if !$hget(RTEC) { hmake RTEC 50 }
if !$hget(RTECOPT) { hmake RTECOPT 2 }
.hload -b RTEC $qt($+($scriptdir,rtec.bin))
if (!$timer(RTEC_ $+ $cid)) {
.timerRTEC_ $+ $cid -m 0 80 RTEC $cid
}
}
alias stil { rtec $1- }
alias RTEC {
var %cid = $iif($1 isnum, $1, $cid)
scon -a if ($cid == %cid) {
if $regex($window($active).type,^(channel|query|chat)$) && !$regex(%str,(^\/)) {
var %str = $editbox($active), %replaced = %str, %selstart = $editbox($active).selstart, %selend = $editbox($active).selend
if %rtecstr != %str {
if $right($editbox($active),1) != $chr(32) {
var %i = $hget(RTEC,0).item
while %i {
%replaced = $replace(%replaced,$hget(RTEC,%i).item,$hget(RTEC,%i).data)
dec %i 1
}
if %rtecsentence {
%replaced = $regsubex(%replaced,/((?<=\.|\?|\!)([^\s]))/g,$+($chr(32),$upper(\1)))
%replaced = $regsubex(%replaced,/((?<=\.|\?|\!)(\s)([a-zğüöçşı]))/g,$+($upper(\1)))
%replaced = $regsubex(%replaced,/((?<=^)(.))/g,$+($upper(\1)))
%replaced = $regsubex(%replaced,/((?<=,)([^\s]))/g,$+($chr(32),\1))
}
var %xdif = ($len(%replaced) - $len(%str))
%selstart = $calc(%selstart + %xdif)
%selend = $calc(%selend + %xdif)
%rtecstr = %replaced
editbox $+(-ab,%selstart,e,%selend) %replaced
}
}
}
else {
if !$dialog(RTECDLG) { dialog -m RTECDLG RTEC_TABLE }
}
}
}
; Tüm sunucu bağlantılarını kontrol eden alias
alias GlobalRTECControl {
var %i = 1
while ($scon(%i)) {
scon %i
if ($server) && (!$timer(RTEC_ $+ $cid)) {
.timerRTEC_ $+ $cid -m 0 80 RTEC $cid
}
inc %i
}
}
dialog RTEC_TABLE {
title "Rtec v1.0 - ßy Alience(Halim) 2008"
size -1 -1 300 245
option dbu
button "&Ekle", 1, 252 1 37 12
button "Degistir", 2, 252 14 37 12
button "&Sil", 3, 252 27 37 12
check "&Cümle stilini uygula", 4, 2 225 112 10
button "&iptal", 6, 171 225 37 12, cancel
button "&Tamam", 5, 209 225 37 12, ok
text "&Degistirilecek string:", 8, 0 5 49 8, right
edit "", 9, 49 2 197 10, autohs
text "&Yazilacak string:", 10, 0 16 49 8, right
edit "", 11, 49 13 197 10, autohs
}
on *:dialog:RTECDLG:*:*: {
if $devent == init {
dcx Mark $dname RTECDLG_CB
xdialog -b $dname +tyz
xdialog -c $dname 7 listview 1 50 490 390 report fullrow singlesel grid showsel autoarrange
xdid -t $dname 7 +l 2 120 Degistirilecek $chr(9) +c 1 340 Yazilacak
var %i = $hget(RTEC,0).item
while %i {
xdid -a $dname 7 1 0 +c 1 0 0 0 $rgb(0,0,0) $rgb(255,255,255) $hget(RTEC,%i).item $chr(9) + 0 -1 $rgb(10,210,250) $rgb(255,0,255) $hget(RTEC,%i).data
dec %i 1
}
did -f $dname 9
if $xdid($dname, 7).num { xdid -c $dname 7 1 }
if %rtecsentence { did -c $dname 4 }
}
if $devent == sclick {
if $did == 1 {
if $did(9) != $null && $did(11) != $null {
if !$xdid($dname, 7, $chr(9) $did(9) $chr(9), W, 0, 0).find {
xdid -a $dname 7 1 0 +cs 1 0 0 0 $rgb(0,0,0) $rgb(255,255,255) $did(9) $chr(9) + 0 -1 $rgb(10,210,250) $rgb(255,0,255) $did(11)
did -r $dname 9,11
}
}
}
elseif $did == 2 {
if $did(2) == Değiştir {
if $xdid($dname, 7, 0).sel {
did -ra $dname 9 $xdid($dname, 7, 1).seltext
did -ra $dname 11 $xdid($dname, 7, 2).seltext
did -b $dname 7,1,3
did -ra $dname 2 Tamam
}
}
else {
did -ra $dname 2 Değiştir
did -e $dname 7,1,3
if $xdid($dname, 7, 1).seltext != $did(9) {
if !$xdid($dname, 7, $chr(9) $did(9) $chr(9), W, 0, 0).find {
xdid -d $dname 7 $xdid($dname, 7, 0).sel
xdid -a $dname 7 1 0 +cs 1 0 0 0 $rgb(0,0,0) $rgb(255,255,255) $did(9) $chr(9) + 0 -1 $rgb(10,210,250) $rgb(255,0,255) $did(11)
}
}
elseif $xdid($dname, 7, 2).seltext != $did(11) {
xdid -d $dname 7 $xdid($dname, 7, 0).sel
xdid -a $dname 7 1 0 +cs 1 0 0 0 $rgb(0,0,0) $rgb(255,255,255) $did(9) $chr(9) + 0 -1 $rgb(10,210,250) $rgb(255,0,255) $did(11)
}
}
}
elseif $did == 3 {
if $xdid($dname, 7, 0).sel {
xdid -d $dname 7 $xdid($dname, 7, 0).sel
if $xdid($dname, 7).num { xdid -c $dname 7 $v1 }
}
}
elseif $did == 5 {
var %i = 1, %end = $xdid($dname, 7).num
hfree RTEC
while %i <= %end {
hadd -m RTEC $xdid($dname, 7, %i, 1).text $xdid($dname, 7, %i, 2).text
inc %i 1
}
hsave -b RTEC $qt($+($scriptdir,rtec.bin))
set %rtecsentence $did(4).state
}
}
}
alias RTECDLG_CB { }
;EOF |