IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  kral sohbet




Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11 Nisan 2007, 00:36   #11
Çevrimdışı
Cevap: MüsteriServ




teşekkür ederim senin cevabını beklemeden aynen dediğin şekilde denemelere başlamıştım bende bu şekilde bi txt'e yazdırarak sırayla aldırma işlemi tamam ama write ve del fonksiyonlarının kolay şekli varmı bilmediğimden mantık yürüterek şu şekilde yaptım anlatayım;
-kanala giren olduğunda txt'yi açıp ilk gireni yazıyor ve dosyayı kapatıyor.
-diğer bir kişi daha girdiğinde dosyayı açıyor içindekileri okuyor sonra yeni bir dosya daha açıp bundakileri ona aktarıyor ve son satırada yeni nicki ekleyip bu dosyayı kapıyor ve eski dosyanın ismiyle değiştiriyor.
-kanaldan çıktığında ise yine bu mantıkla dosyayı açıyor içindekileri okuyor yeni bir dosya daha açıp buna yazmaya başlıyor. ancak if ile çıkan kişiyi yazmıyor ve dosyayı kapayıp yine eskisiyle değiştiriyor dosya ismini.
bu şekilde dosyaya ekleme ve çıkarmaları yapabiliyorum. bunun daha basit bi yolu varmı yoksa bahsettiğin olayda bu şekildemi onu öğrenirsem daha iyi olur.

birde kick ve quit bindlerinin nasıl kullanılacağını gösterirsen sevinirim.

  Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
radyo44.com.tr
Alt 11 Nisan 2007, 01:33   #12
Çevrimdışı
Cevap: MüsteriServ




PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# Giren kullanicilar
bind join - * user_girdi
proc user_girdi 
{nick uhost hand channel} {
    
fyaz $nick scripts/kullanicilar.txt
}

# Cikan kullanicilar
bind join - * user_cikti

proc user_cikti 
{nick uhost hand channel msg} {
    
fsil $nick scripts/kullanicilar.txt
}

# nick degistirenler icin
bind nick - * yeni_nick
proc yeni_nick 
{nick uhost handle channel newnick} {
    
fsil $nick scripts/kullanicilar.txt
    fyaz $newnick scripts
/kullanicilar.txt
}
# Ayrilma mesajlari part bind'e yonlendirmekte sakinca yok
bind sign - * user_cikti

# kick uygulamasi
bind kick - * user_kick
proc user_kick 
{nick host hand chan target reason} {
    
fsil $nick scripts/kullanicilar.txt
}

# fyaz <veri> <dosya adi>
# Yukaridaki gibi kullanilir ve belirtilen dosyaya belirtilen verinin yazilmasini saglar
# ornek: fwrite aCoustiC kullanicilar.txt
proc fyaz {text dosya} {
        
set datafile $dosya
        set text 
[split $text]
        
set ahand [lindex $text 0]

        
# veri kontrolu
        
if {$ahand == ""} {
                
puthelp "Hata Kullanimi: fwrite <veri>"
                
return
        }

        
# Dosya ve veri kontrolu
        
if {[file exists $datafile]} {
                
set input [open $datafile r]
                while {![
eof $input]} {
                        
set curline [gets $input];set curline [split $curline]
                        if {[
lindex $curline 0] == $ahand} {
                                
puthelp "HATA: $ahand zaten $datafile da mevcut"
                                
catch {close $input}
                                return
                        }
                }
                catch {
close $input}
        }
        
# Ekleme islemi icin yeni satir yarat ve yaz
        
set output [open $datafile a]
        
puts $output "[join $ahand]"
        
flush $output
        
catch {close $output}
        
puthelp "[join $ahand] Basariyla $datafile dosyasina eklendi"
        
return [join $ahand]
}

# fdel <veri> <dosya adi>
# Yukaridaki gibi kullanilir ve dosya icerisinde belirtilmis bilgiyi siler
# Ornek  fdel aCoustiC kullanicilar.txt
proc fsil {text dosya} {
        
set datafile $dosya
        set text 
[split $text]
        
set ahand [lindex $text 0]

        
# degisken duzgun 1 sekilde yonlendiriliyormu bak
        
if {$ahand == ""} {
                
puthelp "HATA: fdel <veri> seklinde kullanin"
                
return
        }

        
# Dosya kontrol
        
if {![file exists $datafile]} {
                
puthelp "Hata Dosya Bulunamadı"
                
return
        }

        
# Dosya icerisinde veri araniyor ve yazma islemi gerceklesiyor
        
set data ""
        
set input [open $datafile r]
        while {![
eof $input]} {
                
set curline [gets $input];set curline [split $curline]
                if {
$curline != ""} {
                    
set data [linsert $data end $curline]
                }
        }
        catch {
close $input}

        
set mark -1;set match ""
        
foreach line $data {
                
incr mark
                
if {[lindex $line 0] == $ahand} {
                        
set match $mark
                        
break
                }
        }
        if {
$match == ""} {
                
puthelp "HATA: $ahand dosya icerisinde bulunamadi.."
                
return
        }
        
set newdata [lreplace $data $mark $mark]
        
set output [open $datafile w]
        foreach 
newline $newdata {
                if {
$newline != ""} {
                        
puts $output $newline
                
}
        }
        
flush $output
        
catch {close $output}
        
putlog "Basarili $ahand :Basariyla silindi.."
        
return $ahand                


1 ornek yaptim ama deneme sansim olmadi (Umarim calisir)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


fsil ve fyaz her yerde kullanabilecegin dosya yazma ve silme ozelligine sahip her yerde kullanabilirsin. Tabi unutmadan kullanici giris cikislarini kanallara ozel yapman lazim yoksa #musteri ve #bekleme kanallari ayri bindler de ifade edilmeli. ek olarak kullanici taramasi yapman lazim dosya icinde dosya icindeki kullanici kanaldami degil mi gibi.

daha tutumlu sorgular icin bu fonksiyonlari

if {[fsil nick dosya]} {
yada
if {[fyaz nick dosya]} {

ile denetleyebilirsin dogruysa degisken atanir dogru degilse degisken olmadigindan secmeden disari cikilir.

Kolay geldin

__________________
Our brain is Our Weapon
  Alıntı ile Cevapla

Alt 11 Nisan 2007, 03:07   #13
Çevrimdışı
Cevap: MüsteriServ




Tşk. ettim abi bunlarda &#231;ok işime yaradı ama senin yaptığın silme/yazma biraz karışık geldi bana bahsettiğim şekilde bıraktım yazıp silmeyi. join/part/quit/kick bindlerini gerekli şekilde kullandım yapılanlara g&#246;re tepki verebiliyor. sıraya koyma işlemide, yazma/silme işlemide gayet başarılı şu an.


Konu BuCaLI tarafından (11 Nisan 2007 Saat 03:15 ) değiştirilmiştir.
  Alıntı ile Cevapla

Alt 11 Nisan 2007, 04:03   #14
Çevrimdışı
Cevap: MüsteriServ




KonuyLa ilgiLi ßota Yapılmasi Gereken istediğiniz özel istek vs yookmu arkadaslar..? kendimizce ßişeler yaptik sizlerin istekleri doğruLtusundada geliştirebiliris fikir üreterek..

  Alıntı ile Cevapla

Alt 11 Nisan 2007, 12:14   #15
Çevrimdışı
Cevap: MüsteriServ




şu an i&#231;in istenilen &#246;zelliklerle m&#252;steriserv tamam yapılanlar şunlar;

1. Sıralama işlemi tamam. Kanala giriş sırasına g&#246;re userleri sıraya koyuyor. Bekleme kanalına giren useri karşılayarak ka&#231;ıncı sırada olduğunu s&#246;yl&#252;yor. Sırası gelene kadar bekleme kanalında bekletiyor.
2. Hizmet kanalınada işi biten user hizmet kanalından part edince, atılınca veya quit edince yani hizmet kanalında m&#252;şteri kalmadığında otomatikman bekleme kanalında sırası gelen useri sıra onda olduğu konusunda uyarıyor 5 saniye i&#231;erisinde sırası geleni bekleme odasından &#231;ıkarıp hizmet odasına alıyor ve sırasını siliyor.
3. Eğer bekleme odasından bi user sırası gelmeden kanaldan yada sunucudan &#231;ıkmış işe sıra listesinden onu aratıp sırasını siliyor.
4. Hizmet kanalında online operat&#246;r yok ise bekleme odasına giren useri part ettiriyor. &#246;zeline gerekli bilgiyi verip. sizin eklediğiniz paketlerin i&#231;eriği şeklinde kendisi yardım ediyor.

Başka fikri olan varsa ekleme yapabiliriz.

aCoustiC abi tabi hala senin yardımına ihtiyacımız var kodları k&#246;t&#252; ama&#231;lı kullanım olmasın diye şifrelemek en mantıklısı.. m&#252;sait olduğun bi zaman msnden irtibata ge&#231;eriz.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

  Alıntı ile Cevapla

Alt 11 Nisan 2007, 12:50   #16
Çevrimdışı
Cevap: MüsteriServ




Evet aCoustiC hocam kodlari Sifreleme koruma aLtına aLırsan paylasıldıgı zaman kimse ben yaptım gibisine birseyler söyleyemez
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
ßurada önemLi oLan payLasim fakat bazi Arkadaslar eminim'ki paylasılsın 1-2 ek yapar yada yapmaz ben yaptım gibisine konusmaları olacaktir illaki türk milleti eminim
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

  Alıntı ile Cevapla

Alt 13 Nisan 2007, 07:50   #17
Çevrimdışı
Yanıt: Cevap: MüsteriServ




aCoustiC Nickli Üyeden Alıntı
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# Giren kullanicilar
bind join - * user_girdi
proc user_girdi 
{nick uhost hand channel} {
fyaz $nick scripts/kullanicilar.txt
}
 
# Cikan kullanicilar
bind join - * user_cikti
 
proc user_cikti 
{nick uhost hand channel msg} {
fsil $nick scripts/kullanicilar.txt
}
 
# nick degistirenler icin
bind nick - * yeni_nick
proc yeni_nick 
{nick uhost handle channel newnick} {
fsil $nick scripts/kullanicilar.txt
fyaz $newnick scripts
/kullanicilar.txt
}
# Ayrilma mesajlari part bind'e yonlendirmekte sakinca yok
bind sign - * user_cikti
 
# kick uygulamasi
bind kick - * user_kick
proc user_kick 
{nick host hand chan target reason} {
fsil $nick scripts/kullanicilar.txt
}
 
# fyaz <veri> <dosya adi>
# Yukaridaki gibi kullanilir ve belirtilen dosyaya belirtilen verinin yazilmasini saglar
# ornek: fwrite aCoustiC kullanicilar.txt
proc fyaz {text dosya} {
set datafile $dosya
set text 
[split $text]
set ahand [lindex $text 0]
 
# veri kontrolu
if {$ahand == ""} {
puthelp "Hata Kullanimi: fwrite <veri>"
return
}
 
# Dosya ve veri kontrolu
if {[file exists $datafile]} {
set input [open $datafile r]
while {![
eof $input]} {
set curline [gets $input];set curline [split $curline]
if {[
lindex $curline 0] == $ahand} {
puthelp "HATA: $ahand zaten $datafile da mevcut"
catch {close $input}
return
}
}
catch {
close $input}
}
# Ekleme islemi icin yeni satir yarat ve yaz
set output [open $datafile a]
puts $output "[join $ahand]"
flush $output
catch {close $output}
puthelp "[join $ahand] Basariyla $datafile dosyasina eklendi"
return [join $ahand]
}
 
# fdel <veri> <dosya adi>
# Yukaridaki gibi kullanilir ve dosya icerisinde belirtilmis bilgiyi siler
# Ornek fdel aCoustiC kullanicilar.txt
proc fsil {text dosya} {
set datafile $dosya
set text 
[split $text]
set ahand [lindex $text 0]
 
# degisken duzgun 1 sekilde yonlendiriliyormu bak
if {$ahand == ""} {
puthelp "HATA: fdel <veri> seklinde kullanin"
return
}
 
# Dosya kontrol
if {![file exists $datafile]} {
puthelp "Hata Dosya Bulunamadı"
return
}
 
# Dosya icerisinde veri araniyor ve yazma islemi gerceklesiyor
set data ""
set input [open $datafile r]
while {![
eof $input]} {
set curline [gets $input];set curline [split $curline]
if {
$curline != ""} {
set data [linsert $data end $curline]
}
}
catch {
close $input}
 
set mark -1;set match ""
foreach line $data {
incr mark
if {[lindex $line 0] == $ahand} {
set match $mark
break
}
}
if {
$match == ""} {
puthelp "HATA: $ahand dosya icerisinde bulunamadi.."
return
}
set newdata [lreplace $data $mark $mark]
set output [open $datafile w]
foreach 
newline $newdata {
if {
$newline != ""} {
puts $output $newline
}
}
flush $output
catch {close $output}
putlog "Basarili $ahand :Basariyla silindi.."
return $ahand 


1 ornek yaptim ama deneme sansim olmadi (Umarim calisir)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


fsil ve fyaz her yerde kullanabilecegin dosya yazma ve silme ozelligine sahip her yerde kullanabilirsin. Tabi unutmadan kullanici giris cikislarini kanallara ozel yapman lazim yoksa #musteri ve #bekleme kanallari ayri bindler de ifade edilmeli. ek olarak kullanici taramasi yapman lazim dosya icinde dosya icindeki kullanici kanaldami degil mi gibi.

daha tutumlu sorgular icin bu fonksiyonlari

if {[fsil nick dosya]} {
yada
if {[fyaz nick dosya]} {

ile denetleyebilirsin dogruysa degisken atanir dogru degilse degisken olmadigindan secmeden disari cikilir.

Kolay geldin

Merhaba Abi şimdi Ben Birşey Diyecem Başka Forumda vermıslerdi gördüm Abi Yalnız şu Özelligi yok !off dediğimiz zaman destek sistemi kapanması lazım demi Ama Kapanmıyor Böyle Bir TCL varsa verebilirsen seviniriz..

Tşk Ederiz Kolay Gelsin

  Alıntı ile Cevapla

Alt 15 Nisan 2007, 02:41   #18
Çevrimdışı
Cevap: MüsteriServ




Kodlamalar sifrelendikten sonra ßüyük ihtimaL Forumda Paylasım olacaktir. Saygılar..

  Alıntı ile Cevapla

Alt 15 Nisan 2007, 12:24   #19
Çevrimdışı
Cevap: MüsteriServ




evet yeniden merhaba, sifreleme islemi icin en son msn uzerinden gorusuruz, o zaman paylasimin daha dogru oldugunu dusunuyorum. tabiki sifrelenecek alanlarin ticari bir reklam olmamasi da cok onemli, yapimci yardimci gibi alanlarin degistirilemez sekilde duzenlenmesi ve gerekiyorsa infolarda bu bilgilerin gonderilmesi yeterli olacaktir. Burada kodun tamaminin sifrelenmesinden bahsetmiyoruz tabiki, ornek olmasi ve gelismesi icin kodun tamaminin degil belirttigimizi yapimci gibi alanlarin korunmasi icin kullanilacagini bilmek gerekir. Yoksa bu acik kaynak kodu ilklerine aykiri bir calisma olmus olur
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


MusteriServ icin dusuncelerim yok, siz dusuncelerinizi buraya yazarak yapimci ya yardimci olabilirsiniz neticede bu yapimci icin degil sizin icin ozel bir calisma. fikirlerinizi ortaya sunun kisa surede hazirlanacagina eminim, hic degilse bu konuda biraz girisim gormek isterdim 1-2 tane disinda.

__________________
Our brain is Our Weapon
  Alıntı ile Cevapla

Alt 15 Nisan 2007, 12:32   #20
Çevrimdışı
Cevap: Yanıt: Cevap: MüsteriServ




Lastiqci Nickli Üyeden Alıntı
Merhaba Abi şimdi Ben Birşey Diyecem Başka Forumda vermıslerdi g&#246;rd&#252;m Abi Yalnız şu &#214;zelligi yok !off dediğimiz zaman destek sistemi kapanması lazım demi Ama Kapanmıyor B&#246;yle Bir TCL varsa verebilirsen seviniriz..

Tşk Ederiz Kolay Gelsin

Dosya okuma sistemleri acildi andan itibaren satir satir okunur, okunmaya baslandiginda bunu durduramazsiniz talimatiniz uzerine okumaya baslamistir cunku.

Durdurma gibi bir eylem gerceklestirmek isteniyorsa daha once de dedigim gibi, once dosya acilir ilk satirdan okuma imlecleri ile okunur ve her okuma sonrasi dur komudu onceligi taninir. Bu da zamanlayici kullanarak her satiri belli zaman araliklarinda (1sn onegin) kullanmayi gerektirir. BU sayede dur dendiginde belirtilen satir okunmussa veya okunduktan sonra okunmamissa o an durmayi gerceklestirebilirsiniz. Bunun en iyi ornegi olan SoruBotu dur incelerseniz orada satir okuma gibi eylemlerin nasil gerceklestigini anlarsiniz.

__________________
Our brain is Our Weapon
  Alıntı ile Cevapla

Cevapla

Etiketler
musteriserv, müsteriserv

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
MüsteriServ TCL YaRGuCi TCL Scriptler 1 25 Kasım 2012 22:45
Müsteriserv Buyrun.. Stafff IRCd Botlar 1 20 Aralık 2011 13:43