#1
|
|||
|
|||
reklam koruma identifieri
daha önce yazmışım ekleme yapmıyorum yazıma aşağıda
/* Reklam koruması için identifier version 2 Coder: Alience Mirc Version: min 6.17 ve üstü regex kullanarak hash'taki kelimeleri taramaya yönelik hazırlanmış reklam koruma örneği. kelime eklemek için regex veya wildcardlar hakkında az da olsa bilgiye sahip olmanız gerekli şöyleki selam için sellam,sellamm,selamm yazabilir düşüncesi ile sel**** ekleyebilirsiniz. çoğu korumada scripter: n0=kelime n1=kelime2 n2=kelime3 ... şeklinde veya: kelime=alakasız bişi kelime2=.. şekillerinde hasha ekleme yapar. bunlardan farklı olarak bu korumada çoktandır aklımda olan değişik bir kullanım tarzı uyguladım kelimeleri n0=kelime1|kelime2|.... şeklinde: bir kelime 60 karakterden kısa olmak kaydı ile 15 tanesini bir tane bloga ekliyor 16 sını yeni bloğa acıyor. toplamda 200 lük hash açtığımızda 200*15 = 3000 tane kelime kapasitesi var $wasadv(match) identifieri en son yapılan $isadv' işlemindeki uyan kriter kelimeyi gösterir. $wasadv(time/veya herhangi bir yazı) en son yapılan $isadv işleminin ctime ını verir. koruma örneği olarak: Kod: on ^*pen:?: { if $isadv($1-) { echo -st $+([Olası reklam yakalanan kelime: ,$wasadv(match),]) $+(<,$nick,>) $1- | halt }} bunlar çoğaltılabilir korumaları yazacak olan sizlersiniz bunu bir engine gibi düşünün . Komutları: » /isadv -a[s] kelime :Reklam olarak yakalamasını istediğiniz kelimeyi eklemeye yarar. » /isadv -d[s] kelime :Eklediğiniz kelimleri listeden silmenizi sağlar. s parametresini kullanırsanız size bilgi verir örnekler: /isadv -a deneme komutunu girerseniz hiçbir bilgi gelmez /isadv -as deneme komutunu girerseniz: *** deneme Listede mevcut. gibisinden bilgi gelir. » /isadv -l :Ekli kelimelerin listesini verir. » $isadv(kelime,cumle) :Reklam korumamız eğer kelime,cümle reklam olarak eklediğimiz, kriterdeki kelimeleri içeriyorsa $true döner yoksa $false. » $isadv(-l[s]): Bu tamamen ileriye dönük script yazanlar için tasarlanmış bir parametredir, bu identifieri oluştururken son kullanıcıyı değilde komuttan anlayanları daha çok ilgilendirdiğini belirtmeliyim. Kullanımı: $isadv(-l,5) istedeki 5. kelimeyi verir. diyelimki dialog oluşturdunuz dialogda listboxa reklam kelimelerini yüklemek istiyorsunuz listboxumuzun id si [lid] diye belirtilmiştir var %i = 1 while $isadv(-l,%i) { did -a $dname [lid] $v1 inc %i 1 } NOT: Bu kod tamamen boş zamanımda yazılmıştır, mirc de kod yazmayı hemen hemen bırakmış durumdayım, herhangi bir sorunu hatası çıkarsa foruma girmediğim için düzeltme yapamayacağım test işlemlerinid minimumda tuttum. Bunu yazmamın ve yayınlamamın sebebi uzun süredir aklımda olan yukarıda biraz bahsetiğim hasha değerleri n0=1 den çok değer n1=geriye kalanları n2=n1 e sağımayanlar vs bunlar arasında işle yaptırma vs */ ;aşağıdan itibaren kodu kopyalayıp remoteye yapıştırabilirsiniz. Kod: ;bu kısımda kayıtları tumak ve yüklemek için geçerlion *:start: { if !$hget(isadv) { .hmake isadv 2000 | .hload -i isadv $+(",$scriptdir,isadv2.ini") verbs } }on *:exit: { if $hget(isadv) { .hsave -io isadv $+(",$scriptdir,isadv2.ini") verbs } }alias wasadv { return $iif($1 == match,$gettok($hget(isadv,wasadv),1,46),$gettok($h get(isadv,wasadv),2,46)) }alias isadv { if !$hget(isadv,wasadv) { if !$hget(isadv) { hmake isadv 200 } hadd isadv wasadv $+($null,$ctime) } if !$isid { tokenize 32 $1 $remove($2-,$chr(32),$chr(33),$chr(40),$chr(41),$chr(44),$chr (91),$chr(93),$chr(94),',",_,-,<,>,=,/,\,$chr(123),$chr(125)) } if !$isid && $regex($1,^\-(a|as|sa)$) { if $len($2) > 60 && s isin $1 { echo $color(info text) -at *** 60 Karakterden uzun kelime giremezsiniz. | halt } var %i = 0 while %i < $calc($hget(isadv,0).item - 1) { var %hgetstr = $hget(isadv,$+(n,%i)) var %n = $calc($count(%hgetstr,|) + 1) while %n { if $gettok(%hgetstr,%n,124) == $2- && s isin $1 { echo $color(info text) -at *** $2- Listede mevcut. | halt } dec %n 1 } inc %i 1 } hadd isadv $iif(%hgetstr == $null,$+(n,%i,$chr(32),$2-),$iif($count(%hgetstr,|) < 14,$+(n,$calc(%i - 1),$chr(32),%hgetstr,|,$2-),$+(n,%i,$chr(32),$2-)) ) if s isin $1 { echo $color(info text) -at *** $2- Listeye eklendi. } } if !$isid && $regex($1,^\-(d|ds|sd)$) { var %i = 0, %totalitems = $calc($hget(isadv,0).item - 1) while %i < %totalitems { var %hgetstr = $hget(isadv,$+(n,%i)) var %n = $calc($count(%hgetstr,|) + 1) while %n { if $gettok(%hgetstr,%n,124) == $2- { if %i != $calc(%totalitems - 1) { hadd isadv $+(n,%i) $+($remtok(%hgetstr,$2-,1,124),|,$gettok($hget(isadv,$+(n,$calc(%totalite ms - 1))),-1,124)) hadd isadv $+(n,$calc(%totalitems - 1)) $remtok($hget(isadv,$+(n,$calc(%totalitems - 1))),$gettok($hget(isadv,$+(n,$calc(%totalitems - 1))),-1,124),1,124) } else { hadd isadv $+(n,%i) $remtok(%hgetstr,$2-,1,124) } if s isin $1 { echo $color(info text) -at *** $2- Listeden silindi. } halt } dec %n 1 } inc %i 1 } if s isin $1 { echo $color(info text) -at *** $2- Listede yok. } } if !$isid && $regex($1,^\-l$) { var %i = 0, %totalcounter = 1 echo $color(info text) -at *** isadv listeleniyor: while %i < $calc($hget(isadv,0).item - 1) { var %hgetstr = $hget(isadv,$+(n,%i)) var %n = $calc($count(%hgetstr,|) + 1) while %n { echo $color(info text) -at $+(%totalcounter,$chr(41)) $gettok(%hgetstr,%n,124) inc %totalcounter 1 dec %n 1 } inc %i 1 } echo $color(info text) -at *** isadv listesi sonu. } ;listeden isteme $isadv(-l,[number]) if $isid { if $regex($1,^\-(l|ls|sl)$) { if $2 < 1 || $2 !isnum 1-3000 { if s isin $1 { echo $color(info text) -at *** Hatalı no girdiniz. | halt } else { return $null } } return $gettok($hget(isadv,$+(n,$iif($calc($2 % 15) == 0,$calc($gettok($calc($2 / 15),1,46) - 1),$gettok($calc($2 / 15),1,46)))),$iif($calc($2 % 15) == 0,15,$v1),124) } else { var %searchstr = $remove($1-,$chr(32),$chr(33),$chr(40),$chr(41),$chr(44),$chr (91),$chr(93),$chr(94),',",_,-,<,>,=,/,\,$chr(123),$chr(125)) var %i = 0 while %i < $calc($hget(isadv,0).item - 1) { if $regex(isadv,%searchstr,$+($chr(40),$hget(isadv,$+ (n,%i)),$chr(41))) { hadd isadv wasadv $+($regml(isadv,1),$chr(46),$ctime) return $true } inc %i 1 } return $false } }};EOF
__________________
SevGi SuYu HASret Aşk TarLaSıyIm DöKüLMekTeN uSanMIş Göz DamLasIyIM ParaM ParCa oLmuŞ KaLp YaRasIyIm AMA eN öNemLiSi SeNi aSLa UnuTmaYaCak Bir BaŞBELASIYIM[Link'i Görebilmeniz İçin Kayıt Olunuz.! Kayıt OL] |