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.