05 Ekim 2008, 00:29 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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... | |
|
05 Ekim 2008, 13:03 | #2 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Kanala giripte 20 sn. konuşmayanı atmak Kod: Kodu kopyalamak için üzerine çift tıklayın!
|
|
05 Ekim 2008, 15:43 | #3 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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. |
|
05 Ekim 2008, 16:07 | #4 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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. |
|
05 Ekim 2008, 16:15 | #5 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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... |
|
05 Ekim 2008, 16:24 | #6 | ||||
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Kanala giripte 20 sn. konuşmayanı atmak
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 } } | ||||
|
05 Ekim 2008, 16:53 | #7 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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 |
|
05 Ekim 2008, 19:11 | #8 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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. |
|
06 Ekim 2008, 16:14 | #9 |
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| 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.. |
|
06 Ekim 2008, 18:20 | #10 | ||||
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: Kanala giripte 20 sn. konuşmayanı atmak
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... | ||||
|
Etiketler |
atmak, giripte, kanala, konuşmayanı, mirc download, mirc indir |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
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 |