Giriş

Orijinalini görmek için tıklayınız : Kullanıcıya Kill Komut Yetkisi Vermek.


Code
26 Eylül 2015, 10:37
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.

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;


static int killat = 60*60*24*100;
Değiştirmelisiniz.

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

nickserv -- killat KelebekTurkce775
© NickServ Sebep girmediniz.
nickserv -- killat KelebekTurkce775 bayko.
© NickServ isleminiz, gerceklestirilmistir.
[KBSC] 20::50 *** KelebekTurkce775 (.@A9A52940.D845EB45.283E84C9.IP) Çı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.


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


cd ircs*-*

nano -w modules/nickserv/main.c
girip;

static void do_register(User *u);
satiri altina;

static void do_killat(User *u);
static void do_killoku(User *u);
ekleyiniz.


{ "REGISTER", do_register, NULL, NICK_HELP_REGISTER, -1,-1 },
altina;



{ "KILLAT", do_killat, NULL, -1, -1,-1 },
{ "KILLOKU", do_killoku, NULL, -1, -1,-1 },
ekleyin.






/************************************************** ***********************/
static void do_identify(User *u)
{
char *pass = strtok_remaining();


SATİRİ ÜSTÜNE



/************************************************** ***********************/
//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.


/************************************************** ***********************/
/* Register a nick. */
static void do_register(User *u)
{
NickInfo *ni;
NickGroupInfo *ngi;



Üstüne


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;


make&&make installve servislerinizi resetleyin.

İyi forumlar..