|
| |||||||
| Help - Yardım mIRC Scripting hakkında her konuda yardım alabileceğiniz bölümdür. |
![]() |
| | LinkBack | Seçenekler |
|
#1
| ||||
| ||||
| Alıntı: if !$istok(/ ! .,$left($1,1),32) { if $window($active).type == channel { msg $active $regsubex($1-,/([^[:punct:]\s]+)/gi,$iif(\1 ison #,\1,\1)) } elseif $window($active).type == query { msg $active $regsubex($1-,/([^[:punct:]\s]+)/gi,$iif(\1 == $active,\1,\1)) } halt } } bu kod sizinkine benziyorda renk falan yok sadece nickleri ince yazdiriyor, ama nick icindeki _ | { vs karakterle sıkınti cikiyor nasil giderebilirim? Konu Difuzyon tarafından (24 Ocak 2014 Saat 19:24 ) değiştirilmiştir. Sebep: gülümsemeler gösterilmesin |
| Sponsored Links |
|
#2
| ||||
| ||||
|
[:punct:] noktalama işaretlerini simgeler. \s boşluk karakterini simgeler. [^[:punct:]\s] içerisinde noktalama işaretleri ve boşluk karakteri olmayan karakterleri simgeler. Bazı nicklerde (ahmet_32, serap|ist, [lalegul] vb.) bu tür noktalama işaretleri geçtiğinden regsubex tanımın olumsuz etki edecektir. Bu sıkıntıyı yaşamamak için ([^[:punct:]\s]+) tanımı yerine (\S+) tanımını kullanmalısın. Burada ki \S boşluk olmayan karakterleri simgeler. |
|
#3
| ||||
| ||||
|
Sunucumuz üzerinden cevap verdim ama, konu altına da fikrimi belirteyim. Kullandığın kodu hatırlıyorum regex filtresini Difuzyon yapmıştı. Difuzyon'un söylediği seçenek dışında kısmen çalışabilecek şöyle bir seçenekte olabilir; - \S yani [^[:space:]] Non-Space operatörüne biraz özellik ekleyebiliriz. Örnek: Kod: on *:input:*:{
if !$istok(/ ! .,$left($1,1),32) {
if $window($active).type == channel { msg $active $regsubex($1-,/([^[:space:]\*\?\,\.\:\51\50\{\}\^\\\%\<\>\/\=\@\;\&\!\"\#\'\]\[]+)/gi,$iif(\1 ison #,\1,\1)) }
elseif $window($active).type == query { msg $active $regsubex($1-,/([^[:space:]\*\?\,\.\:\51\50\{\}\^\\\%\<\>\/\=\@\;\&\!\"\#\'\]\[]+)/gi,$iif(\1 == $active,\1,\1)) }
halt
}
} Nick içerisinde izin verilen karakterler bellidir. { } _-`| gibi (ve rakamlar.) Nick içinde eğer bu karakterlerden birisi geçiyorsa, sonradan nickin başına veya sonuna bunları koyduğunda kod istediğin şekilde çalışmaz.. Örnek veriyorum kullanıcının nicki D{aR}k ise ve sen nickin sonuna veya başına D{aR}k} (Bracket) ilave edip yazarsan istediğin sonucu vermez. Nickin içinde olmasını istediğin karakterleri Non-Space ve diğer eşleşmeyenlerin filtre edildiği bölümden(([^[:space:]\*\?\,\.\:\51\50\{\}\^\\\%\<\>\/\=\@\;\&\!\"\#\'\]\[]+) yani burdan) çıkarmalısın. Eğer nickin içinde { } bunlar olduğunda da kod işlem yapsın istiyorsan; regexin içinden \{\} bu şekilde silmelisin, punct karakter çakışmasını engelleyip kodu çalıştırabilmek adına. . -- Biraz uzun bir yol oldu farklındayım ve kısmi bir yol İyi forumlar.
__________________ Vi veri veniversum vivus vici.. |
![]() |
| Etiketler |
| code, problem, yazı |
| Seçenekler | |
| |