lookjapan.COM - IRC ve mIRC dünyasının forumu!   buy vps


  lookjapan.COM - IRC ve mIRC dünyasının forumu! IF - Unreal, Services ve Botlar Services IRCServices Hazır Kodlar


Yeni Konu   Cevap Yaz

 
LinkBack Seçenekler Stil
Alt 10 Şubat 2015, 22:35   #1
 
Return - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 25 Ocak 2015
Mesajlar: 109
WEB Sitesi: *
IRC Sunucusu: *
İlgi Alanı:
Alınan Beğeni: 14
Standart IRCServices (Access Kabul Sistemi..)

Ptlink tarzı Access Kabul sistemi.. (eklenen accesslerin /cs kabul #kanalismi e/h yapması şarttır.)

Kod 3 saat içinde tarafımdan yazılmıştır..

Ekleme Zorluğu : Orta/Zor

Yapılması Gereken Değişiklikler :

cd ircservices-5.0.xx

------------------------------
pico lang/tr.l

Kod:
CHAN_ACCESS_ADDED
%s nick'i %s kanalinin erisim listesine %d seviyeden eklendi.
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_ACCESS_ADDED
%s nick'ine %s kanalinin erisim listesine %d seviyeden eklenmesi için Kabul Mesajı Gönderildi.
-

Kod:
CHAN_ACCESS_LIST_HEADER
 %s Kanali Erisim Listesi:
   Sira   Seviye  Nick
CHAN_ACCESS_LIST_FORMAT
   %4d    %4d   %s
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_ACCESS_LIST_HEADER
 %s Kanali Erisim Listesi:
   Sira   Seviye  Nick  Durum
CHAN_ACCESS_LIST_FORMAT
   %4d    %4d   %s   %s
-

Kod:
CHAN_XOP_ADDED
 %s %s %s listesine eklendi.
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_XOP_ADDED
 %s nickine %s %s listesine eklenmesi için Kabul Mesajı Gönderildi.
-

Kod:
CHAN_XOP_LIST_HEADER
 %s %s listesi:
   Sira   Nick
CHAN_XOP_LIST_FORMAT
   %4d   %s
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_XOP_LIST_HEADER
 %s %s listesi:
   Sira   Nick   Durum
CHAN_XOP_LIST_FORMAT
   %4d   %s   %s
------------------------------
pico modules\chanserv\access-levels.c

Kod:
int is_list;  /* Is true when command is either LIST or COUNT */
Bu Satırları bulup, bir üstüne şu satırı ekleyin:

Kod:
User *sky;
-

Kod:
notice_lang(s_ChanServ, u, CHAN_ACCESS_ADDED, nick, chan, level);
Bu satırı bulup, bir altına şu satırları ekleyin:

Kod:
  sky = get_user(nick);
  if (sky) {
   if (user_identified(sky)) {
    send_cmd(s_ChanServ, "NOTICE %s :%s Nicki %s Kanalında Size Access Ekledi.", sky->nick, u->nick, chan);
    send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yaziniz.", sky->nick, chan);
    send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yaziniz.", sky->nick, chan);
   }
  }
-

Kod:
static int access_list(User *u, int index, ChannelInfo *ci, int *sent_header)
{
    ChanAccess *access = &ci->access[index];
    NickGroupInfo *ngi;
    if (!access->nickgroup)
 return RET_NOENTRY;
    if (!(ngi = get_ngi_id(access->nickgroup)))
 return RET_INTERR;
    if (!*sent_header) {
 notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
 *sent_header = 1;
    }
    notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
  index+1, access->level, ngi_mainnick(ngi));
    return RET_LISTED;
}
Bu kodu bulup, şu kod ile değiştirin:

Kod:
static int access_list(User *u, int index, ChannelInfo *ci, int *sent_header)
{
    ChanAccess *access = &ci->access[index];
    NickGroupInfo *ngi;
    if (!access->nickgroup)
 return RET_NOENTRY;
    if (!(ngi = get_ngi_id(access->nickgroup)))
 return RET_INTERR;
    if (!*sent_header) {
  notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
 *sent_header = 1;
    }
 if (access->kabul==0)
    notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
  index+1, access->level, ngi_mainnick(ngi), "<Beklemede>");
 else if (access->kabul==1)
    notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
  index+1, access->level, ngi_mainnick(ngi), "<Kabul Edildi>");
    return RET_LISTED;
}
------------------------------
pico modules\chanserv\access-xop.c

Kod:
const char *listname = XOP_LISTNAME(level);
Bu Satıri bulup, bir üstüne şu satırı ekleyin:

Kod:
User *sky;
-

Kod:
notice_lang(s_ChanServ, u, CHAN_XOP_ADDED, nick, chan, listname);
Bu satırı bulup bir altına şu satırları ekleyin:

Kod:
    sky = get_user(nick);
  if (sky) {
   if (user_identified(sky)) {
    send_cmd(s_ChanServ, "NOTICE %s :%s Nicki %s Kanalında Size Access Ekledi.", sky->nick, u->nick, chan);
    send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yaziniz.", sky->nick, chan);
    send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yaziniz.", sky->nick, chan);
   }
  }
-

Kod:
static int xop_list(User *u, int index, ChannelInfo *ci, int *sent_header,
      int relindex)
{
    ChanAccess *access = &ci->access[index];
    NickGroupInfo *ngi;
    if (!(ngi = get_ngi_id(access->nickgroup)))
 return 0;
    if (!*sent_header) {
 notice_lang(s_ChanServ, u, CHAN_XOP_LIST_HEADER,
      XOP_LISTNAME(access->level), ci->name);
 *sent_header = 1;
    }
    notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
  ngi_mainnick(ngi));
    return 1;
}
Bu kodu bulup şu kod ile değiştirin:

Kod:
static int xop_list(User *u, int index, ChannelInfo *ci, int *sent_header,
      int relindex)
{
    ChanAccess *access = &ci->access[index];
    NickGroupInfo *ngi;
    if (!(ngi = get_ngi_id(access->nickgroup)))
 return 0;
    if (!*sent_header) {
 notice_lang(s_ChanServ, u, CHAN_XOP_LIST_HEADER,
      XOP_LISTNAME(access->level), ci->name);
 *sent_header = 1;
    }
 if (access->kabul==0)
  notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
   ngi_mainnick(ngi), "<Beklemede>");
 else if (access->kabul==1)
  notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
   ngi_mainnick(ngi), "<Kabul Edildi>");
    return 1;
}
------------------------------
pico modules\chanserv\access.c

Kod:
if (ci->access[i].nickgroup == id)
Bu kodu bulup Hemen bir alt satıra şu kodu ekleyiniz : (bu satır 2 kez çıkacak, ikisinde de aynı şekilde bir alt satırına aşağıdaki satırı ekleyiniz.)

Kod:
if (ci->access[i].kabul==1)
Kod:
    ci->access[i].nickgroup = ni->nickgroup;
    ci->access[i].level = level;
bu satırları bulup hemen altına şu kodu ekleyiniz:

Kod:
ci->access[i].kabul = 0;
------------------------------
pico modules\chanserv\chanserv.h

Kod:
int16 level;
bu kodu bulup hemen altına şu kodu ekleyin:

Kod:
int32 kabul;
-

Kod:
int16 access_count;
bu kodu bulup hemen altına şu kodu ekleyin:

Kod:
ChanAccess *accesstemp;
------------------------------
pico modules\chanserv\main.c

Kod:
static void do_status(User *u);
bu satırı bulup hemen altına şu satırı ekleyin:

Kod:
static void do_kabul(User *u);
-

Kod:
    { "UNSUSPEND",do_unsuspend,is_services_admin,  -1,
  -1, CHAN_OPER_HELP_UNSUSPEND },
bu satırları bulup hemen altına şu satırı ekleyin:

Kod:
    { "KABUL",    do_kabul,   NULL,          -1,-1, -1 },
-

Kod:
static void do_help(User *u)
{
bu satırları bulup hemen bir üstüne şu kodu ekleyin:

Kod:
static void do_kabul(User *u) {
//char *cmd = strtok_remaining();
char *kanal = strtok(NULL, " ");
char *secim = strtok(NULL, " ");
int sec;
ChannelInfo *ci;
NickInfo *ni=u->ni;
int bulunan=0;
int i=0;
 if (!kanal) {
  send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
 return;
 }
 ci = get_channelinfo(kanal);
 
 if (strcmp(kanal, "#") == 0) {
 notice_lang(s_ChanServ, u, CHAN_REGISTER_SHORT_CHANNEL);
    } else if (*kanal == '&') {
 notice_lang(s_ChanServ, u, CHAN_REGISTER_NOT_LOCAL);
    } else if ((*kanal != '#') && stricmp(kanal, "list")) {
 notice_lang(s_ChanServ, u, CHAN_REGISTER_INVALID_NAME);
    } else if (!ni) {
 notice_lang(s_ChanServ, u, CHAN_MUST_REGISTER_NICK, s_NickServ);
    } else if (!user_identified(u)) {
 notice_lang(s_ChanServ, u, CHAN_MUST_IDENTIFY_NICK,
  s_NickServ, s_NickServ);
 } else if (stricmp(kanal, "list") == 0) {
  for (ci = first_channelinfo(); ci; ci = next_channelinfo()) {
   if (ci->flags & (CI_VERBOTEN))
   continue;
   if (ci->suspendinfo)
      continue;
   ARRAY_SEARCH_SCALAR(ci->access, nickgroup, u->ngi->id, i);
   if (i != ci->access_count) {
    if (ci->access[i].kabul==0) {
     send_cmd(s_ChanServ, "NOTICE %s :%s Kanalında Bekleyen Bir Access isteği Bulundu..", u->nick, ci->name);
     send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yazınız.", u->nick, ci->name);
     send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yazınız.", u->nick, ci->name);
     send_cmd(s_ChanServ, "NOTICE %s :-", u->nick);
    }
   }
  }
 return;
 }
 else if (ci == NULL) {
  notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, kanal);
 }
 else {
  if (!secim) {
   send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
  return;
  }
  if (stricmp(secim, "h") == 0)
   sec=0;
  else if (stricmp(secim, "e") == 0)
   sec=1;
  else {
   send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
   return;
  }
  if (ci->flags & CI_VERBOTEN) {
   send_cmd(s_ChanServ, "NOTICE %s :Bu Kanal Yasaklı Bir Kanaldır, Komutunuzu Gözden Geçiriniz.", u->nick);
  return;
  } else if (ci->suspendinfo) {
      send_cmd(s_ChanServ, "NOTICE %s :Bu Kanal Suspendli Bir Kanaldır, Komutunuzu Gözden Geçiriniz.", u->nick);
  return;
  }
  ARRAY_FOREACH (i, ci->access) {
   if (ci->access[i].nickgroup == ni->nickgroup) {
    if (sec==1) {
     if (ci->access[i].kabul==0) {
      ci->access[i].kabul=1;
      send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Access Eklemesi Kabul Edildi.", u->nick, kanal);
     }
     else if (ci->access[i].kabul==1) {
      send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Access Eklemesini Zaten Kabul Etmişsiniz.", u->nick, kanal);
     }
     else {
      send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Nickinize Ait Bekleyen Access isteği Yok.", u->nick, kanal);
     }
         put_channelinfo(ci);
      bulunan=1;
      break;
    }
    else {
     if (ci->access[i].kabul==0) {
      send_cmd(s_ChanServ, "NOTICE %s :%s Kanalındaki Bekleyen Access isteğiniz Silindi.", u->nick, kanal);
      ARRAY_REMOVE(ci->access, i);
         put_channelinfo(ci);
      bulunan=1;
     }
      break;
    }
   }
  }
  if (bulunan==0)
   send_cmd(s_ChanServ, "NOTICE %s :Nickiniz için %s Kanalında Bekleyen Bir Access isteği Yok.", u->nick, kanal);
 }
 
}
------------------------------
pico modules\nickserv\main.c

