IrcServices’de Access Ekleyen’ini Gösterme
admin tarafýndan IRCd-Services içinde postalandý, tags: Access Ekleyen'ini Gösterme, hazır komutlar, Ircd services komutları, IRCd-Services, IrcServices'de Access Ekleyen'ini Gösterme, IrcServices'de Access Ekleyen'ini Gösterme komutlarıhesaba login olduktan sonra /home/login/ircservices-5.0.x/modules/chanserv/ klasörüne girin.
pico access.c komutuyla access.c dosyasının içine girip access_add fonksiyonunun
tanımlandığı satırı bulun yani;
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc)
üstteki satırı bulun.bu satırı;
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen)
olarak değiştirin. daha sonra yine aynı dosyada, access_add fonksiyonu içerisinde bulunan;
ci->access[i].nickgroup = ni->nickgroup;ci->access[i].level = level;
satırlarını bulup bi alt satırına;
ci->access[i].ekleyen = sstrdup(ekleyen);
satırını ekleyip, kaydedip dosyayı kapatın. daha sonra yine aynı klasörde bulunan
access-levels.c dosyasını;
pico access-levels.c
komutuyla açtıktan sonra;
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))
satırlarını bulup;
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))
olarak değiştirin. yine aynı dosya içerisinde;
RET_LISTED
satırını bulup bi üst satırında bulunan
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT, index+1, access->level, ngi_mainnick(ngi));
satırlarını ;
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT, index+1, access->level, ngi_mainnick(ngi), access->ekleyen);
şeklinde değiştirin. kaydedip dosyayı kapatın. aynı klasörde bulunan
access-xop.c dosyasını
pico access-xop.c
komutuyla açıp
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))
satırlarını bulup bu satırları
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))
olarak değiştirin. kaydedip dosyayı kapatın.aynı klasörde bulunan chanserv.h dosyasını
pico chanserv.h
komutuyla açın ve
typedef struct { uint32 nickgroup; /* Zero if entry is not in use */ int16 level;} ChanAccess;
satırlarını bulup;
typedef struct { uint32 nickgroup; /* Zero if entry is not in use */ int16 level; char *ekleyen;} ChanAccess;
olarak değiştirin kaydedin kapatın.
pico cs-local.h
komutu ile cs-local.h dosyasını acıp
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc);
satırını bulun ve bu satırı
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen);
olarak değiştirin. kaydedip dosyayı kapatın.daha sonra /home/login/ircservices-5.0.x/lang/
klasörüne girip
pico tr.l
komutuyla tr.l dosyasını açın.
CHAN_ACCESS_LIST_HEADER %s Kanali Erisim Listesi: Sira Seviye NickCHAN_ACCESS_LIST_FORMAT %4d %4d %s
satırlarını bulup;
CHAN_ACCESS_LIST_HEADER %s Kanali Erisim Listesi: Sira Seviye Nick EkleyenCHAN_ACCESS_LIST_FORMAT %4d %4d %s %s
şeklinde değiştirin. kaydedip dosyayı kapatın.
daha sonra /home/login/ircservices-5.0.x/modules/database/ klasörüne girip
pico version4.c
komutuyla version4.c dosyasını açın.bu dosyada
SAFE(write_int16(ci->access_count, f)); ARRAY_FOREACH (i, ci->access) { if (ci->access[i].nickgroup) ngi = get_ngi_id(ci->access[i].nickgroup); else ngi = NULL; SAFE(write_int16(ngi != NULL, f)); if (ngi) { SAFE(write_int16(convert_new_level(ci->access[i].level), f)); SAFE(write_string(ngi_mainnick(ngi), f)); } }
satırlarını bulup hemen altına
SAFE(write_int16(ci->access_count, f)); ARRAY_FOREACH (i, ci->access) { SAFE(write_string(ci->access[i].ekleyen, f)); }
satırlarını ekleyin. kaydedip çıkın. /home/login/ircservices-5.0.x/ klasörüne girip
önce
make
make install
komutunu uygulayıp servisleri ÇALIŞTIRIN.denemek amacıyla resgele bi kanalda rasgele bi nicke
access ekleyip access listesine bakın.
daha sonra;
/home/login/ircservices-5.0.x/modules/database/ klasörüne girip;
pico version4.c
komutuyla yine version4.c dosyasını açın.bu dosyada ;
SAFE(read_int16(&ci->access_count, f)); if (ci->access_count) { ci->access = scalloc(ci->access_count, sizeof(ChanAccess)); ARRAY_FOREACH (i, ci->access) { SAFE(read_int16(&tmp16, f)); /* in_use */ if (tmp16) { SAFE(read_int16(&lev, f)); ci->access[i].level = convert_old_level(lev); SAFE(read_string(&s, f)); if (s) { ni = get_nickinfo(s); if (ni) { ci->access[i].nickgroup = ni->nickgroup; } free(s); } } } } else { ci->access = NULL; }
satırlarını bulup en son parantezin bi alt satırına;
SAFE(read_int16(&ci->access_count, f)); if (ci->access_count) { ARRAY_FOREACH (i, ci->access) { SAFE(read_string(&ci->access[i].ekleyen, f)); } } else { ci->access = NULL; }
satırlarını ekleyin. ve kaydedip dosyayı kapatın./home/login/ircservices-5.0.x/ klasörüne girip
önce
make
make install
komutunu uygulayıp servislere restart atın.bu kadar. kolay gelsin.


