IRCForumlari.Net - IRC Sunucu sahipleri ve kullanıcıları buluşma noktası
8 Mart Dünya Kadınlar Günü
 
Go Back   IRCForumlari.Net - IRC Sunucu sahipleri ve kullanıcıları buluşma noktası > mIRC Scripting ve Sohbet Programları > mIRC Scripting Dersleri

Konu Bilgileri: Konuyu Regex, 28-01-2009 (00:31) tarihinde açmış. Bu konu 13 kişi tarafından yorumlanıp 709 kez izlenmiş.

Cevapla
 
LinkBack Seçenekler Stil
Alt 28-01-2009, 00:31   #1
 
Regex - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 15-09-06
Bulunduğu yer: in Google
Mesajlar: 1.784
IRC Sunucusu: YuzukTurk.Com
Tecrübe Puanı: 374
IF Puanı : 9242
IF Derecesi :
Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Lightbulb Timer (Zamanlayıcı) Hakkında Geniş Bilgi

Ders: Timer (Zamanlayıcı) Hakkında Geniş Bilgi
Tarih: 27.01.2009 Salı
Yazan: Regex
Kalite Kontrol: detay

-

Evet arkadaşlar, bu dersimizde /timer komutunu ele alacağız.

Bildiğiniz gibi timerı, yazdığımız birçok kodda kullanıyoruz ve çok kullanışlı bir komut. Kodlarda olmasa bile örneğin bir işlemi daha sonra otomatik olarak yapmak istersek de kullanıyoruz. Bu nedenle, sadece mIRC Scripting ile uğraşan arkadaşlarımızın değil tüm IRC kitlesinin bilmesi gereken bir komuttur.

Öncelikle, Khaled'ın timerı nasıl anlattığına (mIRC help dosyasında) bakalım:

Alıntı:
/timer[N/name] [-ceomhipr] [time] <repetitions> <interval> <command>

Size, bunları tek tek açıklayacağım ve açıklarken de bol örnekle, basite indirgeyerek, elimden geldiğince anlaşılır bir üslup kullanmaya çalışacağım. Aklınıza takılanları, yine bu başlık altından sorabilirsiniz.

Öncelikle basit bir komutla başlayalım. Örneğin; sonsuz sayıda, her beş saniyede bir /ame atarak "Denemedir yahu." yazalım.

Komut: /timer 0 5 ame Denemedir yahu.

Gördüğünüz gibi sunucudan bağlantınız kopmadığı sürece, her beş saniyede bir bütün kanallara "Denemedir yahu." şeklinde ame gönderilecektir.

Biz, bu komutta isimsiz bir timer açtık. Daha doğrusu, ismi mIRC'in rastgele ve kaçıncı timersa ona göre vermesine olanak tanıdık. Eğer komutu "/timerdene 0 5 ame Denemedir yahu." olarak yazsaydık, bu timerın ismi "dene" olacaktı.

Peki açılan bir timerı nasıl kapatırız?

Son derece basit: /timerzamanlayıcının-adı off

Burada zamanlayıcının-adı olan kısma, timerın ismini yazacaksınız. Eğer tüm timerları aynı anda kapatmak istiyorsanız da /timers off şeklinde kullanacaksınız. "s" takısı, zaten İngilizce'de çoğul anlamına gelmektedir; bizdeki lar-ler gibi.

Ayrıca timerlarda, whildcard da kullanabiliyoruz. Mesela; "a", "aa" ve "abc" adlarında üç timerımızın olduğunu varsayalım. /timera* off yazdığımızda, "a" ile başlayan tüm timerları kapatmış olacağız ve şu şekilde bir yanıtla karşılaşacağız:

Alıntı:
* 3 Zaman uyumluluğu a* durdu

