![]() |
Away'da Reklam Hakkında... raw 352:*:if (G isin $7) /whois $6 raw 301:*:{ var %i $lines(aways.txt) while $read(aways.txt,%i) { .set %awmsg $ifmatch if (%awmsg isin $3-) .ucur $2 dec %i } unset %awmsg } alias ucur { if ($comchan($1,0)) { var %? $comchan($1,0) if ($me isop $comchan($1,%?)) { while (%? > 0) { echo -a $comchan($1,%?) .ban $comchan($1,%?) $1 .kick $comchan($1,%?) $1 12 Away de kufur..!!! dec %? } } bu kodlama uonur arkadasimiza ait sorun su kod guzel calisiyor fakat ilk kanala giriste 6 7 away user varsa floodtan dusuyorum buna bi care varmi bi ekleme felan yapabilirmiyiz ? |
Kanala giriş ile bir alakası yok ki bu kodun? Eksik paste etmişsin sanırım. |
raw 301:*:{ if (*h*t*t*p*:*/*/* iswm $strip($3-)) || (*v*v*v*.*.* iswm $strip($3-)) || (*.org iswm $strip($3-)) || (*.bz iswm $strip($3-)) || (*//* iswm $strip($3-)) || (*.tc* iswm $strip($3-)) || (*wvw* iswm $strip($3-)) || (*.g?n* iswm $strip($3-)) || (*.?rg* iswm $strip($3-)) || (*?rc.* iswm $strip($3-)) || (*t?k?a* iswm $strip($3-)) || (*.c?m* iswm $strip($3-)) || (*.n?t* iswm $strip($3-)) || (*vvv* iswm $strip($3-)) || (*. o r g* iswm $strip($3-)) || (*w.*w.*w.* iswm $strip($3-)) || (*.tr* iswm $strip($3-)) || (*.gs* iswm $strip($3-)) || (*vww* iswm $strip($3-)) || (*[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] iswm $strip($3-)) || (*f*t*p*:*/*/* iswm $strip($3-)) || (*/server* iswm $strip($3-)) || ($chr(35) iswm $strip($3-)) { var %ö = $comchan($2,0) | while %ö { if ($comchan($2,%ö).op) { kb2 -k $comchan($2,%ö) $2 4Away reklam yaptığınız tespit edildi.. } | dec %ö } } } Bu kodlamada Şevket arkadaşımıza ait.Bi dene. |
|| (*.tr* iswm $strip($3-)) Burada yazan yeri || (*sikerim* iswm $strip($3-)) gibi değiştirerek küfürleride eklersin. ben sadece reklam için kullanıyorum. |
mephisto ben o kismini kopyalamadim kanala girince kanala who cekiyor o kismini kopyalamamistim buraya o yuzden dusuyorum yani kanala girince who cekiyor ve cok away olunca dusuyorum |
İyi de sen kodların tamamını kopyala ki biz de ona göre bir sistem geliştirelim. |
Yanılmıyorsam TurkCoders'ta sorulmuştu bu soru.Soran şahıs "kanala bir giriş olduğunda herkese whois çekiyor ve ben girişte whois çektiğinde away mesajında reklam varsa atmasını istiyorum" demişti.Umut da onun üzerine bu kodu yazmıştı galiba ;)Utku'nun da dediği gibi ilk kodları da yazarsan iyi olacak :) |
on *:join:#: { if ($nick == $me) { if ($chan == #kanal) { { enable #whoisreply | /timer 0 150 /who #kanal} } } } raw 352:*:if (G isin $7) /whois $6 raw 301:*:{ var %i $lines(aways.txt) while $read(aways.txt,%i) { .set %awmsg $ifmatch if (%awmsg isin $3-) .ucur $2 dec %i } unset %awmsg } alias ucur { if ($comchan($1,0)) { var %? $comchan($1,0) if ($me isop $comchan($1,%?)) { while (%? > 0) { echo -a $comchan($1,%?) _queue ban $comchan($1,%?) $1 2 _queue kick $comchan($1,%?) $1 12 Away'de kufur dec %? } } } } --------------- #whoisreply on ;-=[ /who ]=- raw 352:*: inc %a 1 | echo -s %a $6 ( $+ $3 $+ @ $+ $4 $+ ) on $2 using $5 - $7 | halt raw 315:*:{ echo 12End of WHO list 12,8 $time 8,12 ( $+ $2 $+ ) | set %who.sw 0 | unset %a if (%hm.cmd != $null) { %hm.cmd } halt } #whoisreply end kod bu mephisto ilgilendigin icin saol |
raw 301:*:{ var %i $lines(aways.txt) while $read(aways.txt,%i) { .set %awmsg $ifmatch if (%awmsg isin $3-) { if (%dit) { timer 1 1 /ucur $2 } |else { .ucur $2 } } dec %i } unset %awmsg } alias ucur { set -u1 %dit + if ($comchan($1,0)) { var %? $comchan($1,0) if ($me isop $comchan($1,%?)) { while (%? > 0) { echo -a $comchan($1,%?) .ban $comchan($1,%?) $1 .kick $comchan($1,%?) $1 12 Away de kufur..!!! dec %? } } Gibi Yapılabilir... |
uonur simdi fazla kisi away olunca kanala girer girmez dusuyorum atmak isterkenmi yoks awhois cektigi icinmi oda belli degil aslinda soyle bisye yapilamazmi whois cekilir awayler bulununca numaralanir ve timerla aralikli whoisleri cekilir ve ve kufur varsa atilir |
Hımm, şöyle birşey olabilir. on *:join:#: { if ($nick == $me) && ($chan == #kanal) { enable #whoisreply | /timer 0 150 /who #kanal } } raw 352:*: { if (G isin $7) { set %whoislenecekler $addtok(%whoislenecekler,$6,32) } } raw 315:*: { if %whoislenecekler != $null { whoislebakiim } } alias whoislebakiim { var %x = $numtok(%whoislenecekler,32) var %y = 1 while %y <= %x { var %a = $gettok(%whoislenecekler,%y,32) .timer 1 %y whois %a if %y = %x { unset %whoislenecekler | halt } inc %y } } raw 301:*:{ var %i $lines(aways.txt) while $read(aways.txt,%i) { .set %awmsg $ifmatch if (%awmsg isin $3-) .ucur $2 dec %i } unset %awmsg } alias ucur { if ($comchan($1,0)) { var %? $comchan($1,0) if ($me isop $comchan($1,%?)) { while (%? > 0) { echo -a $comchan($1,%?) .ban $comchan($1,%?) $1 .kick $comchan($1,%?) $1 12 Away de kufur..!!! dec %? } } |
raw 352:*: { if (G isin $7) { if (%deneme == $null) { set %deneme $6 } | else { set %deneme $addtok(%deneme,$6,46) whoisle } } } alias whoisle { var %t = $numtok(%deneme,46) | while %t { timer 1 2 whois $gettok(%deneme,%t,46) | dec %t } } } ;kanalda who cekince 2 saniye nefes alır sonra whois ceker |
2 saniye nefes aldıktan sonra hepsine aynı anda whois çeker, o yüzden flooddan düşüyor zaten :) Aslında whois end rawından da güzel birşey yapabiliriz. Whois end rawı geldiğinde sıradakine whois çekmek için 1 saniye sonrasına timer açar. Öncekinin whois'i gelmeden whois çekmez, böylece flood da yapmaz. |
who cekiyor whosilenecekleri set yapiyor orda kaliyor whois cekemiyor kod mephisto orda kaliyor |
var %a = $gettok(%whoislenecekler,%y,32) Kalın yazan yeri düzelt önce. while %y <= %x { Burayı da düzelt. raw 353 yerine 315 de yaz :) |
bu sefer cekiyor whois ama yine ayni anda hepsine cekiyor |
alias whoislebakiim { set %whoislenen 2 whois $gettok(%whoislenecekler,1,32) } Burayı bu şekilde değiştir. raw 318:*:{ if %whoislenecekler != $null { .timer 1 2 whois $gettok(%whoislenecekler,%whoislenen,32) } if $numtok(%whoislenecekler,32) == %whoislenen { unset %whoisle* | halt } inc %whoislenen } Bunu ekle ayriyetten. |
su anda calisiyor bi sorun yok gibi :)) saol mephisto |
318. rawdaki timer 1 2 kısmındaki 2 kaç saniye arayla diğer nicke whois çekeceğini gösterir. Flooddan düşersen süreyi uzatabilirsin. Bu arada nicklere whois çekme işlemi bitene kadar kimseye whois çekme, yoksa sapıtabilir :) |
amladim onu yukselttim zatende alias whoislebakiim { set %whoislenen 2 whois $gettok(%whoislenecekler,1,32) } burdaki set %whoislenen 2 burayi anliyamadim 2 ne oluyor burayi bi aciklasanda ne yaptigimizi biraz cakayim :)) bilgi olsun yani |
%whoislenen %whoislenecekler değerindeki nicklerden hangisinin whoisleneceğini belirtiyor. set %whoislenen 2 whois $gettok(%whoislenecekler,1,32) %whoislenen'i 2 yapıyor, daha sonra %whoislenecekler'deki ilk nicke whois çekiyor. Çektiğin whois'in bitmesiyle birlikte (raw 318) %whoislenen deki sayıyı sıra numarası alıp o sıradaki nicke whois çekiyor tekrar. Burada ilk nicke whois çekiyoruz, dolayısıyla bir sonraki nick 2. olduğuna göre 2 ile başlıyoruz :) |
peki 6 7 awayci olursa nasil olcak bu is karisirmi yoksa whois cekildikce bi taraftanda 2. sira bosaliyor yeni nickmi oraya yerlesiyor |
alias whoislebakiim { set %whoislenen 2 ;burada %whoislenen değerine 2 verdik. whois $gettok(%whoislenecekler,1,32) ;burada da %whoislenecekler değerindeki ilk nicke whois çektik ve döngü ;başlamış oldu. Olayı tekrarlatan ve timer'layan bu alias değil, olay 318. rawda ;döngü alıyor. } raw 318:*:{ if %whoislenecekler != $null { .timer 1 2 whois $gettok(%whoislenecekler,%whoislenen,32) } ;burada %whoislenecekler diye bir değer varsa o değerdeki %whoislenen ;değerindeki sırada olan nicke whois çektiriyoruz. İlk başta değer 2 olduğu için ;2. nicke whois çekecek. Zaten ilk nicke alias'da whois çektirdiğimiz için ;sıra da 2. nickte olduğu için değeri 1 yapıp fazladan bir inc kullanmamak için ;değeri 2 yaptık. if $numtok(%whoislenecekler,32) == %whoislenen { unset %whoisle* | halt } inc %whoislenen ;burada da eğer %whoislenecekler değerindeki toplam eleman ile %whoislenen ;yani sırası gelen nickin sıra numarası eşitse (kısaca sonuncu nick ise) ;%whoisle ile başlayan tüm değerleri sil ve dur. Değilse %whoislenen i 1 sayı ;arttır. } Yani olayın mantığı şu: %whoislenen değeri whois çekilecek nickin sıra numarasını belirtiyor. 318. raw yani "whois sonu" rawı geldiğinde değeri 1 sayı arttırıp o nicke whois çekiyor. Dediğim gibi, ilk nicke alias'da whois çektiğimiz için sıradaki nick 2. nick olduğu için değeri 1 yapıp fazladan bir inc komutu kullanacağımıza değeri direkt olarak 2 yaptık. |
anladim mephisto zahmet verdim saol bazen baska kodlar icinde ayni kodu biraz degitirip kullanma sansi oluyor mantigi kavramakti maksadim eyvallah |
Önemli değil, uykulu uykulu bu kadar oluyor idare edin artık :) Siz yeter ki öğrenmek isteyin :) |
bu konuyla ilgili yine buraya yazayim yeni baslik acmadan away olup ve clone olan ipleri 2 veya 3 den fazla olunca atacak awayinde kufur olup olmadigi onemli degil away oplup vede clone olmalari karisikmi oldu biraz :)) ayni ipden 3 clone ve bu cloneler awayse atacak bi kod |
istegim karisikmi oldu soyle anlatayim away kufur korumasi var zaten kanalin awaylerine bakiliyor diyorumki kanalda away varsa bi clone taramasi yaptirip cloneler awayler ayni cloneyse kanaldan atan bisey ben su join de kullanilan clone korumasini yapmaya calistim ama diger basliklardan alip beceremedim cunku ben join ile calisan clone korumasini alies awayclone { altinda denedim olmadi |
mephisto birde dun yazdigin kod guzelde bir kac away olunca guzel calisiyor ama bir tek (1)away ci olunca yine calisiyor ama whoislenenleri sifirlamiyor sanirim adam atiliyor ama mircim ondan sonra kanalda boyle bir nick yok yeterli parametre girmediniz diye hatalar veriyor taki ben kendim degiskendeki whoislenecekleri silene kadar :) |
Alıntı:
|
mephisto diger sorum icin bisey yapabilirmiyiz kanalda awayler varsa bu awaylere clone taramasi yapip hepsi ayni adresse atmak icin?? |
Yani away olanı atarken clone'larıyla birlikte mi atmak istiyorsun? |
;attığın kick icinde away mesajı yazıosan eğer aynı ipdeki kişileri banlarsın on *:ban:#: { if $nick == $me { set -u2 %banmask $banmask } on *:kick:#: { if (away isin $1-) && ($nick == $me) { var %a = $ialchan(%banmask,#,0) | while %' { kick # $ialchan(%banmask,#,%a).nick awayde reklam.. } } } ;calısır sanırım |
derdimi anlatamamisim soyle bisey diyorum kanalda diyelimki 5 away var ama awaylerinde kufur yok ama bu 5 away de ayni sahis yani clone bunlari atsin diyorum awayinde kufur olani zaten atiyor yukardaki kod yani g isin $7 olayindan sonra bisey daha eklememiz lazimki o anda awayde olanlarin adreslerine bakilip ayni girismi yani clone kontrolu yapilip ayni ise atilsin |
Bu konu beni aşar cumhur abi:) |
Alıntı:
|
evet ayni seki demisiz ben yanlis okumusum mephito :) aynen dedigin gibi |
ya kafamda kurdum ama code yasması zor geldi flyman :P sana soliim sen ayarla en güzeli. 1. Kanalda who +ac yapar raw 352 yi harekete gecirirsin 2. Daha sonra raw 352 ye gorevler verir başlarsın gettok ve addtok kullanımına %nickler variablesine kaydedersin butun nickleri 3. Kaydettiğin variableden nickleri teker teker okutursun ve $ialchan($address(variabledenokuttuğunnick,2),#,0) şeklinde yapıp kanalda kac clone olduğnu bulursun ve eğer 4 ten buyukse cloneleri teker teker atarsın. umarım anlamışsındır ve yine umarım dogru mantık yurutmusumdur :) |
maelstrom zaten bi away taramasi var su an ona ek yapilir diye dusundum ben bend ekafamda kuruyorum kodu ama onemli olan yaziya dokebilmek :) gettok olayini tam cozmus degilim bu isi ustalara birakiyorum onlar yardimci olurlar sanirim |
Valla $ial kullanmayalı uzun zaman oldu, üşeniyorum :p Yarım saate kadar yapan çıkmazsa bakarım, vaktim yok şu an :-/ |
mephisto ustalar usenmez onlar usenirse ciraklar yetismez son gunlerde forumda ustalar yavasladi ya yogunlar yada biraz biktilar galiba ben surekli ugrasiyorum ama beceremedik halen aslinda senin yazdigin su whoisleme olayi varya hem whoisde hemde oraya kayit edilen awaycileri ordan okutarak bi clone taramasi yaptirilabilri ama isde halen cozmus degilim |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:58. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk