IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 30 Eylül 2010, 09:41   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/************************************************************************/ //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:   Kodu kopyalamak için üzerine çift tıklayın!
NickInfo *ni;

Burada *ni'yi kullandik. Fakat Kullanicinin bilgilerini almak için bir pointer daha kullanmaliyiz. Oda;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
ni = get_nickinfo(u->nick);

Burada, get_nickinfo kullanicinin nick bilgilerini alir. Mesela sunucuya giren kullanicilara karşilama yapmak için,

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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:   Kodu kopyalamak için üzerine çift tıklayın!
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:   Kodu kopyalamak için üzerine çift tıklayın!
ni = get_nickinfo(u->nick);

yok..

Alıntı:

© 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:   Kodu kopyalamak için üzerine çift tıklayın!
NickGroupInfo *ngi;

Seklindedir.

Bunu;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 05 Ekim 2010, 11:13   #2
Çevrimdışı
aSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: IRCServices - ngi ve ni Kullanimlar.




Emeğine sağlık güzel bir çalışma..

__________________
Doğruları biliyorsan, yalanları dinlemek eğlencelidir.
 
Alıntı ile Cevapla

Alt 03 Şubat 2011, 02:11   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: IRCServices - ngi ve ni Kullanimlar.




güzel makale olmuş.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
eline sağlık ibrahim.

ngi için biraz daha açıklama lazım değil kardeşim?
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Cevapla

Etiketler
anahtar, ni, ve


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
ircservices ağır_severim Servisler 3 05 Ekim 2012 23:04
IRCServices-5.1.1* ExpLoSive IRCServices 5 12 Ağustos 2009 00:39
ircservices/lib raskolnikov IRCServices 1 15 Mart 2009 14:24
ircServices-5.0.62 pire40 Servisler 3 03 Ekim 2008 17:34
ircservices de bot BeYaZAsLaN Servisler 8 20 Mayıs 2007 13:50