08 Eylül 2009, 19:52 | #31 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Event dersleri on 1:input:#:{ if ($1 === !temizle && $nick == xkorpix) { var %a = .timer 1 3 %a msg $chan . %a msg $chan . %a msg $chan . %a msg $chan . %a msg $chan Kanal geneli tarafımdan silindi iyi sohbetler. } } !temizle dedikten 3 saniye sonra sayfayı temizler. |
|
18 Şubat 2010, 15:19 | #33 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Event dersleri Örnek: Mesela UOnur Nicki #turkcoders ve #mircscripting kanallarinda banlanirsa Önce UOnur'un Banini Acsin Sonrada O Kisiyi Banlayip Kanaldan Atsin... on * Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. an:#turkcoders,#mircscripting:{ if ($bnick == UOnur) { .mode $chan -b UOnur .mode $chan +b $nick .kick $chan $nick UOnur'u Banlayamazsin Çünkü o Forumlarda Moderator... } } Kalınlaştırdığım kısımda ufak bir yanlışlık olmuş sanırım pek önemli olmasada /ban -k $chan $nick gibi değiştirilirse iyi olur. |
|
29 Ekim 2010, 13:35 | #34 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Events Bazı durumlarda IRC-daemon/Services komutları yetersiz kalır. Bu durumları yapılabilir hale getirilmek için eventler kullanılır. Genellikle remote olarak bilinir. Kullanımı sadece bir mantık üzerine dayalıdır fakat kullanım alanı çok geniştir. Bu eğitimde sadece mantığını kavramaya çalışcaz. - Konu : Events - Genel kullanım : on seviye:işlev: { komutlar } - Yazılıma yardımcı olcak konu : While , client - -> mIRC'in açılmasında, kanala giriş çıkışlarda, yazılan text lerde, nick değişiminde, mode değişiminde yani anlaşıldığı gibi IRC de herhangi bir değişme olduğunda devreye giren EVENT işlemleridir. -> Aşamalı olarak ilerlemeye çalışalım. - Kullanımlar her zaman "on" ile başlar. Seviye dediğimiz mIRC yetki listesidir. Bu listeye eklemek için ; -> /auser seviye nick - Örnek : /auser 999 aLieN Silmek için : /ruser aLieN - Seviye'nin amacı : Seviye yerine genelde "*(yıldız)" işareti kullanırız. Bu herşey anlamına gelir fakat sadece aLieN nickine geçerli olmasını istiyorsanız "/auser 999 aLieN" yaptıktan sonra ; - on 999:işlev: { komutlar } şeklinde yapılır. - - ON START : mIRC programının yeni açılması ile ilgili problemlerde çözüm üretceğimiz yol "START"'dır. Ingilizce "başlamak" anlamındadır ve mIRC'in başlaması olarak düşünebiliriz. - on seviye:start: { komutlar } - Problem1 : mIRC programını açar açmaz IRC.Chat.Com.tr ye bağlanmak ve mIRC programını açtıktan 10 saniye sonra nickimi identify etmek istiyorum. nasıl yaparım? Kod 1 : - Kod: on *:start: { .server irc.chat.com.tr | timer 1 10 identify nick-şifrem }- Fakat bu pek kullanılmaz. Kodlamada yanlışlık yapmak çok doğaldır. Bunu daha göreceli bir derecede getirmek için her komutta satır başı yapılır. örneğin ; - Kod: on *:start: { .server irc.chat.com.tr .timer 1 10 identify nick-şifrem }Detaylı anlatım: on *:start: { -> herkes : start : { .server irc.chat.com.tr -> irc.chat.com.tr sunucusuna bağlan .timer 1 10 identify nick-şifrem -> 1 defaya mahsus 10 saniye sonra nickimin şifresini gir } - AÇIKLAMA: Satırların anlamları tam karşılarında daha iyi anlaşılması için verilmiştir. Kod'da 1 tane { açtığımız için sonunda da 1 tane } belirtmek zorundayız. - - ON CONNECT : mIRC programını açtınız ve herhangi bir sunucuya bağlandınız. Bağlandığımız an ile ilgili problemlerde çözüm üretceğimiz yol "CONNECT"tir. - on *:connect: { komutlar } - Problem2 : Sunucuya bağlandığım zaman otomatik olarak nickimi identify etmek istiyorum ve #help ajoin listemde fakat ban(+b) olduğu için giremediysem kendi banımı açıp kanala nasıl girebilirim? - Kod2 : - Kod: on *:connect: { .identify nick-şifrem .cs unban #help .join #help }Detaylı anlatım: on *:connect: { -> herkes : connect : { .identify nick-şifrem -> nick şifremi gir .cs unban #help -> #help kanalından banımı kaldır .join #help -> #help kanalına gir. } - AÇIKLAMA : Satırların anlamları tam karşılarında daha iyi anlaşılması için verilmiştir. Kod'da 1 tane { açtığımız için sonunda da 1 tane } belirtmek zorundayız. - ON DISCONNECT : Sunucu ile bağlantınızın kesildiği anda ki problemler için çözüm üretceğimiz yol "DISCONNECT"tir. - Problem3 : "Ping Timeout" tan düştüğüm zaman tekrar sunucuya bağlanayım ve oper pass'ımı gireyim. - Kod3 : - Kod: on *:disconnect: { .connect .oper login pass }Detaylı anlatım: on *:disconnect: { -> herkes : disconnect : { .connect -> tekrar bağlan .oper login pass -> oper pass'ımı gir } - AÇIKLAMA : Satırların anlamları tam karşılarında daha iyi anlaşılması için verilmiştir. Kod'da 1 tane { açtığımız için sonunda da 1 tane } belirtmek zorundayız. - - ON OP : Op olduğununuzdurumlarda kullanılan parametre "OP"tir. - Kullanımı : on *:OP:#kanal: { komutlar } - Problem4 : Herhangi bir kanalda bana op verdiği zaman op veren nicke teşekkür etmek istiyorum ve aynı anda kanalda ki bütün banları açmak istiyorum. - Kod4 : - Kod: on *:OP:#:{ if ($opnick == nickim) { .msg $chan teşekkür ederim $nick .cs clear $chan bans } }Detaylı anlatım: on *:OP:#: { -> herkes : op : herhangi-bir-kanal : { if ($opnick == nickim) { -> eğer (op-olan-nick = benim-nickim) { .msg $chan teşekkür ederim $nick -> op olduğum kanala "teşekkür ederim op-veren-nick" yaz .cs clear $chan bans -> op olduğum kanalın ban listesini temizle } } - AÇIKLAMA : Satırların anlamları tam karşılarında daha iyi anlaşılması için verilmiştir. Kod'da 2 tane { açtığımız için sonunda da 2 tane } belirtmek zorundayız. - NOT1 : $channel 'in kısa şekli $chan 'dır ve bunun anlamı bütün kanallardır. NOT2 : $nick olayı gerçekleştiren kişinin nickidir. $opnick op olan nicktir. NOT3 : $hnick halfop olan nick, $vnick voice olan nick anlamına gelmektedir. NOT4 : $me anlamı benim nickim demektir. " if ($opnick == nickim) {" satırında nickim yerine $me de kullanabilirdik. $me kullanılması daha uygundur. - AÇIKLAMA 1 : "IF" bilindiği gibi "eğer" demektir. Belirlediğiniz olayı bu kullanım ile sadece o kanala veya o nicke uygulayabilirsiniz. if kullanımından sonra tekrar bir " { } " komut belirteci gerekmektedir. Bunun içindir ki sonda 2 adet } } kullandık. Kaç tane " { " yaptıysak o sayıda " } " yapmak zorundayız. - - ON TEXT : Text ingilizce yazı, satır anlamındadır. Bot yapımlarında en çok kullanılan kodlamanın başında bu kullanım yer alır. Amacı -> birşey yazıldığı zaman birşey yaz. - Kullanımı : on *:text:yazı:#kanal: { komutlar } - -> Bot yapımlarında kullanılan genel komutlardan 2 örnek yapalım. - Problem5 : Helpbot'un özeline "!selam" yazdığı zaman bot otomatikmen Install mIRC yaparken kurulan yerde ki mIRC klasörü içinde(büyük bir ihtimal ile C:/mIRC) "tanıtım" notepad belgesinde ki yazılar göndersin. - Kod5 : - Kod: on *:text:*:?: { if ($1 == !selam) { .play $nick tanıtım.txt 3000 } }Detaylı anlatım: on *:text:*:?: { -> herkes : text : herhangi-bir-yazı : kanal-belirsiz { if ($1 == !selam) { -> eğer (yazı == !selam) { .play $nick tanıtım.txt 3000 -> "tanıtım" dosyasını nickin özeline yaz. } } - AÇIKLAMA : Satırların anlamları tam karşılarında daha iyi anlaşılması için verilmiştir. Kod'da 2 tane { açtığımız için sonunda da 2 tane } belirtmek zorundayız. - Problem6 : #Helpers kanalına aLieN nicki "!selam" yazınca bot "a.s" desin fakat Matthys nicki yazınca "sanada selam" yazsın. - Kod6 : - Kod: on *:text:*:#: { if ($chan == #Helpers) { if ($1 == !selam) { if ($nick == aLieN) { .msg #Helpers a.s } if ($nick == Matthys) { .msg #Helpers sanada selam } } } }Detaylı anlatım: on *:text:*:#: { -> herkes : text : herhangi-bir-yazı : herhangi-bir-kanal : { if ($chan == #Helpers) { -> eğer (kanal == #helpers) { if ($1 == !selam) { -> eğer (yazı == !selam) { if ($nick == aLieN) { -> eğer (nick == aLieN) { .msg #Helpers a.s -> #helpers kanalına "a.s" yaz } if ($nick == Matthys) { -> eğer (nick == Matthys) { .msg #Helpers sanada selam -> #helpers kanalına "sanada selam" yaz } } } } - AÇIKLAMA : Satırların anlamları tam karşılarından daha iyi anlaşılması için verilmiştir. Kod'da 4 tane { belirttiğimiz için sonunada 4 tane } yapmak zorundayız. - NOT1 : $chan olayın olduğu kanal NOT2 : yazılan yazının ilk kelimesi NOT3 : $nick olaydan etkilenen nick Anlamlarına gelmektedir. - ON QUİT : Sunucudan çıkışlarda kullanılan parametre "QUIT"tir. - Kullanımı : on *:quit: { komutlar } - Genel NOT : Kodları "ALT+R" tuşlarına basarak karşınıza çıkan kutucuğa yazıcaksınız. ( Açılmıyorsa ALT+A yapıp remote bölümüne geçiniz. ) Genel NOT : Kodlarda ki satır başı için bırakılan boşlukları bırakmanız gerekmiyor. Script onu otomatik olarak ayarlıyor. Genel NOT ; == anlamı eşit === anlamı eşit ama karakter büyük küçük harflerde çalışmaz. != anlamı eşit değil gibi bir çok tarif edilme yöntemi mevcut. bunları araştırmalarınız sonucu öğrenebilirsiniz. ------------------------ Events genel mantığı budur. eventlar bu kadar mı? tabi ki değil. birçok event daha mevcut (logon, notify, tabcomp, dccserver vs..). bunları kullandıkça ve kolaylaştırmak istedikçe daha iyi kod yazabilirsiniz. ingilizceniz var ise size önerebiliceğim en güvenilir kaynak ; /help kolay gelsin.. ArkadasLar word arsivimde denk geLdım sanırım Ders aline ait. |
|
Etiketler |
dersleri, event, events, mirc, mirc download, mirc indir |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
EVENT | vioLeta | Bilgisayar Sözlüğü | 0 | 03 Ocak 2020 13:36 |
Event'lar | SeRDaR406 | mIRC Scripting Görüntülü Dersler | 1 | 07 Haziran 2015 03:47 |
Event Kullanımı.. | Lord_Raiden | mIRC Scripting Sorunları | 4 | 13 Kasım 2008 12:49 |