Tekil Mesaj gösterimi
Alt 26 Ağustos 2007, 02:31   #1
Çevrimdışı
NeTDeLiSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Online Kullanici ve Kullanici Rekoru




cd ircservices-5.0.xx
pico channels.h

dosyası içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
time_t topic_time; /* When topic was set */

satırının hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int anuser; int maxuser; time_t maxuser_time;

ekleyip kayıt edin ..

pico channels.c

dosyası içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* Allocate pre-cleared memory */ c = scalloc(sizeof(Channel), 1);

satırının hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
c->anuser = 0;

şeklinde ekleyip ve aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void chan_deluser(User *user, Channel *c) { struct c_userlist *u; int i; LIST_SEARCH_SCALAR(c->users, user, user, u); if (!u) { log("channel: BUG: chan_deluser() called for %s in %s but they " "were not found on the channel's userlist.", user->nick, c->name); return; }

satırının hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
(c->anuser)--;

şeklinde ekleyip kayıt edin ...

cd modules\chanserv
pico chanserv.h

dosyası içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char *last_topic; /* Last topic on the channel */

satırının hemen üzerine

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int anuser; int maxuser; time_t maxuser_time;

şeklinde ekleyip kayıt edin ...

pico main.c

dosyası içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static int chanserv_whois(const char *source, char *who, char *extra) { if (irc_stricmp(who, s_ChanServ) != 0) return 0; send_cmd(ServerName, "311 %s %s %s %s * :%s", source, who, ServiceUser, ServiceHost, desc_ChanServ); send_cmd(ServerName, "312 %s %s %s :%s", source, who, ServerName, ServerDesc); send_cmd(ServerName, "318 End of /WHOIS response."); return 1; }

satırının hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
void ago_time(char *buf, time_t t, User *u) { int days, hours, minutes, seconds; days = t/(24*3600); t %= 24*3600; hours = t/3600; t %= 3600; minutes = t/60; t %= 60; seconds = t; sprintf(buf,"%d gün, %d saat, %d dakika ve %d saniye önce", days, hours, minutes, seconds); }

şeklinde ekleyin ve aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static int do_channel_create(Channel *c, User *u, int32 modes) { /* Store ChannelInfo pointer in channel record */ c->ci = get_channelinfo(c->name); if (c->ci) { /* Store return pointer in ChannelInfo record */ c->ci->c = c; } /* Restore locked modes and saved topic */ /* Note: these should be outside the c->ci test to ensure any spurious * +r modes are cleared */ check_modes(c); restore_topic(c); return 0; }

satırını

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static int do_channel_create(Channel *c, User *u, int32 modes) { /* Store ChannelInfo pointer in channel record */ c->ci = get_channelinfo(c->name); if (c->ci) { /* Store return pointer in ChannelInfo record */ c->ci->c = c; c->maxuser = c->ci->maxuser; c->maxuser_time = c->ci->maxuser_time; } else { c->maxuser = 1; c->maxuser_time = time(NULL); } /* Restore locked modes and saved topic */ /* Note: these should be outside the c->ci test to ensure any spurious * +r modes are cleared */ check_modes(c); restore_topic(c); return 0; }

şeklinde değiştirin ve aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ci && ci->entry_message) notice(s_ChanServ, user->nick, "(%s) %s", ci->name, ci->entry_message);

satırının üzerine

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (c->maxuser < ++(c->anuser)) { c->maxuser = c->anuser; c->maxuser_time = time(NULL); if(ci) { ci->maxuser = c->maxuser; ci->maxuser_time = c->maxuser_time; } }

şeklinde ekleyin ve aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (c->topic) { ci->last_topic = sstrdup(c->topic); strscpy(ci->last_topic_setter, c->topic_setter, NICKMAX); ci->last_topic_time = c->topic_time; }

satırının hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
c->maxuser = c->anuser; c->maxuser_time = time(NULL); ci->maxuser = c->maxuser; ci->maxuser_time = c->maxuser_time;

şeklinde ekleyin ve aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_info(User *u) { char *chan = strtok(NULL, " "); char *param = strtok(NULL, " "); ChannelInfo *ci; NickGroupInfo *ngi, *ngi2 = NULL; char buf[BUFSIZE], *end, *s;

satırının altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char buf2[BUFSIZE]; time_t now=time(NULL);

şeklinde ekleyin ve aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ci->entry_message && CHECK_SHOW_ALL) notice_lang(s_ChanServ, u, CHAN_INFO_ENTRYMSG, ci->entry_message);

satırının hemen üzerine

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ci->c) send_cmd(s_ChanServ, "NOTICE %s :Online kullanıcı : \2%d\2", u->nick, ci->c->anuser); ago_time(buf2, now-ci->maxuser_time, u); send_cmd(s_ChanServ, "NOTICE %s :Kullanıcı rekoru : \2%d\2 [%s]", u->nick, ci->maxuser, buf2);

şeklinde kaydedin...

cd ..
cd database
pico version4.c

dosyası içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(write_int32(ci->last_topic_time, f));

satırının hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(write_int16(ci->maxuser, f)); SAFE(write_int32(ci->maxuser_time, f));

şeklinde ekleyip kaydedin ve sonra ircservices-5.0.xx
ana klasör içerisinde

make
make install

yaparak servisinizi restartlayın.sunucunuza girerek kayıtlı bir
kanalınıza info cekin..
daha sonra tekrar

cd ircservices-5.0.xx\modules\database
pico version4.c

dosyasına tekrar girip içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(read_int32(&tmp32, f)); ci->last_topic_time = tmp32;

satırını bulup hemen altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(read_int16(&tmp16, f)); ci->maxuser = tmp16; SAFE(read_int32(&tmp32, f)); ci->maxuser_time = tmp32;

ekleyip dosyayı kaydediyoruz ve sonra ircservices-5.0.xx
ana klasör içerisinde

make
make install

yaparak servisinizi tekrar restartlayın.Güle güle kullanın
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Kodu yazarı : Diablo

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet