Kahkaha

Bayıldım

Cool

Kızgın

Mahcup

Öğretici

Şaşkın

Suskun

Tatlı

Üzgün

Süper

IRCServices – ngi ve ni Kullanimlar.

Ana Sayfa » internet » IRC » IRCServices – ngi ve ni Kullanimlar.
IRCServices – ngi ve ni Kullanimlar.

IRCServiceste bazi durumlari kullanmak için pointerlar kullanilir. Bu pointerlar birçok özellikleri almak için, işlem yapmak için sıkca kullanilir. Örneğin *ni..

Örnek vericek olursak;

/************************************************************************/
//coded toXic

static void do_sans(User *u)
{
NickInfo *ni;
ni = get_nickinfo(u->nick);
#define bekle 3;
static int toxolog = 60*60*24*bekle;
time_t now = time(NULL);
NickGroupInfo *ngi;
ngi = get_ngi(ni);
if (!ni) {
send_cmd(s_NickServ, "NOTICE %s Nickiniz'i kaydetmelisiniz.", u->nick);
return;
}

if (!is_services_admin(u) && ngi->lastsans && now - ngi->lastsans < toxolog) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu \2( 3 ) \2 Gunde, sadece \2 1 \2 Kez Kullanabilirsiniz..", u->nick);
return;
}
ngi->lastsans = now;
/*
int Kalan;
Kalan = now - ngi->lastsans - toxolog;
send_cmd(s_NickServ, "NOTICE %s kalan sureniz ( \2%d\2 )", u->nick, Kalan);
*/
int x = 0;
int ibo = 0;
for (ibo = 0; ibo < 1; ++ibo) x=rand()%100; send_cmd(s_NickServ, "NOTICE %s Sans Numaraniz, \2 ( %d )\2 Olmustur..", u->nick, x);
send_cmd(s_NickServ, "NOTICE %s Kazanma bilgisi ", u->nick);
if (x == 35) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "SWHOIS %s :Vhost Sansli Kullanicisi", u->nick);
}
else if (x == 44) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Size Whois cekenleri goreceksiniz..", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +W :1", u->nick);
}
else if (x == 62) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Kanallardan atilmayacaksiniz..", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +q :1", u->nick);
}
else if (x == 77) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Vip Kullanicisi oldunuz.", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +qW :1", u->nick);
}
else if (x == 93) {
send_cmd(s_NickServ, "NOTICE %s Tebrikler, Sansli sayiyi yakaladiniz.", u->nick);
send_cmd(s_NickServ, "NOTICE %s Odulunuz, Size Whois cekenleri goreceksiniz..", u->nick);
send_cmd(s_NickServ, "SVSMODE %s +W :1", u->nick);
}
else {
send_cmd(s_NickServ, "NOTICE %s Maalesef, Sansli gununuzde degilsiniz..", u->nick);
send_cmd(s_NickServ, "NOTICE %s Tekrar Kullanim icin, \2 3 \2 Gun beklemelisiniz..", u->nick);
}
}

bu sekilde bir kod yazalim.

Kod:
NickInfo *ni;Burada *ni’yi kullandik. Fakat Kullanicinin bilgilerini almak için bir pointer daha kullanmaliyiz. Oda;

Kod:
ni = get_nickinfo(u->nick);Burada, get_nickinfo kullanicinin nick bilgilerini alir. Mesela sunucuya giren kullanicilara karşilama yapmak için,

Kod:

NickInfo *ni;
ni = get_nickinfo(u->nick);

#define tox “Nickiniz kayitlidir.”
if (ni) {
send_cmd(s_NickServ, “PRIVMSG %s %s”, u->nick, tox);
}Olarak kullaniyoruz, Kullanicinin nickinin kayitli olup olmadiğini bu şekilde algilatiyoruz.

Kod:
if (!ni) {
send_cmd(s_NickServ, “NOTICE %s Nickiniz’i kaydetmelisiniz.”, u->nick);
return;
}Burada kayitsiz nicklere komut kullanimini kapadik. return burada işlemi kesmiş. Eğer return kullanilmasa idi, işlem gerçekleşirdi.

İlk Kodumuzda varsayalim ki,

Kod:
ni = get_nickinfo(u->nick);yok..

© NickServ Sifre kabul edildi.

nickserv — sans
© NickServ Nickiniz’i kaydetmelisiniz.

Nick kayitli olduğu halde, nickinizi kaydetmelisiniz diyor. 10 harfcik bir kod bile çok önemli kod yazimi için. Hatta bu segmantationa kadar rahatlikla götürebilir.

Gelelim ngi ‘ ye.

Kullanimi;
Kod:
NickGroupInfo *ngi;Seklindedir.

Bunu;

Kod:
if (!is_services_admin(u) && ngi->lastsans && now – ngi->lastsans < toxolog) { send_cmd(s_NickServ, "NOTICE %s Bu Komutu \2( 3 ) \2 Gunde, sadece \2 1 \2 Kez Kullanabilirsiniz..", u->nick);
return;
}olarak kullanmişiz. ngi en cok emaildi sifre idi yani kişiye özel işlemlerde kullanilmaktadir.

IRCServices – ngi ve ni Kullanimlar. - Yorumlar

YORUMLARINIZI PAYLAŞIN

 

Yapılan Yorumlar

BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler

irc invex komutu

irc invex komutu 17 Ocak 2011

irc notify kullanımı

irc notify kullanımı 17 Ocak 2011

SOSYAL MEDYADA BİZSitemizin sosyal medya hesapları

RASTGELE İÇERİKLER

Web Sohbet Güncellendi Anestezi Nedir? UYANDIM KUŞLARIN İNCE SESİNE 3G Nedir, 3G Ne Demek PİGMENT BİLGİSAYAR AKTİF NET ADI GÜL’DÜ

FACEBOOK'TA BİZ

Hoşgeldiniz

kelebek.gen.tr – kelebek mirc - Tüm Hakları Saklıdır