![]() |
|
|||||||
| Tutorials - Dersler mIRC Scripting hakkında yazılmış özel dersleri bulup, paylaşabileceğiniz bölüm. |
| Yeni Konu aç Cevapla |
|
|
LinkBack | Seçenekler | Stil |
|
|||
|
WingmaN güzel bir konuya değinmiş bende ek açıklamalar yapayım.
- /return [value] scripting geri dönüş işlevlerini yapmak için kullanılır. E tabiki [value] kısmı girilmesi zorunlu alan değildir. Unutmayın ki eğer bir komut tanımında ek kullanımlar [] bracket-ları içerisinde tanımlanıyor ise, girilmesi mecbur alan değildir. Bu bilgiye bakarak, /return komutu aslında belirtilen değeri döndürmek için kullanılır. Lakin eğer herhangi bir değer girilmez ise, sorgu veya tanım sonucu gerçekleşecek işlem olmaz. Dolayısıyla boş sonuçlandırma işlemi gerçekleşir. Yani aslında /return komutu durdurmak için değil, sonuçlamak için kullanılır. Örneğin; Kod:
alias deneme return Bu bir denemedir. Bunun için; Kod:
//echo -: $deneme Bu bilgilere ek olarak /return komutuna bağlı olarak çalışan bir tanımda vardır mIRC-de. Tanım ismi: $result Bu tanım /return komutundan dönen veriyi göstermek/tanımlamak için kullanılabilir. Mesela az önceki örnekde dediğim gibi, sadece /deneme yaptığınızda size bir sonuç dönmez ama internal(iç döngü) olarak bu işlev gerçekleşir demiştim. Bunu en iyi anlamak aşağıdaki örneği kullanalım(yukarıdaki /deneme aliasını mIRC-e ekleyin); Kod:
//deneme | echo -: $result Sanırım buraya kadar anlaşılmayan birşey yok. - Şimdi gelelim /halt - /haltdef olaylarına. /halt komutu genel mIRC Scripting dilinde özellikle Türkiye'de çokca ve bilinçsizce kullanılmaktadır. /halt komutu kelimenin tam manası ile durdurma işlemi yapar. Aynı işlev satırı içerisinde kendisinden sonra gelen hiçbir komutu çalıştırmaz. Yani; Kod:
on ^*:text:*:#:halt | echo -: $1- Örneğin; Kod:
on *:text:*:#: {
if (ibne isin $1-) {
if ($nick isop #) { halt }
else { kick # $nick küfür etme vs. }
}
}
Bunun yerine; Kod:
on *:text:*:#:if (ibne isin $1-) { if ($nick !isop #) { kick # $nick sebeb. } }
Kod:
on *:text:*:#:if (ibne isin $1- && $nick !isop #) { kick # $nick sebeb. }
on *:text:*ibne*:#:if ($nick !isop #) { kick # $nick sebeb. }
Zaten /halt ve /haltdef (halting text) komutunun oluşum sebebi aslında; ^ ön eki içindir. ^ öneki nedir derseniz; Olaylara gerçekleştiği anda müdahale etmenizi sağlar. Daha doğrusu mIRC size o olayı kendi yapısında bildirmeden önce sizin yeni bildirim eklemenize veya bildirimi durdurmanıza yarar. Bu durdurma işlemi local olarak çalışır, global etkisi olmaz. Yani siz; Kod:
on ^*:text:*:#:halt Ayrıca /halt komutunu olay içerisinde kullanmanız bağımsız bir alias komutunada etki eder. Örneğin; deneme2 diye bir aliasımız var ve bu aliasımız bize bildirim yapıyor şöyleki; Kod:
alias deneme2 echo -ae Bu bir bildirim. Kod:
on ^*:text:*:#:halt | deneme2 İşte bu noktada bunun için /haltdef komutuna başvurmanız gerekmektedir. /haltdef komutuda /halt gibi çalışır ama sadece belirtilen olayın size çıktı yapmasını engeller. Ve kendisinden sonra gelen herhangi bir işleve karışmaz/engellemez. Örneğin; Kod:
on ^*:text:*:#:haltdef | echo -ae # kanalına $nick text gönderdi: $1- Aynı şeyi /halt kullanarak da yapabilirsiniz lakin, /halt komutunu /haltdef komutu gibi olay başına değil işlevler sonrasına koymanız gerekmektedir. Örneğin; Kod:
on ^*:text:*:#:echo -ae # kanalına $nick text gönderdi: $1- | halt - Bu komutları doğrulamak için birde $halted tanımı eklenmiş mIRC-e. Tanımımız: $halted Bu tanım olay içerisinde /haltdef veya /halt komutunun kullanılıp kullanılmadığı, daha doğrusu olay içerisinde durdurma işleminin olup olmadığını gösterir. Dönen sonuçlar 2 şekildedir; 1- $true (durdurma işlemi var) 2- $false (durdurma işlemi yok) Örneğin; Kod:
on ^*:text:*:*:haltdef | echo -ea Durdurma işlemi: $halted Diğer örnek; Kod:
on ^*:text:*:*:echo -ea: Durdurma işlemi: $halted - Ve son ön ek bilgimiz (/halt - halting text ile alakalı): & Nedir bu "&" ön eki? Bu ön ek belirtilen olayda herhangi bir durdurma işlemi varsa, aynı olay altına yazılmış başka kodlara müdahale/ilave etmenize olanak sağlar. Bu cümlem size karmaşık gelmiş olabilir, örneklerle daha iyi anlayacaksınız. Örneğin; Kod:
on ^*:text:*:#deneme:halt Ve bu kodun altına aynı olayı kullanarak; Kod:
on *:text:*:#:echo -ae # kanalına $nick text gönderdi: $1- Yani üst tarafta /halt ile durdurmanız 2. olaya veya 3. vb. olaylara müdahale etmenizi sağlamaz. İşte burada bunun için; "&" prefix-ini (önekini) kullanırız. Nasılmı? Kod:
on ^*:text:*:#:halt on &*:text:*:#:echo -ae # kanalına $nick text gönderdi: $1- Ek bilgi: 2. ve diğer (aynı) olaylarda $halted tanımı dönebilir. - Buraya kadar, /return - /halt - /haltdef - $result - $halted hakkında anlaşılmayan birşey yok sanırım. Birde /return komutu ile hemen hemen aynı olan ama işlevi biraz daha farklı olan ve mIRC help içerisinde bulunmayan bir komutunuz daha mevcuttur. /returnex Komutu kullanım şekline göre boşlukların biçimi korumak için kullanılır. mIRC bazı kullanımlarda bazen boşluk karakterlerini görmez, işte /returnex komutu bunun için mIRC-e entegre edilmiştir. Boşluk karakterlerinin yerlerini ve biçimlerini korur. mIRC help dosyasında olmamasının sebebi ise profesyonel kodlamaya girmektedir ve sık kullanılacak bir komut olmamasıdır. - Ek açıklama niteliğinde başladığım konu, neredeyse başlı başına bir makale haline geldi. .) Neyse sağlık olsun ve umarım işinize yarar diyorum. - L4roXyL - Hasan AYDENİZ |
| L4roXyL kullanıcısının bu postunu beğenenler. | ||
Entrance (12-23-2011) | ||
![]() |
| Etiketler |
| halt, haltdef, return |
| Seçenekler | |
| Stil | |
|
|