IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Away'da Reklam Hakkında... (https://www.ircforumlari.net/mirc-scripting-sorunlari/6511-awayda-reklam-hakkinda.html)

Flyman 17 Ağustos 2005 02:37

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 ?

MephisTo 17 Ağustos 2005 13:20

Kanala giriş ile bir alakası yok ki bu kodun? Eksik paste etmişsin sanırım.

Black 17 Ağustos 2005 13:28

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.

Black 17 Ağustos 2005 13:30

|| (*.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.

Flyman 17 Ağustos 2005 17:06

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

MephisTo 17 Ağustos 2005 19:12

İyi de sen kodların tamamını kopyala ki biz de ona göre bir sistem geliştirelim.

Bleda 17 Ağustos 2005 20:15

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 :)

Flyman 17 Ağustos 2005 20:19

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

UOnur 17 Ağustos 2005 21:54

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...

Flyman 17 Ağustos 2005 23:30

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

MephisTo 18 Ağustos 2005 00:13

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 %?
}
}

MaeLStrOm 18 Ağustos 2005 00:31

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

MephisTo 18 Ağustos 2005 00:35

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.

Flyman 18 Ağustos 2005 00:42

who cekiyor whosilenecekleri set yapiyor orda kaliyor whois cekemiyor kod mephisto orda kaliyor

MephisTo 18 Ağustos 2005 00:49

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 :)

Flyman 18 Ağustos 2005 01:38

bu sefer cekiyor whois ama yine ayni anda hepsine cekiyor

MephisTo 18 Ağustos 2005 01:49

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.

Flyman 18 Ağustos 2005 02:02

su anda calisiyor bi sorun yok gibi :)) saol mephisto

MephisTo 18 Ağustos 2005 02:12

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 :)

Flyman 18 Ağustos 2005 02:21

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

MephisTo 18 Ağustos 2005 02:33

%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 :)

Flyman 18 Ağustos 2005 02:44

peki 6 7 awayci olursa nasil olcak bu is karisirmi
yoksa whois cekildikce bi taraftanda 2. sira bosaliyor yeni nickmi oraya yerlesiyor

MephisTo 18 Ağustos 2005 02:56

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.

Flyman 18 Ağustos 2005 03:09

anladim mephisto zahmet verdim saol bazen baska kodlar icinde ayni kodu biraz degitirip kullanma sansi oluyor mantigi kavramakti maksadim eyvallah

MephisTo 18 Ağustos 2005 03:22

Önemli değil, uykulu uykulu bu kadar oluyor idare edin artık :) Siz yeter ki öğrenmek isteyin :)

Flyman 19 Ağustos 2005 00:21

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

Flyman 19 Ağustos 2005 04:07

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

Flyman 19 Ağustos 2005 04:32

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 :)

MephisTo 19 Ağustos 2005 11:46

Alıntı:

raw 318:*:{
if %whoislenecekler != $null {
if $numtok(%whoislenecekler,32) < %whoislenen { unset %whoisle* | halt }
else { .timer 1 2 whois $gettok(%whoislenecekler,%whoislenen,32) | inc %whoislenen }
}
}
Inc tasarrufu diyorduk, ufak bir ayrıntıyı unuttuk :) Böyle dene, sorun düzelir.

Flyman 20 Ağustos 2005 00:50

mephisto diger sorum icin bisey yapabilirmiyiz kanalda awayler varsa bu awaylere clone taramasi yapip hepsi ayni adresse atmak icin??

MephisTo 20 Ağustos 2005 12:50

Yani away olanı atarken clone'larıyla birlikte mi atmak istiyorsun?

MaeLStrOm 20 Ağustos 2005 14:14

;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

Flyman 20 Ağustos 2005 15:47

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

erdem55 20 Ağustos 2005 18:26

Bu konu beni aşar cumhur abi:)

MephisTo 20 Ağustos 2005 18:33

Alıntı:

MephisTo Nickli Üyeden Alıntı
Yani away olanı atarken clone'larıyla birlikte mi atmak istiyorsun?

Ben farklı birşey mi söyledim? :)

Flyman 20 Ağustos 2005 18:40

evet ayni seki demisiz ben yanlis okumusum mephito :) aynen dedigin gibi

MaeLStrOm 20 Ağustos 2005 20:13

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 :)

Flyman 20 Ağustos 2005 20:30

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

MephisTo 20 Ağustos 2005 20:55

Valla $ial kullanmayalı uzun zaman oldu, üşeniyorum :p Yarım saate kadar yapan çıkmazsa bakarım, vaktim yok şu an :-/

Flyman 20 Ağustos 2005 20:59

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