Kod:
#include "modules/operserv/operserv.h"
bu kodu bulup hemen altına şu kodu ekleyin

Kod:
#include "modules/chanserv/chanserv.h"
-

Kod:
char *s_NickServ;
bu kodu bulup hemen altına şu kodu ekleyin:

Kod:
char *s_ChanServ;
-

Kod:
static void do_identify(User *u)
{
    char *pass = strtok_remaining();
    NickInfo *ni = NULL;
    NickGroupInfo *ngi = NULL;
bu satırları bulup hemen altına şu 3 satırı ekleyiniz:

Kod:
ChannelInfo *ci;
 int i;
 int toplam=0;
-

Kod:
notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED);
bu satırı bulup hemen bir altına şu satırları ekleyiniz:

Kod:
 for (ci = first_channelinfo(); ci; ci = next_channelinfo()) {
     if (ci->flags & (CI_VERBOTEN))
  continue;
  if (ci->suspendinfo)
      continue;
  ARRAY_SEARCH_SCALAR(ci->access, nickgroup, u->ngi->id, i);
  if (i != ci->access_count) {
  if (ci->access[i].kabul==0)
   toplam++;
  }
 }
 if (toplam!=0) {
  send_cmd(s_ChanServ, "NOTICE %s :%d Adet Bekleyen Access Kabul isteğiniz Var.", u->nick, toplam);
  send_cmd(s_ChanServ, "NOTICE %s :istekleri Listelemek için /chanserv kabul list Komutunu Uygulayınız.", u->nick);
 }
------------------------------
pico modules\database\version4.c

Kod:
SAFE(write_int16(convert_new_level(ci->access[i].level), f));
bu satırı bulup hemen altına şu satırı ekleyiniz:

Kod:
SAFE(write_int32(ci->access[i].kabul, f));
------------------------------

Not : tr.l de yapacağınız değişikliklerde "tab"lara dikkat ediniz.
Not : dosyalarınızıftp den çekip not defterinde veya başka bir editörde yapmanız daha iyi olacaktır.

Buraya kadar herşeyi Satır kaydırmadan yaptıysanız;

make
make install

komutlarınızı kullanınız.

sonra ./ircservices komutu ile servislerinizi getirip, mirc üzerinden admin nickinizile girip /os update komutunu kullanınız..

bu işlemden HEMEN sonra servislerinizi ps x listenizden kapatınız..

sonrasında şu editi yapınız:

---
pico modules\database\version4.c

Kod:
ci->access[i].level = convert_old_level(lev);
bu satırı bulup hemen altına şu satırı ekleyiniz:

Kod:
SAFE(read_int32(&ci->access[i].kabul, f));
bu işlemden sonra da tekrar
make
make install
komutlarını uygulayıp servislerinizi getirirseniz işlem tamamlanacaktır.

Kod yazarı: Sky-Dancer
 Return isimli Üye şimdilik offline konumundadır   Alıntı

Yeni Konu   Cevap Yaz

Etiketler
access, ircservices, kabul, sistemi


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 Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Backlink Takas Sistemi Yada Link Degişim Sistemi Sizlerle lepel Link değişimi 1 23 Temmuz 2016 14:34
TÜSİAD: Demokrasiye müdahale kabul edilemez IF-Haber Ekonomi Haberleri 0 16 Temmuz 2016 12:53
IRCServices'de Access Ekleyenin Kimliği Code IRCServices Hazır Kodlar 0 11 Temmuz 2016 19:44
Reza Zarrab'ın avukatı: Kefalet talebi ret veya kabul edilmedi IF-Haber Ekonomi Haberleri 0 23 Mart 2016 18:47
CGI:IRC No Access Hatasının Çözümü. Entrance Qwebirc 2 19 Mart 2016 23:01

web hosting web hosting
 buy vds
 vps buy

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.