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/)
-   Parca Kodlar (https://www.ircforumlari.net/parca-kodlar/)
-   -   Bağlı kalma süresi/idle[Whois] (https://www.ircforumlari.net/parca-kodlar/282104-bagli-kalma-suresi-idlewhois.html)

BehroozWolf 27 Ekim 2009 06:34

Bağlı kalma süresi/idle[Whois]
 
Daha önce buna benzer bir kod [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yayınlanmıştı. Daha önce yayınlanmış olan kodlarda, sadece dakika ve saat olarak gösteriyordu. Yeni halinde ise gun, saat, dakika ve saniye olarak gösteriyor. IRC sunucunuzda "/whois <nick>" komutunu uyguladıktan sonra statusde NOTICE olarak kişinin ne kadar süredir online olduğunu ve ne kadar süredir konuşmadığını görmeniz mümkün.

Adım 1:

Dosyamıza giriş yapalım

Kod:

pico Unreal3.2*/src/modules/m_whois.c
Adım 2:

Aşşağıdaki satırı bulalım

Kod:

TStime() - acptr->last, acptr->firsttime);
Adım 3:

Yukarıdaki satırın altına aşşağıdaki kodlari yapiştiralım

Kod:

if (!IsULine(acptr) && !IsServer(sptr))
{
int gun = 0, saat = 0, dakika = 0, saniye = 0, bgun = 0, bsaat = 0, bdakika = 0, bsaniye = 0;
gun = ((TStime() - acptr->last) / 86400);
saat = (((TStime() - acptr->last) % 86400) / 3600);
dakika = ((((TStime() - acptr->last) % 86400) % 3600) / 60);
saniye = (((((TStime() - acptr->last) % 86400) % 3600) % 60) % 60);
bgun = ((TStime() - acptr->firsttime) / 86400);
bsaat = (((TStime() - acptr->firsttime) % 86400) / 3600);
bdakika = ((((TStime() - acptr->firsttime) % 86400) % 3600) / 60);
bsaniye = (((((TStime() - acptr->firsttime) % 86400) % 3600) % 60) % 60);

if ((TStime() - acptr->last) > 86400)
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d gun %d saat %d dakika ve %d saniyedir kimsiye yazmiyor..",
me.name, sptr->name, acptr->name, gun, saat, dakika, saniye);
else if ((TStime() - acptr->last) > 3600)
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d saat %d dakika ve %d saniyedir kimsiye yazmiyor..",
me.name, sptr->name, acptr->name, saat, dakika, saniye);
else if ((TStime() - acptr->last) > 60)
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d dakika ve %d saniyedir kimsiye yazmiyor..",
me.name, sptr->name, acptr->name, dakika, saniye);
else
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d saniyedir kimsiye yazmiyor..",
me.name, sptr->name, acptr->name, saniye);


if ((TStime() - acptr->firsttime) > 86400)
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d gun %d saat %d dakika ve %d saniye'dir sohbete bagli durumda..",
me.name, sptr->name, acptr->name, bgun, bsaat, bdakika, bsaniye);
else if ((TStime() - acptr->firsttime) > 3600)
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d saat %d dakika ve %d saniye'dir sohbete bagli durumda..",
me.name, sptr->name, acptr->name, bsaat, bdakika, bsaniye);
else if ((TStime() - acptr->firsttime) > 60)
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d dakika ve %d saniye'dir sohbete bagli durumda..",
me.name, sptr->name, acptr->name, bdakika, bsaniye);
else
sendto_one(sptr, ":%s NOTICE %s :%s rumuzu %d saniye'dir sohbete bagli durumda..",
me.name, sptr->name, acptr->name, bsaniye);
}

daha sonra kayıt ederek dosyadan çıkın
Kod:

cd ../..
komutu ile Unreal3.2* ana dizinine gelip
Kod:

make
komutu ile kodlari derleyin. Ve son olarak
Kod:

./unreal restart
komutu ile işlemi tamamlayın.

Not: Rehash da olabilir fakat, çalışmama olasılığına karşılık en temiz yöntem sunucuyu yeniden başlatmaktır.

Kablosuz NET 27 Ekim 2009 08:09

Cevap: Bağlı kalma süresi/idle[Whois]
 
Linkli sunucularda işe yarıyormu linkler arasında whois çekildiğinde idle vs görünmüyor.. İnş bu kod ile o sorunu aşabiliriz.

RedLine 28 Ekim 2009 00:12

Cevap: Bağlı kalma süresi/idle[Whois]
 
Alıntı:

TechnicaL Nickli Üyeden Alıntı (Mesaj 846540)
Linkli sunucularda işe yarıyormu linkler arasında whois çekildiğinde idle vs görünmüyor.. İnş bu kod ile o sorunu aşabiliriz.

Aslında görülebiliyor /whois NICK NICK şeklinde yani whois çektiğin kişinin nickini iki sefer yazdığında mesela hub olarak kurdum sunucuyu bu yöntemle idle vs. görebiliyorum ama bunu direk /whois NICK şekline göre uyarlamak bilemem ne kadar oluru vardır. İyi çalışmalar.

IRCMasteR 11 Kasım 2009 02:13

Cevap: Bağlı kalma süresi/idle[Whois]
 
bu sistemi uyarladim ellerine sağlık , ama Unreal ondan sonra kapanmaya basladi 7-8 saat ara ile komple kapaniyordu , tekrardan kaldırmak zorunda kaldım bilginiz olsun simdi düzeldi.

toXic 11 Kasım 2009 09:48

Cevap: Bağlı kalma süresi/idle[Whois]
 
Sebebi eğer bundansa versiyon'dan kaynaklanır Unreal3.2.7 de sorunsuz calisiyor

rondom 11 Kasım 2009 12:10

Cevap: Bağlı kalma süresi/idle[Whois]
 
Peki bunu IRCop'larda ve adminlerde işlev görmesin sadece userlerde olabilirmi.

toXic 11 Kasım 2009 12:29

Cevap: Bağlı kalma süresi/idle[Whois]
 
Kod:

sendto_one(sptr, rpl_str(RPL_ENDOFWHOIS), me.name, parv[0], querybuf);
altina

Kod:

if (IsAnOper(sptr)) {
sendto_one(sptr, "OPERLERDE IDLE Göremezsiniz.",
sptr->name);
return 0;
}




Ekle bu sekil dene.

Sky-Dancer 11 Kasım 2009 17:15

Cevap: Bağlı kalma süresi/idle[Whois]
 
nick yazmadan sadece /whois yazarsanız (nick belirtmeden) sunucuyu kapatıyor..

asıl eklenmesi gerken yer ise,
PHP- Kodu:

 TStime() - acptr->lastacptr->firsttime); 

bu kodların hemen altı..

iyi Çalışmalar..

IRCMasteR 11 Kasım 2009 18:13

Cevap: Bağlı kalma süresi/idle[Whois]
 
3.2.6 'da denedim verim'de aldim , ama kapanma problemi yaşadım , sonra kaldırdım düzeldi

/whois'i tek olarak kullanmadim ama sanırım version uyumsuzlugu var,

BehroozWolf 13 Kasım 2009 00:52

Cevap: Bağlı kalma süresi/idle[Whois]
 
Alıntı:

Ircmaster Nickli Üyeden Alıntı (Mesaj 863623)
3.2.6 'da denedim verim'de aldim , ama kapanma problemi yaşadım , sonra kaldırdım düzeldi

/whois'i tek olarak kullanmadim ama sanırım version uyumsuzlugu var,

Sky-Dancer'in dediği gibi </whois x> yazilidğinda x nicki sunucuda değilse sunucuyu kapatıyordu. Version uyuşmazlığı olduğunu pek sanmıyorum.


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net