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/)
-   -   Dosya okutmak ve ekletmek (https://www.ircforumlari.net/mirc-scripting-sorunlari/525268-dosya-okutmak-ve-ekletmek.html)

sEntieL 28 Şubat 2013 03:57

Dosya okutmak ve ekletmek
 
Selam dostlar

ben kanaldaki nicklerin zline atılanları ban yiyenleri, gline atılanları listeleyeceğim bir dosyaya kaydetmesini istiyorum bunlarla ilgili zline nickleri görmek için şurayı böyle yapın gline için burayı böyle yapın gibi bir açıklamalı code yazarsanız sevinirim
ayrıca zline yiyen bir nick birdahaki sefere yediğindede o listeye eklenmemesi lazım yani listeye ekleneceği zaman kontrol edilip eklenmesini istiyorum yardımcı olurmusunuz

JohnGalt 28 Şubat 2013 04:16

Cevap: Dosya okutmak ve ekletmek
 
Sunucunuzda oper yetkiniz var mı? Yani snotice alabiliyor musunuz?

sEntieL 28 Şubat 2013 05:10

Cevap: Dosya okutmak ve ekletmek
 
yok paşa normal user olarak kayıt etmemiz lazım

JohnGalt 28 Şubat 2013 09:24

Cevap: Dosya okutmak ve ekletmek
 
Normal user olarak kayıt yapmak istediğin için en makulü kişilerin çıkışlarından verileri almak olacaktır. O nedenle de ON *:QUIT:* eventi kullanman gerekecek.

Kod:

on *:quit:{
  write zlist.txt | write glist.txt
  if (banned isin $1-) && !$read(glist.txt,w,$+(*,$qt($nick),*)) {
    write glist.txt $+([,$time(HH:nn:ss),]) $date(dd.mm)
    write glist.txt G:Line atılan: $qt($nick)
    write glist.txt Sebep: $left($gettok($1-,2-,40),-1)
    write glist.txt -
  }
  if (z:line isin $1-) && !$read(zlist.txt,w,$+(*,$qt($nick),*)) {
    write zlist.txt $+([,$time(HH:nn:ss),]) $date(dd.mm)
    write zlist.txt Z:Line atılan: $qt($nick)
    write zlist.txt Sebep: $left($gettok($1-,2-,40),-1)
    write zlist.txt -
  }
}

Veriler, mIRC ana klasörünün içinde oluşacak glist.txt dosyasına G:Line ile atılanlar şu şekilde kaydedilecek;

[09:07:44] 28.02
Z:Line atılan: "DenemeNick2"
Sebep: :lined (NoReason)
-
[09:08:01] 28.02
Z:Line atılan: "DenemeNick2"
Sebep: NoReason
-

Aynı şekilde, zlist.txt dosyasına da Z:Line atılarak çıkış yapanlar şu şekilde kaydedilecek;

[09:06:12] 28.02
G:Line atılan: "erhan"
Sebep: NoReason
-
[09:06:13] 28.02
G:Line atılan: "betuI"
Sebep: NoReason
-

Normal olarak banlanan ve ardından kicklenen kullanıcılar için de öncesinde ON *:BAN:* eventini kullanıp bazı verileri alıp sonrasında ON *:KICK:* eventi ile de verileri banlist.txt dosyasına yazdıracaksın.
Kod:

on *:ban:#:{ set -u2 $+(%,banlanan,$chan) $banmask | set -u2 $+(%,banlayan,$chan) $nick }
on *:kick:#:{ if $($+(%,banlanan,$chan),2) iswm $address($knick,5) {
    write banlist.txt $+([,$time(HH:nn:ss),]) $date(dd.mm)
    write banlist.txt Banlanan: $knick
    write banlist.txt Banlayan: $($+(%,banlayan,$chan),2)
    write banlist.txt Sebep: $qt($1-)
    write banlist.txt -
} }

Bu banlananların verileri de şu şekilde görünecek;

[08:16:24] 28.02
Banlanan: Throne
Banlayan: JohnGalt
Sebep: "Kanal kurallarına uymadığınız için bir süreliğine kanaldan uzaklaştırıldınız!"
-

Eğer bu BAN komutu ile banlanan kullanıcıları sadece belirli kanalda ya da kanallarda takip etmek istiyorsan ON *:BAN:* ve ON *:KICK:* eventlerindeki kırmızı ile belirttiğim kısımları düzenlemelisin. (Örn. tek kanaldaki banları takip etmek istiyorsan #kanal yazabilirsin. Birden fazla kanaldan takip etmek istiyorsan #kanal1,#kanal2 şeklinde yazman gerekiyor.) Şu anki haliyle bulunduğun tüm kanallardaki banları takip edip banlist.txt dosyasına yazdıracaktır.

Bu arada; kanal banları için aynı nickin tekrar dosyaya eklenmemesi ile ilgili bir kısım eklemedim. Sebebiyse kanalda aynı kullanıcı gün içerisinden birden fazla banlanıp tekrar geri gelebilir. Sunucu geneli banlara nazaran kanal banları daha çok tekrara açık olduğu için.

Anlamadığın, düzenlenmesini istediğin herhangi bir yer olursa ya da herhangi bir hata ile karşılaşırsan tekrar yardımcı olabilirim.

Kolay gelsin.

sEntieL 28 Şubat 2013 17:38

Cevap: Dosya okutmak ve ekletmek
 
teşekkürler hocam ellerine sağlık sen detaylı bir code yazmışsın ama bana sadece dosyalara nickleri alt alta yazsa yeter ve aynı nick varsa yazmasın istiyorum

[17:33:38] 28.02
Z:Line atılan: "ytlhjj"
Sebep: Z-Banned


böyle değilde


ytlhjj
sonrakinick
sonrakinick

şeklinde ama hem zline gline kodlarında hemde kickban kodlarında eklenen bir nicki tekrar eklememesi lazım

ayrıca zline ve glineleri ayrı ayrı yazmıyor dostum ikisinide aynı dosyalara işliyor ve bazı opların kick/banlarını kayıt etmiyor

JohnGalt 01 Mart 2013 16:06

Cevap: Dosya okutmak ve ekletmek
 
Z:Line ya da G:Line çıkışlarını aynı dosyaya yazıyor olması muhtemelen farklı mesajlardan kaynaklanıyor olabilir. Ben standart ban çıkış mesajına göre yapmıştım ama demek ki senin bulunduğun sunucuda Z:Line ya da G:Line çıkış metinleri farklı. Eğer onları örnek olarak gösterirsen onu da düzenleriz.

Diğer ban meselesi için başka konu açıp yanıt almışsın zaten, o nedenle onu es geçiyorum. =)


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

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