IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Çözüldü Mırc script ve toolbar hakkında bir kaç sorun. (https://www.ircforumlari.net/mirc-scripting-sorunlari/578549-mirc-script-ve-toolbar-hakkinda-bir-kac-sorun.html)

ZaLiM1979 07 Kasım 2024 11:49

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Alıntı:

OperServ Nickli Üyeden Alıntı (Mesaj 1042942014)
Kod:

/*
real time editbox changer(RTEC)
başlama tarihi: 1/Mayıs/2008
yapımcı: Alience
versiyon: 1.0.3
*/

on *:load: {
  set %rtecsentence 1
  echo $color(info text) -at * RTEC yüklendi, ayarlarını yapmak için /rtec veya /stil komutunu kullanabilirsiniz.
}

on *:start: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC -m 0 80 /RTEC -t
}

on *:CONNECT: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC -m 0 80 /RTEC -t
}

alias stil { rtec $1- }
alias RTEC {
  if $regex($1-,(\-t)) { 
    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 }
  }
}
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

on *:CONNECT: olayını ekleyerek, her bağlandığınız sunucuda çalışır buyur deneyin.

Alıntı:

OperServ Nickli Üyeden Alıntı (Mesaj 1042942690)
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 *:start: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC -m 0 80 /RTEC -t
}

on *:CONNECT: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC -m 0 80 /RTEC -t
}

alias stil { rtec $1- }
alias RTEC {
  if $regex($1-,(\-t)) { 
    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 }
  }
}
dialog RTEC_TABLE {
  title "Rtec v1.0 - By Alience(Halim) 2008"
  size -1 -1 315 307
  option dbu
  button "&Ekle", 1, 252 2 37 12
  button "Değiştir", 2, 252 19 37 12
  button "&Sil", 3, 252 36 37 12
  check "&Cümle Stili Uygula", 4, 252 267 52 10
  button "&İptal", 6, 252 233 37 12, cancel
  button "&Tamam", 5, 252 250 37 12, ok
  text "&Değiştirilecek String:", 8, 3 5 49 7, right
  edit "", 9, 54 2 193 10, autohs
  text "&Yazılacak String:", 10, 8 16 40 7, right
  edit "", 11, 54 13 193 10, autohs
}
on *:dialog:RTECDLG:*:*: {
  if $devent == init {
    dcx Mark $dname RTECDLG_CB
    xdialog -b $dname +tyz
    xdialog -c $dname 7 listview 4 50 490 505 report fullrow singlesel grid showsel autoarrange
    xdid -t $dname 7 +l 2 100 Değiştirilecek $chr(9) +c 1 356 Yazılacak
    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
    }
  }
}

; DCX mark alias (önemsiz)
alias RTECDLG_CB { }

Buyur bunu deneyin türkçe karakter sorunu eklendi


Aynen bunu denedim, mahlesef baglandigim 2.nci serverde calisiyor ama daha önce bagli oldugum serverde calismiyor. yani on connect eventi yeni baglandigim serverde calisir duruma getiriyor ama daha önce bagla oldugun 1nci serverde durduruyor. :-)

OperServ 07 Kasım 2024 14:26

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Alıntı:

ZaLiM1979 Nickli Üyeden Alıntı (Mesaj 1042942998)
Aynen bunu denedim, mahlesef baglandigim 2.nci serverde calisiyor ama daha önce bagli oldugum serverde calismiyor. yani on connect eventi yeni baglandigim serverde calisir duruma getiriyor ama daha önce bagla oldugun 1nci serverde durduruyor. :-)



Kod:

on *:CONNECT: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC $+ $cid -m 0 80 /RTEC -t
}


Yukarısına bunu eklermisin
Kod:

alias RTECControl {
  if $server {
    .timerRTEC $+ $cid -m 0 80 /RTEC -t
  }
}


ZaLiM1979 07 Kasım 2024 14:55

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Alıntı:

OperServ Nickli Üyeden Alıntı (Mesaj 1042943084)
Kod:

on *:CONNECT: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC $+ $cid -m 0 80 /RTEC -t
}

Yukarısına bunu eklermisin
Kod:

alias RTECControl {
  if $server {
    .timerRTEC $+ $cid -m 0 80 /RTEC -t
  }
}



dedigin gibi böyle yaptim..
Kod:

on *:start: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC -m 0 80 /RTEC -t
}
alias RTECControl {
  if $server {
    .timerRTEC $+ $cid -m 0 80 /RTEC -t
  }
}
on *:CONNECT: {
  if !$hget(RTEC) { hmake RTEC 50 }
  if !$hget(RTECOPT) { hmake RTECOPT 2 }
  .hload -b RTEC $qt($+($scriptdir,rtec.bin))
  .timerRTEC -m 0 80 /RTEC -t
}

