Merhaba Feragat,
Doğruya biraz daha yaklaşmak adına bilgi paylaşım yapmak istedim...
Kodda ki
regex kısmı sırıtıyor (
Kulakların çınlasın biraz @
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ) , böyle bir tanımlama olmaz. Ki seninde bunu copy/paste geçmeden önce farketmen daha doğru olur. Mutlaka regex'mi kullanmalıyız? Hayır, bir $istok sorgusu (
/,
.,
!) bunları aşmaya yeter.
Kodlamada bir while döngüsü var ve bence bunu egale etmek adına regsubex kullanmak doğru ve önerim
\S+ (kelime haznesi) kullanmak, burdan çıkacak sonuçları "
nick'mi değil mi?" kendi içinde $iif operatörünü kullanarak (if-else) nickse renklendir, değilse normal aktar ve peşinden 2.regsubex ile noktalama işaretlerinin sonuçlarını yansıtabilirsin.
Ekstra olarak
INPUT event'ında kanal/özel (
*) ayrışmasını sağlamamız daha doğru olur kanısındayım.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:input:*:{
if !$istok(/ ! .,$left($1,1),32) {
if $window($active).type == channel { msg $active $regsubex($regsubex($1-,/(\S+)/g,$iif(\1 ison #,$+(04,\1,,),\1)),/([[:punct:]])/g,$+(12,\1,,)) }
elseif $window($active).type == query { msg $active $regsubex($regsubex($1-,/(\S+)/g,$iif(\1 == $active,$+(04,\1,,),\1)),/([[:punct:]])/g,$+(12,\1,,)) }
halt
}
}