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

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Dersleri (https://www.ircforumlari.net/mirc-scripting-dersleri/)
-   -   Event dersleri (https://www.ircforumlari.net/mirc-scripting-dersleri/30120-event-dersleri.html)

McKruGer 11 Nisan 2007 18:59

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

DontpaniC 26 Nisan 2007 21:34

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.

MavipikSeL 26 Nisan 2007 22:21

Cevap: Event dersleri
 
Alıntı:

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
}
Uff timerla bunları yaparsan nolur bilemem. :) Ayrıca, .timer 0 /quit'de nedir? /timer (Tekrarlanış) (Zaman) [Komut] Ör/ /timer 1 (1 kere) 10 (10 saniye) /msg #ircforumlari selam gençler. (1 kere 10 saniye sonra, #ircforumlari kanalina, "selam gençler." şeklinde mesaj bırak demek. Umarım anlamışsındır. :)

DontpaniC 27 Nisan 2007 01:06

Yanıt: Cevap: Event dersleri
 
Alıntı:

MavipikSeL Nickli Üyeden Alıntı
Uff timerla bunları yaparsan nolur bilemem. :) Ayrıca, .timer 0 /quit'de nedir? /timer (Tekrarlanış) (Zaman) [Komut] Ör/ /timer 1 (1 kere) 10 (10 saniye) /msg #ircforumlari selam gençler. (1 kere 10 saniye sonra, #ircforumlari kanalina, "selam gençler." şeklinde mesaj bırak demek. Umarım anlamışsındır. :)

Evet atLamısım OrasInI :P Mantık oLarak anLamıs mıyım peqi Hocam :) Ha ßi de Onun Sonunu NasıL ßitiririz :S MantıkLı ßişi ßuLamadIm attIm :P TşkrLer iLgin İcin.

Ha SöyLemeyi Unuttum :S Echo -a faLan ßunu anLâmâdIm :(

MavipikSeL 27 Nisan 2007 11:07

Cevap: Event dersleri
 
/echo -a selam > aktif pencereye yazar.
/echo -s selam > statüs penceresine yazar.

KiLL 27 Nisan 2007 11:24

Cevap: Event dersleri
 
bu anlatim herkesin isine yarayacak sagol mckruger

YaSaK_AsK 19 Mayıs 2007 18:41

Cevap: Event dersleri
 
desciriße nasıL atıyoruz ßir yazarmısınız ;)

Techno 16 Temmuz 2007 23:18

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

Elix 27 Ağustos 2007 15:40

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.

McKruGer 27 Ağustos 2007 18:51

Cevap: Event dersleri
 
Alıntı:

Elix Nickli Üyeden Alıntı (Mesaj 253713)
Ç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.

Üstteki sorulara ve örneklere bakarsak bir örnekten yola çıkarak şunu söyleyebiliriz:

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.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 19:03.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net