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 Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Farkli Kanallara Farkli Sajoin (https://www.ircforumlari.net/mirc-scripting-sorunlari/376636-farkli-kanallara-farkli-sajoin.html)

DeLiKaNLi 11 Ocak 2011 00:42

Farkli Kanallara Farkli Sajoin
 
Selam Aleikum kardesler. Ben bir yerde takildim ve sizlere sormak istiorum izlinizle. Benim yapmak istedigim sey eger birisi #sohbet kanalinda hop aop sop founder yetkisine cikarsa #ops kanalina sajoin olmasini istiorum. Bunu yapabildim rawmode ile. Takildigim nokta #radyo kanalindaki yetkilileri #dj kanalina ve #help kanalinda yetkili olanlarida #helper kanalina cekmek istiorum. Son istegim ise su kardesler ... bana lutfen code yazmayin. Bana yolunu gosterin fikir verin ben deniyim yapmaya calisiyim. Simdiden tesekkur ederim...

on *:rawmode:#sohbet: {
if ($1 == +h) { sajoin $nick #ops | halt }
if ($1 == +o) { sajoin $nick #ops | halt }
if ($1 == +oa) { sajoin $nick #ops | halt }
if ($1 == +qo) { sajoin $nick #ops | halt }
if ($1 == +q) { sajoin $nick #ops | halt }
if ($1 == +rq) { sajoin $nick #ops | halt }
if ($1 == +a) { sajoin $nick #ops | halt }
}

Emrax 11 Ocak 2011 03:18

Cevap: Farkli Kanallara Farkli Sajoin
 
Yine aynı sistem ile #sohbet kanalı yerine #radyo ve #ops kanalı yerine #dj yaparak hedefine ulaşabilirsin. Tabi bunları yeni bir sayfada yapmalısın.

Difuzyon 11 Ocak 2011 22:31

Cevap: Farkli Kanallara Farkli Sajoin
 
Şöyle de yapabilirsiniz; #sohbet yerine # kullanırsınız böylelikle tüm kanallar için geçerli olur.
Kod içerisinde de #kanal isimlerine göre sorguyu başlatır,bu sorgunun içerisine modeye göre işlem sorgusunu da dahil edersiniz.
Böylelikle hangi #kanal'da hangi mode veriliyorsa ona göre sajoin işleminiz gerçekleşmiş olur.

DeLiKaNLi 12 Ocak 2011 05:32

Cevap: Farkli Kanallara Farkli Sajoin
 
Alıntı:

Difuzyon Nickli Üyeden Alıntı (Mesaj 1040646148)
Şöyle de yapabilirsiniz; #sohbet yerine # kullanırsınız böylelikle tüm kanallar için geçerli olur.
Kod içerisinde de #kanal isimlerine göre sorguyu başlatır,bu sorgunun içerisine modeye göre işlem sorgusunu da dahil edersiniz.
Böylelikle hangi #kanal'da hangi mode veriliyorsa ona göre sajoin işleminiz gerçekleşmiş olur.

Ilginiz icin tesekkur ederim Emrax ve Difuzyon kardeslerim. Emrax kardes benim dusundugum biraz daha yeni ve kullanisli olmasiydi ama yanitin icin tsk ederim. Difuzyon kardes bu iste yeniyim biliosun ve acemice guluncek bisey yazdim belkide ama ogrenmeye calisiorum. Ettigin yardimlar icin sana cok tesekkur ediorum Aro.


on *:rawmode:#: {
if ($chan = #sohbet) && if ($1 == +h) { sajoin $nick #ops | halt }
if ($chan = #sohbet) && if ($1 == +o) { sajoin $nick #ops | halt }
if ($chan = #sohbet) && if ($1 == +oa) { sajoin $nick #ops | halt }
if ($chan = #sohbet) && if ($1 == +q) { sajoin $nick #ops | halt } }

bunun islemesi icin neleri ve nasil degistirmem lazim.

Difuzyon 12 Ocak 2011 09:05

Cevap: Farkli Kanallara Farkli Sajoin
 
Rica ederim gülünecek bir durum yok,bilgi\fikir paylaşımı yapıyoruz.
Yukarıda bahsettiğim yöntemi biraz daha açayım:

on *:rawmode:#:{
if $chan == #sohbet {
if ($1 == +h) { sajoin $2 #ops }
if ($1 == +o) { sajoin $2 #ops }
...
..
.
}
if $chan == #radyo {
if ($1 == +h) { sajoin $2 #dj }
if ($1 == +o) { sajoin $2 #dj }
...
..
.
}
}

Burda sorguyu #kanal isimlerine göre sınıflandırmış olduk.
{ , } bracket işaretlerinin nereleri kapsadığına dikkatlice bakarsanız mantığı daha rahat kavrayacaksınızdır.

Bir nickin #kanalda yetki alması durumunda:
RAWMODE event'ında $1 mode'ye $2 ise nick kısmına denk gelir.
Yani burda $nick yerine $2 kullanmalıyız.Peki bunu nasıl anlayacağız ? derseniz:

Önce şu kodu remoteme ekledim: on *:rawmode:#:echo -s $1 $2 $3
Açıklaması : Herhangi bir kanalda bir nick yetki aldığında 1.kelimeyi 2. kelimeyi 3. kelimeyi Status penceremde göster.

Sonra denemek için yetkili olduğum kanala girdim,yetkimi aldığımda Status pencereme baktığımda:
+oa Difuzyon Difuzyon
yazdığını gördüm.Bu göre $1 , $2 kavramını kodda uygun yerlerde kullandım.

Bu açıklamalar dahilinde sizlerde kodu kendinize göre dizayn edebilirsiniz.

Hoşca paylaşımlar dilerim...

DeLiKaNLi 12 Ocak 2011 11:11

Cevap: Farkli Kanallara Farkli Sajoin
 
Alıntı:

Difuzyon Nickli Üyeden Alıntı (Mesaj 1040646523)
Rica ederim gülünecek bir durum yok,bilgi\fikir paylaşımı yapıyoruz.
Yukarıda bahsettiğim yöntemi biraz daha açayım:

on *:rawmode:#:{
if $chan == #sohbet {
if ($1 == +h) { sajoin $2 #ops }
if ($1 == +o) { sajoin $2 #ops }
...
..
.
}
if $chan == #radyo {
if ($1 == +h) { sajoin $2 #dj }
if ($1 == +o) { sajoin $2 #dj }
...
..
.
}
}

Burda sorguyu #kanal isimlerine göre sınıflandırmış olduk.
{ , } bracket işaretlerinin nereleri kapsadığına dikkatlice bakarsanız mantığı daha rahat kavrayacaksınızdır.

Bir nickin #kanalda yetki alması durumunda:
RAWMODE event'ında $1 mode'ye $2 ise nick kısmına denk gelir.
Yani burda $nick yerine $2 kullanmalıyız.Peki bunu nasıl anlayacağız ? derseniz:

Önce şu kodu remoteme ekledim: on *:rawmode:#:echo -s $1 $2 $3
Açıklaması : Herhangi bir kanalda bir nick yetki aldığında 1.kelimeyi 2. kelimeyi 3. kelimeyi Status penceremde göster.

Sonra denemek için yetkili olduğum kanala girdim,yetkimi aldığımda Status pencereme baktığımda:
+oa Difuzyon Difuzyon
yazdığını gördüm.Bu göre $1 , $2 kavramını kodda uygun yerlerde kullandım.

Bu açıklamalar dahilinde sizlerde kodu kendinize göre dizayn edebilirsiniz.

Hoşca paylaşımlar dilerim...

Peki kardes boyle ayarladim diyelim verdigin kod seklinde yani..

on *:rawmode:#:{
if $chan == #sohbet {
if ($1 == +h) { sajoin $2 #ops }
if ($1 == +o) { sajoin $2 #ops }
...
..
.
}
if $chan == #radyo {
if ($1 == +h) { sajoin $2 #dj }
if ($1 == +o) { sajoin $2 #dj }
...
.. gibi ama bunu kisaltmak amaciyla %var kullanan bir alias yapmak istiorum desem nasil yapabilirim?

alias yonlendirme {
var %yon $1
if $chan == #sohbet {
if ($1 == +h) { sajoin $2 #ops }
if ($1 == +o) { sajoin $2 #ops}
}
}

bu yukardaki yine benim katliamlarimdan biridir lutfen kizmayiniz :) ve bu yapilan alias'i nasil remoteye entegre edebilirim?

Difuzyon 12 Ocak 2011 11:41

Cevap: Farkli Kanallara Farkli Sajoin
 
Kod:

on *:rawmode:#:yonlendir $1 $2 $chan

alias yonlendir {
  if $3 == #sohbet {
    if $istok(+h +o +oa +oq,$1,32) { sajoin $2 #ops }
  }
  if $3 == #radyo {
    if $istok(+h +o +oa +oq,$1,32) { sajoin $2 #dj }
  }
}

Kanalda bir yetki alma olduğunda RAWMODE'deki alias örneğin şu şekilde hiza olacaktır:
yonlendir +oa Difuzyon #sohbet
Ardından bu alias kendi içinde
$1 , +oa
$2 , Difuzyon
$3 ise #sohbet kısımlarına denk gelecektir.

Bu verilere göre de alias içinde bir sorgu oluşturup gerekli sajoin işlemini yaptırabilirsiniz.
$istok(+h +o +oa +oq,$1,32) ise boşluk karakteri(Ascii numarası 32) içerisinde olan
(+h +o +oa +oq terimleri arasında birer boşluk karakteri var dikkat ettiyseniz) terimlerden biri geçerse anlamına gelir.

Böylelikle biraz daha kısaltma yapabilirsiniz.


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

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