Hemen, hemen herkesin bildiği Debug; serverlar tarafından gelen ve kullanıcılar tarafından
giden mesajların betimlenmemiş saf halini görebildigimiz bir tanımdır..
Buradan çok etkili bir şekilde Socket mantığı kullanarak çok hızlı çalışan scriptler
yapmam mümkün, socket'lerde bilindigi gibi $me $server gibi temel tanımlar çalışmaz
fakat debug ile yazılan scriptlerde bu mümkün.. Event'larla pek ihtiyaç kalmayacak
bir özellik\güzellikte Debug ile script yazmak mümkün.
Debug temelde:
Kod:
Outputs raw server messages, both incoming and outgoing, to a debug.log file, or a custom @window.
/debug -n @moo, opens a custom @window minimized
/debug -c off, turns off debugging and closes the associated custom @window
/debug -pt, wraps or timestamps messages
/debug N @moo, uses color N for messages
The -i switch calls the specified identifier before a debug line is logged. The return value of the identifier is used as the debug line.
The $debug identifier returns the name of debug file or @window
seklinde bunları bize sunar elbetteki biz bunlardan faydalanağız. Kücük tipik bir Debug Scripting öğneği yazalım.
Kod:
alias dget {
;<debug> <anahtar> <tablo> <alias>
.DEBUG -i debug getd
;degug komutu ile "i"(injeck) anahtarını kullanarak
; verilerin okunması için bir tabloya gönderdik ve bu tablodan
; alias'ımızla cekiyoruz..
}
alias getd {
; salt olarak gelen bölünmemiş verileri $1-$2 gibi okumanın münkün olmabilmesi için
; token ile ayırmamız gerek ayırma biçimini boşluk olarak bildigimiz 32 karakteri ile yapıyoruz
; bu script için 32 ideal farklı amaçlar doğrultusunda $asc(@) gibi de ayırma biçimi yapabilir.
TOKENIZE 32 $1-
;simdi gelen veriyi ayrı bi pencerede inceleyelim
$iif(!$window(@DBg), window -fen @DBg verdana 10,echo @DBg $1-)
;burada bilmemiz gereken önemli husus..
; <- :irc.syrix.net 329 Baxi #test 1247320647
; $1_$2________$3_$4__$5___$6
; ayırdıgımız sekli ile bu sekilde hücrelenen verilere görünen hersey dahildir.
; bu sekilde cagırdıgımızda $1 "<-" bu veriyi ifade eder.
;### JOIN EVENT
;join giden
if $3 === JOIN && #* iswmcs $4 { echo 3 -s --->> $4 Kanalına giriliyor.. }
;part giden
if $3 === PART && #* iswmcs $4 && @ !isin $2 { echo 5 -s <<--- $4 Kanalı terk ediliyor.. }
;on join
if $+(*<-*:,$me,!*@*JOIN*:#*) iswmcs $1- { echo 10 -s ---> $gettok($1-,-1,32) - Kanalına girdiniz. }
;on part
if $+(<-*:,$me,!*@*PART*#*) iswm $1- { echo 14 -s <<--- $gettok($1-,-1,32) - kanalı terk edildi. }
} Umarım iyi bir örnek olmuştur. Olabildigince basit yapmaya çalıştım herkes bilgi
seviyesine göre daha iyi seyler yapacaktır eminim bircok avantajı var fakat
dezavantajlarıda var bilincli kullanımla mutlaka daha etkin işler cıkar...