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)

Feragat 16 Nisan 2016 13:55

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Sunucuya bağlanmadan nicklist i neden açmak istiyorsun. Alternatif yollar olabilir diye soruyorum.

uFuK 16 Nisan 2016 17:20

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

Askeribo Nickli Üyeden Alıntı (Mesaj 1041767193)
EyvaLLah tşk. ederim hocam. BöyLe birşey yoksa haLim harap vaLLa...


Sunucuya Bağlanmadan Sunucuda Bulunan Nick Listesini Alamazsiniz.

Zira Nick Listesini Siz Sunucuya Bağlandiğiniz Anda Server Size Gönderir, mIRC Onları İşler ve Sağ Tarafta Görülür.

Server İle Bir Bağlantı Kurulmaksizin Hiçbir Şekilde Nick Listesi Alınamaz. Fakat Siz Aktif Ekraninizda Bir Servera Bağlıyken, Alias Araciliğiyla Bir Socket Kodu Çalıştırıp Başka Bir Sunucuya Arka Planda Bağlanip Nick Listesini Alabilirsiniz.

Bunu Yapabilmek İçin Socket Bilgisi Şart.

IrCbaStarD 16 Nisan 2016 22:52

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

Askeribo Nickli Üyeden Alıntı (Mesaj 1041765639)
SeLamün ALeyküm; SuLh hocam farkLı başLık aLtında konu açmaktansa buradan size birşey sormak istiyorum. Mirc Script'in Servere bağLandığında kanaLLara girmesiyLe birLikte açıLan Nick Listesini, Servere bağLanmadan hangi komutLa açabiLirim, böyLe birşey söz konusu oLabiLirmi acaba ?

window -lN @Pencere

N = listin boyutudur. mesela; /window -l20 @Pencere yaparsan nicklistin daha büyük boyutlarda cıktıgını görürsün, sayi ile kücültüp büyütebilirsin. Aline -l @Pencere Veri. olarakda nick list'in icine veri yazdirabilirsin. Ufugunda dedigi gibi socket vs. bağlamalisin nick listesi icin, ondan sonrasida ne yapicagina kalmistir. :)

Askeribo 17 Nisan 2016 01:15

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
İLgi ve aLakanız için Tşk. ederim arkadaşLar. ÖyLe çok biLgim oLduğunu söyLeyemem, Lakin kendimce Sock Script yapayım demiştim herşey tamamda bu nick List işi oLmuyor bir türLü, açık kodu varsa yada ne biLiim scriptte normaL oLarak harici açabiLirmiyiz diye düşünmüştüm. NormaL diaLog oLarak yapıyorum NickListi Lakin bir dünya kafa karıştıran oLmayan yapamadığım yerLer oLduğu için varsa bir yoLu onu deneyeyim demiştim.

IrCbaStarD 17 Nisan 2016 20:10

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
Su yolu izleyebilirsin; Socketi server'a bağlatip. Names'den nickleri prefix'leri cekip @Pencere acip oraya bi while döngüsü ile nick listesini yerlestirebilirsin. @Pencerede nick listesine ne yapicagin tamamen sana kalmis :)

Askeribo 18 Nisan 2016 03:21

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
if $2 == JOIN {
var %k $Remove($3,:)
var %n $gettok($gettok($1,1,33),1,58) , %host $gettok($1,2,33)
window -el15 @ $+ %k
aline -hp @ $+ %k 10 $+ $timestamp *** Giriş: %n ( $+ %host $+ )
aline -l @ $+ %k 0 $gettok($gettok($1,1,33),1,58) }
}

IrCbaStarD window -e [MENTION=77553]kanal[/MENTION] komutuyLa bot'um kanaL(Lara) giriyordu zaten, nick Listesi için senin önerdiğin yöntemi uyguLadım.
Yani window -el15 [MENTION=77553]kanal[/MENTION] bu komutLa hem [MENTION=77553]kanal[/MENTION] pencereLerim hemde nick Listem açıLıyor,
NickLer servere bağLandığımda Nick Listesindeki yerLerini aLıyor, buraya kadar hiçbir sıkıntı yok. Lakin
KanaLLardaki User modeLeri değiştiğinde Nick Listesindeki nickLer girdiği gibi öyLe kaLıyor, Nick başLarına veriLen
modeLeri @ %h +v vs. bunLarı uyguLatmak istiyorum oLmuyor.

if $2 == MODE {
if *MODE #* iswm $strip($1-) {
var %k $3
var %n $gettok($gettok($1,1,33),1,58)
var %y = 1
while $window(@ $+ %k,%y) { aline -l @ $+ %k -o %y $5 | Inc %y }
window -e @ $+ %k
aline -hp @ $+ %k 3 $+ $timestamp *** %n mod değiştirdi: $4- }
}

Bahsettiğim Mode aLan nickLerin başLarına aLdıkLarı modeyi böyLe değiştirmeye kaLkıyorum oLmuyor.
while döngüsünü normaL diaLogLarda uyguLayabiLiyorum Lakin bu [MENTION=77553]kanal[/MENTION] pencresinde bir türLü tutturamadım.
Bana yardımcı oLurmusun bu konu hakkında. Yani Modesi değişen yada Nick'i değişen birinin NickListesinde de değiştirmek istiyorum.
Umarım açıkLayabiLmişimdir sorunumu...

