2 mesaje
  • Mesaje: 9
  • Reacții: 2
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    *Problemă/Întrebare:

    De ce nu se schimbă culoarea numelui breslei după ce urmez instrucțiunile, dar nu există jurnale 0? Cum pot găsi cauza?

    *Resursă folosită (sistem/funcție/modificare):
    Code:
    INSTRUCȚIUNI: COLORAREA NUMELOR BRESLELOR ÎN FUNCȚIE DE NIVEL (LEVEL)
    ========================================
    📁 PARTEA SERVERULUI
    🔧 1. Fișier: char.cpp
    
    Caută funcția:
    
    void CHARACTER::SendGuildName(CGuild* pGuild)
    
    
    Înlocuiește tot cu:
    
    void CHARACTER::SendGuildName(CGuild* pGuild) {
        if (NULL == pGuild) return;
    
        DESC *desc = GetDesc();
        if (NULL == desc) return;
    
        if (m_known_guild.find(pGuild->GetID()) != m_known_guild.end()) return;
        m_known_guild.insert(pGuild->GetID());
    
        TPacketGCGuildName pack;
        memset(&pack, 0x00, sizeof(pack));
        pack.header = HEADER_GC_GUILD;
        pack.subheader = GUILD_SUBHEADER_GC_GUILD_NAME;
        pack.size = sizeof(TPacketGCGuildName);
        pack.guildID = pGuild->GetID();
        memcpy(pack.guildName, pGuild->GetName(), GUILD_NAME_MAX_LEN);
        pack.guildLevel = pGuild->GetLevel(); 
        desc->Packet(&pack, sizeof(pack));
    }
    
    🔧 2. Fișier: packet.h
    
    Caută structura:
    
    typedef struct packet_guild_name_t
    
    
    Înlocuiește cu:
    
    typedef struct packet_guild_name_t {
        BYTE header;
        WORD size;
        BYTE subheader;
        DWORD guildID;
        char guildName[GUILD_NAME_MAX_LEN];
        int guildLevel; 
    } TPacketGCGuildName;
    
    ========================================
    🖥️ PARTEA CLIENTULUI (UserInterface)
    🔧 3. Fișier: PythonGuild.h
    
    Caută:
    
    typedef std::map<DWORD, std::string> TGuildNameMap;
    
    
    Înlocuiește cu:
    
    struct GuildNameLevel {
        std::string name;
        int level;
    };
    
    typedef std::map<DWORD, GuildNameLevel> TGuildNameMap;
    
    🔧 4. Fișier: PythonGuild.cpp
    
    Caută:
    
    void CPythonGuild::RegisterGuildName(DWORD dwID, const char * c_szName)
    
    
    Înlocuiește cu:
    
    void CPythonGuild::RegisterGuildName(DWORD dwID, const char * c_szName, int level) {
        GuildNameLevel gnl;
        gnl.name = std::string(c_szName);
        gnl.level = level;
        m_GuildNameMap.insert(make_pair(dwID, gnl));
    }
    
    🔧 5. Înlocuiește funcția: CPythonGuild::GetGuildName
    
    Înlocuiește întreaga funcție cu:
    
    bool CPythonGuild::GetGuildName(DWORD dwID, std::string * pstrGuildName) 
    {
        if (m_GuildNameMap.end() == m_GuildNameMap.find(dwID))
            return false;
    
        int level = m_GuildNameMap[dwID].level;
    
        std::string guildColor;
    
        switch(level) {
            case 1: guildColor = "|cffFFFFFF"; break;
            case 2: guildColor = "|cffFFFF7F"; break;
            case 3: guildColor = "|cffE1E100"; break;
            case 4: guildColor = "|cffCCFF00"; break;
            case 5: guildColor = "|cff99FF00"; break;
            case 6: guildColor = "|cff66FF00"; break;
            case 7: guildColor = "|cff00FF00"; break;
            case 8: guildColor = "|cff00E940"; break;
            case 9: guildColor = "|cff00D200"; break;
            case 10: guildColor = "|cff00C57A"; break;
            case 11: guildColor = "|cff00B999"; break;
            case 12: guildColor = "|cff00A8B6"; break;
            case 13: guildColor = "|cff0099D0"; break;
            case 14: guildColor = "|cff2897F1"; break;
            case 15: guildColor = "|cff329DFF"; break;
            case 16: guildColor = "|cff689AFF"; break;
            case 17: guildColor = "|cff819EFF"; break;
            case 18: guildColor = "|cff9788FF"; break;
            case 19: guildColor = "|cffB07EFF"; break;
            case 20: guildColor = "|cffC874FF"; break;
            case 21: guildColor = "|cffD978FF"; break;
            case 22: guildColor = "|cffD8A6F7"; break;
            case 23: guildColor = "|cffE9C9FF"; break;
            case 24: guildColor = "|cffFFBDF0"; break;
            case 25: guildColor = "|cffFF91CA"; break;
            case 26: guildColor = "|cffFF6B94"; break;
            case 27: guildColor = "|cffFF5C8A"; break;
            case 28: guildColor = "|cffFF456D"; break;
            case 29: guildColor = "|cffFF4545"; break;
            case 30: guildColor = "|cffFF2121"; break;
            default: guildColor = ""; break;
        }
    
    #ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
        if (level == 1) {
            *pstrGuildName = guildColor + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1 + m_GuildNameMap[dwID].name + "|r";
        }
        else if (level == 2) {
            *pstrGuildName = guildColor + ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 + m_GuildNameMap[dwID].name + "|r";
        }
        else {
            *pstrGuildName = guildColor + m_GuildNameMap[dwID].name + "|r";
        }
    #else
        *pstrGuildName = guildColor + m_GuildNameMap[dwID].name + "|r";
    #endif
    
        return true;
    }
    
    🔧 6. Fișier: PythonNetworkStreamPhaseGame.cpp
    
    Caută:
    
    case GUILD_SUBHEADER_GC_GUILD_NAME:
    
    
    Înlocuiește tot blocul case cu:
    
    case GUILD_SUBHEADER_GC_GUILD_NAME:
    {
        DWORD dwID;
        char szGuildName[GUILD_NAME_MAX_LEN + 1];
        int guildLevel;
    
        int iPacketSize = int(GuildPacket.size) - sizeof(GuildPacket);
        int nItemSize = sizeof(dwID) + GUILD_NAME_MAX_LEN + sizeof(guildLevel);
        assert(iPacketSize % nItemSize == 0 && "GUILD_SUBHEADER_GC_GUILD_NAME");
    
        for (; iPacketSize > 0;) {
            if (!Recv(sizeof(dwID), &dwID))
                return false;
    
            if (!Recv(GUILD_NAME_MAX_LEN, &szGuildName))
                return false;
    
            if (!Recv(sizeof(guildLevel), &guildLevel))
                return false;
    
            szGuildName[GUILD_NAME_MAX_LEN] = 0;
            CPythonGuild::Instance().RegisterGuildName(dwID, szGuildName, guildLevel);
            iPacketSize -= nItemSize;
        }
    }
    *Syserr: Lipsa

    *Fișier(e) cu problema (link pastebin / code): Lipsa

    *Poze / Video: Imaginea arată o breaslă de nivel 30, deci culoarea ar trebui să fie ceva de genul "cffFF2121" Culoarea numelui breslei după nivel - Mesaj 1 - Imagine 1

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    1300+ de membri activi!
    Robot Discord
    Roboțelu'
    Anunț
    Robot Robot
  • Mesaje: 121
  • Reacții: 0
  • Mesaje utile: 0
  • Status: Sunt doar un Bot :)
  • Regat: Shinsoo
  • Contact:

    Medalii

    Avatar utilizator
    Robot
    Robot

    Mesaj de Uriel »

    Salut, Szyfrant!

    Îți recomand câteva link-uri utile care te pot ajuta să rezolvi problema mai rapid:

    - Alte probleme rezolvate
    - Fixuri Metin2
    - Tutoriale
    - Cum resetez parola MySQL
    - Compilare sursă Metin2
    - Lista FreeBSD pentru compilare


    Și dacă vrei ajutor direct, te așteptăm pe serverul nostru de Discord — chat activ, suport live și o comunitate faină gata să te ajute! Pentru a intra pe serverul de Discord: Click aici

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Închis

    Înapoi la “Arhivă probleme”

    Informații

    Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori

    Discord ID copiat: