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 Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   $_sw(TEXT) ve $_swkoruma(TEXT) identifiers (küfür koruması) (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/33471-_swtext-ve-_swkorumatext-identifiers-kufur-korumasi.html)

SpecifiC 02 Temmuz 2007 20:59

$_sw(TEXT) ve $_swkoruma(TEXT) identifiers (küfür koruması)
 
;Açıklama:

;## $_sw(TEXT) :
;## Bu identifier sayesinde kelimeler içerisinde geçen küfürleri belirtmek
;## Veya küfürleri yasaklamak...
;##
;## ÖRNEK: //echo -a $_SW(TEXT)
;## ÖRNEK2:
;##
;## on ^*:text:*:#: {
;## echo 12 -tm # $+(<,$nick,>) $_sw($1-)
;## halt
;## }
;##
;##
;## $_swkoruma(TEXT) --> sonuç $true veya $false olacaktır.
;## Küfür korumasında kullanmak için örnek;
;##
;## on *:text:*:#: {
;## if $_swkoruma($1-) == $true {
;## ban -k # $nick 2 Lütfen küfür etmeyiniz.
;## }
;## }
;##
;Ayrıntılı bilgi dosya içindeki OKUBENI.TXT dosyasında mevcut.

$_sw(TEXT) identifier'i ile scriptinizde küfürlerin ekrandaki görünümü aşagıdaki halde alabilirsiniz.

[20:51:02] <SpecifiC> Bu cümle içerisinde yasaklanan yasak kelime kırmızı ilke belirtilmiştir.

veya...

[20:51:02] <SpecifiC> Bu cümle içerisinde *****lanan ***** kelime yerine yıldız(*) işareti geçmiştir.

$_swkoruma(TEXT) identifier'i ile eger TEXT içerisinde yasak listemizde olan herhangi bir kelime ile çakışma var ise $true olarak döner yok ise $false , ve bu identifier'i kullanarak hızlı(döngüsüz) küfür koruması vs vs yapabiliriz.

iyi çalışmalar...



LİNK: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

SpecifiC 20 Ağustos 2007 18:08

Cevap: Güncelleme
 
Toplam 1 Eklenti bulunuyor.
mIRC'imde küfür dialogu yaptım küfürleri bu dialoga nasıl listeleyebilirim sorusu üzerine, + bir flag eklendi.
eklenen flag:

