![]() |
Event dersleri Dersin yazarı: UOnur nickli arkadaşımızdır... ON JOIN Kanala birisi Girdiginde harekete Geçen event'tir... Kullanımı: on seviye:JOIN:#kanal:komutlar Notlar: #kanal : Event'in hangi kanalda etkili olacagini belirler.Buraya sadece # yaparsaniz event tüm kanallarda calisir... seviye : Event'i Seviyelendirilmis kullanicilarda geçerli yapar...Burada * yazarsaniz event tüm kullanicilarda calisir... komutlar : Event icerisinde uygulacak komutlari belirler... Örnek: Mesela /auser 123 UOnur yaparak UOnur nickini 123 seviyeden mircinize Eklediniz ve kanala giren kisi 123 seviyesinde ise ona "hos geldin" gibi bir mesaj atmak istiyorsunuz...Yapacaginiz olay Söyledir..: on 123:Join:#turkcoders:msg $nick #turkcoders kanalina hos geldin... ON PART Kanaldan birisi Ciktiginda harekete Geçen event'tir... Kullanımı ON JOIN event'i ile aynidir... on seviye:part:#kanal:komutlar Az Önce yaptigimiz islemin bir benzerini yapip bu seferde Kanaldan cikan 123 seviyeli kullanicilara "güle güle,yine bekleriz..." mesajini yollayalim. on 123:Part:#turkcoders:msg $nick güle güle, $chan kanalina yine bekleriz... Not: Event'larda $chan olayin geçtigi kanal yerine geçer...Yani yukaridaki ornekte $chan #turkcoders 'in yerini alir... ON KICK Kanaldan birisi atildiginda harekete geçen Event'tir. Kullanımı: on seviye:kick:#kanal:komutlar Örnek: Mesela biri UOnur #turkcoders nickini kanaldan atarsa bizde Onu kanaldan atalim... Kod: on *:Kick:#turkcoders:{ if ($knick == UOnur) { .kick $chan $nick UOnur Nickini Bu Kanaldan Atamazsin Çünkü O Forumda Moderator... } } Notlar: Burada $knick Kanaldan atilan Kisi yerine Geçer... $nick ise Kanaldan atar kisi yerine kullanilir... ON BAN Kanaldan Birisi banlandiginda harekete geçen event'tir... Kullanımı: on seviye:ban:#kanal:komutlar Örnek: Mesela UOnur Nicki #turkcoders ve #mircscripting kanallarinda banlanirsa Önce UOnur'un Banini Acsin Sonrada O Kisiyi Banlayip Kanaldan Atsin... Kod: on *:Ban:#turkcoders,#mircscripting:{ if ($bnick == UOnur) { .mode $chan -b UOnur .mode $chan +b $nick .kick $chan $nick UOnur'u Banlayamazsin Çünkü o Forumlarda Moderator... } } Notlar: Bu Event'te $bnick Banlanan Nick yerine geçer... Bazen Banlari Kisiye Degilde Adreslere Atariz... (Mesela: /mode +b #mircscripting *!*@0900.turkcoders.forumlari* gibi...) O zaman $bnick Geçersiz olur.Bunun yerine Banlanan adresi ifade Eden $banmask gelir... ON TEXT Birisi Sizin Bulundugunuz Kanala yada Size Mesaj attiginda Harekete Geçen Event'tir. Kullanımı: on seviye:text:karsilasanyazi:#kanal,nick:komutlar Notlar: karsilasanyazi : bu Kisinin bize yada bizim bulundugumuz bir kanala mesaj attiginda yazdiklarinin icinde herhangi bir yazi gectiginde Event'in harekete gecmesini istedigimiz Zaman kullanilir... (Asagidaki örnekte oldugu Gibi icinde "selam" yazisi geçerse asagidaki Event calisir...) Buraya * yazdigimizda Event'i kelimelerle sinirlandirmamis oluruz... #kanal,nick :Bu Bölüm Sayesinde Event'i Dilersek Sadece herhangi bir kanal(lar) yada nick(ler) ile sinirlandirabiliriz...Buraya * yazdigimizda Eventi Kisi yada Kanalla sinirlandirmamis oluruz, Eger Sadece Özele gelen mesajlarla sinirlandirmak istiyorsak ? yazmamiz, kanallarla sinirlandirmak istiyorsak # yazmamiz yeterlidir... Örnek: Diyelimki biz UOnur nicki özelimize içinde "selam" geçen bir yazi yazarsa Bizde ona "aa sen Bizim UOnur'musun ?" gibi bir mesaj Gönderelim... Kod: on *:text:*selam*:?:{ if ($nick == UOnur) { msg $nick aa sen Bizim UOnur'musun? } } ON OPEN/CLOSE Bir Özel/kanal penceresi Açıldığında (ON OPEN) yada Siz bir pencereyi Kapattığınızda (ON CLOSE) Harekete Geçen Event'tir. Kullanımı: on seviye:open:#kanal,nick:karsılasanyazı:komutlar on seviye:close:#kanal,nick:karsılasanyazı:komutlar ON CONNECT/DISCONNECT Bir Sunucuya Bağlandığınızda (ON CONNECT) Yada Bir Sunucudan Koptuğunuzda (ON DISCONNECT) Harekete Geçen Event'tir. Kullanımı: on seviye:connect:komutlar on seviye:disconnect:komutlar Örnek: Bir Sunucudan Bağlantımız Koptuğunda Aktif Olan Pencere "*** Sunucusundan Bağlantınız Koptu" Gibi Bir yazı Çıksın İstiyoruz...(*** yerine Bağlantının Koptuğu Sunucu) on *:Disconnect:echo -a $server Sunucusundan Bağlantınız Koptu Notlar: $server Olayın Geçtiği Sunucuyu ifade eder. -a Parametresi Yazının O an açık Olan Pencerede Çıkmasını Sağlar... ON OP\DEOP Birisi Sizin Bulunduğunuz Her Hangi Bir kanalda OP olduğunda (ON OP) yada Deop Olduğunda (ON DEOP) Harekete Geçen Event'tir. Kullanımı: on seviye:op:#kanal:komutlar on seviye:deop:#kanal:komutlar Örnek: Herkez Sürekli Soruyor.OP Teşekkür Olayı nasıl Oluyor Filan İşte Basit Bir OP Teşekkür Kodu Yazalım... Kod: on *:Op:#:{ if ($opnick == $me) { .msg $chan $nick : Op İçin Teşekkür Ederim... } } Notlar: $opnick ON OP'ta Op olan kişiyi, ON DEOP'tada Deop olan kişiyi ifade Eder. $nick ise ON OP'ta Op yapan yada ON DEOP'ta Deop yapan Kişiyi ifade eder. $me Bilindiği gibi Bizim Nick'imizi İfade Eder ;) $chan ı Söylemiyorum Artık.Onun ne İşe yaradığını Hala Öğrenemediysek Bırakalım bu işleri :) ON VOICE\DEVOICE Birisi Sizin Bulunduğunuz Her Hangi bir Kanalda Voice Olduğunda (ON VOICE) yada Devoice Olduğunda (ON DEVOICE) Harekete Geçen Event'tir. Kullanımı: Kullanımları ON OP\DEOP Event'larıyla Aynıdır... Sadece $opnick yerine voice\devoice Olan kişiyi $vnick ifade Eder... on seviye:voice:#kanal:komutlar on seviye:voice:#kanal:komutlar ON HELP\DEHELP Birisi Sizin Bulunduğunuz Kanalda Help yada Halfop Olduğunda (ON HELP) Dehelp yada Dehalfop Olduğunda (ON DEHELP) Harekete Geçen Event'tir. Kullanımı: ON VOICE\DEVOICE ve ON OP\DEOP Event'larıyla Kullanımı Aynıdır... Bundada Tek Değişen $hnick yani Halfop Olan Nick'tir... on seviye:help:#kanal:komutlar on seviye:dehelp:#kanal:komutlar Örnek: Bu Event'ın Kullanıldığına Pek Rastlamadım Ama Halfop için'de bir Tane Teşekkür Kodu Yapalım Kod: on *:Help:#:{ if ($hnick == $me) { .msg $chan $nick : Halfop İçin Teşekkürler :) Yarım filan idare Edecez Artık. } } ON INVITE Birisi Sizi Herhangi Bir Kanala Davet Ettiğinde Harekete Geçen Event'tır. Kullanımı: on seviye:invite:#kanal:komutlar ON NICK Birisi Nick Değiştirince Harekete Geçen Event'tır. Kullanımı: on seviye:nick:komutlar Örnek: Diyelimki Birisi Nick Değiştirdiğinde "*** nick Değiştirdi Yeni Nicki : " gibi Bir Yazı Çıksın. Kod: on *:Nick:{ echo -a $nick Nick Değiştirdi Yeni Nicki : $newnick halt } Notlar: $newnick adındanda Biraz Anlaşıldığı Gibi Değişen Nicki İfade Eder... halt Öncedende Anlattığım gibi ON NICK Event'larını Sonlandırır... ON MODE Sizin Bulunduğunuz Her Hangi Bir Kanalın Modları Değiştiğinde Harekete Geçen Event'tir. Kullanımı: on seviye:mode:#kanal:komutlar Örnek: Diyelimki Birisi #turkcoders kanalının Modlarını Değiştirirse "*** nickli Kişi Kanalın Modunu Değiştirdi.Modlar : " gibi Kanalın Modlarınında Yazdığı bir mesaj Çıkaralım... Kod: on *:Mode:#turkcoders:echo -a $nick Kanalın Modunu Değiştirdi.Modlar : $1- Not: $1- Burada Değişen Modları Belirtir... ON SERVERMODE Eventi İle Görevi ve Kullanımı Aynıdır... ON USERMODE Bu Event Bizim Modumuz Değiştiğinde Harekete Geçer... Kullanımı: on seviye:usermode:komutlar Örnek: Az Önce ON MODE'da yaptığımız İşi Bu Kez Bunda Yapalım... Kod: on *:Usermode:echo -a Modunuz Değişti.Modlar : $1- ON SERVEROP Server Tarafından Sizin Bulunduğunuz Bir Kanalda Biri OP Olduğunda Harekete Geçen Eventtir. Bazen * irc.turkcoders.com sets mode: +o UOnur Gibi Mesajlar Görürsünüz İşte O Anlattığım Olaydır. Kullanımı : on seviye:serverop:#kanal:komutlar ON RAWMODE Sizin Bulunduğunuz Bir Kanalda Biri Başka Birinin Modunu Değiştirdiğinde Harekete Geçen Eventtir. Kullanımı: on seviye:rawmode:#kanal:komutlar Örnek: Diyelimki birisi Sizin Modunuzu Herhangi bir Kanalda +v yaparsa Siz Bu Modu -v Yapın... Kod: on *:Rawmode:#:{ if ($1 == +v) && ($2 == $me) { mode $chan -v $2 } } ON QUIT Sizin Bulunduğunuz Bir Kanaldan Birisi IRC'den Çıkarsa Bu Event Harekete Geçer... Kullanımı: on seviye:quit:komutlar Gayet Basit Bir Kullanımı vardır. Örnek: UOnur IRC'den Çıkarsa Yazı Çıksın. Kod: on *:Quit:{ if ($nick == UOnur) { echo -a $nick IRC'den Ayrıldı... } } ON NOTIFY\UNOTIFY ON NOTIFY Notify Listesindeki birinin Sunucuya Bağlandığında Harekete Geçer... ON UNOTIFY ise Tam tersi.Notify Listesindeki birisi Sunucudan Koparsa Harekete Geçer... Kullanımlar: on seviye:notify:komutlar on seviye:unotify:komutlar Örnek: UOnur (yani ben :p) Sizin Notify Listenizde ve O Sunucuya Bağlandığında "UOnur Bağlandı." Çıktığında "UOnur Koptu" Gibi Bir yazı Çıksın... Kod: on *:Notify:{ if ($nick == UOnur) { echo -a UOnur Bağlandı. } } on *:UNotify:{ if ($nick == UOnur) { echo -a UOnur Koptu. } } Fazladan Notify Bilgisi: Listeye Kişi Eklemek için: /notify nick not Kişi Silmek için: /notify -r nick Listeyi Girmek İçin: /notify -l Bu özelliği Kapatmak için: /notify off Açmak için: /notify on |
Yanıt: Event dersleri on *:start: { .server irc.ircforumlari.net } on *:Connect: { .describe $irc.ircforumlari.net PaniK Yok DontpaniC OnLine.. } alias cikis { .timer 0 10 /msg # DontpaniC cIkmak Üzere.. .timer 0 12 /timer10 off .timer 0 13 /msg # DontpaniC Gidiyo ßak:) .timer 0 15 /timer13 off .timer 0 /quit } ßakarak Kendim ßişiLer Yapmaya caLI$tIm. Ögrenmeye caLısıyorum Cünkü. Cok YardImcI oLdu. En azIndan artIk "on *: " ßöyLe ßa$LayanLârI ßiLiyorum $imdiLik :P Yapmaya caLıstıkLarımda HataLarım varsa DüzeLtir misiniz Arkada$Lar. Sadece ßurdan aLIp Remotesine YapI$tIranLar UtansIn ;) ßi de echo -a faLan echoyu anLÂmâdIm ßen :S $imdiden TşkrLer Arkada$Lar. KoLay geLsin. |
Cevap: Event dersleri Alıntı:
|
Yanıt: Cevap: Event dersleri Alıntı:
Ha SöyLemeyi Unuttum :S Echo -a faLan ßunu anLâmâdIm :( |
Cevap: Event dersleri /echo -a selam > aktif pencereye yazar. /echo -s selam > statüs penceresine yazar. |
Cevap: Event dersleri bu anlatim herkesin isine yarayacak sagol mckruger |
Cevap: Event dersleri desciriße nasıL atıyoruz ßir yazarmısınız ;) |
Cevap: Event dersleri bunu paylaştıgınız için teşekkür ederim çok işime yarayacak bilgiler var ve ögrenecegim çok şey uygulamaya geçmek lazım :p |
Cevap: Event dersleri Çok qüzeL qerCekten .ßen ßu KodLarı CoderLer NasıL yazıyOr FiLan diye Çok duSunuyordum ßuraya Yeni üye oLdum anLadımki oqRenCek Cok Sey var ßu qißi DersLeri ÇoqaltaßilirSenız Mutlu oLucam.Tesk.ßirde on *:Quit:{ kodun içindeki { ßu işaretLerin Ne AmaCla Kullanıldıqını AnLatırsanız Sevinirim. |
Cevap: Event dersleri Alıntı:
on *:start: { .server irc.ircforumlari.net } start eventi içine { (ayraç) işareti sayesinde komut yerleştirebilme işlemine başlarız ve bunu tam tersi olan diğer işaretle sonlandırırız: } mIRC açıldığı zaman hemen bu event içinde kod işleme koyulacaktır. Yani Ayraçlar içine biz çeşitli kodlar yerleştiririz ve bu kodlarımızı onlarca hatta yüzlercesine kadar çoğaltabiliriz. Ne kadar { işareti açarsan o kadar da } işaretiyle onu kapamak zorundasın. Yukarıdaki örnekte 1 tane { kullanılmış o nedenle kodun en sonuna biz } işaretiyle kapamak zorundayız. Şayet kapamassan eğer ondan sonra kodlar yazmışsan o kodlar çalışmaz. |
Cevap: Event dersleri Mrb arkadaşlar, Bana yardım etmenizi istiyorum.Acaba kanalda !kb nick yazdığımızda belirtilen niki atma gibi bi kod hazırlayabilir misiniz.(Ama sadece kanaldaki yetkililer için çalışmalı bu kod, userlar için değil) Teşekkürler... |
Yanıt: Cevap: Event dersleri Alıntı:
Kod: on *:text:*:#:{ |
Cevap: Event dersleri Gürkan, if !kb isin $1 gibi bir kullanım, tam olarak doğru değildir. Çünkü biz, ilk kelimeyi ($1) !kb olarak sabitlemek istiyoruz. ISIN ise, "içinde geçiyorsa" anlamını taşımaktadır. Örneğin bir opun, "Komut!kb şeklinde miydi?" gibi bir text yolladığını varsayalım; kod, "şeklinde" nickine, "miydi?" sebebiyle kick atmaya çalışacaktır. Hatta bu olay için if döngüsü bile kurmaya gerek yok. On TEXT içerisindeki, "karşılaşan-yazı" bölümüne "!kb *" yazarak olayı bitirebiliriz. Yani: Kod: on *:text:!kb *:#:$iif($nick !isop #,.msg # $+($nick,:) Sen operatör müsün?,ban -k # $2 $3-) Gibi. |
Cevap: Event dersleri çok güzel anlatmışsın Kardeş bir kaç ekleme yapayım ; on Topic ; Kanalın topici değiştiğinde/değiştirildiğinde harekete geçen eventtir PHP- Kodu: on Start ; her hangi bir addon veya mirc açtığımızda ilk harekete geçen event PHP- Kodu: |
Cevap: Event dersleri Sa kanalda ßanlar acıldıgında harekete gecen event nedir . mesela on seviye:unban:kanal,nick:komutlar v.s Simdiden Tesk ederim. |
Cevap: Event dersleri Alıntı:
Sana daha öncede bahsetmiştim biraz daha ayrıntılı açıklayım. Eğer birisi kanalda başka birisinin modesini değiştirirse sende bununla ilgili işlem yapmak istiyorsan rawmode eventini kullanıcaksın. Kırmızıyla belirttiğim yeri modelerini değiştir editle. |
Cevap: Event dersleri on *:Op:#:{ if ($opnick == $me) { .msg $chan $nick : Op İçin Teşekkür Ederim... } } bu kodu istedigimde calısması ve istedigimde calısmaması icin ne yapmalıyım. simdiden teskler. |
Cevap: Event dersleri Alıntı:
Kod: #op on /.enable #op ---> Event'in aktif olmasını sağlar. /.disable #op ---> Event'ın deaktif olmasını sağlar.İşlem yapmaz. |
Cevap: Event dersleri on seviye:rawmode:#kanal:komutlar Örnek: Diyelimki birisi Sizin Modunuzu Herhangi bir Kanalda +v yaparsa Siz Bu Modu -v Yapın... Kod: on *:Rawmode:#:{ if ($1 == +v) && ($2 == $me) { mode $chan -v $2 } } O Halde Beni @ % & ~ Old. Kanallarda Birisi Banlarsa Ben Otomatikman Banımı Nasıl Acarım ? on *:Rawmode:#:{ if ($1 == +b) && ($2 == $me) { mode $chan -b $me } } Seklindemi ? |
Cevap: Event dersleri Alıntı:
on *:Ban:#:{ if ($Bnick == $me ) { .mode $chan -b $Bnick } } bu sekilde acabilirsin birisi seni banladığında |
Cevap: Event dersleri Güzel paylasım , tskler |
Cevap: Event dersleri Event Konusu İçin Te$ekkürLer Hocam Peki ßu EventLeri KuLlanrak ßi !temizle Eventi Yazdiq Ama ßu Eventi Sadece ßenim KuLLanmami İstiyorum, Yani Sadece ßen !temizle Dediqimde TemizLiceq ßunu NasiL Yapacaqiz ? on *:text:*!temizle*:#:{ msg $chan . msg $chan . msg $chan msg $chan . msg $chan Lutfen Sohbete Devam .. } ßuraya Kadar Okey ßunu OpLarin KuLLanacaqi $ekiLede GetirebiLiyorum Ama Sadece Kendim KuLLanmak İstiyorum $imdiden Te$ekkürLer.. |
Cevap: Event dersleri Kod: alias temizle { |
Cevap: Event dersleri ExLove Hocam Zahmet Edip Cevap Vermi$sin SaoL, ßen ßunu aLiases DeqiL Event oLarak İstiyorum. Script`e EkLediqim EventLeri Sadece ßenim KuLLanmam Gerek, NasiL anLatsam inputLar qibi Ama Eventi Sadece ßen kuLLanayim ßunu YapabiLirsem AkLimda ßir Kac $ey Var OnLari GercekLe$tirebiLirim Sanirim.. |
Cevap: Event dersleri on 1:input:#:{ if ($1 === !temizle && $nick == xkorpix) { msg $chan . msg $chan . msg $chan . msg $chan . msg $chan Kanal geneli tarafımdan silindi iyi sohbetler. } } Bu şekilde yaparsan sadece senin dediğini yapar. |
Cevap: Event dersleri Alıntı:
Kod: menu channel,query { |
Cevap: Event dersleri Yazdığınız mesajın 2 mesaj üstüne bakarsanız ne demek istediğini anlarsınız. !temizle komutunu sadece ben kullanmak istiyorum demiş popups'a eklemek istiyorum dememiş. |
Cevap: Event dersleri Herkese Te$ekkürLer Verdiqi YanıtLar İçin ßundan $u Sonucu ÇıkarmaLiyim EventLeri Kendim KuLLanamicam :) |
Cevap: Event dersleri Pardon ßuda ßi Event Oruc Kafaya Vurmi$ :) |
Cevap: Event dersleri Hocam Peki ßu Evente Zaman EkLesek ßiz !temizle Yazdiqtan Sonra ßi Kac Saniye GecikmeLi Yazsa timer KomutuyLa ßu Mümkünmüdür.. ? |
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. |
Cevap: Event dersleri Çok Te$ekkür Ederim Hocam.. |
Cevap: Event dersleri Örnek: Mesela UOnur Nicki #turkcoders ve #mircscripting kanallarinda banlanirsa Önce UOnur'un Banini Acsin Sonrada O Kisiyi Banlayip Kanaldan Atsin... on *:Ban:#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. |
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. |
Cevap: Events Bu event konusunda nasıl eğitim alabilirim bu konuda yardımcı olabilirmisiniz bana |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 13:24. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk