IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Unreal IRCd (https://www.ircforumlari.net/unreal-ircd/)
-   -   Helper ve ircop Real name (Setname) Problemi (https://www.ircforumlari.net/unreal-ircd/418797-helper-ve-ircop-real-name-setname-problemi.html)

Rhall 13 Ekim 2011 14:26

Helper ve ircop Real name (Setname) Problemi
 
Arkadaşlar /ircops modülünü biliyorsunuz aşağıdada belirteceğim. Ancak ben setnamelerininde cıkmasını istiyorum listedekilerinin bunu nasıl sağlayabilirim ? yardımcı olurmusunuz lütfen.

Kullanmış olduğum modülü aşağıda belirtiyorum


Kod:

/*
 *  m_ircops - /IRCOPS command that lists IRC Operators
 *  (C) Copyright 2004-2005 Syzop <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
>
 *  (C) Copyright 2003-2004 AngryWolf <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 1, or (at your option)
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "proto.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif

typedef struct
{
        long *umode;
        char *text;
} oflag;

/*
 * Ultimate uses numerics 386 and 387 for RPL_IRCOPS and RPL_ENDOFIRCOPS,
 * but these numerics are RPL_QLIST and RPL_ENDOFQLIST in UnrealIRCd
 * (numeric conflict). I had to choose other numerics.
 */

#define RPL_IRCOPS        337
#define RPL_ENDOFIRCOPS  338
#define MSG_IRCOPS        "IRCOPS"
#define TOK_IRCOPS        NULL
#define IsAway(x)        (x)->user->away

#if !defined(IsSkoAdmin)
#define IsSkoAdmin(sptr)  (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr) || IsCoAdmin(sptr))
#endif

static int m_ircops(aClient *cptr, aClient *sptr, int parc, char *parv[]);

static oflag otypes[7];

ModuleHeader MOD_HEADER(m_ircops)
  = {
        "Online IRCOP Lister",
        "v3.6",
        "WorD.ircops ModuLe Install v1.0",
        "3.2-b8-1",
        NULL
    };

DLLFUNC int MOD_INIT(m_ircops)(ModuleInfo *modinfo)
{
        otypes[0].umode = &UMODE_NETADMIN;
        otypes[0].text = "a Network Administrator";
        otypes[1].umode = &UMODE_SADMIN;
        otypes[1].text = "a Services Administrator";
        otypes[2].umode = &UMODE_ADMIN;
        otypes[2].text = "a Server Administrator";
        otypes[3].umode = &UMODE_COADMIN;
        otypes[3].text = "a Co Administrator";
        otypes[4].umode = &UMODE_OPER;
        otypes[4].text = "an IRC Operator";
        otypes[5].umode = &UMODE_LOCOP;
        otypes[5].text = "a Local Operator";
        otypes[6].umode = NULL;
        otypes[6].text = NULL;

        if (CommandExists(MSG_IRCOPS))
        {
                config_error("Command " MSG_IRCOPS " already exists");
                return MOD_FAILED;
        }
        CommandAdd(modinfo->handle, MSG_IRCOPS, TOK_IRCOPS, m_ircops, MAXPARA, M_USER);

        if (ModuleGetError(modinfo->handle) != MODERR_NOERROR)
        {
                config_error("Error adding command " MSG_IRCOPS ": %s",
                        ModuleGetErrorStr(modinfo->handle));
                return MOD_FAILED;
        }

        return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_ircops)(int module_load)
{
        return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_ircops)(int module_unload)
{
        return MOD_SUCCESS;
}


static char *find_otype(long umodes)
{
        unsigned int i;
       
        for (i = 0; otypes[i].umode; i++)
                if (*otypes[i].umode & umodes)
                        return otypes[i].text;

        return "an unknown operator";
}

/*
 * m_ircops
 *
 *    parv[0]: sender prefix
 *
 *    Originally comes from TR-IRCD, but I changed it in several places.
 *    In addition, I didn't like to display network name. In addition,
 *    instead of realname, servername is shown. See the original
 *    header below.
 */

/************************************************************************
 * IRC - Internet Relay Chat, modules/m_ircops.c
 *
 *  Copyright (C) 2000-2002 TR-IRCD Development
 *
 *  Copyright (C) 1990 Jarkko Oikarinen and
 *                      University of Oulu, Co Center
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

static int m_ircops(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
aClient *acptr;
char buf[BUFSIZE];
int opers = 0, admins = 0, globs = 0, aways = 0;

        for (acptr = client; acptr; acptr = acptr->next)
        {
                /* List only real IRC Operators */
                if (IsULine(acptr) || !IsPerson(acptr) || !IsAnOper(acptr))
                        continue;
                /* Don't list +H users */
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "KaoS"))
                        continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "L-Security"))
                        continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "Oyuncu"))
                        continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "Sorucevap"))
                        continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "RadyoLoca"))
                        continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "LBot"))
                        continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
                        continue;
                if (!stricmp(acptr->name, "LProxy"))
                        continue;

                sendto_one(sptr, ":%s %d %s :\2%s\2 %s [%s]" "%s",
                        me.name, RPL_IRCOPS, sptr->name,
                        acptr->name,
                        find_otype(acptr->umodes),
                        acptr->user->server,
                        (IsAway(acptr) ? " [Away]" : IsOper(acptr) ? " [%s]" : ""));

                if (IsAway(acptr))
                        aways++;
                else if (IsSkoAdmin(acptr))
                        admins++;
                else
                        opers++;

        }

        globs = opers + admins + aways;

        sprintf(buf,
                "Total: \2%d\2 IRCOP%s online - \2%d\2 Admin%s, \2%d\2 Oper%s and \2%d\2 Away",
                globs, (globs) > 1 ? "s" : "", admins, admins > 1 ? "s" : "",
                opers, opers > 1 ? "s" : "", aways);

        sendto_one(sptr, ":%s %d %s :%s", me.name, RPL_IRCOPS, sptr->name, buf);
        sendto_one(sptr, ":%s %d %s :End of /IRCOPS list", me.name, RPL_ENDOFIRCOPS, sptr->name);

        return 0;
}


(IsAway(acptr) ? " [Away]" : IsOper(acptr) ? " [Helpop]" : "")); Orjinali.

Editlediğim ; (IsAway(acptr) ? " [Away]" : IsOper(acptr) ? " [%s]" : "")); Ancak %s olarak çıkmaktadır problem nerede ?

toXic 13 Ekim 2011 14:51

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Boş döngü kullanmişsiniz. Boş döngüyü sildim ident ve fullname bilgisi ekledim.

Rhall 13 Ekim 2011 15:34

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Şöyle bir sorun var

Rhall [Rayn] [Brooooooooooooooooo] a Network Administrator [irc.xxx.com]
Test [Rayn] [Brooooooooooooooooo] a Network Administrator [irc.xxx.com] 

Buradaki hata karşı da operin identi benimkiyle eş değer gözükmesi. Karşı taraftaki kişidede kendi bilgileri gözüküyo.

Özür dilerim ama şu şekilde olması kafidir örnek olarak gösteriyorum

Rhall a Network Administrator [Brooooooooooooooooo]

Yardımcı olurmusunuz lütfen

toXic 13 Ekim 2011 15:40

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Kod:

/*
 *  m_ircops - /IRCOPS command that lists IRC Operators
 *  (C) Copyright 2004-2005 Syzop <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
>
 *  (C) Copyright 2003-2004 AngryWolf <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 1, or (at your option)
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "proto.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif

typedef struct
{
    long *umode;
    char *text;
} oflag;

/*
 * Ultimate uses numerics 386 and 387 for RPL_IRCOPS and RPL_ENDOFIRCOPS,
 * but these numerics are RPL_QLIST and RPL_ENDOFQLIST in UnrealIRCd
 * (numeric conflict). I had to choose other numerics.
 */

#define RPL_IRCOPS        337
#define RPL_ENDOFIRCOPS  338
#define MSG_IRCOPS        "IRCOPS"
#define TOK_IRCOPS        NULL
#define IsAway(x)        (x)->user->away

#if !defined(IsSkoAdmin)
#define IsSkoAdmin(sptr)  (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr) || IsCoAdmin(sptr))
#endif

static int m_ircops(aClient *cptr, aClient *sptr, int parc, char *parv[]);

static oflag otypes[7];

ModuleHeader MOD_HEADER(m_ircops)
  = {
    "Online IRCOP Lister",
    "v3.6",
    "WorD.ircops ModuLe Install v1.0",
    "3.2-b8-1",
    NULL
    };

DLLFUNC int MOD_INIT(m_ircops)(ModuleInfo *modinfo)
{
    otypes[0].umode = &UMODE_NETADMIN;
    otypes[0].text = "a Network Administrator";
    otypes[1].umode = &UMODE_SADMIN;
    otypes[1].text = "a Services Administrator";
    otypes[2].umode = &UMODE_ADMIN;
    otypes[2].text = "a Server Administrator";
    otypes[3].umode = &UMODE_COADMIN;
    otypes[3].text = "a Co Administrator";
    otypes[4].umode = &UMODE_OPER;
    otypes[4].text = "an IRC Operator";
    otypes[5].umode = &UMODE_LOCOP;
    otypes[5].text = "a Local Operator";
    otypes[6].umode = NULL;
    otypes[6].text = NULL;

    if (CommandExists(MSG_IRCOPS))
    {
        config_error("Command " MSG_IRCOPS " already exists");
        return MOD_FAILED;
    }
    CommandAdd(modinfo->handle, MSG_IRCOPS, TOK_IRCOPS, m_ircops, MAXPARA, M_USER);

    if (ModuleGetError(modinfo->handle) != MODERR_NOERROR)
    {
        config_error("Error adding command " MSG_IRCOPS ": %s",
            ModuleGetErrorStr(modinfo->handle));
        return MOD_FAILED;
    }

    return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_ircops)(int module_load)
{
    return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_ircops)(int module_unload)
{
    return MOD_SUCCESS;
}


