Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Cevap: koruma
İlk defa çok basit bir koruma için bu kadar kasılmış bir kod görüyorum, alias içinde alias kullanılmış.
İşte buyur büyük harf koruman ve açıklaması; Bu büyük harf koruması(seninki);
alias capskoruma {
var %text = $strip($remove($1-,$chr(32)))
set %buyukler $len($removecs(%text,a,b,c,ç,d,e,f,g,ğ,h,ı,i,j,k,l ,m,n,o,ö,p,q,r,s,ş,t,u,ü,v,w,x,y,z,:,1,2,3,4,5,6,7 ,8,9))
var %full.line = $len($strip($remove(%text,$chr(32))))
var %percent = $calc(%buyukler / %full.line)
if (%buyukler >= %buyukno) && (%buyukler >= 10) { set %kaps [ $+ %buyukler Büyük Harf $+ ] | capsceza | unset %text | halt }
if (%percent >= $calc(%capsoran /100)) && (%buyukler >= 10) { set %kaps [ $+ %percent CAPS Oranı $+ ] | capsceza | unset %text }
} Bu uyarı için yazılan kod(seninki);
alias capsceza {
if ($group(#capsuyar).status != on ) { capskick }
set %uyarilacak.nick $nick
set %i 0
:check
inc %i 1
set %dnick nick $+ %i
set %incelenen.nick $readini system/ini/uyarilar.ini caps %dnick
if (%incelenen.nick == $null) { writeini system/ini/uyarilar.ini caps %dnick %uyarilacak.nick | capsuyar | goto son }
if (%incelenen.nick == %uyarilacak.nick) { remini system/ini/uyarilar.ini caps %dnick | uyarildi | goto son }
else { goto check }
:son
set %i 0 | unset %incelenen.nick | unset %uyarilacak.nick | unset %dnick
} Bu işlev alias'ı(seninki);
alias capskick { kb $nick %capskick } Buda uyarı yapması gereken alias(seninki);
alias capsuyar { msg # [UYARI:] $nick $+ , %capsuyar } Buda uyarı sebebi(seninki);
/set %capsuyar Lütfen BÜYÜK harf kullanmayınız, Aksi Taktirde Kanaldan Uzaklaştırılacaksınız!.
Bu kadar uzun ve saçma bir kod kullanmak yerine şöyle birşey yazılabilir.
Bir alias(bkrm) oluşturdum, işini fazlası ile görecektir.
alias bkrm {
if $len($1) >= $2 && $int($calc($regex($1,/[A-ZÁ-ÙÄ]/g)/$len($1)*100)) >= $3 {
inc $+(-eu,$4) $+(%,bk,#,½,$nick)
if $($+(%,bk,#,½,$nick),2) <= $5 { inc $+(-eu,$4) %1 | msg # $+($nick,:) $len($1-) karakterlik yazıda $3 büyük harf miktarını aştınız. Uyarı %1 }
if $($+(%,bk,#,½,$nick),2) >= $6 { return $true }
else { return $false }
}
} Kullanımını açıklıyorum: Alias kullanımı; $bkrm(yazı,yazı-miktarı,yüzde-miktarı,tekrar-süresi,uyarı-miktarı,toplam-limit)
Yani şöyle açıklıyayım sana; Yazı: $1- Yazı miktarı ve yüzde miktarı: Yani mesela 100 karakterlik bir cümlenin içerisinde işlev yapması için, 100 yazıcaksın. Bunun mantığı şudur; 100 yazdın diyelim, yüzdelik miktarını'da 50 olarak belirledin. 100 karakter ve fazlası bir yazı algılandığında eğer içerisinde % 50 büyük harf varsa işlev yapacaktır. Tekrar süresi: Belirlenen büyük harf kaç saniye içerisinde kullanılırsa uyarı ve işlev yapsın. Uyarı miktarı: Bak bu özelliği yeni düşündüm. Yazdığın miktar kadar mesela diyelim, 5 yazdık. Belirlenen saniye içerisinde büyük harf tekrar sayısı belirlediğin limiti eşdeğer veya aşarsa, 5'e gelene kadar uyarı yapacaktır. Toplam limit: Buraya yazıcağın limit tekrar limitine yazıcağın limit'den 1 adet fazla olcak. Yani tekrar limitine 3 yazdın diyelim, kullanıcı 3 defa uyarılacak. Toplam limit'e 4 yazıcaksınki 4. seferde kullanıcı kanaldan banlansın/kicklensin vs.
Kullanım olarak örnek vereyim. on *:text:*:#: { if $bkrm($1-,25,60,15,2,3) { ban -k # $nick 2 sebebin. } }
Yani açılımı; $1-(yazılan text) 25(25 karakter veya fazlası ise) 60(ve bu yazıda % 60 oranında büyük harf var ise ve) 15(15 saniye içerisinde tekrar yaparsa) 2(2 defa uyar) 3(3. defa'da kanaldan banla)
Umarım anlamışsındır.
Bu arada güzel bir kod oldu, işini görecektir. |