Tekil Mesaj gösterimi
Alt 22 Aralık 2022, 06:28   #1
Çevrimdışı
RahmetLi
Üyelik tarihi: 07 Aralık 2022
Konular: 21245
Mesajlar: 24.248
Nerden: İstanbul
Cinsiyet: Erkek
Web Site: TRmIRC.Net
IRC Sunucu: IRC.TRmIRC.Net
Alınan Beğeni: 3770
Beğendikleri: 6794
@RahmetLi
Ruh Hali : : Olu Gibi
Standart IRCservices Total Online Time

cd ircservices-x.x.xx

Kod:
pico modules/nickserv/main.c

yazarak main.c icerisine giriyoruz.

Kod:
strftime_lang(buf, sizeof(buf), u->ngi, STRFTIME_DATE_TIME_FORMAT,
ni->time_registered);

bu satirin hemen uzerine
Kod:
send_cmd(s_NickServ,
"NOTICE %s :Toplam Online Süresi: %d Gun %d Saat %d Dakika ve %d Saniye.",
u->nick, (ni->toplamzaman / 86400), ((ni->toplamzaman % 86400) / 3600),
(((ni->toplamzaman % 86400) % 3600) / 60),
((((ni->toplamzaman % 86400) % 3600) % 60) % 60));

bu satirlari ekleyiniz ve kaydedip cikiniz.

Simdi yine ayni klasorde bulunan nickserv.h dosyasinda degisiklik yapiyoruz.

Kod:
pico modules/nickserv/nickserv.h

yazarak nickserv.h dosyasina giris yapiyoruz.

Kod:
char nick[NICKMAX];

yazan satirin altina

Kod:
int giriszamani;
int toplamzaman;

satirlarini ekleyip kaydedip cikin.

Kod:
pico modules/nickserv/util.c

yazarak yine ayni klasorde bulunan util.c dosyasina giris yapin.

Kod:
if (nick_id_or_rec(ni)) {

satirinin hemen altina,

Kod:
if (ni->giriszamani != 0) {
ni->toplamzaman=ni->toplamzaman + (time(NULL) - ni->giriszamani);
ni->giriszamani=0;
}

satirlarini ekleyiniz.

yine aynı dosyada (util.c dosyası içinde) şu satırları bulun:

Kod:
if (!nick_recognized(ni)) {
update_userinfo(u);
ni->authstat |= NA_RECOGNIZED;
}

bunlarin hemen altina
Kod:
ni->giriszamani=time(NULL);

satirini ekleyin ve kaydedip cikin.

Simdi,
Kod:
pico modules/database/version4.c

yazarak version4.c dosyasina giris yapiyoruz. Dikkat edin, nickserv ile ayni klasorde degil gordugunuz gibi. database klasoru icerisinde.

Kod:
SAFE(write_string(ni->last_quit, f));

bu satirin hemen altina

Kod:
SAFE(write_int32(ni->toplamzaman, f));

satirini ekleyin.

şimdi yapmanız gereken işlem:
Kod:
make

Kod:
make install

çekeceksiniz. (ircservices-x.x.xx icerisinde)

sonrasında
servislerinizi kapatıp tekrar çalıştıracaksınız.
/os update komutunu kullanacaksınız.

şimdi servislerinizi kapatın (ps x listesinden kill -9 pid ile.)

servisler kapalı halde;

Kod:
pico modules/database/version4.c

yazarak tekrar version4.c dosyasina giris yapin.

Kod:
SAFE(read_string(&ni->last_quit, f));

bu satırı bulunuz.

Bir alt satıra şu 3 kodu ekleyiniz:

Kod:
SAFE(read_int32(&tmp32, f));
ni->toplamzaman = tmp32;
ni->giriszamani = 0;

kaydedip kapatın.

tekrar
Kod:
make

ve
Kod:
make install

komutlarını uygulayıp, servislerinizi getiriniz.

ve işlem bitti demektir.

aradaki servisin kapalı kalmasını istediğim yer şunun için:
servisler orada kapalı iken eski dblerinizin gitmemesi için.

Kod yazarı : Sky-Dancer





Kalbim Atar Cansız, Geçmez Gün Ahsız, Vahsız..
  Alıntı ile Cevapla