Tekil Mesaj gösterimi
Alt 05 Aralık 2010, 21:02   #1
Çevrimdışı
toXic
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
IRCServices User KILL




Bu sistemde, Kullanicilar kullanicilara kill atabilecekler.
Ben Kill atmasi için gereken seçeneği Onlinesini esas aldim. Bu sistem Rulzservices'in ileriki versiyonunda Helperlar icin esas alinmistir.
Bu durumda total online time'nin ekli olmasi gerektiğini söylememe gerek yok sanirim.

/NS Killat nick sebep Komutu ile calisir.


Nick kısmında, kill atacağiniz kişinin nickini yazmalisiniz. Aksi halde calismaz.
Sebep kısmına, Neden attiğinizi yazacaksiniz. Aksi halde calismayacaktir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static int killsure = 60*60*24*50;

Buradan süreyi ayarlayabilirsiniz. Kaç gün olcaksa 50 yerine onu yazacaksiniz. Örneğin 100 gün yapmak icin;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static int killat = 60*60*24*100;

Değiştirmelisiniz.

Kill atarken kesinlikle sebep girmelisiniz. AKSİ Halde komut calismaz..

Alıntı:
nickserv -- killat KelebekTurkce775
© NickServ Sebep girmediniz.
nickserv -- killat KelebekTurkce775 bayko.
© NickServ isleminiz, gerceklestirilmistir.
[KBSC] 20::50 *** KelebekTurkce775 (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
) Çıktı (Killed (NickServ (Sunucu Kurallarina Uymadiginiz icin toXic Tarafindan Atildini)))


Bunlar disinda, services adminler kill atilan nickleri anında takip edebilecekler..

/NS Killoku komutunu kullanarak bilgi sahibi olabilirler.
Alıntı:

nickserv -- killoku
© NickServ [Sun Dec 5 20:38:28 2010
© NickServ ] toXic KILLED -> KelebekTurkce775 Sebep -> bayko.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd ircs*-*

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

girip;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_register(User *u);


satiri altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_killat(User *u); static void do_killoku(User *u);

ekleyiniz.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "REGISTER", do_register, NULL, NICK_HELP_REGISTER, -1,-1 },


altina;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
{ "KILLAT", do_killat, NULL, -1, -1,-1 }, { "KILLOKU", do_killoku, NULL, -1, -1,-1 },

ekleyin.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ static void do_identify(User *u) { char *pass = strtok_remaining();



SATİRİ ÜSTÜNE


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ //Coded toXic //xHelPILL static void do_killat(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); char *nick = strtok(NULL, " "); User *u2; char *sebep; sebep = strtok_remaining(); char buf[NICKMAX+32]; // Kill atmasi icin gereken Online suresi static int killsure = 60*60*24*50; if (!ni) { send_cmd(s_NickServ, "NOTICE %s Nickiniz Kayitsiz.", u->nick); return; } if (killsure && ni->toplamzaman <= killsure) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Erisiminiz Yoktur..", u->nick); send_cmd(s_NickServ, "NOTICE %s Sadece Ozel Kullanicilar Kullanabilir..", u->nick); return; } if (!sebep) { send_cmd(s_NickServ, "NOTICE %s Sebep girmediniz.", u->nick); return; } if (!(u2 = get_user(nick))) { send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilmistir.", u->nick); return; } if (irc_stricmp(nick, u->nick) == 0) { send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilemedi.", u->nick); return; } else if (ni->status & NS_GUESTED) { send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilemedi.", u->nick); return; } if (nick) { NickInfo *ni2 = get_nickinfo(nick); if (!ni) { notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick); return; } else if (ni2 == ni) { } else { ni = ni2; } } send_cmd(s_NickServ, "NOTICE %s isleminiz, gerceklestirilmistir.", u->nick); snprintf(buf, sizeof(buf), "Sunucu Kurallarina Uymadiginiz icin \2%s\2 Tarafindan Atildiniz..", u->nick); kill_user(s_NickServ, nick, buf); time_t zaman; struct tm * timeinfo; time ( &zaman ); timeinfo = localtime ( &zaman ); FILE *dosya_yaz; dosya_yaz = fopen("kill.txt","a"); if (dosya_yaz != NULL) { fprintf(dosya_yaz,"[%s] %s KILLED -> %s Sebep -> %s\n", asctime (timeinfo), u->nick, u2->nick, sebep); fclose(dosya_yaz); } } //ahooy

Ekleyin.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/ /* Register a nick. */ static void do_register(User *u) { NickInfo *ni; NickGroupInfo *ngi;

Üstüne


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_killoku(User *u) { NickInfo *ni; ni = get_nickinfo(u->nick); #define killoku "kill.txt" if (!is_services_admin(u)) { send_cmd(s_NickServ, "NOTICE %s Bu Komuta Yetkiniz yok..", u->nick); return; } FILE *h; char buf[BUFSIZE]; h = fopen(killoku, "r"); if (h) { while (fgets(buf, sizeof(buf), h)) { buf[strlen(buf)-1] = 0; send_cmd(s_NickServ, "NOTICE %s %s", u->nick, buf); } fclose(h); } else { send_cmd(s_NickServ, "NOTICE %s Henuz Atilan Olmamis.", u->nick); } }


Ardindan;

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

ve servislerinizi resetleyin.


Konu toXic tarafından (15 Aralık 2010 Saat 19:51 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet