Tekil Mesaj gösterimi
Alt 26 Ağustos 2007, 02:27   #1
Çevrimdışı
NeTDeLiSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
IRCServices versionları için /NS SET MSN,YAS,BURC,SEHIR




MSN özelliği alıntıdır.

  • Işlemlere başlamadan önce servislerinizin yedeklerini mutlaka alın.

  • Satır kaymalarını önlemek için dosyalara -w kullanarak girin.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd ircservices*

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/main.c

komutları ile main.c dosyamızın içine giriyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "SET MSN", NULL, NULL, NICK_HELP_SET_MSN, -1,-1 }, { "SET YAS", NULL, NULL, NICK_HELP_SET_YAS, -1,-1 }, { "SET BURC", NULL, NULL, NICK_HELP_SET_BURC, -1,-1 }, { "SET SEHIR", NULL, NULL, NICK_HELP_SET_SEHIR, -1,-1 },

satırlarını ekliyoruz, yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->info) notice_lang(s_NickServ, u, NICK_INFO_INFO, ngi->info);

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->msn) notice_lang(s_NickServ, u, NICK_INFO_MSN, ngi->msn); if (ngi->yas) notice_lang(s_NickServ, u, NICK_INFO_YAS, ngi->yas); if (ngi->burc) notice_lang(s_NickServ, u, NICK_INFO_BURC, ngi->burc); if (ngi->sehir) notice_lang(s_NickServ, u, NICK_INFO_SEHIR, ngi->sehir);

satırlarını ekliyoruz dosyayı kaydedip çıkıyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/set.c

komutu ile set.c dosyamızın içine giriyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_info(User *u, NickGroupInfo *ngi, char *param);

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_msn(User *u, NickGroupInfo *ngi, char *param); static void do_set_yas(User *u, NickGroupInfo *ngi, char *param); static void do_set_burc(User *u, NickGroupInfo *ngi, char *param); static void do_set_sehir(User *u, NickGroupInfo *ngi, char *param);

satırlarını ekliyoruz yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "LANGUAGE") == 0) { do_set_language(u, ngi, param); } else if (stricmp(cmd, "URL") == 0) { do_set_url(u, ngi, param); } else if (stricmp(cmd, "EMAIL") == 0) { do_set_email(u, ngi, param); } else if (stricmp(cmd, "INFO") == 0) { do_set_info(u, ngi, param);

satırlarını bulun ve hemen altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "MSN") == 0) { do_set_msn(u, ngi, param); } else if (stricmp(cmd, "YAS") == 0) { do_set_yas(u, ngi, param); } else if (stricmp(cmd, "BURC") == 0) { do_set_burc(u, ngi, param); } else if (stricmp(cmd, "SEHIR") == 0) { do_set_sehir(u, ngi, param);

satırlarını ekleyin kodların sıra düzeni;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "INFO") == 0) { do_set_info(u, ngi, param); } else if (stricmp(cmd, "MSN") == 0) { do_set_msn(u, ngi, param); } else if (stricmp(cmd, "YAS") == 0) { do_set_yas(u, ngi, param); } else if (stricmp(cmd, "BURC") == 0) { do_set_burc(u, ngi, param); } else if (stricmp(cmd, "SEHIR") == 0) { do_set_sehir(u, ngi, param); } else if (stricmp(cmd, "KILL") == 0) { do_set_kill(u, ngi, param);

şeklinde olmalıdır bu bölümde dikkat edin.
Yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "EMAIL") == 0) { if (NSRequireEmail) { if (ni != u->ni) notice_lang(s_NickServ, u, NICK_UNSET_EMAIL_OTHER_BAD); else notice_lang(s_NickServ, u, NICK_UNSET_EMAIL_BAD); } else { do_set_email(u, ngi, NULL); } } else if (stricmp(cmd, "INFO") == 0) { do_set_info(u, ngi, NULL);

satırlarını bulun ve hemen altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "MSN") == 0) { do_set_msn(u, ngi, NULL); } else if (stricmp(cmd, "YAS") == 0) { do_set_yas(u, ngi, NULL); } else if (stricmp(cmd, "BURC") == 0) { do_set_burc(u, ngi, NULL); } else if (stricmp(cmd, "SEHIR") == 0) { do_set_sehir(u, ngi, NULL);

satırlarını ekleyin. Satır sonu;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
} else if (stricmp(cmd, "INFO") == 0) { do_set_info(u, ngi, NULL); } else if (stricmp(cmd, "MSN") == 0) { do_set_msn(u, ngi, NULL); } else if (stricmp(cmd, "YAS") == 0) { do_set_yas(u, ngi, NULL); } else if (stricmp(cmd, "BURC") == 0) { do_set_burc(u, ngi, NULL); } else if (stricmp(cmd, "SEHIR") == 0) { do_set_sehir(u, ngi, NULL); } else { syntax_error(s_NickServ, u, "UNSET", NSRequireEmail ? NICK_UNSET_SYNTAX_REQ_EMAIL : NICK_UNSET_SYNTAX); } }

şeklinde bitmesi gerek bu bölümlere dikkat edin.
Yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_set_info(User *u, NickGroupInfo *ngi, char *param) { const char *nick = ngi_mainnick(ngi); free(ngi->info); if (param) { ngi->info = sstrdup(param); notice_lang(s_NickServ, u, NICK_SET_INFO_CHANGED, nick, param); } else { ngi->info = NULL; notice_lang(s_NickServ, u, NICK_UNSET_INFO, nick); } put_nickgroupinfo(ngi); }

satırlarını bulup altına;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_set_msn(User *u, NickGroupInfo *ngi, char *param) { const char *nick = ngi_mainnick(ngi); free(ngi->msn); if (param && !valid_email(param)) { notice_lang(s_NickServ, u, BAD_EMAIL); return; } if (param) { ngi->msn = sstrdup(param); notice_lang(s_NickServ, u, NICK_SET_MSN_CHANGED, nick, param); } else { ngi->msn = NULL; notice_lang(s_NickServ, u, NICK_UNSET_MSN, nick); } put_nickgroupinfo(ngi); }

satırlarını ekleyin, devam ederek bu satırımızın altınada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_set_yas(User *u, NickGroupInfo *ngi, char *param) { const char *nick = ngi_mainnick(ngi); free(ngi->yas); if (param) { if (param[strspn(param, "0123456789")] != 0) { notice_lang(s_NickServ, u, NICK_SET_YAS_SYNTAX, nick); return; } ngi->yas = sstrdup(param); notice_lang(s_NickServ, u, NICK_SET_YAS_CHANGED, nick, param); } else { ngi->yas = NULL; notice_lang(s_NickServ, u, NICK_UNSET_YAS, nick); } put_nickgroupinfo(ngi); }

satırlarını ekleyin, devam ederek bu satırımızın altınada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_set_burc(User *u, NickGroupInfo *ngi, char *param) { const char *nick = ngi_mainnick(ngi); free(ngi->burc); if (param) { if (strlen(param)>9) { notice_lang(s_NickServ, u, NICK_SET_BURC_SYNTAX, nick); return; } ngi->burc = sstrdup(param); notice_lang(s_NickServ, u, NICK_SET_BURC_CHANGED, nick, param); } else { ngi->burc = NULL; notice_lang(s_NickServ, u, NICK_UNSET_BURC, nick); } put_nickgroupinfo(ngi); }

satırlarını ekleyin, devam ederek bu satırımızın altınada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_set_sehir(User *u, NickGroupInfo *ngi, char *param) { const char *nick = ngi_mainnick(ngi); free(ngi->sehir); if (param) { if (strlen(param)>12) { notice_lang(s_NickServ, u, NICK_SET_SEHIR_SYNTAX, nick); return; } ngi->sehir = sstrdup(param); notice_lang(s_NickServ, u, NICK_SET_SEHIR_CHANGED, nick, param); } else { ngi->sehir = NULL; notice_lang(s_NickServ, u, NICK_UNSET_SEHIR, nick); } put_nickgroupinfo(ngi); }

satırlarını ekleyin.
Kaydedip dosyadan çıkın.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/util.c

komutu ile util.c dosyamızın içine giriyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
free(ngi->info);

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
free(ngi->msn); free(ngi->yas); free(ngi->burc); free(ngi->sehir);

satırlarını ekleyin.
Kaydedip dosyadan çıkın.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/nickserv/nickserv.h

komutu ile nickserv.h dosyamıza giriyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char *info;

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char *msn; char *yas; char *burc; char *sehir;

satırlarını ekleyin ve dosyayı kaydedip çıkın.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico lang/tr.l

komutu ile tr.l dosyamıza giriyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# SET INFO responses NICK_SET_INFO_CHANGED ^B%s^B nicki icin bilgi satiri degistirildi.

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_SET_MSN_CHANGED ^B%s^B nicki icin MSN Adresi degistirildi. NICK_SET_YAS_CHANGED ^B%s^B nicki icin YAS degistirildi. NICK_SET_BURC_CHANGED ^B%s^B nicki icin BURC degistirildi. NICK_SET_SEHIR_CHANGED ^B%s^B nicki icin SEHIR belirlendi. NICK_SET_YAS_SYNTAX YAS satiri sadece rakamlardan olusmalidir. NICK_SET_BURC_SYNTAX BURC satiri burclardan olusmalidir. NICK_SET_SEHIR_SYNTAX SEHIR satiri sadece mevcut dunya sehirlerinden olusmalidir.

satırlarını ekleyin.
Yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_UNSET_INFO ^B%s^B nicki icin bilgi satiri silindi.

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_UNSET_MSN ^B%s^B nicki icin MSN Adresi silindi. NICK_UNSET_YAS ^B%s^B nicki icin YAS satiri silindi. NICK_UNSET_BURC ^B%s^B nicki icin BURC satiri silindi. NICK_UNSET_SEHIR ^B%s^B nicki icin SEHIR silindi.

satırlarını ekleyin.
Yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_INFO_INFO Bilgi: %s

satırlarının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_INFO_MSN MSN: %s NICK_INFO_YAS YAS: %s NICK_INFO_BURC BURC: %s NICK_INFO_SEHIR SEHIR: %s

satırlarını ekleyin.
Yine aynı dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
INFO INFO komutunda bir bilgi satiri gösterir.

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
MSN INFO komutunda MSN Adresinizi gösterir. YAS INFO komutunda bir YAS satiri gösterir. BURC INFO komutunda bir BURC satiri gösterir. SEHIR INFO komutunda bir SEHIR satiri gösterir.

satırlarını ekliyoruz ve yine aynı dosyada bulunan;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_HELP_SET_INFO Kullanimi: ^BSET INFO ^_metin^_^B Nickiniz icin bir bilgi metni belirler, bu metin INFO komutu kullanildiginda gösterilir.

satırlarının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_HELP_SET_MSN Kullanimi: ^BSET MSN ^_Msn adresiniz^_^B Nickiniz icin MSN adres metni belirler, bu metin INFO komutu kullanildiginda gösterilir. NICK_HELP_SET_YAS Kullanimi: ^BSET YAS ^_YASINIZ^_^B Nickiniz icin YAS satiri belirler, bu metin INFO komutu kullanildiginda gösterilir. NICK_HELP_SET_BURC Kullanimi: ^BSET BURC ^_BURCUNUZ^_^B Nickiniz icin BURC satiri belirler, bu metin INFO komutu kullanildiginda gösterilir. NICK_HELP_SET_SEHIR Kullanimi: ^BSET SEHIR ^_SEHIRINIZ^_^B Nickiniz icin SEHIR satiri belirler, bu metin INFO komutu kullanildiginda gösterilir.

satırlarını ekliyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_HELP_UNSET Kullanimi: ^BUNSET {URL | EMAIL | INFO}^B

satırını;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_HELP_UNSET Kullanimi: ^BUNSET {URL | EMAIL | INFO | MSN | YAS | BURC | SEHIR}^B Nickinize bagli URL, INFO, EMAIL, MSN, YAS, BURC ve SEHIR ayarlarini silmeye yarar. Ayni anda sadece bir ayar silebilirsiniz.

şeklinde değiştirin.
Dosyayı kaydedip çıkın.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico lang/index

komutu ile index dosyamıza giriyoruz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_SET_INFO_CHANGED

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_SET_MSN_CHANGED NICK_SET_YAS_CHANGED NICK_SET_BURC_CHANGED NICK_SET_SEHIR_CHANGED

satırlarını.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_UNSET_INFO

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_UNSET_MSN NICK_UNSET_YAS NICK_UNSET_BURC NICK_UNSET_SEHIR

satırlarını.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_INFO_INFO

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_INFO_MSN NICK_INFO_YAS NICK_INFO_BURC NICK_INFO_SEHIR

satırlarını.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_HELP_SET_INFO

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_HELP_SET_MSN NICK_HELP_SET_YAS NICK_HELP_SET_BURC NICK_HELP_SET_SEHIR

satırlarını.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_SET_LANGUAGE_SYNTAX

satırının ÜSTÜNE;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
NICK_SET_YAS_SYNTAX NICK_SET_BURC_SYNTAX NICK_SET_SEHIR_SYNTAX

satırlarını ekleyin dosyayı kaydedip çıkın.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/database/version4.c

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(write_string(ngi->info, f));

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(write_string(ngi->msn, f)); SAFE(write_string(ngi->yas, f)); SAFE(write_string(ngi->burc, f)); SAFE(write_string(ngi->sehir, f));

satırlarını ekleyin yine ayno dosyada;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->info) mem += strlen(ngi->info)+1;

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (ngi->msn) mem += strlen(ngi->msn)+1; if (ngi->yas) mem += strlen(ngi->yas)+1; if (ngi->burc) mem += strlen(ngi->burc)+1; if (ngi->sehir) mem += strlen(ngi->sehir)+1;

satırlarını ekleyin dosyayı kaydedip çıkın.
ircservices* dizininde;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
make install

Ardından sunucunuzda;
/os restart
/ns set msn msnadres
/ns set yas yaşınız
/ns set burc burcunuz
/ns set sehir şehir
komutları ile msn,yas,burc ve sehir belirleyin, belirlemek şart yeni düzenlemeleri okuması için.
Tekrar;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico modules/database/version4.c

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(read_string(&ngi->info, f));

satırının altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
SAFE(read_string(&ngi->msn, f)); SAFE(read_string(&ngi->yas, f)); SAFE(read_string(&ngi->burc, f)); SAFE(read_string(&ngi->sehir, f));

satırlarını ekleyin ve dosyayı kaydedip çıkın.
Sunucunuzda /os restart yapıp servislere restart atın.

NOT: tr.l dosyasında editleme yaparken boşluk ( space ) kullanmayın aksi taktirde hata almanız kaçınılmazdır. Editplus kullanırsanız daha sağlıklı olacaktır...

Kodun yazarı : Soldy


Konu toXic tarafından (06 Aralık 2010 Saat 09:21 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet