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/)
-   -   Op/Deop Ve +m/-m (https://www.ircforumlari.net/mirc-scripting-sorunlari/401591-op-deop-ve-m-m.html)

JohnGalt 25 Temmuz 2011 21:31

Op/Deop Ve +m/-m
 
Merhaba,

Bir remote ya da aliasa ihtiyacım var.

Komut ile yaptırmak istediğim şey;
F11'e bastığımda kanal açıksa kapansın, kapalıysa açılsın.
F12'ye bastığımda eğer Op ve Halfop konumundaysam Deop ve Dehalfop konumuna geçmek, eğer Dehalfop ve Deop konumundaysam da Halfop ve Op konumuna geçmek istiyorum.

Op olma ve Deop komutuna muaf kanallar da eklemek istiyorum.

Örneğin: Kanal1, Kanal2, Kanal3, Kanal4, Kanal4, Kanal5 kanallarında Op, Kanal6, Kanal7, Kanal8 kanallarında da Halfopum. F12'ye bastığımda Deop ve Dehalfop, tekrar bastığımda da aynı kanallarda Op ve Halfop olarak eski haline gelsin istiyorum.

Böyle bir kod yaratılabilinir mi?

Difuzyon 31 Temmuz 2011 00:32

Cevap: Op/Deop Ve +m/-m
 
Kod:

f2 if m isincs $chan(#).mode mode # -m | else mode # +m
f3 {
  tokenize 32 #kanal1 #kanal2 #kanal3 #kanal4 #kanal5
  if $me isop #kanal1  mode $* -o $me
  else cs op $* $me
  hops
}
hops {
  tokenize 44 #kanal6,#kanal7,#kanal8
  if $me ishop #kanal6  mode $* -h $me
  else cs halfop $* $me
}

Aliases kısmına eklenmeli.

DeLiKaNLi 31 Temmuz 2011 05:48

Cevap: Op/Deop Ve +m/-m
 
Alıntı:

Difuzyon Nickli Üyeden Alıntı (Mesaj 1040780190)
Kod:

f2 if m isincs $chan(#).mode mode # -m | else mode # +m
f3 {
  tokenize 32 #kanal1 #kanal2 #kanal3 #kanal4 #kanal5
  if $me isop #kanal1  mode $* -o $me
  else cs op $* $me
  hops
}
hops {
  tokenize 44 #kanal6,#kanal7,#kanal8
  if $me ishop #kanal6  mode $* -h $me
  else cs halfop $* $me
}

Aliases kısmına eklenmeli.

Izninle birkac soru sormak istiorum kardesim. F2 kodunda kullandigin isincs channel icin bunu nick icin nasil cevirebilirim? Ikinci sorum oteki kodlarda tokenize 32 ve 44 kullanmissin. 32 ve 44 aralarindaki fark nedir? yani neden birinde 32 otekinde 44 kullanildi?

Difuzyon 31 Temmuz 2011 12:46

Cevap: Op/Deop Ve +m/-m
 
Alıntı:

DeLiKaNLi Nickli Üyeden Alıntı (Mesaj 1040780245)
Izninle birkac soru sormak istiorum kardesim. F2 kodunda kullandigin isincs channel icin bunu nick icin nasil cevirebilirim?

"isincs" operatörü tam eşleştirme için kullanılır.F2 aliasında kanal +m pozisyonunda ise -m değilse +m pozisyonuna almasını öngördük.Tabii bu mode işleminde büyük-küçük harf uyumunu göz önünde bulundurmamız gerekir zira +M modesi +m modesinden farklı bir durumu ifade eder.

Alıntı:

DeLiKaNLi Nickli Üyeden Alıntı (Mesaj 1040780245)
Ikinci sorum oteki kodlarda tokenize 32 ve 44 kullanmissin. 32 ve 44 aralarindaki fark nedir? yani neden birinde 32 otekinde 44 kullanildi?

Her ikisinde de aynı ascii numarasını kullanabilirdim fakat dikkat çekmesini istedim.Çünkü alternatif komutların kullanmasını,bilinmesini istedim.

$chr(32) boşluk (space) karakterine eşittir.
/tokenize 32 #kanal1 #kanal2 #kanal3 #kanal4 #kanal5
burada sonrasında tokenize ile 32 karakterine sahip boşluk kısımlarını tek tek hafızaya alacaktır.Boşluk karakterine sahip kısımlara baktığımızda
#kanal1
#kanal2
#kanal3
#kanal4
#kanal5
kısımlarını görüyoruz.Sanırım tek satırda yazılanın,tokenize tarafından boşluk(32) karakterine göre algılamasını fark ettiniz.Burada /tokenize etmek ile ;
#kanal1 $1 kısmına
#kanal2 $2 kısmına
#kanal3 $3 kısmına
#kanal4 $4 kısmına
#kanal5 $5 kısmına denk getirmiş olduk.Test etmek için:
//tokenize 32 #kanal1 #kanal2 #kanal3 #kanal4 #kanal5 | echo -a $1 komutunu uygulayabilirsiniz.

$* ile de tüm pointer'ların tek tek sıralanmasını sağlıyoruz.Test etmek için:
//tokenize 32 #kanal1 #kanal2 #kanal3 #kanal4 #kanal5 | echo -a $*
gördüğünüz gibi tüm kanalları alt alta yazmak yerine veya while yöntemine kullanmaksızın,hafızaya alınan kanallara tek komut satırında işlem yapabiliyoruz.

32 yerine 44 kullanmak :

$chr(44) virgül (,) karakterine eşittir.
/tokenize 44 #kanal6,#kanal7,#kanal8
aynı durum burda da geçerlidir,aralarında virgül geçen kısımları hafızaya almasıyla sonuca giden bir yöntemdir.

33 numarasını da kullanabilirdik, $chr(33) ünlem (!) karakterine eşittir bu durumda satırımız:
/tokenize 33 #kanal6!#kanal7!#kanal8
şeklinde olurdu.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 04: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