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

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 05 Ekim 2008, 00:29   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Kanala giripte 20 sn. konuşmayanı atmak




S.aleyküm herkese kolay gelsin.

Hash tablosu konusunda biraz çalışma yapayım dedim.Aklıma böylesi bir soru geldi,biraz çabaladım ama netice alamadım.Yardımlarınızı bekliyorum.
"Kanala giren kişi,girdiği andan itibaren kanala 20 sn. boyunca bişi yazmazsa kanaldan atmak istiyorum"

on *:join:#Kanal: {
hinc -mu20 susma $+($nick,#Kanal)
}

on *:text:*:#Kanal: {
if $hget(susma,$+($nick,#Kanal,$encode($1-))) !== 1 {
kick #Kanal $nick Gereksiz bekleme yapmayın...
}
}

Saygılar...

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 05 Ekim 2008, 13:03   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:part:#Kanal:if $timer($+(_,#,_ ,$nick)) { $+(.timer_,#,_ ,$nick) off } on *:join:#Kanal: { if (!$hget(konusanlar,$nick) && !$timer($+(_,#,_ ,$nick))) { .hadd -mu20 konusanlar $nick 0 | $+(.timer_,#,_ ,$nick) 1 20 kick # $nick gereksiz bekleme } } on *:text:*:#kanal: { if ($hget(konusanlar,$nick) == 0 && $timer($+(_,#,_ ,$nick))) { $+(.timer_,#,_ ,$nick) off | .hdel konusanlar $nick } }


 
Alıntı ile Cevapla

Alt 05 Ekim 2008, 15:43   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




;Kanaldan çıkışta açılan timer var ise kapat(20 sn. beklemeyip çıkanlar için)
on *:part:#Kanal:if $timer($+(_,#,_ ,$nick)) { $+(.timer_,#,_ ,$nick) off }

