mIRC'imde küfür dialogu yaptım küfürleri bu dialoga nasıl listeleyebilirim sorusu üzerine, + bir flag eklendi.
-n : kullanımı; $sw(-n#) diez '#' işareti yerine sayı kullanılmalıdır...
//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: Kodu kopyalamak için üzerine çift tıklayın!
;########################################################################
;## 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