PDA

Orijinalini görmek için tıklayınız : Whois Profil Sistemi. (İSİM-SEHİR-YAS-Burc)


toXic
25-05-2009, 15:49
cd services
cd lib
pico mod*.c*


Girip;

GlobalName "DUYURU" "Global Noticer"

Bunu;

GlobalName "KELEBEK" "Global Noticer"

Sunucu ismini Yazıyoruz.


cd


cd ircservices-*


pico -w modules/nickserv/main.c


{ "SET INFO", NULL, NULL, NICK_HELP_SET_INFO, -1,-1 },

satırını bulup altina;

{ "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 },
{ "SET ISIM", NULL, NULL, NICK_HELP_SET_ISIM, -1,-1 },


Ekliyoruz.

Aynı dosyada;

notice_lang(s_NickServ, u, NICK_INFO_INFO, ngi->info);

Satırının altına;

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);
if (ngi->isim)
notice_lang(s_NickServ, u, NICK_INFO_ISIM, ngi->isim);


Satırlarını;

-

module_log("%s!%s@%s identified for nick %s",
u->nick, u->username, u->host, u->nick);
notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED);


Satirinin hemen altina;

if((ngi->sehir!=NULL) && (ngi->burc!=NULL) && (ngi->yas!=NULL))//ücüde var ise
send_cmd(s_NickServ, "SWHOIS %s :Kullanıcısının Profili 1( 4ISMI : 2%s 4Bulundugu Sehir : 7* 2%s 7* 4Burcu : 7* 2 %s 7* 4Yasi : 7* 2 %s 7 *1 )", u->nick, ngi->isim, ngi->sehir, ngi->burc, ngi->yas);

else if((ngi->sehir!=NULL) && (ngi->burc!=NULL) && (ngi->yas==NULL))//sehir ve burc var ise
send_cmd(s_NickServ, "SWHOIS %s :1Bulundugu Sehir : * 4%s 1* , Burcu : * 4%s 1*", u->nick, ngi->sehir, ngi->burc);

else if((ngi->sehir!=NULL) && (ngi->burc==NULL) && (ngi->yas!=NULL))//yas ve sehir var ise
send_cmd(s_NickServ, "SWHOIS %s :Bulundugu Sehir : * %s* , Yasi : * %s *", u->nick, ngi->sehir, ngi->yas);

else if((ngi->sehir==NULL) && (ngi->burc!=NULL) && (ngi->yas!=NULL))//burc ve yas var ise
send_cmd(s_NickServ, "SWHOIS %s :Burcu : * %s * , Yasi : * %s *", u->nick, ngi->burc, ngi->yas);

else if((ngi->sehir!=NULL) && (ngi->burc==NULL) && (ngi->yas==NULL))//sadece sehir var ise
send_cmd(s_NickServ, "SWHOIS %s :Bulundugu Sehir : *%s*", u->nick, ngi->sehir);

else if((ngi->sehir==NULL) && (ngi->burc!=NULL) && (ngi->yas==NULL))//sadece burcu var ise
send_cmd(s_NickServ, "SWHOIS %s :1Burc'u : * 4%s 1*", u->nick, ngi->burc);

else if((ngi->sehir==NULL) && (ngi->burc==NULL) && (ngi->yas!=NULL))//sadece yasi var ise
send_cmd(s_NickServ, "SWHOIS %s :1Yaşı : *4 %s 1*", u->nick, ngi->yas);



ekleyip, Kaydedip Cıkıyoruz.

pico -w modules/nickserv/set.c

Girip;

static void do_set_info(User *u, NickGroupInfo *ngi, char *param);

Satirinin altina;

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);
static void do_set_isim(User *u, NickGroupInfo *ngi, char *param);


ekliyoruz, sonra

} else if (stricmp(cmd, "INFO") == 0) {
do_set_info(u, ngi, param);

satırını bulup hemen altina;

} 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, "ISIM") == 0) {
do_set_isim(u, ngi, param);


Ekliyoruz.

} 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ırını bulup hemen altina;

} 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 if (stricmp(cmd, "ISIM") == 0) {
do_set_isim(u, ngi, NULL);


ekliyorz.

Aynı dosyada su satırları bulup;

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);
}

Hemen Altina;

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);
send_cmd(s_GlobalNoticer, "NOTICE %s YAS Seceneğiniz, \2%s\2 olarak Değiştirildi.", u->nick, ngi->yas);
} else {
ngi->yas = NULL;
notice_lang(s_NickServ, u, NICK_UNSET_YAS, nick);
}
put_nickgroupinfo(ngi);
}

/************************************************** *********************/

static void do_set_isim(User *u, NickGroupInfo *ngi, char *param)
{
const char *nick = ngi_mainnick(ngi);
free(ngi->isim);
if (param) {
if (param[strspn(param, "abcdefgğhıijklmnoöprsştuüvyz")] != 0) {
notice_lang(s_NickServ, u, NICK_SET_ISIM_SYNTAX, nick);
return;
}
ngi->isim = sstrdup(param);
notice_lang(s_NickServ, u, NICK_SET_ISIM_CHANGED, nick, param);
send_cmd(s_GlobalNoticer, "NOTICE %s ISIM Seceneğiniz, \2%s\2 olarak Değiştirildi.", u->nick, ngi->isim);
} else {
ngi->isim = NULL;
notice_lang(s_NickServ, u, NICK_UNSET_ISIM, nick);
}
put_nickgroupinfo(ngi);
}


/************************************************** **********************/

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);
send_cmd(s_GlobalNoticer, "NOTICE %s BURC Seceneğiniz, \2%s\2 olarak Değiştirildi.", u->nick, ngi->burc);

} else {
ngi->burc = NULL;
notice_lang(s_NickServ, u, NICK_UNSET_BURC, nick);
}
put_nickgroupinfo(ngi);
}

/************************************************** ***********************/

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);
send_cmd(s_GlobalNoticer, "NOTICE %s SEHIR Seceneğiniz, \2%s\2 olarak Değiştirildi.", u->nick, ngi->sehir);

} else {
ngi->sehir = NULL;
notice_lang(s_NickServ, u, NICK_UNSET_SEHIR, nick);
}
put_nickgroupinfo(ngi);
}


Ekleyip, Kaydedip cıkıyoruz.

pico modules/nickserv/util.c

Girip;


free(ngi->info);

Satirinin altina;

free(ngi->yas);
free(ngi->burc);
free(ngi->sehir);
free(ngi->isim);


Ekleyip Cıkıyoruz.

pico modules/nickserv/nickserv.h

Dosyasına girip;

char *info;

Satirinin altina;

char *yas;
char *burc;
char *sehir;
char *isim;



Ekliyoruz.

pico lang/index

Dosyasına girip;

NICK_SET_INFO_CHANGED

Satirinin altina;

NICK_SET_YAS_CHANGED
NICK_SET_BURC_CHANGED
NICK_SET_SEHIR_CHANGED
NICK_SET_ISIM_CHANGED


Ekliyoruz;

NICK_UNSET_INFO

Satirinin altina;

NICK_UNSET_YAS
NICK_UNSET_BURC
NICK_UNSET_SEHIR
NICK_UNSET_ISIM


satirlarini;

NICK_INFO_INFO

altina;

NICK_INFO_YAS
NICK_INFO_BURC
NICK_INFO_SEHIR
NICK_INFO_ISIM


ve

NICK_HELP_SET_INFO

altina;

NICK_HELP_SET_YAS
NICK_HELP_SET_BURC
NICK_HELP_SET_SEHIR
NICK_HELP_SET_ISIM


Ekliyoruz.
NICK_SET_LANGUAGE_SYNTAX

Satirinin ÜSTÜNE

NICK_SET_YAS_SYNTAX
NICK_SET_BURC_SYNTAX
NICK_SET_SEHIR_SYNTAX
NICK_SET_ISIM_SYNTAX


Ekliyoruz.

Kaydedip Cıkıyoruz.



pico modules/database/version4.c

Girip;

SAFE(write_string(ngi->info, f));

Hemen altina;

SAFE(write_string(ngi->yas, f));
SAFE(write_string(ngi->burc, f));
SAFE(write_string(ngi->sehir, f));
SAFE(write_string(ngi->isim, f));


ekliyoruz.

if (ngi->info)
mem += strlen(ngi->info)+1;

altina;

if (ngi->yas)
mem += strlen(ngi->yas)+1;
if (ngi->burc)
mem += strlen(ngi->burc)+1;
if (ngi->sehir)
mem += strlen(ngi->sehir)+1;
if (ngi->isim)
mem += strlen(ngi->isim)+1;


ekleyip kaydedip cıkıyoruz.
sonra servisleri restleyip

/ns set isim isim
/ns set sehir sehir
/ns set burc burcunuz
/ns set yas yasınız
belirtip;

pico modules/database/version4.c

girip;

SAFE(read_string(&ngi->info, f));

altina ekliyoruz.


SAFE(read_string(&ngi->yas, f));
SAFE(read_string(&ngi->burc, f));
SAFE(read_string(&ngi->sehir, f));
SAFE(read_string(&ngi->isim, f));


Sonra servislerinize tekrar rest atın.


nickserv -- set isim ibrahim
© KELEBEK ISIM Seceneğiniz, ibrahim olarak Değiştirildi.
nickserv -- set sehir samsun
© KELEBEK SEHIR Seceneğiniz, samsun olarak Değiştirildi.
nickserv -- set yas 19
© KELEBEK YAS Seceneğiniz, 19 olarak Değiştirildi.
nickserv -- set burc yengec
© KELEBEK BURC Seceneğiniz, yengec olarak Değiştirildi.

««««« [ Whois toXic ] »»»»»
* Adres: KLBKvTurk@TechnicalAdministrator.Kelebek.Gen.TR (KLBKvTurk@TechnicalAdministrator.Kelebek.Gen.TR)
* İsim: KELEBEK.Gen.TR
toXic *@85.105.110.67 (*@85.105.110.67) 85.105.110.67 adresinden bağlantı kuruyor
* Rumuz Bilgi: toXic Sifreli ve Tanitilmis Bir Nicktir
* Kanallar: #opers
* Server: IRC.Kelebek.Gen.TR KELEBEK.Gen.TR IRC Server
* IRCop: toXic is a Network Administrator
* toXic Bir Helper(IRC YardImcI) dır.
toXic LoginID:toXic--Toplam-Baglantı-Suresi=0-Gün-0-saat-0-dakika-52-saniye.
toXic Kullanıcısının Profili ( ISMI : ibrahim Bulundugu Sehir : * samsun * Burcu : * yengec * Yasi : * 19 * )
* Konuşmadığı Süre: 0Saniye
* Sunucuya Giriş Saati: CuMarttesi Mayıs 23 19:05:20 2009
««««« [ Whois Sonu ] »»»»»

Bu Sekilde, Nicki Şifreli Tüm Kullanıcılar, Kendi Profillerini Belirleyebileceler. Eksiklerimiz var mı var, En kısa zamanda Düzelteceğim. Bunda En büyük paya sahip olan kuskusuz zaman'dır. Zaman Kardeşimede Teşekkürlerimi Borc bilirim.

NOT:

if((ngi->sehir!=NULL) && (ngi->burc!=NULL) && (ngi->yas!=NULL))//ücüde var ise
send_cmd(s_NickServ, "SWHOIS %s :Kullanıcısının Profili 1( 4ISMI : 2%s 4Bulundugu Sehir : 7* 2%s 7* 4Burcu : 7* 2 %s 7* 4Yasi : 7* 2 %s 7 *1 )", u->nick, ngi->isim, ngi->sehir, ngi->burc, ngi->yas);

else if((ngi->sehir!=NULL) && (ngi->burc!=NULL) && (ngi->yas==NULL))//sehir ve burc var ise
send_cmd(s_NickServ, "SWHOIS %s :1Bulundugu Sehir : * 4%s 1* , Burcu : * 4%s 1*", u->nick, ngi->sehir, ngi->burc);

else if((ngi->sehir!=NULL) && (ngi->burc==NULL) && (ngi->yas!=NULL))//yas ve sehir var ise
send_cmd(s_NickServ, "SWHOIS %s :Bulundugu Sehir : * %s* , Yasi : * %s *", u->nick, ngi->sehir, ngi->yas);

else if((ngi->sehir==NULL) && (ngi->burc!=NULL) && (ngi->yas!=NULL))//burc ve yas var ise
send_cmd(s_NickServ, "SWHOIS %s :Burcu : * %s * , Yasi : * %s *", u->nick, ngi->burc, ngi->yas);

else if((ngi->sehir!=NULL) && (ngi->burc==NULL) && (ngi->yas==NULL))//sadece sehir var ise
send_cmd(s_NickServ, "SWHOIS %s :Bulundugu Sehir : *%s*", u->nick, ngi->sehir);

else if((ngi->sehir==NULL) && (ngi->burc!=NULL) && (ngi->yas==NULL))//sadece burcu var ise
send_cmd(s_NickServ, "SWHOIS %s :1Burc'u : * 4%s 1*", u->nick, ngi->burc);

else if((ngi->sehir==NULL) && (ngi->burc==NULL) && (ngi->yas!=NULL))//sadece yasi var ise
send_cmd(s_NickServ, "SWHOIS %s :1Yaşı : *4 %s 1*", u->nick, ngi->yas);


Burdaki Codeleri, FTPDEN main.c dosyanıza atmanız sağlıklı olacaktır böyle direk telnetten atarsanız satır kaymalarının meydana gelmesi kacınılmaz olacaktır eğer telnetten atacaksanız Renk Codelerini Silin öyle Atın.
iyi calismalar ;)


( toXic code yazamaz diyenlere Kücük Bir armağanımdır. )

blackdie
28-05-2009, 21:28
Paylaşım için saol