IRCForumda.Net  

Geri git   IRCForumda.Net > mIRC Scripting ve Sohbet Programları > mIRC Scripting Dersleri

mIRC Scripting Dersleri mIRC veya IRC komutları hakkında detaylı anlatı, bilgi.

Cevapla
 
LinkBack Seçenekler Stil
Eski 06-08-2008   #1 (permalink)
Hop (%)
Sinner Kullanıcısının Avatarı
Giriş Tarihi: 30-06-2008
Yaş: 23
Mesajlar: 359
Ruh Hali:
İtibar Gücü: 5
Rep Puanı : 30
Rep Derecesi : Sinner is on a distinguished road
Sinner  Kullanıcısına MSN yoluyla mesaj gönder
Varsayılan Raw'la neler yapabilirim?

Rawlarla işlem yapmak

Öncelikle raw nedir onu bir açıklayalım. Raw sunucu tarafından size gönderilen mesajlardır. Bunların chanserv nickserv gibi servislerle alakası yoktur. Farkında olmadan chat yaptığımız her saniye aslında raw'ları kullanırız.

Örneğin bir kanala mesaj yazdığınızda hiçbir komut kullanmıyormuşuz gibi sanıyorsak da mIRC bizim yerimize sunucuya "/raw privmsg #kanal selam millet" komutunu gönderir. Kanala bir mesaj geldiğinde ise sunucu bize ":nick!ident@IP PRIVMSG #deneme :selam" şeklinde bir mesaj yollar. mIRC de bu mesajı otomatikman yorumlayarak #deneme kanalında nick isimli kişinin selam yazdığını gösterir.

Aslında çoğumuzun kullandığı /nick /join gibi komutlar mIRC komutları değildir. mIRC'e bir komut girdiğinizde mIRC önce kendi kodları arasında böyle bir komut olup olmadığına bakar, yoksa komutu raw mesajı olarak sunucuya yollar. Örneğin siz /umode +m yazdığınızda mIRC'de böyle bir komut olmadığı için mIRC komutu düzenleyerek /raw umode +m şeklinde yollar.

Çoğu arkadaş raw mesajları ile servis mesajlarını karıştırıyorlar. Aslında çok kolay bir şekilde ayırt etmek mümkündür. Örneğin:

[18:51:23] * You were kicked from #deneme by denemeee (denemeee)

bu mesaj sunucudan gelen raw mesajının mIRC tarafından yorumlanmış halidir. Şimdi bir de notice örneği görelim:

[18:54:40] -ChanServ- #deneme kanali kayitli degil.

Bu ise bir servis mesajıdır. Aralarındaki farkı çok rahat anlayabilirsiniz, servis mesajına baktığınızda tire (-) işaretleri arasına alınmış bir sunucu ismi veya servis ismi görürsünüz:

[18:43:36] -irc.xxx.xxx- Setting/removing of usermode(s) 'ixBwCs' has been disabled.

Raw mesajlarında ise servis ismi veya sunucu ismi yoktur:

Current Local Users: 33 Max: 77
Current Global Users: 57 Max: 64

End of /MOTD command.

[18:52:42] #deneme unable to join channel (address is banned)

Raw mesajı ile servis mesajları için son olarak örnek bir sunucuya girerek çıkan mesajları ayıklayalım:

[18:43:34] * Connecting to irc.xxx-xxx.net (6667)
[18:43:35] [IRC FINGER] (RAW)
[18:43:35] [IRC PING] (RAW)
[18:43:35] [Version VERSION] (RAW)
[18:43:35] -xxx.xxx.Net- *** Version Korumasindan Geciyorsunuz. (SERVİS)
[18:43:35] -xxx.xxx.Net- *** Version Cevabi Alindi. (SERVİS)
There are 22 users and 35 invisible on 2 servers (RAW)
11 operator(s) online
29 channels formed
I have 33 clients and 1 servers
Current Local Users: 33 Max: 77 (RAW)
Current Global Users: 57 Max: 64
Message of the Day, xxx.xxx.Net (RAW)
- • GeneL Sunucu KuraLLarı
-
- 1. T.C Devleti ve yoneticilerine Saygısızlık (hakaret etmek)
- 2. Sunucu Yoneticilerine hakaret etmek.
- 3. Sunucuda politik, onur kırıcı nick ve kanalları kullanmak.
- 4. Clone, proxy, trojan, izinsiz reklam/inviter botu sokmak,
- 5. Web Site veya Sunucu Reklamı yapmak.
- 6. Aşırı derecede Kanal reklamı yapmak.
- 7. Küfretmek, Flood yapmak.
- 8. Kufurlu kick/akick/away/to*** (kanal başlığı) atmak.
- 9. Yönetimden ısrarla OP, IRCOP, Helper istemek.
- 10. Kanal genelinde TÜRKÇE harici bir dil ile konuşmak.
- 11. Kanal Genelinde Siyaset, Politika YASAKTIR.
- 12. Sunucuya giren her kullanici bu kurallari kabul etmis demektir.

