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

 Kayıt ol  Topluluk
5Beğeni(ler)
  • 3 Post By Mylife
  • 2 Post By Feragat

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 26 Haziran 2022, 17:55   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
User list & Event prefixes Kullanımları




Konu:User list ve Event prefixleri

Anlatım: Mylife



Merhaba sevgili if kullanıcıları, sizlere anlatmak istediğim konu yukarı da belirttiğim gibi user list kullanım ve amaçı ayrıca kullandığımız eventlerin prefix değerleri olacaktır.

User List;


User list, benim de pek kullanmadığım aslında oldukca kullanışlı olmasına rağmen pek tercih edilmediğini düşünüyorum belkide bunun sebebi çok bilinmediği için olabilir o yüzden bu konuyu forum üzerinde sizlere anlatmak istedim.

User list de eklenen kişiler alt + r kullanıcı sekmesinde bizlere gözükürler ve direk olarak bu doğrultu da kodlama esnasında kullanıcı sekmesinden faydalanarak işlemler yaptırabiliyoruz. Satır başına yalnızca tek bir nick/adres depolanır ve aşağıdaki gibi olması gerekir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<levels>:<address> <additional info>

additional info => Bu parametre, kullanıcı hakkında bazı ek bilgileri veya diğer yararlı çeşitli verileri depolamak için kullanılabilen isteğe bağlı bir parametredir.


Belirlenen bir kişiyi erişim listesine eklemek için, /auser -- /guser olarak 2 çeşit komut ile yapabilirsiniz. Daha açıklayıcı olmam gerekirse aşağıdaki gibidir;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/auser [-a] <levels> <name|address> [info] /guser [-a] <levels> <name> [addressType] [info]

-a => Burada farklı olarak -a kullanıldığını fark etmişsinizdir... Bunun anlamı, mevcut bir kullanıcıya basitçe ek erişim seviyeleri eklemek için kullanılabilir, aksi takdirde tüm eski seviyeler yenileriyle değiştirilir. /auser ve /guser arasındaki temel fark, /guser bir kullanıcının adresini aramak için kullanılabilirken /auser bunu önceden yapmanızı gerektirir.

Örnekler;

/auser Arkadaş Hesna Mahalleden => * Hesna Kullanıcı listesine eklendi

Bu komutu uyguladığımız da erişim seviyesine arkadaş olarak gruplandırıp oraya hesnayı eklemiş olduk bilgi olarak da mahalleden notunu düştük. Farkettiğiniz gibi levels değerini illaki sayı olarak berlitmemize gerek yok bunu sunucubotu, lamer, badnick gibi de tanımlıyabiliriz veya rakamsal bir değerde verebilirsiniz.

Bu yapılan bütün işlemlerin '' kullanıcı '' sekmesinde görebiliyor olduğunuzu söylemiştim oradan manuel olarak silme imkanınız var tabiki ama bunu ekleme yaptığınız gibi komut olarak da yapabiliyorsunuz.

Eklenen kullanıcıları kaldırma; /ruser [levels] <name|address> [type]

/ruser ile eklenen kullanıcıları silebilir, kaldırabiliriz.

/ruser Arkadaş Hesna => * Hesna Nicki Kullanıcı listesinden çıkarıldı olarak geri bildirim alırız.

Evet buraya kadar anladığımızı varsayıyorum ve user list ile ilgili olarak son bahsetmek istediğim bir özellik var onu da anlatıp bitireceğim.

Eklenen kullanıcı bilgilerini değiştirmek için kullanabiliceğimiz /iuser özelliği ile sizi tanıştırayım. Daha iyi anlamanız için kendimi kullanıcı listesine ekliyelim.

/auser Sunucubotu Mylife Galiba bu benim => * Mylife Kullanıcı listesine eklendi olarak bize geri döndü. Sunucubotu seviyesinde kendimizi ekledik. Şimdi girdiğimiz bilgiyi değiştirmek istiyelim.

/iuser Mylife Hayır ben değilmişim. => * Mylife Nickinin Bilgileri güncellendi olarak döner. Kullanıcı sekmesine baktığınız da orada bu bilginin güncellendiğini görürsünüz.

User list ile ilgili anlatacaklarım bu kadar en yalın hali ile anlatmaya calıştım. Şimdi konumuza Event prefixleri ile devam etmek istiyorum ayrı bir konu açıp anlatmak istemedim bu konu içerisinde anlatıp bitireceğim.


Event prefixes


Kullanmış olduğumuz mirc, eventlerin etkinleştirileceği zamanlar olağan durumlarını değiştirmek için bazı prefixler sunar bize tam olarak bunlardan bahsedeceğim.

Örneklerle devam etmek istiyorum daha iyi anlamanız için, mesela elimiz de bir text eventi olduğunu düşünelim.

* Prefix

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:#:koşul { işlem }

Burada on ve text in arasında kullanıcı seviye kısmında var olan ( * ) prefix olması demek, kullanıcının seviyesi ne olursa olsun aktif ol demektir. Herhangi bir kısıtlama olmadan calış demektir yani.

Sayısal Prefix


Sayısal prefixler belirlenmiş olan değerin üstünde olan kişiler için tetiklenicek olan sınırlamalardır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on +5:text:.h:#Mylife:mode # +h $nick

=> Burada erişim seviyesi 5 ve üstü olan kişiler Mylife kanalına girerse girer girmez halfop ver diyoruz. Bunu çok çeşitli şekilde kullanabilirsiniz 3. seviye eklediklerinizi voice 5. eklediklerinizi halfop 7. ekledikleriniz aop vs vs yani size kalmış.

^ prefix


Bu prefix değerinin üzerinde çok durmaya gerek yok sadece şunu söyliyebilirim herhangi bir yavaşlatıcı sebepleri göz önünde bulundurmadan anında tetiklenmesine sebep oluyor bu arkadaşımız hangi eventler içerisinde aktif olarak kullanılabilir onları da buraya bırakıyorum. Bu prefixi, on action, on ban, on chat, on dehelp, on deop, on devoice, on help, on invite, on join, on kick, on mode, on nick, on notice, on op, on open, on part, on ping, on text, on unban, on usermode, on voice, on quit, on serv, on servermode, on serverop, on snotice, on tabcomp, on topic, on wallops eventleri ile uyumlu halde kullanabilirsiniz.

! prefix


Bu prefix de event içerisinde hazırlanan koşulların sizi tutması dahilinde bile sizi es geçmesini sağlayan prefixdir.

Bunun daha uzun karşılığı,
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
(if ($nick != $me))

. => $nick ben değilsem.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on !1:join:#Mylife:msg # oo hoşgeldin.

=> Burada eğer kanala giren kişi ben değilsem oo hoşgeldin şeklinde kanala mesaj yaz dedik. Yani yukarı da olan gibi uzun uzun yazmamıza gerek kalmaz.

$ prefix


Bu prefix de bize event içerisinde regex kullanmamıza olanak tanır. Oldukca kullanışlı olduğunu söyliyebilirim.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on $*:text:/^([!\.]test)$/:#Mylife:{ msg # $nick yakalanan: $regml(1) }

=>

(17:45:20) <kjsdsg> .test
(17:45:20) <Mylife> kjsdsg yakalanan: .test

Olarak bize dönecektir. Bu konu hakkında anlatacaklarım bu kadar deneme yanılma ile daha iyi kavrayacağınıza inanıyorum. İyi forumlar.

__________________
i don't care if i'm misfit..
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 01 Temmuz 2022, 21:08   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: User list & Event prefixes Kullanımları




Event Prefixes (Olay Önekleri) konusu içinde bir de & Prefix'i bulunmakta. Script içinde herhangi dosyada halt/haltdef ile sonlandırılmış veya kısıtlanmış bir Event olup olmadığını görmemizi sağlar. $halted tanımı $true sonuç verirse halt/haltdef kullanılmış demektir, $false ise tam tersi.

Örnek:

mIRC'inizde 2 adet remote dosyası olduğunu varsayalım.

1- script1.ini
2- script2.ini

script1.ini dosyasına bir Event yazdınız.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on ^*:text:*deneme*:#xdeney:halt

-
Açıklaması: #xdeney kanalında cümle içinde veya yalnızca kelime olarak deneme yazılırsa bunu bana gösterme!

Sonra script2.ini dosyasında başka bir text eventı kullanmak istediniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:#xdeney:echo -aet Nick: $nick - Text: $1-

-
Açıklaması: #xdeney kanalında herhangi bir yazı yazıldığında, yazı yazan kişinin nickini ve yazdığı yazıyı aktif ekranda echo ile göster.

script1.ini dosyasında deneme yazısını göstermemesini istemiştik, script2.ini dosyasındaki event bu şekilde deneme yazısından tetiklenecek ve bize Örneğin Nick: Feragat - Text: Selam deneme şeklinde bir echo verecektir. Oysaki biz bunu ilk event da istemiyorduk.

Kanalda başka bir nickle selam naber deneme yazdım ve alttaki gibi sonuç döndü.
-
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
[20:33] Nick: Project`Nightmare - Text: selam naber deneme

Söylediğim gibi biz içinde deneme geçen bir cümle veya deneme kelimesini görmek istemiyoruz ama 2. bir text eventı ile de yine kanalda yazı yazıldığında Nick: $nick - Text: $1- şeklinde yazanın nickini ve yazdığı yazıyı aktif ekranda echo ile görmek istiyoruz.
İşte & bu prefix burada işe yarıyor. Şimdi 2. Event'ımızın başına & prefixini koyup deneme yapıyorum.

1. Event'ım
-
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on ^*:text:*deneme*:#xdeney:halt

2. Event'ım
-
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on &*:text:*:#xdeney:echo -aet Nick: $nick - Text: $1-

- Örnek 1 -

Text: selam naber

Sonuç:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
[20:38] <Project`Nightmare> selam naber - [20:38] Nick: Project`Nightmare - Text: selam naber

Cümle içinde deneme yazısı olmadığı için event çalıştı.

-- Örnek 2 --

Text: Selam naber deneme

Sonuç: Hiçbir tepki yok.

& Prefix'i ile daha önce uygulanan /halt veya /haltdef komutlarına diğer eventların da saygı göstermesini sağlıyoruz.

On Text event'ı sadece bir örnekti. Anlaşılır olması adına On Text ile örnek verdim. Bunu pek çok Event'da kullanabilirsiniz.

Üstte de söylediğim gibi $halted tanımını kullanarak /halt -/haltdef sonucunu $true ve $false olarak görebilirsiniz. Küçük bir örnek vereyim.

script1.ini dosyası içeriği
-
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on ^*:text:*deneme*:#xdeney:halt

script2.ini dosyası içeriği
-
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:#xdeney:echo -aet Nick: $nick - Text: $1- - $!halted $+ : $halted

Sonuç:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
[20:50] Nick: Project`Nightmare - Text: Selam naber deneme - $halted: $true



- me Prefixi -
-
Bir de me prefix'i bulunuyor.

me prefixi Türkçe anlamı: Ben, beni

Sadece sizin nickinizle tetiklenir. JOIN eventı'ı #kanala giriş yapıldığında tetiklenen bir Event. Eğer koşul belirtmezseniz kanala her giren nick için tetiklenecektir.
Sadece kendi nickinize işlem yaptırmak için sizi bir if koşulundan kurtaracaktır.

Örnek 1:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:join:#xdeneme:{ if ($nick == $me) { echo -ta Şu anda # Kanalındasınız. } }

Açıklaması: #xdeneme kanalına giren nick Benim nickim ise, echo ile aktif ekrana Şu anda #xdeneme Kanalındasınız.

Örnek 2:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on me:*:join:#xdeneme:echo -ta Şu anda # Kanalındasınız.

-
1. Örnek ile aynı işlemi yaptı. Sizi bir if koşulundan kurtarmış oldu.

Umarım açıklayıcı olmuştur. Kolay gelsin.

__________________
The Ghost of Christmas Past...

i'm here sometimes

Konu Feragat tarafından (01 Temmuz 2022 Saat 21:09 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Cevapla

Etiketler
irchelp, mirchelp, mircscripting, mircscripting eventler, mircscripting help, mircscripting prefixler


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

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 Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Kabul ve Kararlılık Terapisi: Prensipleri ve Kullanımları RebeL Genel Paylaşım 0 21 Mayıs 2019 01:09
User list'te bir userin üzerine tıklayıp da özel pencere açıldığında oto selam yazabilir miyim? akSi07 mIRC Scripting Sorunları 3 23 Şubat 2018 12:10
Supplementlar ve Kullanımları İle İlgili En Çok Sorulan Sorular ve Cevapları CtrL Spor Haberleri 0 16 Şubat 2014 11:55
User List Techno mIRC Scripting Sorunları 5 23 Ocak 2012 17:35
Kişi Kanaldaysa... ("User List" İle İlgili.) MaeLStrOm mIRC Scripting Sorunları 15 03 Haziran 2005 11:58