--------------------------------------------------------------------------------
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:
-
cd ircservices*
- Kod:
-
pico modules/nickserv/main.c
komutları ile main.c dosy***zın içine giriyoruz
- Kod:
-
{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },
satırının altına;
- Kod:
-
{ "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:
-
if (ngi->info)
notice_lang(s_NickServ, u, NICK_INFO_INFO, ngi->info);
satırının altına;
Kod:
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:
pico modules/nickserv/set.ckomutu ile set.c dosy***zın içine giriyoruz.
Kod:
static void do_set_info(User *u, NickGroupInfo *ngi, char *param);
satırının altına;
Kod:
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:
} 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:
} 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:
} 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:
} 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:
} 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:
} 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:
/************************************************** ***********************/
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:
/************************************************** ***********************/
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:
/************************************************** ***********************/
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:
/************************************************** ***********************/
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:
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:
pico modules/nickserv/util.ckomutu ile util.c dosy***zın içine giriyoruz.
Kod:
free(ngi->info);satırının altına;
Kod:
free(ngi->msn);
free(ngi->yas);
free(ngi->burc);
free(ngi->sehir);satırlarını ekleyin.
Kaydedip dosyadan çıkın.
Kod:
pico modules/nickserv/nickserv.hkomutu ile nickserv.h dosy***za giriyoruz.
Kod:
char *info;satırının altına;
Kod:
char *msn;
char *yas;
char *burc;
char *sehir;satırlarını ekleyin ve dosyayı kaydedip çıkın.
Kod:
pico lang/tr.lkomutu ile tr.l dosy***za giriyoruz.
Kod:
# SET INFO responses
NICK_SET_INFO_CHANGED
^B%s^B nicki icin bilgi satiri degistirildi.satırının altına;
Kod:
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:
NICK_UNSET_INFO
^B%s^B nicki icin bilgi satiri silindi.satırının altına;
Kod:
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:
NICK_INFO_INFO
Bilgi: %ssatırlarının altına;
Kod:
NICK_INFO_MSN
MSN: %s
NICK_INFO_YAS
YAS: %s
NICK_INFO_BURC
BURC: %s
NICK_INFO_SEHIR
SEHIR: %ssatırlarını ekleyin.
Yine aynı dosyada;
Kod:
INFO INFO komutunda bir bilgi satiri gösterir.satırının altına;
Kod:
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:
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:
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:
NICK_HELP_UNSET
Kullanimi: ^BUNSET {URL | EMAIL | INFO}^Bsatırını;
Kod:
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:
pico lang/indexkomutu ile index dosy***za giriyoruz.
Kod:
NICK_SET_INFO_CHANGEDsatırının altına;
Kod:
NICK_SET_MSN_CHANGED
NICK_SET_YAS_CHANGED
NICK_SET_BURC_CHANGED
NICK_SET_SEHIR_CHANGEDsatırlarını.
Kod:
NICK_UNSET_INFOsatırının altına;
Kod:
NICK_UNSET_MSN
NICK_UNSET_YAS
NICK_UNSET_BURC
NICK_UNSET_SEHIRsatırlarını.
Kod:
NICK_INFO_INFOsatırının altına;
Kod:
NICK_INFO_MSN
NICK_INFO_YAS
NICK_INFO_BURC
NICK_INFO_SEHIRsatırlarını.
Kod:
NICK_HELP_SET_INFOsatırının altına;
Kod:
NICK_HELP_SET_MSN
NICK_HELP_SET_YAS
NICK_HELP_SET_BURC
NICK_HELP_SET_SEHIRsatırlarını.
Kod:
NICK_SET_LANGUAGE_SYNTAXsatırının ÜSTÜNE;
Kod:
NICK_SET_YAS_SYNTAX
NICK_SET_BURC_SYNTAX
NICK_SET_SEHIR_SYNTAXsatırlarını ekleyin dosyayı kaydedip çıkın.
Kod:
pico modules/database/version4.cKod:
SAFE(write_string(ngi->info, f));satırının altına;
Kod:
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:
if (ngi->info)
mem += strlen(ngi->info)+1;satırının altına;
Kod:
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:
makeKod:
make installArdı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:
pico modules/database/version4.c
Kod:
SAFE(read_string(&ngi->info, f));
satırının altına;
Kod:
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