on *:join:#Kanal: {
;eğer belirtilen tablo ve timer yoksa açılsın.Tabloda 0 (sıfır) deger açtık ki değer 1 olunca konuşmuş mu sayılacak?.Ve tabloya ekledigimiz parcacık 20 sn. süreyle(-u20) ekledin,Neden?Kanala girer girmez timer çalışıcak.
if (!$hget(konusanlar,$nick) && !$timer($+(_,#,_ ,$nick))) {
.hadd -mu20 konusanlar $nick 0 | $+(.timer_,#,_ ,$nick) 1 20 kick #Kanal $nick gereksiz bekleme
}
}

on *:text:*:#Kanal: {
;Tabloda ilk açtığımız değer 0 (sıfır) ise [Neden halen sıfır?] ve girişteki timer varsa: timeri durdur ve tablodaki parcayı sil.[Bu timer nerde çalışıyor,timer uyarıcı bende cıkmadı?]
if ($hget(konusanlar,$nick) == 0 && $timer($+(_,#,_ ,$nick))) {
$+(.timer_,#,_ ,$nick) off | .hdel konusanlar $nick
}
}

Öncelikle SpesifiC emeğiniz için çok çok tşk. ederim...
Gerçekten çok güzel bir kombinasyonda hazırlamışsınız...

Vermiş olduğunuz kod çalışıyor.Ben hash tablosundaki mantığı çözmeye çalışıyorum. Turuncu kısımda anlamaya çalıştıkları yazdım ama çözemediğim kısımlar oldu , bir kontrol edip Mantığı biraz daha açıklarsanız,konu hakkında daha çok aydınlanmış olurum.

 
Alıntı ile Cevapla

Alt 05 Ekim 2008, 16:07   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




kodu anlamadıysan sana anlatayım;
nick kanaldan çıkınca kişi için açılan timer durduruluyor.
kanala girdiğinde eğer hash tablosunda o nickin bir değeri yok ise ve timer açık değilse nick'i tabloya ekleyip 0 değerini veriyor (0 değeri herhangi birşey olabilir mantık o nick'in tabloda ekli olduğunu göstermek) sonrasında 20 saniyelik kick timeri açılıyor ve ardından eğer nick kanalda konuşursa tablo ve timer kontrol ediliyor eğer bunların ikiside mevcut ise nick'i tablodan silip timeride kapatıyor; tabi bunların diğer fonksiyonu olursa kanalda konuşmazsa 20 saniyelik timer hala devam ettiği için kişi kanaldan atılıyor.

not : orada hash tablosu gereksiz gibi duruyor sadece timer ilede yapılabilirdi.

[box=SpecifiC]@SpecifiC : Event Hash tablosunu kullanmak gereksiz sadece timer kullanılarak yapılabilir fakat arkadaş yukarıda hash tablosu çalışma biçimi hakkında pratik yapıyor olduğundan dolayı kullandım.[/box]


Konu SpecifiC tarafından (05 Ekim 2008 Saat 16:18 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 05 Ekim 2008, 16:15   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




XcLusive anlatim için tşk. ederim...

Kanalda konusma oldugunda tabloda ne gibi bir oluşma meydana geliyor veya konusma olduğunu\olmadığını koda nasıl yansıtıyoruz ?
if ($hget(konusanlar,$nick) == 0 && $timer($+(_,#,_ ,$nick))) {

Bu kısımda biraz takıldım...

 
Alıntı ile Cevapla

Alt 05 Ekim 2008, 16:24   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




Difuzyon Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
XcLusive anlatim için tşk. ederim...

Kanalda konusma oldugunda tabloda ne gibi bir oluşma meydana geliyor veya konusma olduğunu\olmadığını koda nasıl yansıtıyoruz ?
if ($hget(konusanlar,$nick) == 0 && $timer($+(_,#,_ ,$nick))) {

Bu kısımda biraz takıldım...

on *:text:*:#Kanal: {
/*
Eğer kanala yazı yazıldıgında TIMER açık ise ve HASH tablosunda bir değer var ise TIMER'ı kapat ve HASH
değerini sil. Yani eğer kanala giren nick 20 saniye içerisinde konuşmaz ise JOIN eventi ile açılan 20 sn'lik timer ilerlemeye devam edecek ve kişiyi kanaldan atacaktır, eğer konuşursa açılan bu timeri kapatılacağı için kanaldan atılmayacak.
*/
if ($hget(konusanlar,$nick) == 0 && $timer($+(_,#,_ ,$nick))) {
$+(.timer_,#,_ ,$nick) off | .hdel konusanlar $nick
}
}

 
Alıntı ile Cevapla

Alt 05 Ekim 2008, 16:53   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




Evet konuyu biraz daha iyi kavrayabildim,aşamaların bir biri ile olan bağlantılarını çok daha iyi çözdüm.
İlginize çok tşk ederim... Sağolasınız SpecifiC , XcLusive

 
Alıntı ile Cevapla

Alt 05 Ekim 2008, 19:11   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




güzel anlatımlar elinize sağlık
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
bişeyler kapmaya çalışıyoruz
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 06 Ekim 2008, 16:14   #9
Pentagram
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




Kanal Yetkililerinin Böyle BirŞEy Yapmaya HakKı Var Mı siZce ¿ Code YazaRken Egonuzu Tatmin Edecek ŞEyler YapmayıN Bence Kanala Giren User iLLaKi GeneLDe KonuŞacak Diye BirŞEy Yok.. O Zaman Bu Tür İşlerle Uğraşan Kişiler IRC nin Mantıgına iHanet Etmiş Olyr.. ÇıkaR AmaçLı KullanmaktanSa Bırakın Sloganlarınız Olan ArkadaŞlık Sohbet Samimiyet Sıcak Bir Ortam vs vs vs AnlayıŞınıza Göre Hareket EdiniZ..

 
Alıntı ile Cevapla

Alt 06 Ekim 2008, 18:20   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Kanala giripte 20 sn. konuşmayanı atmak




FruKo Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Kanal Yetkililerinin Böyle BirŞEy Yapmaya HakKı Var Mı siZce ¿ Code YazaRken Egonuzu Tatmin Edecek ŞEyler YapmayıN Bence Kanala Giren User iLLaKi GeneLDe KonuŞacak Diye BirŞEy Yok.. O Zaman Bu Tür İşlerle Uğraşan Kişiler IRC nin Mantıgına iHanet Etmiş Olyr.. ÇıkaR AmaçLı KullanmaktanSa Bırakın Sloganlarınız Olan ArkadaŞlık Sohbet Samimiyet Sıcak Bir Ortam vs vs vs AnlayıŞınıza Göre Hareket EdiniZ..


Arkadaşım mIRC Scripting'de varolan Hash tablosu çalışmasının join\text\part kombinasyonlarini denemek maksadıyla aklıma böyle bir soru geldi.Sanırım bu işlerde bilgi sahibi değilsin,ben soruda mantığı kavramak için kanaldan KICK edilmesini örnek gösterdim.Bu yönde sağolsun gerekli kişiler mantığı kavramamızda bize yardımcı oldular.
Amacımız bu kombinasyondan birşeyler kapmak.Ben orda KICK yerine voice (+v) desem , sence bu işin mantığı ne olurdu ?
Bence sen konuyla alakalı birisi değilsin.O yüzden başka konularla ilgilen arkadaşım ve unutmadan o iğrenç yazı stilini bir zahmet değişiver...

 
Alıntı ile Cevapla

Cevapla

Etiketler
atmak, giripte, kanala, konuşmayanı, mirc download, mirc indir


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
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
Kanala Msg Atmak POSOFxBELA mIRC Scripting Sorunları 10 07 Mart 2010 10:45
Küfür edildiğinde Başka Kanala atmak alikaraman mIRC Scripting Sorunları 7 24 Mart 2009 21:49
Kanala Girişte Notice Atmak F0X mIRC Scripting Sorunları 1 24 Haziran 2006 18:03
CR de hic bi kanala girmeyen registersiz nickleri atmak local mIRC Scripting Sorunları 3 24 Haziran 2006 12:59
who İle Bütün kanala mesaj atmak Sirhot mIRC Scripting Sorunları 7 15 Nisan 2006 21:33