IrCbaStarD 18 Nisan 2016 09:31

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
window -e @pencere, bu editbox koymana yarar window pencereye :) [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dahada ham bilgi istiyorum diyorsan mirc.chm'i inceleyebilirsin adrics*line komutlarini test ederek kendin bulabilirsin.

Kod:

alias bb if (!$sock(b)) sockopen b irc.trsohbet.com 6667
alias nk return $remove($gettok($1,1,33),:)
on *:sockopen:b:{
  var %s sockwrite -nt $sockname
  %s NICK $+(bot,$r(0,10000000000))
  %s USER $+(Ident,$chr(32),*,$chr(32),*,$chr(32),:,my bot)
}
on *:SOCKREAD:b:{
  var %b | sockread -f %b | tokenize 32 %b
  $iif(!$window(@b),window -zel20 @b)
  if ($regex($1,PING)) sockwrite -n $sockname PONG $2
  if $regex($2-,/privmsg .+ \:version/i) { sockwrite -n $sockname notice $nk($1) $+(:,$chr(1),VERSION mIRC v6.34 Khaled Mardam-Bey,$chr(1)) }
  if $regex(353,$2) {
    if $5 = #sohbet {
      var %s 1, %f $right($6-,-1), %q $numtok(%f,32) | while %s <= %q {
        if $regex($gettok(%f,%s,32),@) { set %op $addtok(%op,$gettok(%f,%s,32),32)  }
        elseif $regex($gettok(%f,%s,32),&) { set %sop $addtok(%sop,$gettok(%f,%s,32),32)  }
        elseif $regex($gettok(%f,%s,32),~) {  set %fo $addtok(%fo,$gettok(%f,%s,32),32)  }
        elseif $regex($gettok(%f,%s,32),%) { set %hop $addtok(%hop,$gettok(%f,%s,32),32)  }
        elseif $regex($gettok(%f,%s,32),\+) { set %voice $addtok(%voice,$gettok(%f,%s,32),32)  }
        else { hadd -m user $gettok(%f,%s,32) $me }
        inc %s
      }
    }
  }
  if $2 = mode && $istok(+v +o +oa +a +q +oq,$4,32) && $3 = #Sohbet { yenile $3 }
  if $2 $4 = 366 #sohbet { .nick-list-@b }
  if $2 = nick { yenile #sohbet }
  if $2 = privmsg && $3 = #sohbet { echo -t @b $+(<,$nk($1),>) $right($4-,-1)  }
}
alias yenile { if ($hget(user)) hfree user | unset %fo %op %sop %hop %voice | sockwrite -n b names $1 }
alias nick-list-@b {
  dline -l @b 1-9999
  var %s 1, %f $numtok(%fo,32) | while %s <= %f { aline -l @b 7 $+ $gettok(%fo,%s,32) | inc %s }
  var %s 1, %f $numtok(%sop,32) | while %s <= %f { aline -l @b 12 $+  $gettok(%sop,%s,32) | inc %s }
  var %s 1, %f $numtok(%op,32) | while %s <= %f { aline -l @b 4 $+  $gettok(%op,%s,32) | inc %s }
  var %s 1, %f $numtok(%hop,32) | while %s <= %f { aline -l @b 13 $+  $gettok(%hop,%s,32) | inc %s }
  var %s 1, %f $numtok(%voice,32) | while %s <= %f { aline -l @b 2 $+ $gettok(%voice,%s,32) | inc %s }
  ;var %s 1, %f $hget(user,0).item | while %s <= %f { aline -l @b $hget(user,%s).item | inc %s }
}


$window pencerede bildigim kadariyla $nick(#,$me) gibi bi identifier yok veya ben bilmiyorum varsada arastirdim fakat bulamadim olsaydi eğer rline ile cok basitti komut fakat suan icin anca nick listesini yenilemekden baska birsey gelmedi aklima. Bunun üzerinden devam edebilirsin, userlerin nicklerini almadim almak istersen " ;var %s 1, %f $hget(user,0).item | while %s <= %f { aline -l @b $hget(user,%s).item | inc %s }" önündeki ";" kaldirman yeterli olucak. Bu arada nickler alfabetik siraya göre değil, onun icin filter kullanabilirsin..

Askeribo 08 Mayıs 2016 09:29

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
IrCbaStarD hocam; bu fiLter komutunu nerede ve nasıL uyguLicamki kanaLa giren nickLer Nick Listesindeki yerini aLfabetik sıraya göre aLsın. MeseLa bu kodu; kodun neresine nasıL yazıcam.
aline -l @b $hget(user,%s).item Yardımcı oLursananız sevinirim.

IrCbaStarD 08 Mayıs 2016 17:43

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Farkli bi alias olusturup nickleri text'e yazdirip oradan düzenleme yapmalisin.

Askeribo 08 Mayıs 2016 23:23

Cevap: Aynı dosyada birden fazla on *:join:#:{ eventi nasıl çalışır
 
YönLendirdiğin Linkteki konuyu 100 kere okumuşumdur hocam, Lakin benim istediğim işLem türü bu konuda yok. YapıLabiLecek her iŞlem için ayrı örnekLer veriLmiş ama ben istediğimi buLamadım. He sen ne istiyorsun diye sorararsanız, ben nickLeri txt dosyasına vs. bir yere yazdırmadan direkt nickListe aLfabetik sıraya göre çekmek istiyorum. NickLeri txt dosyasına yazdırıp o şekiLde denedim sorun yok Lakin ben bi işi doLayLı yönden değiLde en kestirme yoLdan haLLetmenin peşindeyim. Yokmu bu işin bir çözümü txt dosyasına yazdırmadan yapmanın yoLu...


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

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