Tekil Mesaj gösterimi
Alt 20 Şubat 2014, 22:36   #15
Çevrimdışı
Feragat
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Oto Selam Alma Kodu




Paylaşılan kodlarda ki mantık hatası ve teknik hatalar dikkatimi çektiği için yazma gereği duydum.

Mantık hatası:
1-)
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:?:{ if !$istok(#muaf1 #muaf2 #muaf3,$chan,32) {

Özelde yazılan herhangi bir yazıyı algılayacak olan event için muaf kanal belirlemek.

Teknik hata:
1-)
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (*selam* iswm $1-) || if (*selamlar* iswm $1-) || if(*s.a* iswm $1-) {

Hatalı if koşulu.

Olması gereken kalıp:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (koşul) || (koşul) || (koşul) { kodlar }

Bknz: /help if then else ve Bknz: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

2-)
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
*Selam*

Verilen wildcard aralıkları hatası. *Selam* şeklinde kullandığınızda kişi a.selam yazsa bile selam alacaktır. Bknz: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

3-)
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/(selam|s\.\a\.|slm)/i:?: {

(selam|s\.\a\.|slm) a harfinin başındaki \ ters slash ile, a harfi operatöre dönüştürülmüş. Bu şekilde a harfini algılamayacak ve s.a. filtresi işlev görmeyecektir.
\a operatörü regex mantığında Bell character($chr(7)) ile eşleşir.
Örnek:
//echo -a $regex($chr(7),(\a)) :- $regml(1)
hexadecimal: //echo -a $regex($chr(7),(\x7)) :- $regml(1)
octal: //echo -a $regex($chr(7),(\07)) :- $regml(1)
gibi.

Özelde algılanacak text için şöyle bir örnek yapılabilir (ve geliştirilebilir..)

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/^s(\.a(\.|leyk[uüÜ]m)?|lm|elam(s|lar|[uÜü]n\saleyk[uÜü]m)?)$/Si:?:msg $nick a.s $nick h.g

Kodun cevap verdiği metinler:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
[22:33] <deneme> s.a [22:33] <Feragat> a.s deneme h.g [22:33] <deneme> s.a. [22:33] <Feragat> a.s deneme h.g [22:33] <deneme> selam [22:33] <Feragat> a.s deneme h.g [22:33] <deneme> selams [22:33] <Feragat> a.s deneme h.g [22:34] <deneme> slm [22:34] <Feragat> a.s deneme h.g [22:34] <deneme> s.aleyküm [22:34] <Feragat> a.s deneme h.g [22:34] <deneme> selamun aleyküm [22:34] <Feragat> a.s deneme h.g


__________________
The Ghost of Christmas Past...

mircscripting.net
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet bizimmekan