Parametrelere ve timer hakkındaki identifierlara geçmeden önce, bu kısmı iyice kavramanız açısından kodlar içerisinde de timerın kullanımını anlatmak istiyorum. Yine fazla karışık olmayan, basit bir kod yazalım ki daha kolay bu işi kavrayın. Misal; "#Life" kanalına her girene, iki saniye gecikmeli olarak hoş geldin dedirtelim (açılan timerlar, giren kişilerin rumuzları olsun) ve yine bu kanalda Lifeman rumuzu, "!dur" komutunu kullandığında aktif olan tüm timerları kapatalım.

Kodumuz:

Kod:
on !*:join:#Life:$+(.timer,$nick) 1 2 .msg # Hoş geldin, $+($nick,.)
on *:text:!dur:#Life:if $nick == Lifeman { .timers off }

Bir de timerlarda zaman faktörü vardır. Mesela 12:00'de işlem yapacak bir timer oluşturabiliriz.

Örnek komut: /timer 12:00:00 1 1 echo Öğlen oldu.
Örnek komut: /timer 02:30:00 1 1 echo Saat gecenin iki buçuğu oldu. Yat artık yahu.

Tüm noktalar anlaşıldıysa, parametreleri açıklamaya başlıyorum.

Yukarıda help dosyasında, verildiği gibi /timer komutunun birçok parametresi mevcuttur.

Peki bu parametreler nelerdir ve ne işe yararlar?

-c: Bazı nedenlerden ötürü bir timer, normâl şartların dışında çalışıyorsa bu parametre kullanıldığında timer, işlemini hemen uygular. Aksi takdirde, herhangi bir işlem yapmaz.
-e: Timerı çağırmak için kullanılır. Yani normâlde timerın, daha işlem yapmasına zaman varken bu parametreyle bir timerı çağırdığınızda işlem hemen yapılacaktır. Örneğin: "örnk" adında, yedi (7) saniyeye ayarlı bir timerımız olsun. Biz, /timerörnk -e yazdığımızda bu timer, yapacağı işlemi derhâl uygulayacaktır.
-h: Altta açıklayacağım, -m parametresiyle aynıdır.
-i: Multi (çoklu) bir sunucuda bağlantı kuruluysa, timerı bu sunucuda da aktif kılar.
-m: Saniye bölümündeki rakamı, milisaniye olarak algılar. Yani "/timer -m 5 15 echo Deniyoruz." komutunu kullandığınızda, aynı saniye içerisinde (milisaniye en küçük zaman birimidir), beş defa "Deniyoruz." yazısının çıktığını göreceksiniz.
-o: Bu parametre girilmezse açılan timer, sunucuyla bağlantımız koptuğunda (disconnect) otomatik olarak kapatılır. Fakat bu parametre eklenirse, bağlantı kopsa da timer, çalışmaya devam eder.
-p: Belirtilen timerı durdurur (Örnek: /timerhedehödö -p).
-r: -p parametresiyle durdurulan timerı, yeniden çalıştırır (Örnek: /timerhedehödö -r).

Parametreleri de açıkladığıma göre şimdi sıra geldi, $timer() identifierına. Bu identifier, bu komutla işlem yapacakların bilmesi gereken en önemli noktalardan birisidir.

$timer() identifierı ne işlere yarar ve nasıl kullanılır?

Bu identifier, yukarıda da dediğim gibi /timer komutunda işlem yapmak isteyenler için olmazsa olmazdır. mIRC'de kaç adet timer olduğunu kontrol etmeye, verilen sıra numarasına ait timerın ismini almaya, verilen isimdeki timerın sıra numarasını almaya, ismi veya sıra numarası verilen timerın kaç kez tekrar edileceğine ve daha birçok işe daha yarar. Yeter ki siz öğrenmek isteyin.

Açıklamaya başlıyorum;

$timer(0): Toplam kaç adet timer olduğunu gösterir. Eğer hiç timer yoksa "0" olarak döner.
$timer(1): Bir numaralı timerın adını verir. Mesela hiçbir timerın açık olmadığını farz edelim ve /timeranla bilmem-ne gibi bir timer açmış olalım. $timer(1) yazıp, TAB'a bastığımızda "anla" şeklinde dönecektir.
$timer(2): İki numaralı timerın adını verir. Yukarıdaki gibi numaradan isim alıyoruz yani.
$timer(lfmn): "lfmn" isimli timerın, numarasını verir. Bu da yukarıdakilerin tam tersine bir iş yapar. Yani isim ver, numara al.

Proplarsa aşağıda;

$timer(<timer-ismi>|<timer-sıra-numarası>).com: İsmi veya sıra numarası verilen timera, girilen komutu verir. Örneğin: /timerpdnm 1 1 echo com propunu deniyorum. şeklinde bir timer açtığımızı farz edelim. $timer(pdnm).com yazdığımızda, "echo com propunu deniyorum." komutunu verecektir.
$timer(<timer-ismi>|<timer-sıra-numarası>).time: Eğer ismi veya sıra numarası verilen timer, bir saate tanımlandıysa bu saati verir. Yukarıda timerda saat kullanımını zaten açıkladım; bu nedenle örnek vermeye gerek duymuyorum.
$timer(<timer-ismi>|<timer-sıra-numarası>).reps: İsmi veya sıra numarası verilen timerın, kaç kez tekrarlanacağını verir. Örneğin: /timerpdnm 5 0 echo reps propunu deniyorum. şeklinde bir timer açtığımızı farz edelim. $timer(pdnm).reps yazdığımızda -pdnm olan yere timerın sıra numarası da yazılabilir- "5" olarak dönecektir.
$timer(<timer-ismi>|<timer-sıra-numarası>).delay: İsmi veya sıra numarası verilen timerın, kaç saniye sonra komut uygulamak için tanımlandığını verir. Örneğin: /timerpdnm 2 5 echo delay propunu deniyorum. şeklinde bir timer açtığımızı farz edelim. $timer(pdnm).delay yazdığımızda "5" olarak dönecektir.
$timer(<timer-ismi>|<timer-sıra-numarası>).type: Bu prop, iki şekilde dönecektir. Eğer belirtilen timerı, sunucuya bağlıyken açtıysak "online"; sunucuya bağlı değilken açtıysak da "offline" olarak dönüş yapacaktır. Oldukça basit olduğu için örnek vermeye gerek duymuyorum. İsterseniz siz, deneme yapabilirsiniz.
$timer(<timer-ismi>|<timer-sıra-numarası>).secs: Belirtilen timerın, komutunu uygulamasına ne kadar zaman kaldığını saniye (seconds) cinsinden belirtir. Örneğin: /timerpdnm 1 120 echo Bu proplar dene dene bitmiyor yahu. şeklinde bir timerımızın olduğunu farz edelim. Aradan yirmi saniye geçsin ve $timer(pdnm).secs yazalım; karşımıza "100" rakamının çıktığını göreceksiniz. Gayet basit.

$timer() identifierında birkaç prop daha mevcut fakat bunları anlatmaya gerek duymadım.

Ek bilgi: Bir de $ltimer identifierı mevcuttur. Hemen açıklayayım: Last (son) açılan timerın, ismini verir. Örneğin: /timerdenedimki 1 10 echo Ders biter, deneme bitmez. şeklinde bir timer açtığımızda, bu on saniye içerisinde $ltimer yazıp TAB'a basarsak ya da //echo $ltimer komutunu uygularsak "denedimki" yanıtını verecektir.

Bu identifierın ne kadar kullanışlı olduğunu anlatmak ve uygulamalı olarak göstermek için daha da pekiştirmenizi sağlayacak bir kod yazalım. Mesela /tmrbilgi diye bir aliasımız olsun; biz, bunu kullandığımızda mevcut timer sayısını, timerların adını, kaç kez işlem yapacaklarını, kaç saniye sonra işlem yapacaklarını ve işlem yapma sürelerine kalan süreyi göstertelim. İşte kod:

Kod:
tmrbilgi {
  echo mIRC timer bilgileri alınıyor.
  if !$timer(0) { echo Hiçbir timer yok. | return }
  echo Toplam timer sayısı: $timer(0)
  var %/ = 1
  while $timer(%/) {
    echo Ele alınan timer: $ifmatch
    echo Timerın uygulayacağı komut: $timer(%/).com
    echo Timerın tekrarlanma sayısı: $timer(%/).reps
    echo Timerın işlem yapması için belirtilen süre: $timer(%/).delay saniye
    echo Timerın işlem yapması için kalan süre: $timer(%/).secs saniye
    echo -
    inc %/
  }
}



Şey, aslında bu örnek bir kod olacaktı fakat ben koptum, gittim. Neyse dersin içinde de bu şekilde bir bilgi addonu sizlere hediyem olsun. Yukarıya, bu addonun vereceği bilgileri de ekliyorum. Yine iyisiniz.

Umarım bu dersten, birileri bir şeyler anlamıştır. Konu hakkındaki sorularınızı, başlık altından sorabilirsiniz.

Not: Birkaç eklememde yardımcı olan ve dersi inceleyip, onay veren (kalite kontrol) detay'a teşekkür ediyorum.

Hepinize iyi çalışmalar.


gfriend.

Konu Regex tarafından (28-01-2009 Saat 14:05 ) değiştirilmiştir.
Regex isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Reklam
Alt 28-01-2009, 01:28   #2
 
Seven_46 - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 06-02-08
Bulunduğu yer: Alanya
Mesajlar: 754
IRC Sunucusu:
Tecrübe Puanı: 58
IF Puanı : 1381
IF Derecesi :
Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!Seven_46 'ın geleceği parlak!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

Güzel Bir Çalışma Ongun.Paylasım İçin Tşkler. Basarılarının Devamını Dilerim.


DetayShell İnternet Hizmetleri Web Hosting,Radyo Hosting,IRCD Hosting,Reseller Bayiligi
Seven_46 isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 14:29   #3
 
daRkMoRGaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 25-06-08
Bulunduğu yer: mIRC Scripting Kasabasında Regex Mahallesi Hash Caddesi No : 666 mIRCScripting City'de Yaşıyorum...
Mesajlar: 1.178
IRC Sunucusu:
Tecrübe Puanı: 135
IF Puanı : 3322
IF Derecesi :
daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

Faydalı Bir Konuyu Anlatmışsın. tmrbilgi aliasında hata var Onun dışında yazı stilin ve renkler derse Estetik bir değer katmış.


//echo -a $addtok($gettok($decode(VGhlIEJlc3QgT2YgbUlSQyBTY3 JpcHRpbmcgQ29kZVIgVGhlIEJlc3QgT2YgbUlSQyBTY3JpcHRp bmcgQ29kZVIgLi4u,m),1-6,32),...,32)
daRkMoRGaN isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 14:58   #4
 
Regex - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 15-09-06
Bulunduğu yer: in Google
Mesajlar: 1.784
IRC Sunucusu: YuzukTurk.Com
Tecrübe Puanı: 374
IF Puanı : 9242
IF Derecesi :
Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

O kodda herhangi bir hata yok.


gfriend.
Regex isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 15:18   #5
 
daRkMoRGaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 25-06-08
Bulunduğu yer: mIRC Scripting Kasabasında Regex Mahallesi Hash Caddesi No : 666 mIRCScripting City'de Yaşıyorum...
Mesajlar: 1.178
IRC Sunucusu:
Tecrübe Puanı: 135
IF Puanı : 3322
IF Derecesi :
daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

alias tmrbilgi {
değilde
tmrbilgi {
olduğunda çalışıyor yani?


//echo -a $addtok($gettok($decode(VGhlIEJlc3QgT2YgbUlSQyBTY3 JpcHRpbmcgQ29kZVIgVGhlIEJlc3QgT2YgbUlSQyBTY3JpcHRp bmcgQ29kZVIgLi4u,m),1-6,32),...,32)
daRkMoRGaN isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 16:26   #6
 
Regex - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 15-09-06
Bulunduğu yer: in Google
Mesajlar: 1.784
IRC Sunucusu: YuzukTurk.Com
Tecrübe Puanı: 374
IF Puanı : 9242
IF Derecesi :
Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

Evet, çalışır. Çünkü bu bir alias. Yani uzun süredir bu bölümde bulunuyorsun ve başlıkları inceliyorsun; bu tür kodları, Remote'a eklememen gerektiğini bilmen gerekiyor değil mi?

Neyse bunu da ek olarak belirtmiş olalım. Başında "alias" takısı ekli olmayan bir alias kodunu, mIRC'in Remote (ALT+R) kısmına değil; Alias (ALT+D) kısmına ekleyeceksiniz.

Not: Zaten birçok konuda, bu durum belirtilmişti. Aliasları, Remote'a ekleyebilmek için alias olduğunu belirtecek "alias" takısı eklenmeli. Eğer bu takı yoksa ve kod alias niteliğindeyse de Alias'a (ALT+D) eklenmeli.


gfriend.
Regex isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 16:30   #7
 
KartaL - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 01-03-07
Bulunduğu yer: Türkiye. İnönü
Mesajlar: 8.956
IRC Sunucusu: ben nick şifrelemeyi unuttum Artık..
Tecrübe Puanı: 742
IF Puanı : 18271
IF Derecesi :
KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!KartaL 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

ELLerine sağlık..


En Güzel Aşk BeşiktAŞK
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
KartaL isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 16:30   #8
 
daRkMoRGaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 25-06-08
Bulunduğu yer: mIRC Scripting Kasabasında Regex Mahallesi Hash Caddesi No : 666 mIRCScripting City'de Yaşıyorum...
Mesajlar: 1.178
IRC Sunucusu:
Tecrübe Puanı: 135
IF Puanı : 3322
IF Derecesi :
daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!daRkMoRGaN 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

3 ay önce ben öyle yapar idim gider remoteme ekler yazardım kod çalışmayınca siler atardım. Çoğu kişinin böyle yapıcağını düşündüğüm için değineyim dedim .)


//echo -a $addtok($gettok($decode(VGhlIEJlc3QgT2YgbUlSQyBTY3 JpcHRpbmcgQ29kZVIgVGhlIEJlc3QgT2YgbUlSQyBTY3JpcHRp bmcgQ29kZVIgLi4u,m),1-6,32),...,32)
daRkMoRGaN isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 28-01-2009, 18:18   #9
 
Regex - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 15-09-06
Bulunduğu yer: in Google
Mesajlar: 1.784
IRC Sunucusu: YuzukTurk.Com
Tecrübe Puanı: 374
IF Puanı : 9242
IF Derecesi :
Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!Regex 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

Ek bilgi vermekle, "Bu kod hatalı." demek arasında çok büyük fark var. Çünkü kodda veya derste herhangi bir hata yok. Dediğim gibi Alias bölümüne ekleyeceksin.

Ayrıca, yaptığın genelleme de yanlış. Birçok kişi diye genellediğin kesim (öğrenmeye hevesli olanlar ve bir şeyler yapmak isteyenler) de silip atmazlar; kodu çalıştıramadılarsa, bizden yardım isterler ve kodu yanlış yere eklediklerini öğrenmiş olurlar. Yani sen, zaten hata bulmaya çalışmak yerine ek bilgi verme amacıyla ileti ekleseydin ve kullandığın cümle doğru olsaydı, ben sana teşekkür ederdim. Fakat maalesef...

Neyse, uzatmak anlamsız. Konunun daha fazla dağılmasına gerek yok.


gfriend.

Konu Regex tarafından (28-01-2009 Saat 18:27 ) değiştirilmiştir.
Regex isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Alt 04-02-2009, 13:31   #10
Siteden Uzaklaştırılmış Üyeler
 
L4roXyL - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 25-02-06
Mesajlar: 1.037
IRC Sunucusu: http://mIRCScripting.net
Tecrübe Puanı: 0
IF Puanı : 8077
IF Derecesi :
L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!L4roXyL 'un tanımadığı bir popülerlik YOK!
iTrader: (0)
Standart Cevap: Timer (Zamanlayıcı) Hakkında Geniş Bilgi

Evet /timer güzel bir komutdur. İşlevsel olduğu kadar, uygulanan komutları sabitlediği içinde biraz kalıpsal olabiliyorda(kullanıma göre)
mIRCde bazı komutlar/işlevler internal olarak(siz göremezsiniz) /timer kullanır.
-
Birkaç bilgide ben vereyim /timer hakkında.
-
/timer komutu kendisine atanan işlevi/komutu(<command>) her zaman için SABİTLER.
Bakın bu sabitleme olayını basite almayalım, bunun üzerine düşmemin sebebini anlayacaksınız.
Örneğin: //.timer 3 1 inc %1 | .timer 3 1 echo - Değer: %1
Şeklinde bir komu uyguluyoruz. Uyguladığımız komut(lar);
Üç(3) defa uygulanmak üzere, saniyede bir(1) defa %1 değişkeninin değerini(ilk timerda) bir değer arttırmak.
İkinci(2.) timerda ise bu değişkenin değerini echo ile almak istiyoruz. Ve komutu uygulayalım bakalım sonuçlar ne olacak?
Sonuçlar;

Kod:
- Değer:
- Değer:
- Değer:
Gördüğünüz gibi herhangi bir değer alamadık. Bunun sebebi %1 değişkeninin daha önceden bir değere sahib olmaması değildir. Çünki /inc komutu değer oluşturulmamış olsa dahi, sıfırdan değeri oluşturur ve atdığınız değeri verir.
Bunun nedeni yukarıda dediğim gibi /timer komutunun veriyi SABİTLEMESİDİR.
Halbuki işlevler(açtığınız timer(lar)) sona erdiğinde; //echo - Değer: %1 yaptığınızda; (- Değer: 3) olarak yanıt alacaksınız.

Bir örnek daha verelim: //.timestamp hh:nn:ss | .timer 3 1 echo - Saat(SAAT:DAKİKA:SANİYE): $time

Uyguladığımız komut(lar);
Timestamp(saat gösterim bilgisini) "SAAT:DAKİKA:SANİYE" şeklinde ayarlıyoruz(bunu yapmak zorunda değiliz, lakin format bu şekilde değilse ayarlamak için kullandık)
Ve 3 defa uygulatmak üzere saniyede 1 defa, saat bilgisini alıyoruz. Komutu uygulayalım ve sonuçlara bakalım.
Sonuçlar;

Kod:
- Saat(SAAT:DAKİKA:SANİYE): 07:44:42
- Saat(SAAT:DAKİKA:SANİYE): 07:44:42
- Saat(SAAT:DAKİKA:SANİYE): 07:44:42
Gördüğünüz gibi, /echo mesajı ile aldığımız saat bilgisinde, saniye kısmı değişmedi.
İşte yine yukarıda dediğim gibi bunun olmasının sebebi, /timer komutunun <command> kısmını sabitlemesinden kaynaklanmaktadır.
Şimdi şu soruyu bana sorabilirsiniz: "Peki ne yapacağız?
Bu soruyu bana değil khaled'e sorun diyeceğim ama oda zaten bunun çözümünü bize vermiş.

Bakınız: You can force identifiers to be re-evaluated when used in a /timer command by using the format $!me or $!time.
Buradaki açıklamada $time ve $me identifierları sadece örnektir. Yani sadece bunları kapsamaz.
Peki ne yapacağınız? Sorusunun en kısa ve basit cevabı; "!" karakterini kullanacaksınız cevabıdır. .)
Tabiki ben basit cevap vermek istemiyorum açıklayalım.

