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 Parça Kodlar (https://www.ircforumlari.net/mirc-parca-kodlar/)
-   -   Kanal Kelime İstatistiği (https://www.ircforumlari.net/mirc-parca-kodlar/582916-kanal-kelime-istatistigi.html)

Feragat 06 Mayıs 2014 15:00

Kanal Kelime İstatistiği
 
Kullanımı: !kelime #kanal veya .kelime #kanal
mIRC'in herhangi bir aktif penceresinde Sağ tık yaparak, Kelime İstatistiği menüsünden Aç - Kapat - Durum bilgilerine ulaşabilirsiniz. #kanal kısmına kanal belirtin.

- Kanalda en fazla yazan ilk 10 kişiye kadar; Nickleri ve kelime sayılarını birlikte listeler. Ayrıca o kanaldaki toplam kullanılan kelime sayısını da verir.
- Kullanım amacınıza ve isteğinize göre ekleme/silme/değiştirme yapabilirsiniz.

Not: Eğer aynı mirc üzerinden (/server -n) 1 den fazla sunucuya giriş yapıyorsanız, text event'ında sunucu koşulu belirtin. (if $server == irc.sunucuadı.com) gibi. Yoksa tüm sunucularda ki event'ta belirtilen kanalları (Örneğin: on *:text:*:#Sohbet: gibi) üst üste kaydeder.


Kod:

menu * {
  .Kelime İstatistiği
  ..Aç:!if $group(#kelime).status = on { echo 4 -tgae Kelime Sayacı Zaten AÇIK } | else { /.enable #kelime | echo 4 -tgae Kelime Sayacı AÇILDI }
  ..Kapat:!if $group(#kelime).status = off { echo 4 -tgae Kelime Sayacı Zaten KAPALI } | else { /.disable #kelime | echo 4 -tgae Kelime Sayacı KAPATILDI }
  ..Durum < $replace($group(#kelime).status, off, Kapalı, on, Açık) >:.
}
#kelime on
on *:input:#: { if $regex($1-,/^[.!]kel[iİı]me\s+[#]\S+$/Si) {
    var %rvl 1 | while %rvl <= 10 { var %see = $addtok(%see,$regsubex(is,$+($hmatch(konusma,$+($2,$chr(11),*),%rvl),:,$hget(konusma,$+($2,$chr(11),$gettok($hmatch(konusma,$+($2,$chr(11),*),%rvl),2,11)))),/^\x23\S+\xB(\S+)\x3A(\d+)$/,$+(\2,$chr(11),\1)),32) | inc %rvl }
    msg # En Fazla Kelime Yazan İlk $iif($numtok(%see,11) < 10, $calc($v1 - 1), $v2) Kişi: $regsubex(ciao,$replace($sorttok(%see,32,rn),$chr(11),:-),/(\d+)\x3A\x2D(\S+)/g,$+($chr(40),Nick:\2,$chr(32),Kelime:\1,$chr(41)))
msg # $+(,$qt($2),) Kanalında Toplam Yazılan Kelime Sayısı: $+(,$$hget(konusma,$2),) } }
on *:text:*:#kanal:!.hinc -m konusma $chan $numtok($1-,32) | !.hinc -m konusma $+($chan,$chr(11),$nick) $numtok($1-,32)
#kelime end

Sonuç:
Kod:

[03:09] <Feragat> En Fazla Kelime Yazan İlk 10 Kişi: (Nick:srjn Kelime:259) (Nick:Soğuk Kelime:40) (Nick:Toprak Kelime:29) (Nick:iLKeR Kelime:20) (Nick:ibrahim Kelime:19) (Nick:LaTahzeN Kelime:13) (Nick:Goemon Kelime:10) (Nick:ChatFox6472 Kelime:9) (Nick:JoKai Kelime:8) (Nick:aRmoR Kelime:1)
[03:09] <Feragat> "#ms" Kanalında Toplam Yazılan Kelime Sayısı: 649


Lociz 08 Mayıs 2014 17:44

Cevap: Kanal Kelime İstatistiği
 
Listede 10 kisiden az olunca soyle bir sorun olusuyor:

[17:32:14] <TEST> En Fazla Kelime Yazan İlk 1 Kişi: (Nick:Lociz Kelime:18) :

Sondaki iki nokta, tamam cok abartilacak bir sorun degil fakat goruntu kirliligi yapiyor.
10 kisi olunca boyle olmuyor.

Feragat 08 Mayıs 2014 19:03

Cevap: Kanal Kelime İstatistiği
 
Evet listede 10 kişiye kadar gösterir. Kodu başlattığında ilk 10 kişi oluşana kadar o anki sayıyı verir. 10 a ulaşınca 10 olarak gösterir. Ben uzun süre test ettim sonunda iki nokta göremedim. Örnek görüntüde de gözükmüyor. Ama bazı durumlarda bi hata oluşmuş olabilir bilemiyorum (10 kişi öncesi çıkarıyor olabilir). Görsellik kısmı beni alakadar etmiyor açıkcası. Benim ki sadece fikri paylaşmak. Görüntü konusunda kullanmak isteyen dilediği gibi editleyebilir. Fikrini belirttiğin için teşekkür ederim. İyi forumlar.

Feragat 09 Mayıs 2014 02:16

Cevap: Kanal Kelime İstatistiği
 
Kod:

menu * {
  .Kelime İstatistiği
  ..Aç:!if $group(#kelime).status = on { echo 4 -tgae Kelime Sayacı Zaten AÇIK } | else { /.enable #kelime | echo 4 -tgae Kelime Sayacı AÇILDI }
  ..Kapat:!if $group(#kelime).status = off { echo 4 -tgae Kelime Sayacı Zaten KAPALI } | else { /.disable #kelime | echo 4 -tgae Kelime Sayacı KAPATILDI }
  ..Durum < $replace($group(#kelime).status, off, Kapalı, on, Açık) >:.
}
#kelime on
on *:input:#: { if $regex($1-,/^[.!]kel[iİı]me\s+[#]\S+$/Si) {
    var %rvl 1 | while %rvl <= 10 { var %see = $addtok(%see,$regsubex(is,$+($hmatch(konusma,$+($2,$chr(11),*),%rvl),:,$hget(konusma,$+($2,$chr(11),$gettok($hmatch(konusma,$+($2,$chr(11),*),%rvl),2,11)))),/^\x23\S+\xB(\S+)\x3A(\d+)$/,$+(\2,$chr(11),\1)),32) | inc %rvl }
    msg # En Fazla Kelime Yazan İlk $iif($numtok(%see,11) < 10, $calc($v1 - 1), $v2) Kişi: $regsubex(cl,$regsubex(ciao,$replace($sorttok(%see,32,rn),$chr(11),:-),/(\d+)\x3A\x2D(\S+)/g,$+($chr(40),Nick:\2,$chr(32),Kelime:\1,$chr(41))),/(.+)[:]$/,\1)
msg # $+(,$qt($2),) Kanalında Toplam Yazılan Kelime Sayısı: $+(,$$hget(konusma,$2),) } }
on *:text:*:#kanal:!.hinc -m konusma $chan $numtok($1-,32) | !.hinc -m konusma $+($chan,$chr(11),$nick) $numtok($1-,32)
#kelime end

İlk 10 kişiye ulaşana kadar ki zaman diliminde, sonuçların sonunda : işaretini göstermez artık.

Dangerous123 09 Mayıs 2014 16:02

Cevap: Kanal Kelime İstatistiği
 
Alıntı:

Feragat Nickli Üyeden Alıntı (Mesaj 1041427454)
Kod:

menu * {
  .Kelime İstatistiği
  ..Aç:!if $group(#kelime).status = on { echo 4 -tgae Kelime Sayacı Zaten AÇIK } | else { /.enable #kelime | echo 4 -tgae Kelime Sayacı AÇILDI }
  ..Kapat:!if $group(#kelime).status = off { echo 4 -tgae Kelime Sayacı Zaten KAPALI } | else { /.disable #kelime | echo 4 -tgae Kelime Sayacı KAPATILDI }
  ..Durum < $replace($group(#kelime).status, off, Kapalı, on, Açık) >:.
}
#kelime on
on *:input:#: { if $regex($1-,/^[.!]kel[iİı]me\s+[#]\S+$/Si) {
    var %rvl 1 | while %rvl <= 10 { var %see = $addtok(%see,$regsubex(is,$+($hmatch(konusma,$+($2,$chr(11),*),%rvl),:,$hget(konusma,$+($2,$chr(11),$gettok($hmatch(konusma,$+($2,$chr(11),*),%rvl),2,11)))),/^\x23\S+\xB(\S+)\x3A(\d+)$/,$+(\2,$chr(11),\1)),32) | inc %rvl }
    msg # En Fazla Kelime Yazan İlk $iif($numtok(%see,11) < 10, $calc($v1 - 1), $v2) Kişi: $regsubex(cl,$regsubex(ciao,$replace($sorttok(%see,32,rn),$chr(11),:-),/(\d+)\x3A\x2D(\S+)/g,$+($chr(40),Nick:\2,$chr(32),Kelime:\1,$chr(41))),/(.+)[:]$/,\1)
msg # $+(,$qt($2),) Kanalında Toplam Yazılan Kelime Sayısı: $+(,$$hget(konusma,$2),) } }
on *:text:*:#kanal:!.hinc -m konusma $chan $numtok($1-,32) | !.hinc -m konusma $+($chan,$chr(11),$nick) $numtok($1-,32)
#kelime end

İlk 10 kişiye ulaşana kadar ki zaman diliminde, sonuçların sonunda : işaretini göstermez artık.


öncelikle eline sağlık Feragat uzun zamandır ben dahil çok fazla kişinin aradıgı bir kod bu..
sorunsuz tam senin anlattıgın gibi çalışıyor. Yalnız ben buna bir eklenti rica etsem düzenleyebilirmisin,
kanalda Nomercy nicki listeye alınmayacak muaf olcak, bir dieri ise bota eklemek adına input ewentini text ewentine cevirebilirmiyiz..

şimdiden tşk edrm. hoş paylaşımlar..

Feragat 09 Mayıs 2014 16:36

Cevap: Kanal Kelime İstatistiği
 
Alıntı:

Dangerous123 Nickli Üyeden Alıntı (Mesaj 1041427693)
öncelikle eline sağlık Feragat uzun zamandır ben dahil çok fazla kişinin aradıgı bir kod bu..
sorunsuz tam senin anlattıgın gibi çalışıyor. Yalnız ben buna bir eklenti rica etsem düzenleyebilirmisin,
kanalda Nomercy nicki listeye alınmayacak muaf olcak, bir dieri ise bota eklemek adına input ewentini text ewentine cevirebilirmiyiz..

şimdiden tşk edrm. hoş paylaşımlar..

Normalde edit/düzenleme işine karışmak istemiyordum ama bu defalık kısa bir düzenleme yapayım.

Düzenlemede ki mantık şöyle olabilir;
1- !kelime #kanal komutu kullanacağın bir kanal ayarlamak
Örnek:
Kod:

if $chan == #opers && $regex($1-,/^[.!]kel[iİı]me\s+[#]\S+$/Si) {
Eğer komut #opers kanalında kullanılıyorsa sonuçları #opers kanalına yansıt.

2- Kelime istatistik kaydını belirttiğin kanallarda, belirttiğin nickler dışındaki nicklere yapması(yani muaf olayı.)
Kod:

elseif $istok(#kanal1 #kanal2 #kanal3, $chan, 32) && !$istok(NoMercy Nick1 Nick2 Nick3, $nick, 32) {
Örnekteki gibi istatistik tutulacak kanal ve muaf tutulacak nick ayarlayabilirsin.

Not: Kodun bu halini kısaca denedim, bir problem gözüme çarpmadı. Seninde problem yaşamamanı dilerim.

Kod:

menu * {
  .Kelime İstatistiği
  ..Aç:!if $group(#kelime).status = on { echo 4 -tgae Kelime Sayacı Zaten AÇIK } | else { /.enable #kelime | echo 4 -tgae Kelime Sayacı AÇILDI }
  ..Kapat:!if $group(#kelime).status = off { echo 4 -tgae Kelime Sayacı Zaten KAPALI } | else { /.disable #kelime | echo 4 -tgae Kelime Sayacı KAPATILDI }
  ..Durum < $replace($group(#kelime).status, off, Kapalı, on, Açık) >:.
}
#kelime on
on *:text:*:#:{
  if $chan == #opers && $regex($1-,/^[.!]kel[iİı]me\s+[#]\S+$/Si) {
    if $hget(konusma,$2) {
      var %rvl 1 | while %rvl <= 10 { var %see = $addtok(%see,$regsubex(is,$+($hmatch(konusma,$+($2,$chr(11),*),%rvl),:,$hget(konusma,$+($2,$chr(11),$gettok($hmatch(konusma,$+($2,$chr(11),*),%rvl),2,11)))),/^\x23\S+\xB(\S+)\x3A(\d+)$/,$+(\2,$chr(11),\1)),32) | inc %rvl }
      msg # En Fazla Kelime Yazan İlk $iif($numtok(%see,11) < 10, $calc($v1 - 1), $v2) Kişi: $regsubex(cl,$regsubex(ciao,$replace($sorttok(%see,32,rn),$chr(11),:-),/(\d+)\x3A\x2D(\S+)/g,$+($chr(40),Nick:\2,$chr(32),Kelime:\1,$chr(41))),/(.+)[:]$/,\1)
      msg # $+(,$qt($2),) Kanalında Toplam Yazılan Kelime Sayısı: $+(,$hget(konusma,$2),)
    }
    else { msg # $+(,$qt($2),) Kanalına Ait İstatistik Yok! }
  }
  elseif $istok(#deney #deney1, $chan, 32) && !$istok(NoMercy, $nick, 32) { !.hinc -m konusma $chan $numtok($1-,32) | !.hinc -m konusma $+($chan,$chr(11),$nick) $numtok($1-,32) }
}
#kelime end


Goemon 12 Eylül 2014 00:16

Cevap: Kanal Kelime İstatistiği
 
Eline Sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Joseph 05 Haziran 2018 19:34

Cevap: Kanal Kelime İstatistiği
 
Eline sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bana ne yapacaksın


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

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