static char *find_otype(long umodes)
{
    unsigned int i;
   
    for (i = 0; otypes[i].umode; i++)
        if (*otypes[i].umode & umodes)
            return otypes[i].text;

    return "an unknown operator";
}

/*
 * m_ircops
 *
 *    parv[0]: sender prefix
 *
 *    Originally comes from TR-IRCD, but I changed it in several places.
 *    In addition, I didn't like to display network name. In addition,
 *    instead of realname, servername is shown. See the original
 *    header below.
 */

/************************************************************************
 * IRC - Internet Relay Chat, modules/m_ircops.c
 *
 *  Copyright (C) 2000-2002 TR-IRCD Development
 *
 *  Copyright (C) 1990 Jarkko Oikarinen and
 *                      University of Oulu, Co Center
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

static int m_ircops(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
aClient *acptr;
char buf[BUFSIZE];
int opers = 0, admins = 0, globs = 0, aways = 0;

    for (acptr = client; acptr; acptr = acptr->next)
    {
        /* List only real IRC Operators */
        if (IsULine(acptr) || !IsPerson(acptr) || !IsAnOper(acptr))
            continue;
        /* Don't list +H users */
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "KaoS"))
            continue;
                if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "L-Security"))
            continue;
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "Oyuncu"))
            continue;
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "Sorucevap"))
            continue;
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "RadyoLoca"))
            continue;
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "LBot"))
            continue;
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        if (!stricmp(acptr->name, "LProxy"))
            continue;

        sendto_one(sptr, ":%s  %d %s  :\2%s\2  [\2%s\2] %s [%s]" "%s",
            me.name, RPL_IRCOPS, sptr->name,
            acptr->name,
sptr->info,

            find_otype(acptr->umodes),
            acptr->user->server,
            (IsAway(acptr) ? " [Away]" : IsOper(acptr) ? " " : ""));

        if (IsAway(acptr))
            aways++;
        else if (IsSkoAdmin(acptr))
            admins++;
        else
            opers++;

    }

    globs = opers + admins + aways;

    sprintf(buf,
        "Total: \2%d\2 IRCOP%s online - \2%d\2 Admin%s, \2%d\2 Oper%s and \2%d\2 Away",
        globs, (globs) > 1 ? "s" : "", admins, admins > 1 ? "s" : "",
        opers, opers > 1 ? "s" : "", aways);


    sendto_one(sptr, ":%s %d %s :%s ", me.name, RPL_IRCOPS, sptr->name, buf);
    sendto_one(sptr, ":%s %d %s :End of /IRCOPS list", me.name, RPL_ENDOFIRCOPS, sptr->name);

    return 0;
}


Rhall 13 Ekim 2011 15:53

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Oncelikle çok teşekkür ederim. Evet sıkıntı yok, ama sıkıntı şu, Benim atıyorum full name'imde "Merhaba nasılsınız ?" yazıyor diyelim. /ircops yazdığımda bütün operlerin full nameleri bana o şekilde gorunuyor. Ve diğer operler /ircops cektiginde Onların fullnameleri herkez de aynı gibi gorunuyor anlatabilmişimdir umarım karıştı biraz :)

toXic 13 Ekim 2011 15:55

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Denememde öyle birşeyle karşilaşmadim.
Alıntı:

KelebekTurkce368 [xx] [lord] a Network Administrator [irc.toXic.NET]
KelebekTurkce45 [KLBKvTurk] [..] a Network Administrator [irc.toXic.NET]
Total: 2 IRCOPs online - 2 Admins, 0 Oper and 0 Away
End of /IRCOPS list

Rhall 13 Ekim 2011 16:00

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Bu modülü tekrar kurayım "so" "o" bunları silipte deniyeyim

Elvent 13 Ekim 2011 17:06

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Sağolun yanlış anlaşılma için kusura bakmayın.

toXic 13 Ekim 2011 17:12

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Madem şeklinde yapabilirsiniz diycektin niye konu açiyorsun.

Rhall çoklu üyelik kullanıyor görünüyor! [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ile [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] aynı bilgisayarı kullanıyorlar... Bu konu ile ilgili bir açıklama bekleniyor!

Rhall 13 Ekim 2011 18:38

Cevap: Helper ve ircop Real name (Setname) Problemi
 
Öncelikle şunu düzeltelim. Kesinlikle amacım lamerlik falan degil aynı kişiler değiliz arkadasıma almıs oldugum bir üyeliktir ancak google chrome şifremi kayıt ettiğinden dolayı, otomatik olarak giriş yapmısım. Ve bu şekilde yapabilirsinizi bu isimle verdiğimi sanıyordum ki malesef elvente girmişim.


Ayrıca amacım şuydu => buldum şu şekilde yapabilirsiniz bilgiyi paylasmaktı.

Bu tür şeylerle işim olmaz benim farklı isimle gel farklı şeyler yapıyormus gibi görün.

yanlış anlaşılma için kusura bakmayın acıkladıgım gibi. Özür dilerim yine de Düzelttim ust tarafı.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:48.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net