Publicidad

Resultados 1 al 4 de 4
  1. #1
    [IG] Leecher Avatar de Leeimeehr
    Ingreso
    21 jul, 13
    Mensajes
    12
    País
    Gracias
    0
    1 agradecimiento en 1 Post

    Cool Colores personalizados en la base de datos de clientes 1.5

    CSCommon\Source\MMatchDBMgr.cpp Linea (920):
    Código:
            poutCharInfo->m_nRedColor = (int)rs.Field("RedColor").AsInt();
            poutCharInfo->m_nGreenColor = (int)rs.Field("GreenColor").AsInt();         poutCharInfo->m_nBlueColor = (int)rs.Field("BlueColor").AsInt();



    CSCommon\Source\MMatchServer.cpp Linea (160):
    Código:
                    pDest->nRedColor = (int)pSrcCharInfo->m_nRedColor;
                    pDest->nGreenColor = (int)pSrcCharInfo->m_nGreenColor;
                    pDest->nBlueColor = (int)pSrcCharInfo->m_nBlueColor;



    CSCommon\Source\MMatchServer.cpp Linea(242):
    Código:
                    pDest->nRedColor = (int)pSrcCharInfo->m_nRedColor;
                    pDest->nGreenColor = (int)pSrcCharInfo->m_nGreenColor;                 pDest->nBlueColor = (int)pSrcCharInfo->m_nBlueColor;



    CSCommon\Source\MMatchServer_Channel.cpp Linea(37):
    Código:
            pDest->nChannelRed = pSrcObject->GetCharInfo()->m_nRedColor;
            pDest->nChannelGreen = pSrcObject->GetCharInfo()->m_nGreenColor;         pDest->nChannelBlue = pSrcObject->GetCharInfo()->m_nBlueColor;



    CSCommon\Source\MMatchObjCache.cpp Linea (40):
    Código:
            pCache->SetInfo(pObj->GetUID(), pObj->GetName(), pCharInfo->m_ClanInfo.m_szClanName,
                                            pCharInfo->m_nLevel, pObj->GetAccountInfo()->m_nUGrade, pObj->GetAccountInfo()->m_nPGrade
                                            , pCharInfo->m_nRank, pCharInfo->m_nTotalKillCount, pCharInfo->m_nTotalDeathCount, nDTLastWeekGrade                                         , pCharInfo->m_nRedColor, pCharInfo->m_nGreenColor, pCharInfo->m_nBlueColor);



    CSCommon\Source\MMatchObject.cpp Linea (541):
    Código:
    ode:
    
            m_nRedColor             = 0;
            m_nGreenColor           = 0;         m_nBlueColor            = 0;



    CSCommon\Include\MMatchObject.h Linea (280):
    Código:
            int m_nRedColor, m_nGreenColor, m_nBlueColor;



    CSCommon\Include\MMatchObject.h Linea (285):
    Código:
            MMatchCharInfo() : m_nCID(0), m_nCharNum(0), m_nLevel(0), m_nSex(MMS_MALE), m_nFace(0),m_nRedColor(0), m_nGreenColor(0), m_nBlueColor(0),
                                   m_nHair(0), m_nXP(0), m_nBP(0), m_fBonusRate(DEFAULT_CHARINFO_BONUSRATE), m_nPrize(DEFAULT_CHARINFO_PRIZE), m_nHP(0),
                                               m_nAP(0), m_nMaxWeight(DEFAULT_CHARINFO_MAXWEIGHT), m_nSafeFalls(DEFAULT_CHARINFO_SAFEFALLS),
                                               m_nFR(0), m_nCR(0), m_nER(0), m_nWR(0),
                                               m_nConnTime(0), m_nTotalKillCount(0), m_nTotalDeathCount(0), m_nConnKillCount(0), m_nConnDeathCount(0),                                            m_nConnXP(0), m_nRank(0), m_nBattleStartTime(0), m_nPlayTimeSec(0), m_nTotalPlayTimeSec(0), m_nBattleStartXP(0)



    CSCommon\Include\MMatchTransDataType.h Linea (51):
    Código:
            int nRedColor, nGreenColor, nBlueColor;



    CSCommon\Include\MMatchTransDataType.h Linea (275):
    Código:
            int nRedColor, nGreenColor, nBlueColor;



    Gunz\ZGameInterface_OnCommand.cpp:
    Código:
            case MC_MATCH_RESPONSE_SELECT_CHAR:
                    {
                            int nResult;
                            pCommand->GetParameter(&nResult, 0, MPT_INT);
                            if (nResult == MOK)
                            {
                                    MCommandParameter* pParam = pCommand->GetParameter(1);
                                    if(pParam->GetType()!=MPT_BLOB) {
                                            _ASSERT(0);
                                            break;
                                    }
     
                                    void* pCharBlob = pParam->GetPointer();
                                    MTD_CharInfo* pCharInfo = (MTD_CharInfo*)MGetBlobArrayElement(pCharBlob, 0);
     
                                    int nRed = pCharInfo->nRedColor, nGreen = pCharInfo->nGreenColor, nBlue = pCharInfo->nBlueColor;
                                    char szRed[12], szGreen[12], szBlue[12];
                                    sprintf(szRed, "%d", nRed);
                                    sprintf(szGreen, "%d", nGreen);
                                    sprintf(szBlue, "%d", nBlue);
     
                                    memcpy(ZGetConfiguration()->GetEtc()->nRed, szRed, sizeof(nRed) + 64);
                                    memcpy(ZGetConfiguration()->GetEtc()->nGreen, szGreen, sizeof(nGreen) + 64);
                                    memcpy(ZGetConfiguration()->GetEtc()->nBlue, szBlue, sizeof(nBlue) + 64);
     
                                    ZCharacterSelectView::SetLastChar(pCharInfo->szName);
     
                                    ZGetMyInfo()->InitCharInfo(pCharInfo->szName, pCharInfo->szClanName, pCharInfo->nClanGrade, (MMatchSex)pCharInfo->nSex,
                                                             (int)pCharInfo->nHair, (int)pCharInfo->nFace);                        
                                    ZGetMyInfo()->GetItemList()->SetEquipItemInfo(pCharInfo->uidEquipedItem, pCharInfo->nEquipedItemDesc, pCharInfo->nEquipedItemCount);
     
                                    ZGetMyInfo()->SetBP(pCharInfo->nBP);
                                    ZGetMyInfo()->SetXP((int)pCharInfo->nXP);
                                    ZGetMyInfo()->SetLevel((int)pCharInfo->nLevel);
     
                                    pParam = pCommand->GetParameter(2);
                                    if (pParam->GetType()!=MPT_BLOB) {
                                            _ASSERT(0);
                                            break;
                                    }
     
                                    void* pExtraCharBlob = pParam->GetPointer();
                                    MTD_MyExtraCharInfo* pMyExtraCharInfo = (MTD_MyExtraCharInfo*)MGetBlobArrayElement(pExtraCharBlob, 0);
     
                                    if (pMyExtraCharInfo) {
                                            ZGetMyInfo()->SetLevelPercent((int)pMyExtraCharInfo->nLevelPercent);
                                    }
     
                                    if ((ZGetGameClient()->GetServerMode() != MSM_CLAN) || (!ZGetMyInfo()->IsClanJoined())) {
                                            ZPostRequestRecommendChannel();
                                    } else {
                                            ZPostChannelRequestJoinFromChannelName(ZGetGameClient()->GetPlayerUID(), MCHANNEL_TYPE_CLAN, ZGetMyInfo()->GetClanName());
                                    }
                                    ZPostUserOption();
                            }
                    }                 break;



    Gunz\ZCombatInterface.cpp Linea (2651):
    Código:
    under ZScoreBoardItem *pItem=new ZScoreBoardItem;
     
                    int nRed = pCharacter->GetCharInfo()->nRedColor, nGreen = pCharacter->GetCharInfo()->nGreenColor, nBlue = pCharacter->GetCharInfo()->nBlueColor;
     
                    sprintf(pItem->szLevel,"%d%s",pCharacter->GetProperty()->nLevel, ZMsg(MSG_CHARINFO_LEVELMARKER));                 pItem->SetColor(MCOLOR(nRed, nGreen, nBlue));



    Gunz\ZObserver.cpp Linea (562):
    Código:
                    sprintf(szName, "%s (HP:%d, AP:%d)", m_pTargetCharacter->GetUserName(), (int)m_pTargetCharacter->GetHP(), (int)m_pTargetCharacter->GetAP());
                    int nRed = m_pTargetCharacter->GetCharInfo()->nRedColor, nGreen = m_pTargetCharacter->GetCharInfo()->nGreenColor, nBlue = m_pTargetCharacter->GetCharInfo()->nBlueColor;                 pDC->SetColor(MCOLOR(nRed, nGreen, nBlue));



    1VS2003\Gunz\ZChat.cpp Linea (196):
    Código:
            int nRed = atoi(ZGetConfiguration()->GetEtc()->nRed), nGreen = atoi(ZGetConfiguration()->GetEtc()->nGreen), nBlue = atoi(ZGetConfiguration()->GetEtc()->nBlue);
            switch (state)
            {
            case GUNZ_GAME:
                    {
                            ZCombatInterface* pCombatInterface = ZGetGameInterface()->GetCombatInterface();
                            int nTeam = MMT_ALL;
                            if (pCombatInterface->IsTeamChat() || bTeamChat)
                                    nTeam = ZGetGame()->m_pMyCharacter->GetTeamID();
                            ZPostPeerChat(szMsg, nTeam, nRed, nGreen, nBlue);
                    }
                    break;
            case GUNZ_LOBBY:
                    {
                            ZPostChannelChat(ZGetGameClient()->GetPlayerUID(), ZGetGameClient()->GetChannelUID(), szMsg, nRed, nGreen, nBlue);
                    }
                    break;
            case GUNZ_STAGE:
                    {
                            ZPostStageChat(ZGetGameClient()->GetPlayerUID(), ZGetGameClient()->GetStageUID(), szMsg, nRed, nGreen, nBlue);
                    }
                    break;         }



    Gunz\ZPost.h:
    Código:
    inline void ZPostPeerChat(char* szMsg, int nTeam=0, int nR=0, int nG=0, int nB=0)
    {
            char szSendMsg[ 256 ] = {0,};
            const size_t nInputLen = strlen( szMsg );
            if( 256 > nInputLen )
            {
                    ZPOSTCMD5(MC_PEER_CHAT, MCmdParamInt(nTeam), MCommandParameterString(szMsg), MCommandParameterInt(nR), MCommandParameterInt(nG), MCommandParameterInt(nB))  
            }
            else
            {
                    strncpy( szSendMsg, szMsg, 255 );        
                    ZPOSTCMD5(MC_PEER_CHAT, MCmdParamInt(nTeam), MCommandParameterString(szSendMsg), MCommandParameterInt(nR), MCommandParameterInt(nG), MCommandParameterInt(nB))
            }
     
            CHECK_RETURN_CALLSTACK(ZPostPeerChat);
    }
     
    #define ZPostChannelChat(/*const MUID&*/ uidChar, /*const MUID&*/ uidChannel, /*char**/ szChat, nR, nG, nB) { \
            ZPOSTCMD6(CLOAK_CMD_ID(MC_MATCH_CHANNEL_REQUEST_CHAT, 87252), MCommandParameterUID(uidChar), MCommandParameterUID(uidChannel), MCmdParamStr(szChat), MCommandParameterInt(nR), MCommandParameterInt(nG), MCommandParameterInt(nB));\
    }
     
    inline void ZPostStageChat(const MUID& uidChar, const MUID& uidStage, char* szChat, int nR, int nG, int nB)
    {
            ZPOSTCMD6(MC_MATCH_STAGE_CHAT, MCommandParameterUID(uidChar), MCommandParameterUID(uidStage), MCmdParamStr(szChat), MCommandParameterInt(nR), MCommandParameterInt(nG), MCommandParameterInt(nB)); }



    CSCommon\Source\MSharedCommandTable.cpp:
    Código:
                    C(MC_MATCH_STAGE_CHAT, "Stage.Chat", "Chat to Stage", MCDT_MACHINE2MACHINE)
                            P(MPT_UID, "uidPlayer")
                            P(MPT_UID, "uidStage")
                            P(MPT_STR, "Chat")
                            P(MPT_INT, "nR")
                            P(MPT_INT, "nG")
                            P(MPT_INT, "nB")
     
                    C(MC_PEER_CHAT, "Peer.Chat", "Chat", MCDT_PEER2PEER)
                            P(MPT_INT, "TeamID")
                            P(MPT_STR, "Msg");
                            P(MPT_INT, "nR")
                            P(MPT_INT, "nG")
                            P(MPT_INT, "nB")
     
                    C(MC_MATCH_CHANNEL_REQUEST_CHAT, "Channel.Request.Chat", "Request Chat to Channel", MCDT_MACHINE2MACHINE)
                            P(MPT_UID, "uidPlayer")
                            P(MPT_UID, "uidChannel")
                            P(MPT_STR, "Chat");      
                            P(MPT_INT, "nR")
                            P(MPT_INT, "nG")
                            P(MPT_INT, "nB")
     
                    C(MC_MATCH_CHANNEL_CHAT, "Channel.Chat", "Chat to Channel", MCDT_MACHINE2MACHINE)
                            P(MPT_UID, "uidChannel")
                            P(MPT_STR, "PlayerName")
                            P(MPT_STR, "Chat");
                            P(MPT_INT, "nGrade")
                            P(MPT_INT, "nR")
                            P(MPT_INT, "nG")                         P(MPT_INT, "nB")



    CSCommon\Source\MMatchServer_OnCommand.cpp:
    Código:
                    case MC_MATCH_CHANNEL_REQUEST_CHAT:
                            {
                                    MUID uidSender, uidPlayer, uidChannel;
                                    static char szChat[ CHAT_STRING_LEN ];
                                    int nR, nG, nB;
     
                                    uidSender = pCommand->GetSenderUID();
                                    pCommand->GetParameter(&uidPlayer, 0, MPT_UID);
                                   
                                    if( uidSender != uidPlayer )
                                    {
                                            break;
                                    }
     
                                    pCommand->GetParameter(&uidChannel, 1, MPT_UID);
                                    pCommand->GetParameter(szChat, 2, MPT_STR, CHAT_STRING_LEN );
     
                                    pCommand->GetParameter(&nR, 3, MPT_INT);
                                    pCommand->GetParameter(&nG, 4, MPT_INT);
                                    pCommand->GetParameter(&nB, 5, MPT_INT);
     
                                    OnChannelChat(uidSender, uidChannel, szChat, nR, nG, nB);
                            }
                            break;
                    case MC_MATCH_STAGE_CHAT:
                            {
                                    MUID uidPlayer, uidSender, uidStage;
                                    static char szChat[CHAT_STRING_LEN];
                                    int nR, nG, nB;
     
                                    uidSender = pCommand->GetSenderUID();
                                    pCommand->GetParameter(&uidPlayer, 0, MPT_UID);
                           
                                    if( uidSender != uidPlayer )
                                    {
                                            break;
                                    }
     
                                    pCommand->GetParameter(&uidStage, 1, MPT_UID);
                                    pCommand->GetParameter(szChat, 2, MPT_STR, CHAT_STRING_LEN );
                                    pCommand->GetParameter(&nR, 3, MPT_INT);
                                    pCommand->GetParameter(&nG, 4, MPT_INT);
                                    pCommand->GetParameter(&nB, 5, MPT_INT);
     
                                    OnStageChat(uidPlayer, uidStage, szChat, nR, nG, nB);
                            }                         break;



    CSCommon\Source\MMatchServer_Stage.cpp
    Código:
    void MMatchServer::OnStageChat(const MUID& uidPlayer, const MUID& uidStage, char* pszChat, int nR, int nG, int nB)
    {
            if (pszChat[0] == '/') {
                    if (StageKick(this, uidPlayer, uidStage, pszChat))
                            return;
                    if (StageShowInfo(this, uidPlayer, uidStage, pszChat))
                            return;
            }
     
            StageChat(uidPlayer, uidStage, pszChat, nR, nG, nB); }



    CSCommon\Include\MMatchServer.h:
    Código:
            void OnStageChat(const MUID& uidPlayer, const MUID& uidStage, char* pszChat, int nR, int nG, int nB);



    CSCommon\Source\MMatchServer_Stage.cpp:
    Código:
    bool MMatchServer::StageChat(const MUID& uidPlayer, const MUID& uidStage, char* pszChat, int nR, int nG, int nB)
    {
            MMatchStage* pStage = FindStage(uidStage);
            if (pStage == NULL)     return false;
            MMatchObject* pObj = (MMatchObject*)GetObject(uidPlayer);
            if ((pObj == NULL) || (pObj->GetCharInfo() == NULL)) return false;
     
            if (pObj->GetAccountInfo()->m_nUGrade == MMUG_CHAT_LIMITED) return false;
     
            if( uidStage != pObj->GetStageUID() )
            {
                    return false;
            }
     
            MCommand* pCmd = new MCommand(m_CommandManager.GetCommandDescByID(MC_MATCH_STAGE_CHAT), MUID(0,0), m_This);
            pCmd->AddParameter(new MCommandParameterUID(uidPlayer));
            pCmd->AddParameter(new MCommandParameterUID(uidStage));
            pCmd->AddParameter(new MCommandParameterString(pszChat));
            pCmd->AddParameter(new MCommandParameterInt(nR));
            pCmd->AddParameter(new MCommandParameterInt(nG));
            pCmd->AddParameter(new MCommandParameterInt(nB));
     
            RouteToStage(uidStage, pCmd);
            return true; }



    CSCommon\Include\MMatchServer.h:
    Código:
            bool StageChat(const MUID& uidPlayer, const MUID& uidStage, char* pszChat, int nR, int nG, int nB);



    CSCommon\Source\MMatchServer_Channel.cpp:
    Código:
    void MMatchServer::OnChannelChat(const MUID& uidPlayer, const MUID& uidChannel, char* pszChat, int nR, int nG, int nB)
    {
            ChannelChat(uidPlayer, uidChannel, pszChat, nR, nG, nB); }



    CSCommon\Include\MMatchServer.h:
    Código:
    void OnChannelChat(const MUID& uidPlayer, const MUID& uidChannel, char* pszChat, int nR, int nG, int nB);



    CSCommon\Source\MMatchServer_Channel.cpp:
    Código:
    bool MMatchServer::ChannelChat(const MUID& uidPlayer, const MUID& uidChannel, char* pszChat, int nR, int nG, int nB)
    {
            if( 0 == strlen(pszChat) ) return false;
            MMatchChannel* pChannel = FindChannel(uidChannel);
            if (pChannel == NULL) return false;
            MMatchObject* pObj = (MMatchObject*)GetObject(uidPlayer);
            if ((pObj == NULL) || (pObj->GetCharInfo() == NULL)) return false;
            if (pObj->GetAccountInfo()->m_nUGrade == MMUG_CHAT_LIMITED) return false;
     
            int nGrade = (int) pObj->GetAccountInfo()->m_nUGrade;
     
            if( uidChannel != pObj->GetChannelUID() )
            {
                    return false;
            }
     
            MUID uidStage = pObj->GetStageUID();
            if( uidStage != MUID(0, 0) )
            {
                    return false;
            }
     
            if( pObj->GetAccountPenaltyInfo()->IsBlock(MPC_CHAT_BLOCK) ) {
                    return false;
            }
            if( pObj->IsChatBanUser() == true )     return false;
            if( pObj->CheckChatFlooding() )
            {
                    pObj->SetChatBanUser();
                   
                    MCommand* pCmd = new MCommand(m_CommandManager.GetCommandDescByID(MC_MATCH_CHANNEL_DUMB_CHAT), pObj->GetUID(), m_This);
                    Post(pCmd);
     
                    LOG(LOG_FILE, "MMatchServer::ChannelChat - Set Dumb Player(MUID:%d%d, Name:%s)", pObj->GetUID().High, pObj->GetUID().Low, pObj->GetName());
                    return false;
            }
     
            MCommand* pCmd = new MCommand(m_CommandManager.GetCommandDescByID(MC_MATCH_CHANNEL_CHAT), MUID(0,0), m_This);
            pCmd->AddParameter(new MCommandParameterUID(uidChannel));
            pCmd->AddParameter(new MCommandParameterString(pObj->GetCharInfo()->m_szName));
            pCmd->AddParameter(new MCommandParameterString(pszChat));
            pCmd->AddParameter(new MCommandParameterInt(nGrade));
            pCmd->AddParameter(new MCommandParameterInt(nR));
            pCmd->AddParameter(new MCommandParameterInt(nG));
            pCmd->AddParameter(new MCommandParameterInt(nB));
     
            RouteToChannelLobby(uidChannel, pCmd);
            return true; }



    CSCommon\Include\MMatchServer.h:
    Código:
    bool ChannelChat(const MUID& uidPlayer, const MUID& uidChannel, char* pszChat, int nR, int nG, int nB);



    Gunz\ZGameClient_OnCommand.cpp:
    Código:
                    case MC_MATCH_CHANNEL_CHAT:
                            {
                                    MUID uidChannel, uidChar;
                                    char szChat[256];  
                                    char szName[256];
                                    int nGrade;
                                    int nR, nG, nB;
     
                    pCommand->GetParameter(&uidChannel, 0, MPT_UID);
                    pCommand->GetParameter(szName, 1, MPT_STR, sizeof(szName) );
                    pCommand->GetParameter(szChat, 2, MPT_STR, sizeof(szChat) );
                    pCommand->GetParameter(&nGrade,3, MPT_INT);  
                                                           
                                    pCommand->GetParameter(&nR, 4, MPT_INT);
                                    pCommand->GetParameter(&nG, 5, MPT_INT);
                                    pCommand->GetParameter(&nB, 6, MPT_INT);
     
                                    CheckMsgAboutChat(szChat);
     
                                    OnChannelChat(uidChannel, szName, szChat, nGrade, nR, nG, nB);
                            }
                            break;
     
                    case MC_MATCH_STAGE_CHAT:
                            {
                                    MUID uidStage, uidChar;
                                    static char szChat[512];
                                    int nR, nG, nB;
     
                                    pCommand->GetParameter(&uidChar, 0, MPT_UID);
                                    pCommand->GetParameter(&uidStage, 1, MPT_UID);
                                    pCommand->GetParameter(szChat, 2, MPT_STR, sizeof(szChat) );
                                    pCommand->GetParameter(&nR, 3, MPT_INT);
                                    pCommand->GetParameter(&nG, 4, MPT_INT);
                                    pCommand->GetParameter(&nB, 5, MPT_INT);
     
                                    CheckMsgAboutChat(szChat);
                                   
     
                                    OnStageChat(uidChar, uidStage, szChat, nR, nG, nB);
                            }                         break;



    Gunz\ZGameClient.cpp:
    Código:
    void ZGameClient::OnStageChat(const MUID& uidChar, const MUID& uidStage, char* szChat, int nR, int nG, int nB)
    {
            if (GetStageUID() != uidStage) return;
            if (szChat[0] == 0) return;
            if (ZGetGameClient()->GetRejectNormalChat()) return;
            if (ZGetMyInfo()->GetCharName() == 0) return;
     
            string name = GetObjName(uidChar);
     
            char szText[512];
            MCOLOR ChatColor = MCOLOR(nR, nG, nB);
     
            sprintf(szText, "%s : %s", name.c_str(), szChat);
            ZChatOutput(szText, ZChat::CMT_NORMAL, ZChat::CL_STAGE, ChatColor);   }



    Gunz\ZGameClient.h:
    Código:
            void OnStageChat(const MUID& uidChar, const MUID& uidStage, char* szChat, int nR, int nG, int nB);



    Gunz\ZGameClient.cpp:
    Código:
    void ZGameClient::OnChannelChat(const MUID& uidChannel, char* szName, char* szChat,int nGrade, int nR, int nG, int nB)
    {
            if (GetChannelUID() != uidChannel)              return;
            if ((szChat[0]==0) || (szName[0] == 0)) return;
     
            char szText[155];
            MCOLOR ChatColor = MCOLOR(nR, nG, nB);
     
            sprintf(szText, "%s : %s", szName, szChat);
            ZChatOutput(szText, ZChat::CMT_NORMAL, ZChat::CL_LOBBY, ChatColor);   }



    Gunz\ZGameClient.h:
    Código:
            void OnChannelChat(const MUID& uidChannel, char* szName, char* szChat,int nGrade, int nR, int nG, int nB);



    Gunz\ZGame.cpp:
    Código:
            case MC_PEER_CHAT:
                    {
                            int nTeam = MMT_ALL;
                            char szMsg[CHAT_STRING_LEN];
                            memset(szMsg, 0, sizeof(szMsg));
     
                            pCommand->GetParameter(&nTeam, 0, MPT_INT);
                            pCommand->GetParameter(szMsg, 1, MPT_STR, CHAT_STRING_LEN );
                            CheckMsgAboutChat(szMsg);
     
                            MUID uid=pCommand->GetSenderUID();
                            ZCharacter *pChar=ZGetCharacterManager()->Find(uid);
     
                            int nR, nG, nB;
                            pCommand->GetParameter(&nR, 2, MPT_INT);
                            pCommand->GetParameter(&nG, 3, MPT_INT);
                            pCommand->GetParameter(&nB, 4, MPT_INT);
                           
                            MCOLOR ChatColor = MCOLOR(nR, nG, nB);
                            MCOLOR TeamChatColor = MCOLOR(109,207,246);
     
                            if(pChar)
                            {
                                    int nMyTeam = ZGetGame()->m_pMyCharacter->GetTeamID();
                                    if ( (nTeam == MMT_ALL) || (nTeam == MMT_SPECTATOR))
                                    {
                                            if ( !ZGetGameClient()->GetRejectNormalChat() || ( strcmp( pChar->GetUserName(), ZGetMyInfo()->GetCharName()) == 0))
                                            {
                                                    ZGetSoundEngine()->PlaySound("if_error");
                                                    char szTemp[sizeof(szMsg)+64];
     
                                                    sprintf(szTemp, "%s%s : %s", ((pChar->IsDie()) ? "[DEAD] " : ""), pChar->GetProperty()->GetName(),szMsg);
                                                    ZChatOutput(ChatColor, szTemp);
                                            }      
                                    }                      
                                    else if (nTeam == nMyTeam)
                                    {
                                            if ( (!ZGetGameClient()->IsLadderGame() && !ZGetGameClient()->GetRejectTeamChat()) ||
                                                     ( ZGetGameClient()->IsLadderGame() && !ZGetGameClient()->GetRejectClanChat()) ||
                                                     ( strcmp( pChar->GetUserName(), ZGetMyInfo()->GetCharName()) == 0))
                                            {
                                                    ZGetSoundEngine()->PlaySound("if_error");
                                                    char szTemp[256];
     
                                                    sprintf(szTemp, "%s(Team)%s : %s", ((pChar->IsDie()) ? "[DEAD] " : ""), pChar->GetProperty()->GetName(),szMsg);
                                                    ZChatOutput(TeamChatColor, szTemp);
                                            }
                                    }
                            }
                    }                 break;



    Gunz\ZPlayerListBox.cpp:
    Código:
    // mode PLAYERLISTMODE_CHANNEL
    void ZPlayerListBox::AddPlayer(MUID& puid, ePlayerState state, int  nLevel,char* szName, char *szClanName, unsigned int nClanID, MMatchUserGradeID nGrade, int duelTournamentGrade
                                                               ,int nR, int nG, int nB)
    {
            if ( (int)strlen( szName) == 0) return;
     
            char szFileName[64] = "";
            char szLevel[64] = "";
            char* szRefName = NULL;
     
            MCOLOR _color = MCOLOR(nR, nG, nB);
     
            sprintf(szLevel,"%2d",nLevel);
            szRefName = szName;
     
            switch (state)
            {
                    case PS_FIGHT   : strcpy(szFileName, "player_status_player.tga");       break;
                    case PS_WAIT    : strcpy(szFileName, "player_status_game.tga");         break;
                    case PS_LOBBY   : strcpy(szFileName, "player_status_lobby.tga");        break;
            }
     
            char szDTGradeIconFileName[64];
            GetDuelTournamentGradeIconFileName(szDTGradeIconFileName, duelTournamentGrade);
            MBitmap* pBmpDTGradeIcon = MBitmapManager::Get( szDTGradeIconFileName );
     
            ZLobbyPlayerListItem* pItem = new ZLobbyPlayerListItem(puid, MBitmapManager::Get(szFileName), nClanID, szLevel, szRefName, szClanName, state, nGrade, pBmpDTGradeIcon );       
            pItem->SetColor(_color);
     
            MListBox::Add( pItem );
    }
     
    // mode PLAYERLISTMODE_STAGE
    void ZPlayerListBox::AddPlayer(MUID& puid, MMatchObjectStageState state, int nLevel, char* szName, char* szClanName, unsigned int nClanID, bool isMaster, MMatchTeam nTeam, int duelTournamentGrade
                                                                ,int nR, int nG, int nB)
    {
            if ( (int)strlen( szName) == 0) return;
     
            char szFileName[64] = "";
            char szFileNameState[64] = "";
            char szLevel[64] = "";
            char* szRefName = NULL;
     
            MCOLOR _color = MCOLOR(nR, nG, nB);
     
            sprintf(szLevel,"%2d",nLevel);
            szRefName = szName;
     
            MBitmap* pBitmap = NULL;
            if(isMaster) {
                    switch (state) {
                            case MOSS_NONREADY      :
                                    if(nTeam == MMT_RED)                    strcpy(szFileName, "stg_status_master_red.tga");
                                    else if(nTeam == MMT_BLUE)              strcpy(szFileName, "stg_status_master_blue.tga");
                                    else if(nTeam == MMT_SPECTATOR) strcpy(szFileName, "stg_status_master_observer.tga");
                                    else                                                    strcpy(szFileName, "stg_status_master_normal.tga");
                                    break;
                            case MOSS_READY         :
                                    if(nTeam == MMT_RED)                    strcpy(szFileName, "stg_status_master_red_ready.tga");
                                    else if(nTeam == MMT_BLUE)              strcpy(szFileName, "stg_status_master_blue_ready.tga");
                                    else if(nTeam == MMT_SPECTATOR) strcpy(szFileName, "stg_status_master_observer.tga");
                                    else                                                    strcpy(szFileName, "stg_status_master_normal_ready.tga");
                                    break;
                            case MOSS_EQUIPMENT     :
                                    if(nTeam == MMT_RED)                    strcpy(szFileName, "stg_status_master_red_equip.tga");
                                    else if(nTeam == MMT_BLUE)              strcpy(szFileName, "stg_status_master_blue_equip.tga");
                                    else if(nTeam == MMT_SPECTATOR) strcpy(szFileName, "stg_status_master_observer.tga");
                                    else                                                    strcpy(szFileName, "stg_status_master_normal_equip.tga");
                                    break;
                            default :
                                    strcpy(szFileName, " ");
                                    break;
                    }
            }
            else {
                    switch (state) {
                            case MOSS_NONREADY      :
                                    if(nTeam == MMT_RED)                    strcpy(szFileName, "stg_status_member_red.tga");
                                    else if(nTeam == MMT_BLUE)              strcpy(szFileName, "stg_status_member_blue.tga");      
                                    else if(nTeam == MMT_SPECTATOR) strcpy(szFileName, "stg_status_member_observer.tga");  
                                    else                                                    strcpy(szFileName, "stg_status_member_normal.tga");    
                                    break;
                            case MOSS_READY         :
                                    if(nTeam == MMT_RED)                    strcpy(szFileName, "stg_status_member_red_ready.tga");
                                    else if(nTeam == MMT_BLUE)              strcpy(szFileName, "stg_status_member_blue_ready.tga");
                                    else if(nTeam == MMT_SPECTATOR) strcpy(szFileName, "stg_status_member_observer.tga");  
                                    else                                                    strcpy(szFileName, "stg_status_member_normal_ready.tga");      
                                    break;
                            case MOSS_EQUIPMENT     :
                                    if(nTeam == MMT_RED)                    strcpy(szFileName, "stg_status_member_red_equip.tga");
                                    else if(nTeam == MMT_BLUE)              strcpy(szFileName, "stg_status_member_blue_equip.tga");
                                    else if(nTeam == MMT_SPECTATOR) strcpy(szFileName, "stg_status_member_observer.tga");  
                                    else                                                    strcpy(szFileName, "stg_status_member_normal_equip.tga");      
                                    break;
                    }
            }
            pBitmap = MBitmapManager::Get(szFileName);
     
            MMatchUserGradeID gid = MMUG_FREE;
     
            char szDTGradeIconFileName[64];
            GetDuelTournamentGradeIconFileName(szDTGradeIconFileName, duelTournamentGrade);
            MBitmap* pBmpDTGradeIcon = MBitmapManager::Get( szDTGradeIconFileName );
     
            ZStagePlayerListItem* pItem = new ZStagePlayerListItem(puid, pBitmap, nClanID, szRefName, szClanName, szLevel, gid, pBmpDTGradeIcon);
            pItem->SetColor(_color);
     
            MListBox::Add( pItem );
     
            if( ZGetMyUID() == puid )
            {
                    bool bBlue, bRed;
                    bBlue = bRed = false;
                    if( nTeam == MMT_BLUE)  bBlue = true;
                    if( nTeam == MMT_RED)   bRed = true;
                   
                    MButton* pButton = (MButton*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget("StageTeamBlue");
                    pButton->SetCheck( bBlue );
     
                    pButton = (MButton*)ZApplication::GetGameInterface()->GetIDLResource()->FindWidget("StageTeamRed");
                    pButton->SetCheck( bRed );
            } }



    Gunz\ZPlayerListBox.h:
    Código:
            // mode PLAYERLISTMODE_CHANNEL
            void AddPlayer(MUID& puid, ePlayerState state, int  nLevel,char* szName, char* szClanName, unsigned int nClanID, MMatchUserGradeID nGrade, int duelTournamentGrade
                    ,int nR, int nG, int nB);
     
            // mode PLAYERLISTMODE_STAGE
            void AddPlayer(MUID& puid, MMatchObjectStageState state, int nLevel, char* szName, char* szClanName, unsigned int nClanID, bool isMaster,MMatchTeam nTeam, int duelTournamentGrade                 ,int nR, int nG, int nB);



    Gunz\ZGameClient.cpp:
    Código:
    void ZGameClient::OnObjectCache(unsigned int nType, void* pBlob, int nCount)
    {
            MMatchClient::OnObjectCache(nType, pBlob, nCount);
            ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
            ZPlayerListBox* pList = (ZPlayerListBox*)pResource->FindWidget("StagePlayerList_");
            vector< int > vecClanID;
            if(pList)
            {
                    if (nType == MATCHCACHEMODE_UPDATE) {
                            pList->RemoveAll();
                            ZGetPlayerManager()->Clear();
                            for(int i=0; i<nCount; i++){
                                    MMatchObjCache* pCache = (MMatchObjCache*)MGetBlobArrayElement(pBlob, i);
                                    if (pCache->CheckFlag(MTD_PlayerFlags_AdminHide) == false) {
                                            pList->AddPlayer(pCache->GetUID(),MOSS_NONREADY,pCache->GetLevel(),
                                                                            pCache->GetName(),pCache->GetClanName(),pCache->GetCLID(),false,MMT_ALL, pCache->GetDTGrade()
                                                                            ,pCache->GetRed(), pCache->GetGreen(), pCache->GetBlue());
                                            if (m_EmblemMgr.CheckEmblem(pCache->GetCLID(), pCache->GetEmblemChecksum())) {
                                            }
                                            else if (pCache->GetEmblemChecksum() != 0) {
                                                    vecClanID.push_back( pCache->GetCLID() );
                                            }
     
                                            ZGetPlayerManager()->AddPlayer( pCache->GetUID(), pCache->GetName(), pCache->GetRank(), pCache->GetKillCount(), pCache->GetDeathCount());
                                    }
                            }
                    } else if (nType == MATCHCACHEMODE_ADD) {
                            for(int i=0; i<nCount; i++){
                                    MMatchObjCache* pCache = (MMatchObjCache*)MGetBlobArrayElement(pBlob, i);
                                    if (pCache->CheckFlag(MTD_PlayerFlags_AdminHide) == false) {    //  Skip on AdminHide
                                            pList->AddPlayer(pCache->GetUID(),MOSS_NONREADY,pCache->GetLevel(),
                                                                             pCache->GetName(),pCache->GetClanName(),pCache->GetCLID(),false,MMT_ALL, pCache->GetDTGrade()
                                                                             ,pCache->GetRed(), pCache->GetGreen(), pCache->GetBlue());                                    
                                            if (m_EmblemMgr.CheckEmblem(pCache->GetCLID(), pCache->GetEmblemChecksum())) {
                                            }
                                            else if (pCache->GetEmblemChecksum() != 0) {
                                                    vecClanID.push_back( pCache->GetCLID() );
                                            }
                                            ZGetPlayerManager()->AddPlayer( pCache->GetUID(), pCache->GetName(), pCache->GetRank(), pCache->GetKillCount(), pCache->GetDeathCount());
                                    }
                            }
                    } else if (nType == MATCHCACHEMODE_REMOVE) {
                            for(int i=0; i<nCount; i++){
                                    MMatchObjCache* pCache = (MMatchObjCache*)MGetBlobArrayElement(pBlob, i);
                                    pList->DelPlayer(pCache->GetUID());
                                    ZGetPlayerManager()->RemovePlayer( pCache->GetUID());
                            }
                            ZApplication::GetGameInterface()->UpdateBlueRedTeam();
                    }
                    if(vecClanID.size() > 0)
                    {
                            void* pBlob = MMakeBlobArray(sizeof(int), (int)vecClanID.size());
                            int nCount = 0;
                            for(vector<int>::iterator it = vecClanID.begin(); it != vecClanID.end(); it++, nCount++)
                            {
                                    int *nClanID = (int*)MGetBlobArrayElement(pBlob, nCount);
                                    *nClanID = *it;
                            }
     
                            ZPostRequestEmblemURL(pBlob);
                            MEraseBlobArray(pBlob);
                            vecClanID.clear();
                    }
            }
    }
     
    void ZGameClient::OnChannelPlayerList(int nTotalPlayerCount, int nPage, void* pBlob, int nCount)
    {
            ZIDLResource* pResource = ZApplication::GetGameInterface()->GetIDLResource();
            ZPlayerListBox* pPlayerListBox = (ZPlayerListBox*)pResource->FindWidget("LobbyChannelPlayerList");
            if (!pPlayerListBox) return;
            if(pPlayerListBox->GetMode()!=ZPlayerListBox::PLAYERLISTMODE_CHANNEL) return;
            MUID selUID = pPlayerListBox->GetSelectedPlayerUID();
            int nStartIndex = pPlayerListBox->GetStartItem();
            if(nCount) {
                    pPlayerListBox->RemoveAll();
            } else {
                    return;
            }
            pPlayerListBox->m_nTotalPlayerCount = nTotalPlayerCount;
            pPlayerListBox->m_nPage = nPage;
            ZLobbyPlayerListItem* pItem = NULL;
            vector< int > vecClanID;
            for(int i=0; i<nCount; i++)
            {
                    MTD_ChannelPlayerListNode* pNode = (MTD_ChannelPlayerListNode*)MGetBlobArrayElement(pBlob, i);
                    if( pNode )
                    {
                            ePlayerState state;
                            switch (pNode->nPlace)
                            {
                            case MMP_LOBBY: state = PS_LOBBY; break;
                            case MMP_STAGE: state = PS_WAIT; break;
                            case MMP_BATTLE: state = PS_FIGHT; break;
                            default: state = PS_LOBBY;
                            };
     
                            if ((pNode->nPlayerFlags & MTD_PlayerFlags_AdminHide) == true) {
                            } else {
                                    if (m_EmblemMgr.CheckEmblem(pNode->nCLID, pNode->nEmblemChecksum)) {
                                    }
                                    else if (pNode->nEmblemChecksum != 0) {
                                            vecClanID.push_back( pNode->nCLID );
                                    }
                                    pPlayerListBox->AddPlayer(pNode->uidPlayer, state, pNode->nLevel, pNode->szName, pNode->szClanName, pNode->nCLID,
                                            (MMatchUserGradeID)pNode->nGrade, pNode->nDTLastWeekGrade, pNode->nChannelRed, pNode->nChannelGreen, pNode->nChannelBlue);
                            }
                    }
            }
            if(vecClanID.size() > 0)
            {
                    void* pBlob = MMakeBlobArray(sizeof(int), (int)vecClanID.size());
                    int nCount = 0;
                    for(vector<int>::iterator it = vecClanID.begin(); it != vecClanID.end(); it++, nCount++)
                    {
                            int *nClanID = (int*)MGetBlobArrayElement(pBlob, nCount);
                            *nClanID = *it;
                    }
     
                    ZPostRequestEmblemURL(pBlob);
                    MEraseBlobArray(pBlob);
                    vecClanID.clear();
            }
            pPlayerListBox->SetStartItem(nStartIndex);
            pPlayerListBox->SelectPlayer(selUID);
            pPlayerListBox->AddTestItems();
    }

    Include\MMatchTransDataType.h:
    Código:
    struct MTD_ChannelPlayerListNode
    {
            MUID                    uidPlayer;
            char                    szName[MATCHOBJECT_NAME_LENGTH];
            char                    szClanName[CLAN_NAME_LENGTH];
            char                    nLevel;
            char                    nDTLastWeekGrade;
            MMatchPlace             nPlace;
            unsigned char   nGrade;
            unsigned char   nPlayerFlags;
            unsigned int    nCLID;
            unsigned int    nEmblemChecksum;
            int nChannelRed, nChannelGreen, nChannelBlue; };



    CSCommon\Include\MMatchObjCache.h:
    Código:
    class MMatchObjCache {
    protected:
            MUID                                    m_uidObject;
            char                                    m_szName[ MATCHOBJECT_NAME_LENGTH ];
            char                                    m_szClanName[CLAN_NAME_LENGTH];
            char                                    m_nLevel;
            MMatchUserGradeID               m_nUGrade;
            MMatchPremiumGradeID    m_nPGrade;
            unsigned char                   m_nPlayerFlags;
            unsigned int                    m_nCLID;
            unsigned int                    m_nEmblemChecksum;
            MMatchObjCacheCostume   m_Costume;
            unsigned int                    m_nRank;
            int                                             m_nKillCount;
            int                                             m_nDeathCount;
            int                                             m_nDTGrade;
            int                     nStageRed, nStageGreen, nStageBlue;
           
    public:
            MMatchObjCache()                                {
                    m_szName[0] = NULL;
                    m_nLevel = 0;
                    m_nUGrade = MMUG_FREE;
                    m_nPGrade = MMPG_FREE;
                    memset(&m_Costume, 0, sizeof(MMatchObjCacheCostume));
                    ResetFlag();
                    m_nDTGrade = 0;
                    nStageRed =0; nStageGreen = 0; nStageBlue = 0;
            }
            virtual ~MMatchObjCache()               {}
     
            MUID GetUID()                                   { return m_uidObject; }
     
            char* GetName()                 { return m_szName; }
            char* GetClanName()             { return m_szClanName; }
            int GetLevel()                                  { return m_nLevel; }
            MMatchUserGradeID               GetUGrade()     { return m_nUGrade; }
            MMatchPremiumGradeID    GetPGrade()     { return m_nPGrade; }
     
            int GetRed()            { return nStageRed; }
            int GetGreen()          { return nStageGreen; }
            int GetBlue()           { return nStageBlue; }
     
            void SetInfo(const MUID& uid, const char* szName, const char* szClanName, int nLevel,
                                     MMatchUserGradeID nUGrade, MMatchPremiumGradeID nPGrade
                                     , const unsigned int nRank, const int nKillCount, const int nDeathCount, int nDTGrade, int nR, int nG, int nB )
            {
                    m_uidObject = uid;
                    strcpy(m_szName, szName);
                    strcpy(m_szClanName, szClanName);
                    m_nLevel                = (char)nLevel;
                    m_nUGrade               = nUGrade;
                    m_nPGrade               = nPGrade;
                    m_nPlayerFlags  = 0;
                    m_nRank                 = nRank;
                    m_nKillCount    = nKillCount;
                    m_nDeathCount   = nDeathCount;
                    m_nDTGrade              = nDTGrade;
     
                    nStageRed       = nR;
                    nStageGreen     = nG;
                    nStageBlue      = nB;
            }
     
            unsigned char GetFlags()                                { return m_nPlayerFlags; }
            void SetFlags(unsigned char nFlags)             { m_nPlayerFlags = nFlags; }
            bool CheckFlag(unsigned char nFlagIdx)  { return (m_nPlayerFlags & nFlagIdx) ? true:false; }
            void ResetFlag()                                                { m_nPlayerFlags = 0; }
            void SetFlag(unsigned char nFlagIdx, bool bSet)
            {
                    if (bSet) m_nPlayerFlags |= nFlagIdx;
                    else m_nPlayerFlags &= (0xff ^ nFlagIdx);
            }
            unsigned int GetCLID()                                  { return m_nCLID; }
            void SetCLID(unsigned int nCLID)                { m_nCLID = nCLID; }
            unsigned int GetEmblemChecksum()                { return m_nEmblemChecksum; }
            void SetEmblemChecksum(unsigned int nChecksum)  { m_nEmblemChecksum = nChecksum; }
     
            const unsigned int GetRank()                    { return m_nRank; }
            const int GetKillCount()                                { return m_nKillCount; }
            const int GetDeathCount()                               { return m_nDeathCount; }
     
            int GetDTGrade()                                                { return m_nDTGrade; }
     
            void AssignCostume(MMatchObjCacheCostume* pCostume) { memcpy(&m_Costume, pCostume, sizeof(MMatchObjCacheCostume)); }
            MMatchObjCacheCostume* GetCostume() { return &m_Costume; } };



    CSCommon\Source\MMatchClient.cpp:
    Código:
    void MMatchClient::ReplaceObjCache(MMatchObjCache* pCache)
    {
            MMatchObjCache* pScanCache = FindObjCache(pCache->GetUID());
            if (pScanCache == NULL) return;
     
            pScanCache->SetInfo(pCache->GetUID(), pCache->GetName(), pCache->GetClanName(), pCache->GetLevel(),
                                                    pCache->GetUGrade(), pCache->GetPGrade()
                                                    , pCache->GetRank(), pCache->GetKillCount(), pCache->GetDeathCount(), pCache->GetDTGrade()
                                                    , pCache->GetRed(), pCache->GetGreen(), pCache->GetBlue());
            pScanCache->SetCLID(pCache->GetCLID());
            pScanCache->SetEmblemChecksum(pCache->GetEmblemChecksum());
            pScanCache->AssignCostume(pCache->GetCostume());
            pScanCache->SetFlags(pCache->GetFlags());
    }
     
    void MMatchClient::UpdateObjCache(MMatchObjCache* pCache)
    {
            MMatchObjCache* pScanCache = FindObjCache(pCache->GetUID());
            if (pScanCache != NULL) return;
     
            MMatchObjCache* pNewCache = new MMatchObjCache;
     
            pNewCache->SetInfo(pCache->GetUID(), pCache->GetName(), pCache->GetClanName(), pCache->GetLevel(),
                                               pCache->GetUGrade(), pCache->GetPGrade()
                                               , pCache->GetRank(), pCache->GetKillCount(), pCache->GetDeathCount(), pCache->GetDTGrade()
                                               , pCache->GetRed(), pCache->GetGreen(), pCache->GetBlue());
            pNewCache->SetCLID(pCache->GetCLID());
            pNewCache->SetEmblemChecksum(pCache->GetEmblemChecksum());
            pNewCache->AssignCostume(pCache->GetCostume());
            pNewCache->SetFlags(pCache->GetFlags());
     
            _ASSERT(m_ObjCacheMap.find(pNewCache->GetUID())==m_ObjCacheMap.end());
            m_ObjCacheMap.Insert(pNewCache->GetUID(), pNewCache); }



    CSCommon\Source\MMatchObjCache.cpp:
    Código:
    MCommand* MMatchObjectCacheBuilder::GetResultCmd(MATCHCACHEMODE nMode, MCommandCommunicator* pCmdComm)
    {
            MCommand* pCmd = pCmdComm->CreateCommand(MC_MATCH_OBJECT_CACHE, MUID(0,0));
            pCmd->AddParameter(new MCmdParamUChar(nMode));
            int nCount = (int)m_ObjectCacheList.size();
            void* pCacheArray = MMakeBlobArray(sizeof(MMatchObjCache), nCount);
            int nIndex=0;
            for (MMatchObjCacheList::iterator itor=m_ObjectCacheList.begin(); itor!=m_ObjectCacheList.end(); itor++) {
                    MMatchObjCache* pTrgCache = (MMatchObjCache*)MGetBlobArrayElement(pCacheArray, nIndex++);
                    MMatchObjCache* pSrcCache = (*itor);
     
                   
                    pTrgCache->SetInfo(pSrcCache->GetUID(), pSrcCache->GetName(), pSrcCache->GetClanName(),
                                                       pSrcCache->GetLevel(), pSrcCache->GetUGrade(), pSrcCache->GetPGrade()
                                                       , pSrcCache->GetRank(), pSrcCache->GetKillCount(), pSrcCache->GetDeathCount(), pSrcCache->GetDTGrade()
                                                       , pSrcCache->GetRed(), pSrcCache->GetGreen(), pSrcCache->GetBlue());
     
                    pTrgCache->SetFlags(pSrcCache->GetFlags());
                    pTrgCache->SetCLID(pSrcCache->GetCLID());
                    pTrgCache->SetEmblemChecksum(pSrcCache->GetEmblemChecksum());
     
                    pTrgCache->AssignCostume(pSrcCache->GetCostume());
            }
            pCmd->AddParameter(new MCmdParamBlob(pCacheArray, MGetBlobArraySize(pCacheArray)));
            MEraseBlobArray(pCacheArray);
     
            return pCmd; }



    SQL:
    Código PHP:
    1)Database->GunzDB->Tables->Right Click Account.dbo and Hit Modify-> Add 3 Coloumns NamesRedColorGreenColorBlueColorData Type intProgrammabillity->Stored Procedures->Right Click spGetCharInfoByCharNum.dbo and Hit Modify and modify it with the following codeset ANSI_NULLS ONset QUOTED_IDENTIFIER ONGOALTER PROC [dbo].[spGetCharInfoByCharNum]-- ALTER PROC dbo.spGetCharInfoByCharNum         [MENTION=420555]Aid[/MENTION]            INT,         [MENTION=551894]Char[/MENTION]Num        SMALLINTAS BEGIN                SET NOCOUNT ON;               DECLARE  [MENTION=369615]Cid[/MENTIONINT;              SELECT  [MENTION=369615]Cid[/MENTION] = CID FROM Character(NOLOCKWHERE AID  [MENTION=420555]Aid[/MENTION] AND CharNum  [MENTION=551894]Char[/MENTION]Num         SELECT  c.CIDc.AIDc.Namec.Levelc.Sexc.CharNumc.Hairc.Face                              c.XPc.BPc.HPc.APc.FRc.CRc.ERc.WRc.GameCountc.KillCountc.DeathCountc.PlayTime                        cm.CLIDcl.Name AS 'ClanName'cm.Grade AS 'ClanGrade'cm.ContPoint AS ClanContPoint                              ISNULL(tr.Rank0) as 'rank'                        , (SELECT RedColor FROM Account(NOLOCKWHERE AID  [MENTION=420555]Aid[/MENTION]) AS RedColor                        , (SELECT GreenColor FROM Account(NOLOCKWHERE AID  [MENTION=420555]Aid[/MENTION]) AS GreenColor                        , (SELECT BlueColor FROM Account(NOLOCKWHERE AID  [MENTION=420555]Aid[/MENTION]) AS BlueColor        FROM    Character c(NOLOCKLEFT OUTER JOIN TotalRanking tr(NOLOCKON c.name tr.name )                        LEFT OUTER JOIN (Clan cl(NOLOCKJOIN ClanMember cm(NOLOCKON cl.CLID cm.CLIDON c.CID cm.CID        WHERE c.CID =  [MENTION=369615]Cid[/MENTION]     END 


    [Hola Invitado, necesitas registrarte para ver los links , Has click aquí para registrarte !!]

  2.    Publicidad


  3. #2
    [IG] Leecher Avatar de black21
    Ingreso
    30 mar, 17
    Mensajes
    3
    País
    Gracias
    0
    0 gracias en 0 Posts

    Re: Colores personalizados en la base de datos de clientes 1.5

    buen aporte me gusta 10/10 lo probare

  4. #3
    [IG] Leecher Avatar de XzGpsBeBe
    Ingreso
    15 jun, 15
    Mensajes
    6
    País
    Gracias
    0
    0 gracias en 0 Posts

    Re: Colores personalizados en la base de datos de clientes 1.5

    <!-- No entiendo nada -->
    <!-- podrías hacer un vídeo explicando mejor? -->
    Te lo agradecería.

    ...

  5. #4
    Baneado! Avatar de akdetxa
    Ingreso
    02 jul, 14
    Mensajes
    13
    País
    Gracias
    0
    0 gracias en 0 Posts

    Re: Colores personalizados en la base de datos de clientes 1.5

    si. me gustaría que hicieras un vídeo. si no seria mucha molestia


 

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •