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/)
-   -   Güncel Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır (https://www.ircforumlari.net/mirc-scripting-sorunlari/740657-ayni-dosyada-birden-fazla-join-eventi-nasil-calisir.html)

Askeribo 13 Mart 2016 13:46

Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Merhaba arkadaşlar...
Mirc script'imde ekli bir dosya içerisine birden fazla on *:join:#:{ eventi ile başlayan koruma veya uyarı remoteleri eklediğimde sadece dosyanın en başındaki on *:join:#:{ eventi harekete geçiyor, aynı dosya içerisindeki on *:join:#:{ eventi ile başlayan koruma veya uyarı amaçlı yazılan remoteleri okumuyor yani harakete geçmiyor.
Bu on *:join:#:{ eventi ile başlayan birçok koruma veya uyarı remotelerim var, ve ben bunların hepsini sadece birtek dosya içersinde toplamak istiyorum. Bunu nasıl yapabilirim bir kaç örnek ile izah edebilirmisiniz.

Toprak 13 Mart 2016 14:27

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Alıntı:

Askeribo Nickli Üyeden Alıntı (Mesaj 1041754411)
Merhaba arkadaşlar...
Mirc script'imde ekli bir dosya içerisine birden fazla on *:join:#:{ eventi ile başlayan koruma veya uyarı remoteleri eklediğimde sadece dosyanın en başındaki on *:join:#:{ eventi harekete geçiyor, aynı dosya içerisindeki on *:join:#:{ eventi ile başlayan koruma veya uyarı amaçlı yazılan remoteleri okumuyor yani harakete geçmiyor.
Bu on *:join:#:{ eventi ile başlayan birçok koruma veya uyarı remotelerim var, ve ben bunların hepsini sadece birtek dosya içersinde toplamak istiyorum. Bunu nasıl yapabilirim bir kaç örnek ile izah edebilirmisiniz.

İlk baştaki join eventi işlemi durduruyor olabilir.
Dilerseniz kodları komple paylaşın düzeltelim.

Askeribo 13 Mart 2016 15:27

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Kod:

on @*:join:#:{
  proxy
  badnick
  badident
}

#Proxy on
alias proxy {
    var %host $gettok($address($nick,5),2,64),2,33)
  if $hfind(proxy_hostLar,%host,1,W).data {
    ban # *!*@ $+ %host | .kick # $nick 4 Proxy
  }
}
#Proxy end


#BadNick on
alias badnick {
  if $hfind(k_nickler,$nick,1,W).data {
    ban # $nick $+ ! | .kick # $nick 4 Bad Nick
  }
}
#BadNick end





#Badident on
alias badident {
    var %ident $gettok($gettok($address($nick,5),2,33),1,64)
  if $hfind(k_identler,%ident,1,W).data {
    ban # *! $+ %ident | .kick # $nick 4 Bad Ident
  }
}
#Badident end

Daha önce belirttiğim gibi aynı dosya içerisine on @*:join:#:{ eventiyle başlayan korumaları alt alta yazınca en baştaki hariç diğerlerini okumuyor. Bende kendimce bu kopyaladığım kodları yazdım.
Bu kopyalamış olduğum kodlarda gayet güzel görevini yapıyor, Lakin bu
#Proxy off
#BadNick off
#Badident off
parametreleri off yani kapalı olduğunda kanallara her giren nicklerde ekranda şu yazılar çıkıyor
[15:00] PROXY Geçersiz Bir Komut!
[15:00] BADNICK Geçersiz Bir Komut!
[15:00] BADIDENT Geçersiz Bir Komut!

#Proxy on
#BadNick on
#Badident on
parametreleri on yani açık olunca hiç bir sıkıntı olmuyor uyarıda vermiyor.
[15:00] PROXY Geçersiz Bir Komut!
[15:00] BADNICK Geçersiz Bir Komut!
[15:00] BADIDENT Geçersiz Bir Komut! bu uyarılar sayfayı kaplıyor bundan nasıl kurtulurum acaba nerede bir hata yapıyorum.

Feragat 13 Mart 2016 15:51

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Bunu, aynı anda bir insana 10 kişinin seslenmesi gibi düşün, ya çok az anlarsın ya da hiç anlamazsın.
Bir sayfada pek çok aynı event olması da buna benzer.
Ya tek event altında koşullarla birleştireceksin, ya da ayrı remote sayfalarında işlem yaptırmayı deneyeceksin.

Askeribo 13 Mart 2016 16:01

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Alıntı:

Feragat Nickli Üyeden Alıntı (Mesaj 1041754458)
Bunu, aynı anda bir insana 10 kişinin seslenmesi gibi düşün, ya çok az anlarsın ya da hiç anlamazsın.
Bir sayfada pek çok aynı event olması da buna benzer.
Ya tek event altında koşullarla birleştireceksin, ya da ayrı remote sayfalarında işlem yaptırmayı deneyeceksin.

Tek event altında gerçekleştirmek istiyorum zaten, Lakin hata mesajları çıkıyor. Tek event altında koşullarla birleştireceksiniz demişsiniz bunu nasıl yapabilirim bir örnek ile gösterebilirmisiniz. Teşekkür ederim.

Feragat 13 Mart 2016 19:19

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
[15:00] PROXY Geçersiz Bir Komut!
[15:00] BADNICK Geçersiz Bir Komut!
[15:00] BADIDENT Geçersiz Bir Komut!


Üstteki hataları vermesinin sebebi, kapalı olan #group arasındaki kodları çalıştıramamasıdır.

Örneğin

Kod:

on *:join:#:{
/komut
/komut
/komut
}

#group off

alias komut {
kodlar
}

alias komut {
kodlar
}

#group end

Join eventı, aliasları çalıştırmayı denerken, böyle bir komut yoktur hatası alır, çünkü #group off olduğu için komutları yoksayar.

En sağlıklısı ayrı sayfalara yapman.

Tek event içinde olması için kodların hepsini incelemek gerek, ne derece sağlıklı çalışır bilemem.

Askeribo 13 Mart 2016 20:40

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
ilgin ve alakandan dolayı çok teşekkür ederim Feragat, istediğim şekilde olsaydı eğer bir event için düzünelerce ayrı ayrı dosya oluşturmama gerek kaLmicaktı. Neyse sağLık oLsun.

SuLh 13 Mart 2016 21:09

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Eğer aliaslarda group kullanımı yaptıysan, bu join eventinde sıkıntı olacaktır. Bunun için $group tanımlayıcısını kullanman gerekebilir. Veya join eventini de #group içine alman gerekir.

Aynı zamanda aliaslar $nick tanımlayıcısını tanımayacaktır. $nick tanımlayıcısı sadece -senin koduna göre- JOIN eventinin içinde geçerlidir. Bunun için ya Aliasda $1 tanımlayıcısı kullanacaksın, ya da join eventi içerisinde $nick tanımlayıcısını SET ile değişkene sabitleyeceksin.

Askeribo 13 Mart 2016 22:37

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Alıntı:

SuLh Nickli Üyeden Alıntı (Mesaj 1041754596)
Eğer aliaslarda group kullanımı yaptıysan, bu join eventinde sıkıntı olacaktır. Bunun için $group tanımlayıcısını kullanman gerekebilir. Veya join eventini de #group içine alman gerekir.

Aynı zamanda aliaslar $nick tanımlayıcısını tanımayacaktır. $nick tanımlayıcısı sadece -senin koduna göre- JOIN eventinin içinde geçerlidir. Bunun için ya Aliasda $1 tanımlayıcısı kullanacaksın, ya da join eventi içerisinde $nick tanımlayıcısını SET ile değişkene sabitleyeceksin.

Merhaba SuLh;
Evet aliaslarda group kullanımı yaptım, aliasın devamında gelen remoteyi aktif veya deaktif etmek için.
Join eventini group içine alırsam grouplardan 2 tanasinin açık oLması haLinde iLk baştaki join eventi harekete geçiyor sadece, diğerleri hareke geçmiyor. Neden illa sadece bir dosyada toplamak istediğime gelince aynı koruma veya bilgilendirme remotelerini farklı addonlarda kullanıyor olmamdır. join eventi ile başlayıp 2 satırlık remotelere tek tek dosya açmaktansa hepsini bir dosyada halletmek istiyorum. GünLerdir uğraşıyorum herşeyi denedim olmuyor bir türLü takıntıLı biri oLduğum içinde bu işi çözmeden rahata kavuşmam söz konusu oLmicak.

SuLh 13 Mart 2016 22:53

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Merhaba @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , benim kasteddiğim şuydu.

Kod:

#deneme off
alias selam { echo -a selam }
#deneme end

#deneme2 on
alias selam2 { echo -a selam2 }
#deneme2 end

on *:join:#: {
  if $group(#deneme) = on { selam }
  if $group(#deneme2) = on { selam2 }
}

$group(#groupadi) şeklinde bir kullanım bize, aktif veya deaktif durumunu verir. Yukarıda ki kodda #deneme group olayının aktif/deaktif durumuna göre işlenmiş bir alias var. Umarım açıklayıcı olmuştur


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net