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

lookjapan.COM - IRC ve mIRC dünyasının forumu! (http://www.lookjapan.com/index.php)
-   IRCServices Hazır Kodlar (http://www.lookjapan.com/forumdisplay.php?f=180)
-   -   IRCServices'de Access Ekleyenin Kimliği (http://www.lookjapan.com/showthread.php?t=3689)

Code 11 Temmuz 2016 19:44

IRCServices'de Access Ekleyenin Kimliği
 
cd ircservices-*

Kod:

pico -w modules/chan*/main.c


Kod:

int access_add(ChannelInfo *ci, const char *nick, int level, int uacc)
üstteki satırı bulun.

bu satırı;



Kod:

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;



Kod:

ci->access[i].nickgroup = ni->nickgroup;

ci->access[i].level = level;

satırlarını bulup bi alt satırına;



Kod:

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ı;



Kod:

pico access-levels.c
komutuyla açtıktan sonra;



Kod:

switch (access_add(ci, nick, level,

                          is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))

satırlarını bulup;



Kod:

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;



Kod:

RET_LISTED
satırını bulup bi üst satırında bulunan



Kod:

notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,

                index+1, access->level, ngi_mainnick(ngi));

satırlarını ;



Kod:

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 dosyasini



Kod:

pico access-xop.c
komutuyla açip



Kod:

switch (access_add(ci, nick, level,

                          is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))

satırlarını bulup bu satırları



Kod:

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ı



Kod:

pico chanserv.h
komutuyla açin ve



Kod:

typedef struct {

    uint32 nickgroup;  /* Zero if entry is not in use */

    int16 level;

}

satirlarini bulup;



Kod:

typedef struct {

    uint32 nickgroup;  /* Zero if entry is not in use */

    int16 level;

    char *ekleyen;

}

olarak değiştirin kaydedin kapatin.



Kod:

pico cs-local.h
komutu ile cs-local.h dosyasini acip



Kod:

E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc);
satırını bulun ve bu satırı



Kod:

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



Kod:

pico tr.l
komutuyla tr.l dosyasını açın.



Kod:

CHAN_ACCESS_LIST_HEADER

        %s Kanali Erisim Listesi:

          Sira  Seviye  Nick

CHAN_ACCESS_LIST_FORMAT

          %4d    %4d  %s

satırlarını bulup;



Kod:

CHAN_ACCESS_LIST_HEADER

        %s Kanali Erisim Listesi:

          Sira  Seviye  Nick    Ekleyen

CHAN_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



Kod:

pico version4.c
komutuyla version4.c dosyasını açın.bu dosyada



Kod:

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



Kod:

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

Kod:

make
bitince de
Kod:

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;



Kod:

pico version4.c
komutuyla yine version4.c dosyasını açın.bu dosyada ;



Kod:

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;



Kod:

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;

        }

ircservices-* dosyasına girip;


önce

Kod:

make
bitince de
Kod:

make install
ALINTI


All times are GMT +3. The time now is 15:31.

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