01 Ekim 2009, 21:42 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Debug Ders: Debug Tarih: 01/10/2009 - Perşembe Yazan: L4roXyL - (Hasan AYDENİZ) Not: Bu ders bir [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dökümanıdır. Döküman sahibi L4roXyL-den izin alınarak yayınlanmıştır. - Evet arkadaşlar bu dersimizde mIRC-de varolan /debug komutunu ve getirilerini ele alacağız. Ben debug konusunu kendimce "alternatif scripting" diye adlandırıyorum. Çünki neredeyse event(on olay?) kullanmadan bir script dahi yazabilirsiniz. mIRC-de çok önceki sürümlerden beri varolmasına rağmen, pek kimsenin bilmediği ve kullanmadığı bir konudur. Ki zaten mIRC Help dosyasını hazırlayan "Kjerk" bu kadar önemli bir konunun üzerinde neden kısaca durmuş orasıda bir mechul. Socket ile aldığımız verileri bilirsiniz. HAM/İŞLENMEMİŞ veri şeklinde gelir tüm veriler. Biz /tokenize komutu ile gelen veriyi parçalar ona göre işlev yaparız. Debug -da hemen hemen aynı şekildedir. Online olarak yaptığınız veya yapılan tüm işlevleri debug ile görebilir ve gördüğünüz verilere işlev yapabilirsiniz. Ve hatta bu verileri belirlediğiniz dosyaya otomatik depolayabilirsiniz. - Daha fazla uzatmadan artık konumuza başlayalım. mIRC Help dosyasında debug komutu aşağıdaki gibidir. Komut: /debug [-cinpt] [N] [on | off | @window | filename] [identifier] En basitinden bir debug penceresi açmak için: /debug @deneme - Parametreler: -n: Pencereyi minimize konumundan açmak için kullanılır. Örnek: /debug -n @deneme -c: Debug ile gelen verileri durdurma işleminde(off) bu anahtarı kullanırsanız, gelen verilerin açılmış olduğu pencerede kapatılır. Örnek: /debug -c off -t: Gelen verilerin başında timestamp(zaman) gösterilir. Yani -t komutu ile bir debug getirisi açarsanız, gelen her verinin başında verinin geldiği zamanı $timestamp tanımının döneceği şekilde görebilirsiniz. Örnek: /debug -t @deneme -i: İŞTE debug-la gelen verileri işleyebilmemizin yolu bu anahtardan geçer. Bu anahtar ile gelen verileri belirlediğimiz "alias" -a çağırabiliyoruz. Yani bir nevi belirlediğimiz alias artık debug verilerini algılıyor ve yansıtabiliyor-da. Örnek: /debug -i on d_alias Not: Buradaki d_alias ismine takılmayın. İstediğiniz bir isim belirleyebilirsiniz. - Debug identifier: $debug Açıklaması: Bu identifier/tanım debug verilerinin yansıtıldığı pencerenin veya alias -ın ismini verir. Örnek: //echo -: $debug - Debug mIRC help dosyasında anlatıldığı gibi aslında bu verdiğim bilgilerden ibaret gibi gözüksede, gelen verileri "işlemek istediğiniz" an farklı bir boyuta geçiş yaparsınız. - Debug ile alternatif scripting - Verileri işleme Debug ile gelen verilerin başında her zaman için; "<-" karakteri vardır. Giden veriler(sizin tarafınızda gönderilen veri veya isteklerin başında) ise; "->" karakteri vardır. - İlk öncelikle debug-ın algıladığı verileri işlemek için belirlediğiniz bir "alias" -a debug-ı çağırmalısınız. Şöyleki: /debug -i on d_alias Alacağımız yanıt: * Debug output on (d_alias) Türkçesi: Debug çıkışı d_alias üzerine açıldı. Sanırım buraya kadar anlaşılmayan birşey yok. Belirlediğimiz alias üzerine debug verisini çağırdığımızı anlamanın yolu, tabiki belirlediğimiz isimdeki(çağırdımız isimdeki) alias-ı oluşturmaktan geçer. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Artık d_alias ismindeki aliasımızın verileri algılayabildiğini görüyoruz. Bundan sonraki yapmamız işlev aynen socket mantığında oldığu gibi gelen verileri parçalamaktan geçer. Çünki şu konumda, $1- yerine $1 de yapmış olsak veriler HAM ve AYIKLANMAMIŞ olduğu için yine TAM olarak gelecektir. Gelen verileri belirlediğimiz biçimde ayıklamaya/parçalamaya ayırmanın yolu /tokenize komutundan geçer. Örnek: Kod: Kodu kopyalamak için üzerine çift tıklayın!
Burada yaptığımız işlev; 32(white-space/boşluk) karakterini parçalayan veri olarak belirliyoruz. Yani bildiğiniz $1 (1. kelime) $2 (2. kelime) vs. bu şekilde konumlandırıyoruz. Artık $1 yanıtı sadece 1. kelimeyi verecektir. Kısacası aynen socket-de yaptığımız işlev gibi. NOT: Yukarıda söylediğim gibi veri şeklini tespit etmek için her zaman "$1" tanımını kullanmalısınız. Çünki $1 tanımı sadece "<- veya ->" şeklinde dönecektir. Sizde bu bilgiden yola çıkarak sizin tarafınızdan gönderilen verileri ve online şekilde gelen verileri ayırt edebilirsiniz. Sanırım buraya kadar anlaşılmayan birşey yok. Debug scripting diye adlandırdığım şey bundan ibarettir. Tabiki sizin isteklerinize ve hayal gücünüze göre geliştirmenize kalmış. - Neden debug scripting? Debug sunucu üzerinden gelen veya gönderilen, kısacası yapılan her işlevi ÇOK HIZLI BİR BİÇİMDE algılar. Ve siz debug-a gelen verileri işleyerek kod yazmak istediğinizde size sonuçları hatasız/kusursuz verir. Debug-ın EN BÜYÜK ÖZELLİĞİ normal scripting-den çok çok daha HIZLI çalışmasıdır. Yani yabancı olmadığınız socket gibi. Debug kullanarak normalinden çok daha hızlı kodlar ve işlevler yazabilir/yapabilirsiniz. Ve buna ek olarak socket-de kullanamadığınız local olmayan bir çok $identifier/tanımı kullanabilirsiniz.(hemen hemen hepsi) - UNUTMAYIN: Açtığınız her bir event(on olay) veya oluşturduğunuz her bir "alias" belirli bir miktarda RAM-da yer kaplar. - Debug ile neler yapılabilir? i) Neredeyse event(on olay) kullanmadan script yazabilirsiniz. ii) Normalinden çok çok daha HIZLI kodlar veya uzun işlevli korumalar yazabilirsiniz. iii) Sunucunuz için çok daha HIZLI (hemen hemen socket kadar) koruma botu veya farklı işlevler gören botlar yazabilirsiniz. - Ek bilgiler: Debug verimini kapatmak için: /debug off Debug verimini herhangi bir dosyaya kayıt etmek için: /debug dosya-adı.uzantısı Debug verisini belirlediğiniz pencereye belirlediğiniz renk-de yansıtmak için: /debug [renk kodu] @pencere - Dersimiz burada sona ermiştir. Daha iyi anlamanız için basit bir küfür koruması yazacağım.(kelimeler dosya.txt dosyasından okutulacak) Kod: Kodu kopyalamak için üzerine çift tıklayın!
Kodu denemek için ilk öncelikle: /debug -i on d_alias L4roXyL - (Hasan AYDENİZ) Konu GemLik tarafından (04 Ekim 2009 Saat 14:51 ) değiştirilmiştir. | |
|
Etiketler |
debug, mirc, mirc download, mirc indir |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
mIRC Debug Ne işe Yarar? | OperServ | mIRC Scripting Dersleri | 0 | 27 Kasım 2023 06:04 |
debug @# nicklist yaratmak | fav | mIRC Scripting Sorunları | 2 | 13 Eylül 2011 19:39 |
Debug koruma | sahr | mIRC Scripting Sorunları | 9 | 02 Mart 2011 11:13 |
DEV-C++ ile DEBUG | toXic | C ve C++ | 0 | 10 Şubat 2010 12:43 |
debug hakkında.. | Lord_Raiden | mIRC Scripting Sorunları | 1 | 05 Aralık 2008 22:37 |