-n : kullanımı; $sw(-n#) diez '#' işareti yerine sayı kullanılmalıdır...
örnek:
//var %n = 1 | while $sw($+(-n,%n)) { echo -a did -a <dname> <list id numarası> $v1 | inc %n }

Ayrıntılı açıklama kod içerisinde ve okubeni dosyasında mevcut.

Kod:

;########################################################################
;## Author by SpecifiC - SW 1.1 Beta $_SW(TEXT) AND $_swkoruma(TEXT)
;## iletişim;
;## e-mail/MSN:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

;##
;##
;##
;## $_sw(TEXT) :
;## Bu identifier sayesinde kelimeler içerisinde geçen küfürleri belirtmek
;## Veya küfürleri yasaklamak...
;##
;## ÖRNEK: //echo -a $_SW(TEXT)
;## ÖRNEK2:
;##
;## on ^*:text:*:#: {
;##  echo $color(TEXT) -tm # $+(<,$nick,>) $_sw($1-)
;##  halt
;## }
;##
;##
;## $_swkoruma(TEXT) --> sonuç $true veya $false olacaktır.
;## Küfür korumasında kullanmak için örnek;
;##
;## on *:text:*:#: { 
;##  if $_swkoruma($1-) == $true { 
;##    ban -k # $nick 2 Lütfen küfür etmeyiniz.
;##  }
;## }
;##
;####################################################################
alias swstart {
  if %sw_conf == $null { set %sw_conf SpecifiC }
  if $hget(kufurler) == $null { .hmake kufurler 1000 }
  if $isfile($_swdbfile) {
    .hload kufurler $_swdbfile
  }
}
;####################################################################
;## /sw -darl <TEXT|on/off> + $sw(-n#)
;## -d : Bu flag ile küfür gösterimini açabilir veya kapatabilirsiniz. örnek: /sw -d on
;## -a : Küfür listesine kelime ekleme flagı.
;## -r : küfür listesinden kelime silme flagı.
;## -l : küfür listesini gösteren veya arama yapan flag.
;##
;## -n : Bu flag scriptlerinizde dialoglarınızda küfürleri listelemek için kolaylık olması
;##      açısından düşünülmüştür... Kullanımı $sw(-n#) diez '#' yerine numara kullanılmalıdır,
;##      belirtilen sıra numarasında yer alan kelimeyi verir... Böylece dialoglarınzda küfürleri
;##      listelemek dahada kolay oldu.
;##      ÖR: //var %n = 1 | while $sw($+(-n,%n)) { echo -a did -a <dname> <list id numarası> $v1 | inc %n }
;####################################################################
alias sw {
  if $parameterscontrol($1) == $false && !$isid {
    echo $color(info2 text) -at Geçersiz veya eksik parametre.
    goto End
  }
  if $left($1,1) == - {
    if $regex($1,d) {
      if !$istok(on off,$2,32) {
        echo $color(info2 text) -at Geçersiz işlem yaptınız, on yada off yapmalısınız.
        echo $color(info2 text) -at Ör: /sw $replace($1,d,4d) on/off 
        goto End
      }
      if $2 == on {
        set %sw_conf SpecifiC
        echo $color(info2 text) -at Görünüm modu degiştirildi ve küfür gösterimi açıldı.
      }
      if $2 == off {
        set %sw_conf YASAK
        echo $color(info2 text) -at Görünüm modu degiştirildi ve küfür gösterimi kapatıldı
      }
      goto End
    }
    if $regex($1,^\-(n|n[0-9]+)$) && $isid {
      var %n = $regsubex($1,/^-n([0-9]+)$/g,\1)
      if $hget(kufurler,%n).item {
        return $hget(kufurler,%n).data
      }
      else {
        return $false
      } 
    }
    if $regex($1,l) {
      if $2 == $null {
        echo $color(info2 text) -at SW Listing:
        if $hget(kufurler,0).item == 0 {
          echo $color(info2 text) -at $str($chr(160),2) Kayıtlı DATA yok!
        }
        else {
          var %sw_sbt = 1
          while $hget(kufurler,0).item >= %sw_sbt {
            echo $color(info2 text) -at $str($chr(160),2) %sw_sbt - $hget(kufurler,%sw_sbt).data
            inc %sw_sbt
          }
        }
        echo $color(info2 text) -at SW Liste sonu
      }
      else {
        echo $color(info2 text) -at SW Ara: $2
        if $hfind(kufurler,$2-,0,W).data >= 1 {
          var %src_data = $hfind(kufurler,$2-,0,W).data
          while %src_data {
            echo $color(info2 text) -at $str($chr(160),2) -> $hget(kufurler,$hfind(kufurler,$2-,%src_data,W).data)
            dec %src_data
          }
        }
        else {
          echo $color(info2 text) -at $str($chr(160),2) * Sonuç bulunamadı
        }
        echo $color(info2 text) -at Arama tamamlandı.
      }
    }
    if $regex($1,a) {
      if $2 {
        if $hfind(kufurler,$2-,0,W).data >= 1 {
          echo $color(info2 text) -at Ekleme hatası: Zaten listenizde bu kelime(ler) mevcut.
          var %cks_data = $hfind(kufurler,$2-,0,W).data
          while %cks_data {
            echo $color(info2 text) -at $str($chr(160),2) -> $hget(kufurler,$hfind(kufurler,$2-,%cks_data,W).data)
            dec %cks_data
          }
          echo $color(info2 text) -at Ekleme hata sonu
        }
        else {
          .hadd -m kufurler $rand(1,99999999) $2-
          echo $color(info2 text) -at Eklendi: $2
        }
      }
      else {
        echo $color(info2 text) -at HATA: eklenecek kelime yok
      }
    }
    if $regex($1,r) {
      if $2 {
        if $hfind(kufurler,$2-,0,W).data >= 1 {
          echo $color(info2 text) -at Silindi:
          var %del_data = $hfind(kufurler,$2-,0,W).data
          while %del_data {
            echo $color(info2 text) -at $str($chr(160),2) -> $hget(kufurler,$hfind(kufurler,$2-,%del_data,W).data)
            .hdel kufurler $hfind(kufurler,$2-,%del_data,W).data
            dec %del_data
          }
          echo $color(info2 text) -at Silme işlemi tamamlandı
        }
        else {
          echo $color(info2 text) -at Silinicek data bulunamadı.
        }
      }
      else {
        echo $color(info2 text) -at HATA: silinecek kelime yok
      }
    }
  }
  :End
  .hsave kufurler $_swdbfile
}
;####################  Color Conf  ###############################
;# Renk ayarını buradan gerçekleştirebilirsiniz.
;# Standart renk kodu " 4 (kırmızı) " dır

alias clrNO { return 4 }
;#################### Color Conf End ###############################
alias swinfo {
  echo $color(info2 text) -a SW Script bilgisi:
  echo $color(info2 text) -a $str($chr(160),2) Gösterim biçimi: $iif(%sw_conf == YASAK,***** Şeklinde küfürleri gizlemekte,Küfürler açık ve net biçimde gösterilmekte)
  echo $color(info2 text) -a $str($chr(160),4) Gösterim örnek: $iif(%sw_conf == YASAK,Burada yazan *****lanan kelime (orjinal: Burada yazan yasaklanan kelime),Burada yazan 4yasaklanan kelime)
  echo $color(info2 text) -a $str($chr(160),2) Renk Kodu: $iif($clrNO == 4,Standart renk kodu 4 KIRMIZI,$clrNO)
  echo $color(info2 text) -a $str($chr(160),2) Yasaklanmış toplam kelime sayısı: $hget(kufurler,0).item
  echo $color(info2 text) -a $str($chr(160),2) mIRC durumu: $iif($version < 6.21,$version bu mIRC de düznün çalışmayabilir. Bu script 6.21 ve üst versionlarda düzgün çalışmaktadır,Bu mIRC üzerinde düzgün çalışmakta)
  echo $color(info2 text) -a SW Script bilgi sonu.
}
alias parameterscontrol {
  if $1 == $null || $1 == - || $left($1,1) != - || !$regex($1,[adrl]) {
    return $false
  }
  else {
    return $true
  }
}
alias _swdbfile { return $remove($scriptdirkufurler.db,$mircdir) }
alias _swkoruma {
  if $hfind(kufurler,$1-,1,W).data >= 1 {
    return $true
  }
  else {
    return $false
  }
}
alias _sw {
  ;####################################################################
  ;## Aliasa gönderilen TEXT'tin içerisinde bizim HASH tablomuzda
  ;## bulunan herhangi bir kelime ile çakışma var mı diye bakıyoruz.
  ;####################################################################
  if $hfind(kufurler,$1-,1,W).data {
    if $hfind(kufurler,$1-,0,W).data == 1 {
      ;## Eğer TEXT, HASH tablomuzda bulunan bir kelime ile çakışıyor ise
      var %sw_num = $numtok($replace($hget(kufurler,$hfind(kufurler,$1-,1,W).data),$chr(42),$chr(44)),44), %sw_sbt = 1
      while %sw_num >= %sw_sbt {
        var %SW_Sonuc = $addtok(%SW_sonuc,$gettok($replace($hget(kufurler,$hfind(kufurler,$1-,1,W).data),$chr(42),$chr(44)),%sw_sbt,44),124)
        inc %sw_sbt
      }
      return $iif(%sw_conf == YASAK,$regsubex($1-,/( $+ %SW_sonuc $+ )/g,$str($chr(42),$len(\1))),$regsubex($1-,/( $+ %SW_sonuc $+ )/g,$+($chr(2),$chr(3),$clrNO)\1$chr(15)))
    }
    if $hfind(kufurler,$1-,0,W).data > 1 {

      ;## Eğer TEXT, HASH Tablomuzda bulunan birden fazla kelime ile çakışıyor ise
      ;## While döngüsü yardımı ile tüm bu kelimeleri TEXT içerisinde belirtiyoruz.

      var %sbt_num = 1
      while $hfind(kufurler,$1-,0,W).data >= %sbt_num {
        var %sw_num = $numtok($replace($hget(kufurler,$hfind(kufurler,$1-,%sbt_num,W).data),$chr(42),$chr(44)),44), %sbt2_num = 1
        while %sw_num >= %sbt2_num {
          var %SW_sonuc = $addtok(%SW_sonuc,$gettok($replace($hget(kufurler,$hfind(kufurler,$1-,%sbt_num,W).data),$chr(42),$chr(44)),%sbt2_num,44),124)
          inc %sbt2_num
        }
        inc %sbt_num
      }
      return $iif(%sw_conf == YASAK,$regsubex($1-,/( $+ %SW_sonuc $+ )/g,$str($chr(42),$len(\1))),$regsubex($1-,/( $+ %SW_sonuc $+ )/g,$+($chr(2),$chr(3),$clrNO)\1$chr(15)))
    }
  }
  else {
    return $1-
  }
}
;####################################################################
;## EVENT'ler
;## START ve LOAD eventi kullanım yeri.
;####################################################################
on *:Start:swstart
on *:load: {
  echo $color(info2 text) -at SW Script yüklendi by SpecifiC
  echo $color(info2 text) -at mIRC versionunuz: $version
  if $version < 6.21 {
    echo 4 -at HATA: mIRC versionunuz 6.21^den düşük oldugu için script düzgün çalışmayabilir.
  }


;
; End code
; MASTER SpecifiC
; 01/07/07



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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net