ama yine ayni sorun vor.. baglandigim 2nci serverde calisiyor ama bagli oldugum 1nci serverde duruyor calismiyor.

Feragat 08 Kasım 2024 09:25

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Bende de mirc son sürüm var.
Öncesinde çözen olmazsa bilgisayar başına geçince bir bakayım.

Vision 08 Kasım 2024 13:58

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Kod:

  if $devent == sclick {
    if $did == 1 {

Kod:

  if $devent == sclick {
  scid $activecid
    if $did == 1 {

sclick kısımının altına bir kod ekledim onu dener misin.

ZaLiM1979 08 Kasım 2024 14:23

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] denedim olmuyor

Vision 08 Kasım 2024 14:46

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Alıntı:

ZaLiM1979 Nickli Üyeden Alıntı (Mesaj 1042943372)
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] denedim olmuyor

Kodun oynanmamış halini atar mısın.

ZaLiM1979 08 Kasım 2024 15:14

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Alıntı:

Vision Nickli Üyeden Alıntı (Mesaj 1042943379)
Kodun oynanmamış halini atar mısın.


Yanlis hatirlamiyorsam 1 sayfada var veya 2.nci.. bendeki suan dialog penceresini büyütmüs hali var.

OperServ 09 Kasım 2024 15:31

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Kod:

set %serverlist irc.dal.net irc.ircforumlari.net


on *:START: {
  connect_all_servers
}


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 connect_all_servers {
  var %i = 1
  while ($gettok(%serverlist, %i, 32) != $null) {
    var %server = $gettok(%serverlist, %i, 32)
    server -m %server
    inc %i
  }
}


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
        }
      }
    }
  }
}

alias stil { rtec $1- }


alias GlobalRTECControl {
  var %i = 1
  while ($scon(%i)) {
    scon %i
    if ($server) && (!$timer(RTEC_ $+ $cid)) {
      .timerRTEC_ $+ $cid -m 0 80 /RTEC $cid
    }
    inc %i
  }
}

Sunucu Listesi Tanımlama : set %serverlist ile sunucu listesini sağlar. Örneğin, irc.dal.net, irc.ircforumlari.net, gibi sunucu adreslerini bu listeye alabilirsiniz.
Otomatik Bağlanma (connect_all_servers) : mIRC başlatıldığında connect_all_serversalias'i çalışır ve listedeki her sunucuya dikkat edilir.
Bağlantı ID (CID) Bazlı RTEC İşlemi : Her bağlantı için benzersiz bir cidkullanılır ve sunucuya özel bir zamanlayıcı başlatılır ( timerRTEC_<cid>).
Her Sunucu İçin Bağımsız İşlem : GlobalRTECControltakma ad, ona bağlı sunucu için bağımsız olarak bağımsız işlem yapılmasını sağlar.
Dene bakalım olacakmı

ZaLiM1979 09 Kasım 2024 15:48

Cevap: Mırc script ve toolbar hakkında bir kaç sorun.
 
Alıntı:

OperServ Nickli Üyeden Alıntı (Mesaj 1042943782)
Kod:

set %serverlist irc.dal.net irc.ircforumlari.net


on *:START: {
  connect_all_servers
}


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 connect_all_servers {
  var %i = 1
  while ($gettok(%serverlist, %i, 32) != $null) {
    var %server = $gettok(%serverlist, %i, 32)
    server -m %server
    inc %i
  }
}


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
        }
      }
    }
  }
}

alias stil { rtec $1- }


alias GlobalRTECControl {
  var %i = 1
  while ($scon(%i)) {
    scon %i
    if ($server) && (!$timer(RTEC_ $+ $cid)) {
      .timerRTEC_ $+ $cid -m 0 80 /RTEC $cid
    }
    inc %i
  }
}

Sunucu Listesi Tanımlama : set %serverlist ile sunucu listesini sağlar. Örneğin, irc.dal.net, irc.ircforumlari.net, gibi sunucu adreslerini bu listeye alabilirsiniz.
Otomatik Bağlanma (connect_all_servers) : mIRC başlatıldığında connect_all_serversalias'i çalışır ve listedeki her sunucuya dikkat edilir.
Bağlantı ID (CID) Bazlı RTEC İşlemi : Her bağlantı için benzersiz bir cidkullanılır ve sunucuya özel bir zamanlayıcı başlatılır ( timerRTEC_<cid>).
Her Sunucu İçin Bağımsız İşlem : GlobalRTECControltakma ad, ona bağlı sunucu için bağımsız olarak bağımsız işlem yapılmasını sağlar.
Dene bakalım olacakmı


cok sagol ama ben fazla servere birden baglanmiyorum.. hep bir serverdeyim arasira baska servere'de baglanmak istedigim icin öyle istedim. bu otomatik birkac servere birden baglanmak sevmedigim birsey. :)


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 15:53.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk