IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 Sohbet Türkiye
Eylül Sohbet


11Beğeni(ler)
  • 8 Post By CesuryureK
  • 1 Post By Swat
  • 1 Post By BLueMooN
  • 1 Post By oMeN


 
 
Seçenekler Stil
Alt 26 Ocak 2020, 17:36   #1
Standart mIRC Komutlarının IRC Komutlarına Entegrasyonu 2

Ders: mIRC Kodlarının IRC Kodlarına Entegrasyonu 2
Yazar: CesuryureK
Tarih: 05 Mart 2013
---

mIRC Kodlarının IRC Kodlarına Entegrasyonu 2

Daha önce temel seviye için gerekli anlatımı yapmıştım. Gerçi aradan 4-5 yıl geçti. Belki de bu anlatım biraz geç oldu ancak yine de bugüne kısmetmiş.

Dikkat: Öncelikle diğer dersi okuyamayanlar yeterince verim alamayabilirler. O yüzden temel seviye niteliğindeki konuyu okunmasını şiddetle öneriyorum.

Konu Linki: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
-
Lafı uzatmadan identifier(tanım)'ları mIRC komutları halinde görmeye devam edelim. Bu şekilde bir anlatım tercih etmemin nedeni aslında komut bilgilerine daha rahat hakim olmaktan kaynaklanıyor. İleriki düzeyde komutlardan öğrenilen identifierlar sonradan kodlarda kullanımı kolaylaştıracaktır.

$calc : $calc identifier'i mirc üzerinden dört işlem yapmamızı sağlıyor. Bir nevi hesap makinesi. Ancak burda dört işlemin dışında bir sayısının kuvvetini de alabilmekteyiz.

Toplama: $calc(değer1 + değer2)

Soru: #Nuh Kanaldaki kişi sayısı ile nickimin karakter sayısını toplayıp o seviyede #Nuh kanalında CesuryureK nickine access eklemek istiyorum.

Cevap: //cs access #Nuh add CesuryureK $calc($nick(#Nuh,0) + $len($me))
---
Not: Burda + işleminde $calc($nick(#Nuh,0)+$len($me)) bitişik de olabilirdi ancak konuyu anlamlı kılmak için araya boşluk koyuyorum. İki yolla da aynı sonucu elde etmekteyiz.

Çıkarma: $calc(değer1 - değer2)
-
Bölme: $calc(Değer1 / değer 2)
-
Çaprma: $calc(Değer1 * Değer2)
-
Kuvvet Alma: $calc(Değer1^kuvvetderecesi)

Örneğin: 2'nin 3. kuvvetini almak için $calc(2^3) yaparız ki bu da 3 tane 2'nin yanyana çarpımıdır. Matematikteki üslü sayılar.

Şimdi bu bilgiler ışığında biraz entegrasyona başlayalım.

Soru: #Nuh kanalında CesuryureK nickine, toplam bulunduğum kanal sayısının karesi kadar access eklemek istiyorum.

Cevap: //cs access #Nuh add CesuryureK $calc($chan(0)^2)

Not: Karesi derken aynı sayıyı iki kere yanyana çarpmaktır. Matematikteki üslü sayılardaki işlemdir. Örneğin 13'ün karesi 13x13 demektir.
----

$Abs : $Abs identifier'i negatif bir değerin pozitif değere dönüştürmesini sağlayan bir tanımdır. Belli yerlerde işimize yarayabilir. Örneğin;
-
Soru: 50 kişilik bir kanalda, kanaldaki 7. kişiye, nickimin karakter sayısından kanaldaki kişi sayısını çıkarıp çıkan değerde access eklemek istiyorum. Şeklinde bir soru düşünelim. Bu durumda,
-
Cevap: //cs access #kanal add $abs($calc($nick($chan,0) - $len($me)))
-
olacaktır. Eğer ki $abs identifier'ini kullanmamış olsaydık dönen sonuç negatif olacağından eksili bir sayı ile access eklenecekti. Biz ise pozitif şekle çevirmiş olduk. Burda amaç değeri pozitife çevirmekti ve soruda yer alabilirdi.
---

$int: $int(sayısaldeger) şeklinde kullanılır ve parantez içine yazılacak değerin virgülden önceki kısımlarını yok sayıp tamsayı olarak bize vermektedir.

Soru: 52 kişinin bulunduğu #Nuh kanalında, kanaldaki 3. kişiye, kanaldaki kişi sayısının yetki ekleyeceğin kişinin kanaldaki sırasına bölümünden elde ettiğim değeri access seviyesi olarak eklemek istiyorum. Nasıl yapabilirim?

Cevap: //cs access #Nuh add $int($calc($nick(#Nuh,0) / $nick(#Nuh,3)))

Not: Burda amaç 52 sayısı 3'e bölünmez. Çünkü bir sayının üçe bölünüp bölünmediğini verilen sayının rakamları toplamı 3 ve 3'ün bir katı olmalıdır. Yani 52 sayısının rakamları toplamı 5+2 = 7'dir ve 3'te tam bölünmez bu yüzden virgüllü bir değer olan 17.333333 sayısını verecektir. Ancak biz $int ile sadece 17 kısmını almış oluyoruz. Bakınız //echo -a $calc(52/3) ve //echo -a $int($calc(52/3))
-
DipNot: Keza $int ile aynı işlevi gören $floor identifieri de vardır. Bakınız: //echo -a $floor($calc(52/3))
---


$mid: Herhangi bir değerin belirli karakter sayısını almamızı sağlamaktadır. Kullanımı $mid(değer,sıradeğeri,alınacakkaraktersayısı)

Örnek: CesuryureK nickinin ilk 5 karakterini almak istersem; //echo -a $mid(CesuryureK,1,5) yaparım. Eğer ki CesuryureK sözcüğünün son 5 karakterini almak istemiş olsaydım //echo -a $mid(CesuryureK,-5,5) yapardım. Burda değerin önüne eksi işareti geldiğini farketmişsiniz bu şekilde mircte önüne ve arkasına koyarak deneyip ne tür sonuçlar aldığınızı görebilirsiniz. Şimdi soru ile entegrasyona girelim.

Soru:#Nuh kanalındaki 3. sıradaki kişinin ilk 2 karakterini aynı kanaldaki 2. sıradaki kişi nickinin ilk 3 karakterini birleştirmek istiyorum. [Çok egzotik oldu farkındayım hele ki o karakterler değişik bir şey ortaya çıkarırlarsa : ) ]

Cevap: //echo -a $+($mid($nick(#nuh,3),1,2),$mid($nick(#nuh,2),1,3) )
---

$rand: Random yani rastgele sayı veya harfleri veren identifier'dir. Harfler konusuna pek değinmeyeceğiz çünkü komutlara uygulamamız adına daha çok rakamlarla ilgili sorular çözmemiz daha yerinde olacaktır. Tabi harflerle ilgili de bir iki bilgiye yer vereceğiz.
Kullanımı: $rand(birincideger,ikincideger) : Burda birinci değer ile ikinci değer arasında bize bir değer döndürür.

Örneğin;

* 0 ile 10 arasında her komutu uygulamamızda bir değerin dönmesi için; //echo -a $rand(0,10) [-ki hem sıfırı hem de 10 sayısını da verebilir-]
* a ile z arasında herhangi bir harf vermesi için //echo -a $rand(a,z) büyük harfler için: $rand(A,Z) kullanılabilir.

Soru:#Nuh kanalında CesuryureK nickine komutu uyguladığımda rastgele 100 ve 999 dahil 100 ile 999 arasında bir değerle access eklemek istiyorum. Nasıl yapabilirim?

Cevap: //cs access #Nuh add CesuryureK add $rand(100,999)
---

$str : Tekrar edilmek istenen kelime veya karakteri kaç kere peş peşe yazılacağını sağlayan identifier'dir. Örneğin, Cesur sözcüğünü 5 kere arka arkaya tekrar etmesini istiyorsak; //echo -a $str(Cesur,5) yaparız. Sonuç olarak "CesurCesurCesurCesurCesur" şeklinde veri dönecektir.

Soru:Random yani rast gele a ile z arasında herhangi bir harfi 5 haneli olarak ident yapmak istiyorum, nasıl yapabilirim?

Cevap: //emailaddr $str($rand(a,z),5) şeklinde yaptığımızda herhangi bir harfi arka arkaya 5 kere tekrar edecek ve identimiz yapacaktır. bbbbb gibi.

Not: $str bir çok yere amaca uygun işimize yaramakta ve bizi hem zamandan hem de kod çoğunluğundan tasarruf etmektedir. Yaptığım bir mircten str ile ilgili basit bir kod:

Kod

mode $active $+(+,$str(b,$sline($active,0))) %nickler
Burada kodun devamı tabi ki var ancak görüntü kirliliği olmaması adına sadece $str'nin öneminden bahsedecem. Burdaki amaç, nick listesinde seçilen kaç nick varsa onlara +b eklemek için yapılmış bir küçük koddu. Yani nick listesinde 10 kişi seçildiğinde ($sline sayesinde) bir o kadar +b eklemek için $str ile çoğaltıyoruz +bbbbbbbbb vs gibi. Yani burda anlatılan her tanım ileride ihtiyaç doğrultusunda sık sık kullanacaksınız.

*** Bu anlatımın amacı sizi tanımlarla(identifier) tanıştırıp onlara aşina olmanızı ve komutlarda kullanabildiğiniz için kodlama bölümüne geçtiğinizde ne azından nasıl kullanacağınızı hatırlar ve rahatlıkla kod düzeneği yapmanızı sağlar. Tabi bu kişisel birikimle ilgii olacaktır illa ki.
---

$right: İngilizden bilindiği üzere right "sağ" demektir. Burda sağ sözcüğü tabi ki canlı anlamındaki sağ değil, sol'un zıttı demektir. Kelimenin sağına göre veri almamızı sağlayan identifier'dir.

Soru: CesuryureK nickinin sağdan 5 karakteri ile "biten" kişilere kanalda exception(+e) yani bandan etkilenmeme özelliğini vermek istiyorum. Nasıl yapabilirim?
Cevap: //mode #kanal +e $+(*,$right(CesuryureK,5))

Not: Bilindiği üzere biten kavramı için wildcard (* ve ?) özelliğini kullanıyoruz. *biten, baslayan*, *gecen*
---

$left : $right sağdan alırken $left de soldan veri almamızı sağlamaktadır. Kullanımı: $left(deger,alınacakverideğeri)

Not: Yukarıdaki right için geçerli olan kısmı left yaparsak yani; $+(*,$left(CesuryureK,5)) yaparsak sadece *Cesur olarak alacaktır.

Soru: 3 haneli bir kanalda CesuryureK nickine o kanaldaki kişi sayısının ilk iki hanesi kadar access eklemek istiyorum, nasıl yapabilirim?

Cevap: //cs access #kanal add CesuryureK $left($nick(#kanal,0),2)
Not: Eğer ki kanalda 718 kişi varsa CesuryureK nickine 718 sayısının sadece ilk iki hanesi olan 71 değerini access ekleyecektir.
---

$ceil: Alınan değerin kendinden büyük olan bir sonraki değere yuvarlar. Yuvarlama işlemi virgüllü sayılar için kullanılmaktadır. Mesela 3.14 sayısının bir sonraki sayıya yuvarlaması 4 olacak karşımıza gelecektir. Normalde //echo -a $pi yaptığımızda pi sayısının ilk 21 karakterli değerini verir. 3.14159265358979323846 gibi. Biz bunu virgülden önceki kısmı kendisinden bir büyük değere yuvarlarsak bunun için //echo -a $ceil($pi) yaptığımızda veriyi elde etmiş olacağız.
-

$snicks : Nick listesinde seçilen kaç kişi varsa araya virgül koymak şartı ile bize listeler. Bazı seslenme remoteleri için kullanılabilir. Nick listesinde kişiler seçmedikçe "Yetersiz veya eksik parametre" hatasını almanız muhtemeldir. Kullanımı: //echo -a $snicks

Soru: #Nuh kanalında seçtiğim nicklerden 2. sıradaki nicke kanalda +v vermek istiyorum.
Cevap: //mode #Nuh +v $gettok($snicks,2,44)
-

* Dersimiz burada bitmiştir. Bir sonraki dersimizde görüşürüz :)
________________

Şimdi saat sensizliğin ertesi..

Konu CesuryureK tarafından (26 Ocak 2020 Saat 23:49 ) değiştirilmiştir..
 
Alt 26 Ocak 2020, 17:39   #2
Pope Pius XIII
Swat - ait Kullanıcı Resmi (Avatar)

Standart

ellerin dert görmesin hocam

________________

 
Alt 27 Ocak 2020, 07:40   #3
Euzu billahi mineşşeytanirracim Bismillahirrahmanirrahim
BLueMooN - ait Kullanıcı Resmi (Avatar)

Standart

Emeğine yüreğine sağlık.

________________

"Vatan ne Türkiyedir Türklere, ne Türkistan Vatan, büyük ve müebbet bir ülkedir: Turan"

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

mIRC Komutlarının IRC Komutlarına Entegrasyonu 2
 
Alt 27 Ocak 2020, 11:14   #4
✰ ÖzeL..
oMeN - ait Kullanıcı Resmi (Avatar)

Standart

Emeğinize sağlık, çok güzel bir anlatım olmuş

________________

Edep; aklın Tercümanıdır. İnsan edebi kadar akıllı, Aklı kadar şerefli, Şerefi kadar Kıymetlidir. Massive..


~ E & B ~
 
Alt 28 Ocak 2020, 10:35   #5
Chataskim.Net
HasbihaL - ait Kullanıcı Resmi (Avatar)

Standart

Gayet açık ve net bir anlatım olmuş kaleminize saglik

________________

 
Alt 22 Ağustos 2020, 12:11   #6
She
✰ ÖzeL..
She - ait Kullanıcı Resmi (Avatar)

Standart

Emeğinize sağlık paylaşım için teşekkürler

________________

~ E & B ~
 
Alt 05 Kasım 2022, 12:32   #7
Ayın Helperi
BuKLe - ait Kullanıcı Resmi (Avatar)

Standart

emeğinize sağlık hocam faydalı bir paylaşım olmuş

________________

Bilgi size güç verir; ancak saygıyı karakterinizle kazanırsınız...
 

Bookmarks


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 Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





Tüm Zamanlar GMT Olarak Ayarlanmış. Şuanki Zaman: 23:28.