"!" karakterini belirtilen şekilde kullandığınızda, /timer komutunun sabitleme olayını ortadan kaldırırsınız.
Bakın dikkat edin, <repetitions> <interval> kısımlarına bir etki yapmaz. Bu sadece <command>(komut) kısmına işlev yapar.
Şimdi yukarıda vermiş olduğumz örneği, "!" karakterini kullanarak uygulayalım ve bakalım sonuç ne olacak.

Sonuç(lar);

Kod:
- Saat(SAAT:DAKİKA:SANİYE): 07:55:27
- Saat(SAAT:DAKİKA:SANİYE): 07:55:28
- Saat(SAAT:DAKİKA:SANİYE): 07:55:29
Gördüğünüz gibi sabitleme işlevi ortadan kalktı ve anlık veriyi alabildik.
Şimdi şöyle bir soruda gelebilir bana: "Tüm identifierlarda kullanabilirmiyiz?"
Cevabım: Evet kullanabilirsiniz. Hayır TÜM identifierlarda kullanmanız saçma olur. .)

Açalım biraz. Kullanmanız gereken identifierlar değişken identifier olmalıdır. Çünki zaten sabit bilgiyi almak istiyorsak kullanmamıza gerek yok.
Kullanacağınız identifierlar değişken veri verebilecek olan identifierlar olmalıdır.
Örneğin: $time - $nick(kullanıma göre) - $me - $eval - $evalnext - $rand vb.

Bana gelebilecek sorulardan bir tanesi daha: "Peki %değişkenler için nasıl kullanacağız? %!değişken şeklinde kullansak olurmu?"
Cevabım: Hayır asla olmaz. Çünki bu karakteri sadece $identifierlarda kullanabilirsiniz.
Bu cevabın arkasından gelecek olan soru: "Ee peki ne yapıcaz %değişkenler için?"
Cevabım: %Değişkenler için, değişken verisini alabilen/gösterebilen bir $identifier kullanıcaksınız. .)
Bu cevabın arkasından gelecek olan soru: "Hangi identifier'lar peki bunlar?"
Cevabım: $var - $(...) - $eval - $evalnext
Bu cevabın arkasından gelecek olan soru: "Örnek gösterebilirmisin?"
Cevabım: Tabiki buyrun örnekler.

Kod:
//.timer 3 1 inc %1 | .timer 3 1 echo - Değer: $!eval(%1,2) 
//.timer 3 1 inc %1 | .timer 3 1 echo - Değer: $!evalnext(%1) 
//.timer 3 1 inc %1 | .timer 3 1 echo - Değer: $!(%1,2) 
//.timer 3 1 inc %1 | .timer 3 1 echo - Değer: $var(%1,1)
Not: $var identifierında "!" kullanmadım, çünki /timer komutunun sabitleme işlevi, $var identifierında geçersizdir. Kullanmanıza gerek yok.
Sanırım anlaşılmayan birşey yok.

Şimdi diğer bilgilere gelelim.

-

/timer komutu ile 1'den fazla komutu aynı anda aktif etmek?

Şimdi aklınıza şu gelmesin hemen: //timer 1 1 komut1 | komut2 | komut3
Hayır bu geçersizdir, burada /timer komutunun uygulayacağı tek komut "komut1" komutudur. Diğer komut(ları) siz ayrı olarak uygularsınız.
Peki ne yapmalıyız? Ne yapabiliriz /timer komutunda birden fazla komutu aktif hale getirmek için?
Sizin vereceğiniz ve benim en nefret ettiğim cevap şu olacak:
"alias oluştururuz, komutların hepsini alias içerisine atarız. Sonra oba /timer ? ? aliasismi yaparız"
Evet böylede yapabilirsiniz. Ama çok basit işlevler için gidipde alias oluşturursanız bu komiklikten öte daha çok profesyonellik dışı olur.

Örneğin:
Kod:
alias deneme echo -Deneme1 | echo -Deneme2 | echo -Deneme3 
/timer ? ? deneme
Yaparsanız bu olur, ama etik olmaz.


Bunları okuduktan sonra gelebilecek olan sorular:
  • E peki ne yapacağız o zaman?
  • Hem bu şekilde kullansak ne olurki?
  • Çok biliyorsan anlatda öğrenelim(!) o zaman?
-

Cevablarım:

1- E peki ne yapacağız o zaman?

Yukarıda anlattığım o kadar şeyi cidden okuduysan ve algılamaya çalıştıysan, bu sorunun cevabını % 78.6 (:)) ihtimal ile kendin verebilirsin aslında.
Çünki demiştimki /timer komutu, <command> kısmını sabitler.

Birinci yol: $chr
"|" karakterinin ascii numarasını bul. ve bu numarayı $chr identifierı içine girerek birden fazla komut uyglatabil. .)
Şöyleki: "|" karakteri dediğim gibi yeni komut uygulatma karakteridir. Ve ascii numarası 124dür.

Uygulayabileceğimiz komut: //.timer 1 0 echo - Deneme1 $chr(124) echo - Deneme2 $chr(124) echo - Deneme3
Aldığımız cevap(lar):

Kod:
- Deneme1
- Deneme2
- Deneme3
Demekki aynı anda birden fazla komutu aktif edebiliyormuşuz /timer komutunda.
Not: Birden fazla komutu aynı anda aktif etmek, hepsini aynı anda kullanmak demek değildir. Yine sırası ile kullanmaktır. mIRC bir komut uygulanmadan ikinci komutu uygulamaz.

İkinci yol: $(...)

$(...) identifierını kullanırsınız. Nasılmı?

Örnek: //.timer 1 0 echo - Deneme1 $(|) echo - Deneme2 $(|) echo - Deneme3

Yukarıdaki ile aynı işlevi görür. mIRCin "|" karakterini <yeni komut-sonraki> komut sıfatından kaldırır.(/timer haricinde)
-
2- Hem bu şekilde kullansak ne olurki?
Hiçbirşey olmaz. Ama yine dediğim gibi basit komut(lar) için gereksiz alias(yeni komut) uygulamasından kurtulursunuz.
Yani bir nevi kısacası komut uygulatmak için, ayrı bir komut oluşturmuş olmazsınız. .)
-
3- Çok biliyorsan anlatda öğrenelim(!) o zaman?
Hayır çok bilmiyorum. Sadece doğru olanı biliyorum ve bildiklerimi anlattım.
Umarım öğrenmişsin(iz)dir.
-
Kolay gelsin.
L4roXyL isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla

Cevapla

Etiketler
bilgi, genis, hakkinda, timer, zamanlayici


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
ConferenceRoom Yeni Version Hakkında Geniş Bilgi (CR 3.0 - 3.5.1.1 e kadar) Jetnet ConferenceRoom 16 06-03-2010 23:38
IRC komutları(dersleri) ve geniş bilgi. L4roXyL Diğer... 30 04-11-2009 22:37
Zamanlayıcı hakkında. Lord_Raiden mIRC Scripting Sorunları 1 07-01-2009 19:44
spamfilter(u) hakkında geniş bilgi istiyorum irc_avukat Unreal IRCD 13 25-10-2007 12:40
Timer(zamanlayıcı) hakkında bilgiler diEfoRyoU mIRC Scripting Dersleri 15 07-03-2007 15:18

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

Copyright Link
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
IRCForumlari.net bir Chat markasıdır. IF 03-09 & All Right Reserved.
Sitemizdeki Materyallerin Kaynak Belirtilmeden Başka Sitelerde Yayınlanması Yasaktır.

Chat, webmaster, mirc, mirc indir, Chat, mirc, sohbet, mirc, mirc


Arşiv
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449