Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Reklam koruması
HDD de bir dosyayı ararken zamanında başka bir forum icin yazdığım bir kodu buldum, orada kıymeti anlaşılmadı inşallah burada da akıbeti o olmaz :D
evet arkadaşlar mirc nin kendi identifierleri gibi bir reklam koruma size sırası ile ne yapcağınızı anlatıyım.
mirc'de remoteyi (alt + r) açıp aşağıdaki mavi ve kırmızı renkli kodları oraya kopyalayın.
;çalışır durumdaki reklam koruma örneği
on ^*:open:?: {
if $isadv(-ic10,$1-) { echo -st [Olası Reklam] $+(<,$nick,>) $1- | halt }
}
;bu kısımda kayıtları tumak ve yüklemek için geçerli
on *:start: { if !$hget(isadv) { .hmake isadv $iif($ini($isadvfile,verbs,0) > 8000, 8000,$calc($ini($isadvfile,verbs,0) + 500)) | .hload -i isadv $isadvfile verbs } }
on *:exit: { if $hget(isadv) { .hsave -io isadv $isadvfile verbs } }
;ana motöör :) :P
alias isadv {
if !$regex($1,^-+(l$|lx$|a$|d$|r$|i$|rc+([0-9]|[0-9][0-9])$|ic+([0-9]|[0-9][0-9])$|c+([0-9]|[0-9][0-9])$)) { echo $colour(info text) -a * Invalid parameters: $!isad($1) usage: $!isad(-[lxadric##],text)) | halt }
if !$isid {
;reklam kelimesi ekleme kısmı
if $regex($1,a) {
if !$hget(isadv,$2) { .hadd isadv $2 $ctime }
else { echo $colour(info text) -a * $!isad(-a,$2) also included. }
}
;eklenen kelimeleri listeleme
if $regex($1,l) {
var %i = 1
echo $colour(info text) -a [isadv listing starts: $hget(isadv,0).item items]
while %i <= $hget(isadv,0).item {
echo $colour(info text) -a $+(%i,$chr(41)) $hget(isadv,%i).item $iif($regex($1,x),$hget(isadv,$hget(isadv,%i).item ))
inc %i 1
}
echo $colour(info text) -a [isadv listing ends]
}
;reklam kelimesi silme kısmı
if $regex($1,d) && $hget(isadv,$2) { .hdel isadv $2 $ctime }
}
else {
;eğer renkleri vs saymak istiyorsak $isad(-c[rakam],cümle)
if $regex($1,c+([0-9]|[0-9][0-9])$) && $count($2,) >= $remove($1,-,c,r,i) { return $true }
var %is2 = $remove($strip($2),.,$chr(44),[,],$chr(41),$chr(42),$chr(123),$chr(125))
;regex tipi kullanım için $isad(-r,cümle)
if $regex($1,r) { var %i = $hget(isadv,0).item | while %i { if $regex(%is2,$hget(isadv,%i).item) { return $true } | dec %i 1 } }
;iswm tipi kullanım için $isad(-i,cümle)
else { var %i = $hget(isadv,0).item | while %i { if $hget(isadv,%i).item iswm %is2 { return $true } | dec %i 1 } }
return $false
}
}
alias isadvfile { return isadv.ini }
şimdi mavi kısım aslında sizin yazmanız gereken koruma onu istediğiniz yerde kullanabilirsiniz asıl ana modulumuz isadv modulu yani isadvertise (reklam ise anlamında :P) o kısmı kesinlikle ellememenizi tavsiye ediyorum :).
Özellikleri:
şu anki hali ile hem iswm hemde regex tabanlı search yapabiliyor [tamam bu uzmanlara gore bir acıklama ama lazım :)]
sonra birisi ile özelde konuşurken sizin eklediginiz reklam kelimelerinden birini kullandı script hiçbirşey yapmaz On *:open in guzeligi eğer o kişi size ozel açmadıysa direkt reklam kelimesi girdiyse o zaman devreye girer :) ne demek istedigimi tam anlamadıysanız denemenizi tavsiye ediyorum anlatmasıda zor :)
komutları nasıl kullanacagımıza gelelim
isadv fonkisyonunu iki şekilde kullanabilirsiniz /isadv ve $isadv
/isadv için parametreler -adlx tir
$isadv icin ise -irc# dir
/isadv parametreleri
eğer yeni bir reklam kelimesi ekleyeceksek ki bu kelimemizde *reklam* olsun burada * kullandım cunku size iswm tabanlı search anlatıcam regex tabanlıda reklam yazmak zorundasınız eğer * yazarsanız bu kelimeyi bulmaz regex tabanlı search daha hızlı ama dezavantaşı mesela reklam kelimemiz selllam olsun ve bu ll ler daha da coogalsın varsayalım selllllllllam gibide geliyorsa bu durumda iswm tabanlıda *se*am* gibi ekleyebilirsiniz veya *sel*am* gibide ekleyebilirsiniz ama regex te oyle bir şansınız yok neyse bu acıklamayıda yaptıgımıza gore gelelim parametrelere
/isadv -a kelime : bu kelime yerinde ne yazarsanız o kelimeyi reklam listesine kaydeder
/isadv -d kelime : listede ekli olan kelimeyi silmenizi saglar
/isadv -l : kelimeleri listeler
/isadv -lx : kelimeleri listeler aynı zamanda eklenme bilgilerinide $ctime olarak verir
/isadv de sadece l ve x i yan yana kullanabilirsiniz digerlerini kullanamazsınız örn: /isadv -ad gibi :)
$isadv parametreleri:
$isadv(-i,cumle) : cumle icinde iswm tabanlı search yapar
$isadv(-r,cumle) : cumle içinde regex tabanlı search yapar
$isadv(-c#,cumle) : # yazılan rakam kadar (max 99) renk karakteri arar eger yazılandan fazla veya aynı sayıda renk karakteri varsa reklam diye doner mesela reklamların cogu cok fazla renk kullanılarak yapılıyor daha hızlı calışmasını saglar.
$isadv de -ic ve -rc şeklindede kullanabilirsiniz ama -ir kullanamazsınız.
bizim koddaki $isadv(-ic10,$1-) nin anlamı : -ic10 iswm tabanlı search veya 10 dan fazla renk kodu varsa reklam say anlamında takıldıgınız yer varsa buraya sorabilirsiniz bu kod kullanılarak kanal icindede reklam koruma yapılır dedigim gibi ben size mircin $read fonksiyonu gibi bir fonksiyon veriyorum :) hem acemiye yonelik hem de uzman scripterlere yonelik bakalım ilgi olursa boyle absurt ve aynı zamanda yararlı kodlara devam ederim :). |