End of /MOTD command. (RAW)
[18:36:08] * denemeee sets mode: +iwxt (RAW)
[18:36:08] -Global- [Logon Haberler - Ksm 20 2006] Güvenlik hatırlatması: (SERVİS)
[18:36:08] -ChanServ- (#Zurna) (SERVİS)
[18:36:08] -ChanServ- (#oyun) (SERVİS)
[18:36:09] -xxx.xxx.Net- Setting/removing of usermode(s) 'ixBwCs' has been disabled. (SERVİS)

Artık raw mesajları ile servis mesajlarını ayırabildiğimize göre, nasıl faydalanabileceğimizden bahsedelim. Şüphesiz rawların en çok işimize yaradığı amaç mIRC'in el atmadığı çoğu raw mesajını kullanarak otomatik işlem yapabilen bir mIRC yaratmaktır. Buna genelde script adı verilse de benim burada öğretmeyi amaçladığım şey script yazmak değil, basit kodlarla mIRC'i daha kullanışlı hale getirmektir

Şimdi de aşama aşama mIRC nasıl daha kullanışlı hale getirilebilir ondan bahsedelim.

1- Hayal kurma:

mIRC 15 dk'yı geçen banları kontrol edip süresi dolanları kendisi açsa ne güzel olurdu

2- Plan & Proje:

/mode #kanal +b yazdığımızda banları görebiliyoruz, eğer bu raw mesajlarını ayıklayabilirsem mIRC'e her dakika banları kontrol ettirmesini sağlayabilir, süresi dolanları açtırabilirim.

3- Kullanacağımız raw mesajını bulma:

A-

Bu bölümde daha önceden yazdığım bir kodu kullancağız:

raw *:*:{
haltdef
var %x = $numtok($1-,32)
var %y = 1
while %y <= %x {
echo -a Raw numarası: $numeric $+(%y,.) Değer: $gettok($1-,%y,32)
inc %y
}
echo -a ***
}

Bu kodu mIRC'imize ekliyoruz. Ekledikten sonra /mode #kanal +b yapıyoruz.

B-

Bu kod sayesinde normalde;

denemeee #deneme *!*@D302D439.13AC6357.99661133.IP denemeee 1165164794

bu şekilde gelecek olan mesaj, daha basit kullanmak için şu şekilde gelecektir:

Raw numarası: 367 1. Değer: denemeee
Raw numarası: 367 2. Değer: #deneme
Raw numarası: 367 3. Değer: *!*@D302D439.13AC6357.99661133.IP
Raw numarası: 367 4. Değer: denemeee
Raw numarası: 367 5. Değer: 1165164794
***

Önce mesajın içeriğini kavrayalım. 367 mesajda da yazdığı gibi raw mesajının numarası, yani kodumuz raw 367:*:{ şeklinde başlayacak. 1. değerim kendi nickimiz. 2. değer ban listesine baktığımız kanalın adı. 3. değer banmask, yani açacak olduğumuz banın IPsi, nicki vs. 4. değerimiz banlayan kişi. 5 değerimiz ise banın atıldığı zaman.

Not: 5. değerdeki zaman 1 Ocak 1970 tarihinden banın atıldığı dakikaya kadar geçen saniyeyi belirtir. Bunu normal tarih standartına çevirmek için $asctime(1165164794), şu anki bulunduğumuz tarih saat dakika ve saniyeyi o değere çevirmek için $ctime kullanılır.

4- Mantığı oluşturuyoruz:

367. raw mesajı geldiğinde şu anki zamanı raw mesajındaki zaman biçimine dönüştürdüğümüzde eğer şu anki zaman raw mesajındakinden 900 fazla ise (veya daha da fazla) ise 2. değerdeki kanalda 3. değerdeki banmask'i açacağız. Ayrıca kanalda akickler de olduğu için onların süresinin dolmasını beklemesi mantıksız. O yüzden chanserv'in attığı banları süresi dolmadan açacağız, yani 4. değer chanserv ise süreye bakmadan direkt olarak aç diyeceğiz.

5- Kodluyoruz:

raw 367:*:{
;raw mesajını kullanmaya başladık
haltdef
;raw mesajını kontrolümüze aldık ve başka bir işlem yapmasını engelledik
if ($4 == chanserv) { mode $2 -b $3 }
;eğer 4. değer chanserv ise $2 kanalında $3 mask'inin banını aç
elseif ($calc($5 + 900) >= $ctime) { mode $2 -b $3 }
;yukarıdaki if durumu geçersizse ve 5. değere 900 eklediğimizde $ctime değerinden büyük oluyorsa veya eşit oluyorsa $2 kanalında $3 mask'inin banını aç
else { echo -s Kanal: $2 Banlanan: $3 Banlayan: $4 Ban tarihi: $asctime($5) } }
;hiçbiri değilse statüste kanalı banlayanı ban tarihini göster

İşte kodumuz:

raw 367:*:{
haltdef
if ($4 == chanserv) { mode $2 -b $3 }
elseif ($calc($5 + 900) >= $ctime) { mode $2 -b $3 }
else { echo -s Kanal: $2 Banlanan: $3 Banlayan: $4 Ban tarihi: $asctime($5) }
}


Alıntıdır ..
__________________
Kod:
Sµstµm .. yåLnız qôzLerimLe døkµnµyørµm håyåtå kimse ånLåmıyør ..





By SinnéR
Sinner Şuan Çevrimdışı   Alıntı ile Cevapla
Eski 25-02-2009   #2 (permalink)
Özel Kullanıcı
Avatar Yok
Giriş Tarihi: 14-02-2008
Mesajlar: 243
İtibar Gücü: 123
Rep Puanı : 2380
Rep Derecesi : Regex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond reputeRegex has a reputation beyond repute
Varsayılan Cevap: Raw'la neler yapabilirim?

Doğrusu "rav" değil, "raw"'dır. Başlığı düzenledim.
Regex Şuan Çevrimdışı   Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Mesaj Yazma Kuralları
Konu Açma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

İfadeler Açık
[IMG] Kodları Açık
HTML Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Foruma Zıpla

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Sizi neler bekliyor? IRCForumda Genel ve Güncel Konular, Son Haberler 0 21-02-2009 11:59
3G hayatımıza neler katacak? IRCForumda Genel ve Güncel Konular, Son Haberler 0 30-11-2008 13:07
Obama neler tavsiye ederdi? IRCForumda Genel ve Güncel Konular, Son Haberler 0 14-11-2008 03:40
Direkhizmet.CoM | IRCD Kampanya | 20 YTL Neler Alabilirsiniz ? DirekHizmet Shell - Hosting Firmaları 0 10-11-2008 06:43
Bebeğiniz neler yapabilir? Stripling Aile Evlilik ve Çocuklar 0 16-10-2008 17:42

Bağlantılar Temel Forum Bilgileri ve Yasal Uyarılar
toplist

irc
, Webmaster Forumu
IRCForumda.Net, vBulletin® 3.8.3 altyapısı kullanılarak tasarlanmıştır.
Telif hakkı ©2000-2012, Jelsoft Enterprises Ltd. şirketine aittir.
Site açıklaması: IRC Forum Sitesi - IRC sunucuları, mIRC Scripting, IRCd yardım, Webmaster ve her tür forumlara yer veren IRC forumu!

IRCForumda.Net, bir forum sitesi olduğu için kullanıcılar her türlü görüşünü, onay beklemeksizin siteye ileti olarak gönderebilmektedir. 5651 sayılı yasaya göre bu yazılardan doğabilecek tüm sorumluluk ilgili kullanıcıya ait olup, yine 5651 sayılı yasaya göre sitemiz, iletileri kontrol etmekle yükümlü değildir. Forum yöneticilerinin gözünden kaçan bu tür durumlarda, şikâyetlerinizi admin@ircforumda.net elektronik posta adresine bildirirseniz gerekli işlemler iki iş günü içerisinde forum sorumlularınca gerçekleştirilecektir.

2008-2011© IRC bir tutkudur!


Search Engine Friendly URLs by vBSEO 3.2.0