IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  odeaweb

>
+
Etiketlenen Kullanıcılar

36Beğeni(ler)

 
 
LinkBack Seçenekler Arama Stil
Prev önceki Mesaj   sonraki Mesaj Next
Alt 27 Ağustos 2015, 10:28   #9
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: kontrol edip op ekletme hk.




Başta söyleyeyim amaç "bilgi paylaşmak". Ara sıra tekrar etmekte fayda var. Kısa ve daha düzenli yazmak açısından..

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
raw 318:*:if (%hmm == ok) { unset %hmm | .disable #w | return } | elseif (%nck) { operserv killclones %nck | msg #admin Bilgi: %nck sunucudan uzaklaştırıldı. | unset %nck | .disable #w }

1-
(%hmm == ok) yerine %hmm = ok kullanılabilir.
mirc.chm de yer almasada == operatörü = ile aynı işlemi görmektedir.

2-
if (koşul) { kodlar }
elseif (koşul) { kodlar }

Bu mantıkta return edip, boş sonuç döndürüp sonlandırmaya gerek yok. Sadece uyan koşulu çalıştırır.
Eğer
if (koşul) { kodlar }
if (koşul) { kodlar }
if (koşul) { kodlar }
yapılmış olsaydı sonunda return veya halt edebilirdiniz.

3-
Eğer byte olarak kısa kod yazmak istiyorsanız

{ komut | komut | komut | komut | komut }

yerine

{
komut
komut
komut
komut
}
kullanın.

yan yana yazdığınız da komut(boşluk)(ayırıcı karakter)(boşluk)komut düzeninde byte miktarı fazla olacaktır.

4-
regex'te /i kullanıyorsanız [a-zA-Z yerine [a-z veya [A-Z yeteri olacaktır. İkisinin yazılmasına gerek yok.

5-
burada herhangi bir stringi modifiye etmeyecekseniz (/ixsmgAZ vs.) $regex(text,/regex/) yerine sadece $regex(text,regex) kullanabilirsiniz.

(!$regex($2,/^#)) yerine !$regex($2,^#) gibi. (sadece /() başlangıç kullanılmış bu da hatalı.)

Eğer daha kısa yazmaksa maksat #* !iswm $2 veya $2 !ischan (ischan'ı denemek lazım :p) kullanabilirsiniz.

6-
on $*:text:/^(!opekle)/iS:#:{

gereksiz Back Reference (Geriye Dönük Referans) kullanmaya da gerek yok (yakalamak yerine eşleştirmek yeterli). /(!opekle)/ yerine /!opekle/ gibi.

7- Bilindiği üzere pek çok event'ta matchtext aranan/yakalanan veri kısmı mevcut. Onu kullanmak sizi gereksiz bir veya bir çok koşuldan kurtarır.

on *:notice:*:?:{
if (!$regex($nick,/^ChanServ$/i)) return
if ($regex($1-,/kanal[ıiİ]\skayitl[ıiİ]\sde[gğĞ][ıiİ]l/Si) || $regex($1-,/erisim\slistesi.+kayitli.+nick/Si) || $regex($1-,/Erisim\sseviyesi.+ve.+arasinda/Si) || $regex($1-,/nick.+kanalindaki\serisim.+zaten/Si) || $regex($1-,/nick.+kanalindaki\serisim\sseviyesi.+degisti/Si) || $regex($1-,/nick.+kanalinin\serisim.+seviyeden.+eklendi/Si) { msg %kanal $1- | .disable #opekle }
}

Bunun yerine

on $*:notice:/kanal[ıiİ]\skayitl[ıiİ]\sde[gğĞ][ıiİ]|erisim\slistesi.+kayitli.+nick|Erisim\sseviyesi.+ ve.+arasinda/Si:*:

şeklinde bir matchtext işi kısaltır gibi.

Khaled amca 7.42 de regex kütüphanesini güncellemiş
-
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
11.Updated libraries to PCRE v8.37.

-
- Güzel işler çıkar bundan
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Şuan iş yerinde olduğum için fazlaca örneklendirme ve detaylama fırsatım olmadı. Yardım edilen kodları elinizden geldiğince açıklayın. Kullanıcı sadece hazırı alıp gitmesin, alırken öğrensin. Başta söylediğim gibi bu anlatımın amacı bilgi paylaşmak ve bunun kimseye zararı olacağını düşünmüyorum. Kolay gele.

__________________
The Ghost of Christmas Past...

mircscripting.net
 
Alıntı ile Cevapla

 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
txt ye veriyi * * arasına ekletme cashmare mIRC Scripting Sorunları 1 04 Haziran 2011 00:14
Kelime Kısaltması Ekletme Tapanx mIRC Scripting Sorunları 3 03 Ocak 2009 16:02
bot'a IP akick ekletme Erdem mIRC Scripting Sorunları 3 25 Ekim 2008 23:07
Mesaj ekletme Leader_19 Eggdrop, NeoStats, BNC 0 22 Eylül 2007 15:19
! ile maske ekletme KiLL mIRC Scripting Sorunları 6 03 Mart 2007 15:14