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.

Swenson 04 Temmuz 2008 12:35

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...

Gurkan 04 Temmuz 2008 17:53

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

Swenson Nickli Üyeden Alıntı (Mesaj 499374)
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...

Kod:

on *:text:*:#:{
  if !kb isin $1 {
    if $nick !isop $chan {
      .msg $nick $nick $+ : Sen Operatormüsün ?    }
    else {
      .ban -k $chan $2 $3-
    }
  }

"!kb nick sebeb " Şeklinde kullanıyosun. Ayrıca konun yeri burası değil mIRC Scripting yardım bolümünde açman gerekliydi.

Regex 04 Temmuz 2008 19:32

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.

KoRTeS 02 Eylül 2008 12:19

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 1:TOPIC:#mIRC:/msg $chan topicle oynamayın! 

bu kodda mirc kanalının topici değişirse bizde diyelim topicle oynamayın.

on Start ; her hangi bir addon veya mirc açtığımızda ilk harekete geçen event
PHP- Kodu:

on *:start:{ echo -a bugün $date saat $time 

burda script açıldığı gibi aktif pencereye gün ve saati yazdırır

Elix 13 Nisan 2009 01:43

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.

uFuK 13 Nisan 2009 17:57

Cevap: Event dersleri
 
Alıntı:

on *:Rawmode:#:{
if ($1 == -b) { komutlar }
}

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.

Elix 23 Nisan 2009 12:48

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.

SeRDaR406 23 Nisan 2009 13:31

Cevap: Event dersleri
 
Alıntı:

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

Kod:

#op on
on *:Op:#:{
if ($opnick == $me) {
.msg $chan $nick : Op İçin Teşekkür Ederim...
}
}
#op end



/.enable #op ---> Event'in aktif olmasını sağlar.

/.disable #op ---> Event'ın deaktif olmasını sağlar.İşlem yapmaz.

Juventus 27 Nisan 2009 17:16

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 ?

GuneL 04 Haziran 2009 13:43

Cevap: Event dersleri
 
Alıntı:

KaLpsizDj Nickli Üyeden Alıntı (Mesaj 697318)
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 ?

hayır

on *:Ban:#:{
if ($Bnick == $me ) {
.mode $chan -b $Bnick
}
}

bu sekilde acabilirsin birisi seni banladığında

Scream 09 Haziran 2009 09:55

Cevap: Event dersleri
 
Güzel paylasım , tskler

xkorpix 06 Eylül 2009 03:51

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..

eXLove 07 Eylül 2009 13:29

Cevap: Event dersleri
 
Kod:

alias temizle {
  //say Fışırrr
  //say Fışırrrrr
  //say .
  //say 7Çekiliiiiiiin Çekiliiiiin Süpürcez Heralde (:
  //say .
  //say Fışırrr
  //say Fışırrrrr
  //say Fışırrr
  //say Fışırrr
  //say Fışırrrrr
  //say Fışırrr
  //say .
  //say 4Root Admin 7Su Döküver Toz Kalkmasın
  //say .
  //say 4Network Adminler 7Sizde Kapın Birer Süpürge Bitsin Hemen :)
  //say .
  //say 4IRCop'lar 7Ve 4Servicesler 7Siz İzleyin 4Network 7olunca Süpürcenis :D
  //say .
  //say Fışırrrrrr
  //say Fışırrr
  //say Fışırrrrrr
  //say Fışırrrr
  //say Fışırrr
  //say 7Tamam Sakin ! Süpürdük 4Adminler 7Solsun :)
}


xkorpix 07 Eylül 2009 22:30

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..

Voltage 07 Eylül 2009 23:54

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.

dennis 08 Eylül 2009 00:09

Cevap: Event dersleri
 
Alıntı:

Voltage Nickli Üyeden Alıntı (Mesaj 797432)
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.


Kod:

menu channel,query {
  temizle:temizle
}
alias temizle {
  msg $chan .
  msg $chan .
  msg $chan .
  msg $chan .
  msg $chan Kanal geneli tarafımdan silindi iyi sohbetler.
}

Sanırım anlaşmazlık olmuş ben arkadaşın dediğinden şunu anlıyorum

Voltage 08 Eylül 2009 06:25

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ş.

xkorpix 08 Eylül 2009 16:54

Cevap: Event dersleri
 
Herkese Te$ekkürLer Verdiqi YanıtLar İçin ßundan $u Sonucu ÇıkarmaLiyim EventLeri Kendim KuLLanamicam :)

xkorpix 08 Eylül 2009 16:58

Cevap: Event dersleri
 
Pardon ßuda ßi Event Oruc Kafaya Vurmi$ :)

xkorpix 08 Eylül 2009 17:04

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.. ?

Voltage 08 Eylül 2009 19:52

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.

xkorpix 09 Eylül 2009 01:25

Cevap: Event dersleri
 
Çok Te$ekkür Ederim Hocam..

Juventus 18 Şubat 2010 15:19

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.

GeCeLer_PRenSi 29 Ekim 2010 13:35

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.

bLumery 24 Kasım 2010 19:31

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