Neo Source

Page 37 of 76 FirstFirst ... 27293031323334353637383940414243444547 ... LastLast
Results 541 to 555 of 1135
  1. #541
    Dark Carnival JerMTheSLayer is offline
    MemberRank
    Jul 2013 Join Date
    316Posts

    Re: Neo Source

    Quote Originally Posted by ultrrain View Post
    feel so sad , this code not working in neo source :'( fatal error for server files only Reditor and bugtral.dll are show up after compiling..
    ehhhh its easy to analyze what he shared and make it compatible to any source lol just patience and good eyes would do

    asendure=pro :D

  2. #542
    Dark Carnival JerMTheSLayer is offline
    MemberRank
    Jul 2013 Join Date
    316Posts

    Re: Neo Source

    Quote Originally Posted by AsenDURE View Post
    CHARACTER / VEHICLE / PET + DUAL SLOT WEAPON

    CharacterWindow.cpp
    Code:
    #include "StdAfx.h"
    #include "./CharacterWindow.h"
    #include "DxGlobalStage.h"
    #include "./GLCharClient.h"
    #include "./GLFactEffect.h"
    #include "./GLGaeaClient.h"
    
    #include "../EngineUILib/GUInterface/BasicTextBox.h"
    #include "../EngineUILib/GUInterface/BasicProgressBar.h"
    #include "../EngineUILib/GUInterface/BasicButton.h"
    #include "../EngineLib/DxCommon/d3dfont.h"
    #include "GLCharacter.h"
    #include "DxGameStage.h"
    #include "../RanClientUILib/Interface/InnerInterface.h"
    
    #include "../Interface/BasicTextButton.h"
    #include "../Interface/UITextControl.h"
    #include "../Interface/GameTextControl.h"
    #include "../RanClientLib/G-Logic/GLGaeaClient.h"
    #include "BasicComboBox.h"
    #include "BasicComboBoxRollOver.h"
    
    #include "DxEffectMan.h"
    #include "DxEnvironment.h"
    #include "DxSurfaceTex.h"
    #include "DxGlowMan.h"
    #include "DxPostProcess.h"
    #include "DxCubeMap.h"
    #include "DxSkyMan.h"
    #include "DxEffGroupPlayer.h"
    #include "../EngineLib/DxCommon/DxViewPort.h"
    #include "../EngineLib/DxCommon/DxFontMan.h"
    #include "../EngineLib/DxCommon/DxInputDevice.h"
    #include "../EngineLib/DxCommon/DxLightMan.h"
    #include "DxSkinChar.h"
    
    #include "BasicLineBox.h"
    #include "BasicTextBoxEx.h"
    #include "InventoryPageWear.h"
    #include "InventoryPageWearEx.h"
    #include "VehicleWindow.h"
    #include "PetWindow.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    
    CCharacterWindow::CCharacterWindow () :
        m_pNameText ( NULL ),
        m_pLevelText ( NULL ),
        
        m_pButtonOk ( NULL ),
        m_pButtonCancel ( NULL ),
    
        m_pPageWear( NULL ),
        m_pPageWearEx( NULL ),
        m_pPetWindow( NULL ),
        m_pPointText ( NULL ),
        
        //Left
        m_pPowText ( NULL ),
        m_pDexText ( NULL ),
        m_pSpiText ( NULL ),
        m_pIntText ( NULL ),
        m_pStrText ( NULL ),
        m_pStaText ( NULL ),
    
        //Right
        m_pPowTextUp ( NULL ),
        m_pDexTextUp ( NULL ),
        m_pSpiTextUp ( NULL ),
        m_pIntTextUp ( NULL ),
        m_pStrTextUp ( NULL ),
        m_pStaTextUp ( NULL ),
        m_pClubText ( NULL ),
    
        m_pNewPow ( 0 ),
        m_pNewDex ( 0 ),
        m_pNewSpi ( 0 ),
        m_pNewStr ( 0 ),
        m_pNewSta ( 0 ),
        m_pNewPoint ( 0 ),
        nIndex ( 0 ),
    
        //Left
        m_pDamageHighText ( NULL ), //¤ÇÒÁáçÊÙ§ÊØ´
        m_pDamageLowText ( NULL ),    //¤ÇÒÁáçµèÓÊØ´
        m_pDefenseText ( NULL ),    //»éͧ¡Ñ¹
        m_pReqPaText ( NULL ),        //¶¹Ñ´
        m_pReqSaText ( NULL ),        //àÅç§
        m_pReqMaText ( NULL ),        //¾Åѧ§Ò¹
        m_pHitRateText ( NULL ),    //â¨ÁµÕ
        m_pAvoidRateText ( NULL ),    //ËźËÅÕ¡
        m_pHPText ( NULL ),            //HP
        m_pMPText ( NULL ),            //MP
        m_pSPText ( NULL ),            //SP
    
        //Right
        m_pDamageHighTextUp ( NULL ), //¤ÇÒÁáçÊÙ§ÊØ´
        m_pDamageLowTextUp ( NULL ),    //¤ÇÒÁáçµèÓÊØ´
        m_pDefenseTextUp ( NULL ),    //»éͧ¡Ñ¹
        m_pReqPaTextUp ( NULL ),        //¶¹Ñ´
        m_pReqSaTextUp ( NULL ),        //àÅç§
        m_pReqMaTextUp ( NULL ),        //¾Åѧ§Ò¹
        m_pHitRateTextUp ( NULL ),    //â¨ÁµÕ
        m_pAvoidRateTextUp ( NULL ),    //ËźËÅÕ¡
        m_pHPTextUp ( NULL ),            //HP
        m_pMPTextUp ( NULL ),            //MP
        m_pSPTextUp ( NULL ),            //SP
    
        m_pFireText ( NULL ),        //ä¿
        m_pColdText ( NULL ),        //¹éÓá¢ç§
        m_pElectricText ( NULL ),    //ä¿¿éÒ
        m_pPoisonText ( NULL ),        //¾ÔÉ
        m_pSpiritText ( NULL ),        //àÇ·Âì
    
        m_pPKStateText ( NULL ),
        m_pGradeText ( NULL ),        //ª×èÍàÊÕ§
        m_pGradeValue ( NULL ),        //ª×èÍàÊÕ§
        m_pBrightSlider ( NULL ),    //¤ÇÒÁ´Õ
        m_pActivityPointText ( NULL ),    //¼Å§Ò¹
        m_pActivityPointValue ( NULL ),    //¼Å§Ò¹
        m_pAcademy_Department ( NULL ),    //ʶҺѹ    //ÊÒÂÍÒªªÕ¾
        m_pd3dDevice ( NULL ),
        m_pMobileText( NULL ),
        m_pSkinChar(NULL)
    {
        memset ( m_pPageButton, 0, sizeof ( m_pPageButton ) );
        memset ( m_pPageButton, 0, sizeof ( CBasicTextButton* ) * nMAXPAGENEW );
    
        memset ( m_pButtonPlus, 0, sizeof ( m_pButtonPlus ) );
        memset ( m_pButtonMinus, 0, sizeof ( m_pButtonMinus ) );
        D3DXMatrixIdentity( &m_matTrans );
    }
    
    CCharacterWindow::~CCharacterWindow ()
    {
    }
    
    
    CBasicTextBox* CCharacterWindow::CreateStaticControl ( char* szControlKeyword, CD3DFontPar* pFont, int nAlign, const UIGUID& cID )
    {
        CBasicTextBox* pStaticText = new CBasicTextBox;
        pStaticText->CreateSub ( this, szControlKeyword, UI_FLAG_DEFAULT, cID );
        pStaticText->SetFont ( pFont );
        pStaticText->SetTextAlign ( nAlign );    
        RegisterControl ( pStaticText );
    
        return pStaticText;
    }
    
    CBasicTextButton*  CCharacterWindow::CreateTextButton23 ( const char* szButton, UIGUID ControlID, const char* szText )
    {
        const int nBUTTONSIZE = CBasicTextButton::SIZE23;
        CBasicTextButton* pTextButton = new CBasicTextButton;
        pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON23", UI_FLAG_XSIZE, ControlID );
        pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::RADIO_FLIP, szText ,_DEFAULT_FONT_SHADOW_FLAG );
        RegisterControl ( pTextButton );
        return pTextButton;
    }
    
    CBasicTextButton*  CCharacterWindow::CreateTextButton24 ( const char* szButton, UIGUID ControlID, const char* szText )
    {
        const int nBUTTONSIZE = CBasicTextButton::SIZE24;
        CBasicTextButton* pTextButton = new CBasicTextButton;
        pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON24", UI_FLAG_XSIZE, ControlID );
        pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::CLICK_FLIP, szText , _DEFAULT_FONT_SHADOW_FLAG );
        RegisterControl ( pTextButton );
        return pTextButton;
    }
    
    CBasicTextButton*  CCharacterWindow::CreateTextButton25 ( const char* szButton, UIGUID ControlID, const char* szText )
    {
        const int nBUTTONSIZE = CBasicTextButton::SIZE25;
        CBasicTextButton* pTextButton = new CBasicTextButton;
        pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON25", UI_FLAG_XSIZE, ControlID );
        pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::CLICK_FLIP, szText , _DEFAULT_FONT_SHADOW_FLAG );
        RegisterControl ( pTextButton );
        return pTextButton;
    }
    
    void CCharacterWindow::CreateSubControl ()
    {
        CD3DFontPar* pFont6Shadow = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 7, _DEFAULT_FONT_SHADOW_FLAG );
        CD3DFontPar* pFont8Shadow = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 8, _DEFAULT_FONT_SHADOW_FLAG );
        CD3DFontPar* pFont = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 9, _DEFAULT_FONT_SHADOW_FLAG );
        CD3DFontPar* pFont10 = DxFontMan::GetInstance().LoadDxFont ( _DEFAULT_FONT, 10, _DEFAULT_FONT_SHADOW_FLAG );
    
        const EMCHARCLASS emCharClass = DxGlobalStage::GetInstance().GetGameStage()->GetCharJoinData().m_CharData2.m_emClass;
        const int nClassType = CharClassToIndex ( emCharClass );
    
        const int nAlignLeft = TEXT_ALIGN_LEFT;
        const int nAlignCenter = TEXT_ALIGN_CENTER_X;        
        const DWORD& dwSilver = NS_UITEXTCOLOR::SILVER;
        const DWORD& dwWhite = NS_UITEXTCOLOR::WHITE;
        const DWORD& dwSubTitle = NS_UITEXTCOLOR::PALEGOLDENROD;
    
        //¾×é¹ËÅѧÊÕ¢ÒÇ
        {
            m_bg_white = new CUIControl;
            m_bg_white->CreateSub ( this, "RNCHARACTER_WINDOW_REGION", UI_FLAG_DEFAULT);    
            m_bg_white->SetVisibleSingle ( TRUE );
            RegisterControl ( m_bg_white );
        }
    
        CString    strPageKeyword[nMAXPAGENEW] = 
        {
            "RNCHARACTER_WINDOW_CHAR_TAP",
            "RNCHARACTER_WINDOW_VEHICLE_TAP",
            "RNCHARACTER_WINDOW_PET_TAP",
        };        
    
        for ( int i = 0; i < nMAXPAGENEW; i++ )
        {        
            m_pPageButton[i] = CreateTextButton23 ( strPageKeyword[i].GetString (), RNCHARACTER_WINDOW_CHAR_TAP + i, (char*)ID2GAMEWORD ( "RNCHARACTER_WINDOW_CHAR_TAP", i ) );
        }
            
    
            
        {    
            // ¾×é¹ËÅѧ µÑÇÅФÃ
            m_pBackLine1 = new CBasicLineBox;
            m_pBackLine1->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pBackLine1->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_EQUIP_REGION" );
            RegisterControl ( m_pBackLine1 );
    
            //¾×é¹ËÅѧ ¢éÍÁÙÅÊèǹÅèÒ§
            m_pBackLine2 = new CBasicLineBox;
            m_pBackLine2->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pBackLine2->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_SCHOOL_REGION" );
            RegisterControl ( m_pBackLine2 );
        }
    
        {
            m_pStatusLine1 = new CBasicLineBox;
            m_pStatusLine1->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine1->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT1_REGION" );
            RegisterControl ( m_pStatusLine1 );    
        
            m_pStatusLine2 = new CBasicLineBox;
            m_pStatusLine2->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine2->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT2_REGION" );
            RegisterControl ( m_pStatusLine2 );    
        
            m_pStatusLine3 = new CBasicLineBox;
            m_pStatusLine3->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine3->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT3_REGION" );
            RegisterControl ( m_pStatusLine3 );
        }
    
        {
            m_pStatusLine4 = new CBasicLineBox;
            m_pStatusLine4->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine4->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT4_REGION" );
            RegisterControl ( m_pStatusLine4 );
    
            m_pStatusLine5 = new CBasicLineBox;
            m_pStatusLine5->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine5->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT5_REGION" );
            RegisterControl ( m_pStatusLine5 );
    
            m_pStatusLine6 = new CBasicLineBox;
            m_pStatusLine6->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine6->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT6_REGION" );
            RegisterControl ( m_pStatusLine6 );
        }
    
        {
            m_pStatusLine7 = new CBasicLineBox;
            m_pStatusLine7->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine7->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT7_REGION" );
            RegisterControl ( m_pStatusLine7 );
    
            m_pStatusLine8 = new CBasicLineBox;
            m_pStatusLine8->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine8->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT8_REGION" );
            RegisterControl ( m_pStatusLine8 );
    
            m_pStatusLine9 = new CBasicLineBox;
            m_pStatusLine9->CreateSub ( this, "BASIC_LINE_BOX_SKILL", UI_FLAG_XSIZE | UI_FLAG_YSIZE );
            m_pStatusLine9->CreateBaseBoxSkill ( "RNCHARACTER_WINDOW_STAT_POINT9_REGION" );
            RegisterControl ( m_pStatusLine9 );
        }
    
            m_pVehicleWindow = new CVehicleWindow;
            m_pVehicleWindow->CreateSub ( this, "CHARACTER_PAGE_VEHICLE", UI_FLAG_DEFAULT, CHARACTER_VEHICLEWINDOW );
            m_pVehicleWindow->CreateSubControl ();
            RegisterControl ( m_pVehicleWindow );
            
            m_pPetWindow = new CPetWindow;
            m_pPetWindow->CreateSub ( this, "CHARACTER_PAGE_PET", UI_FLAG_DEFAULT, CHARACTER_PETWINDOW );
            m_pPetWindow->CreateSubControl ();
            RegisterControl ( m_pPetWindow );
    
        {
            
            {
                m_pPageWear = new CInventoryPageWear;
                m_pPageWear->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR );
                m_pPageWear->CreateSubControl ( nClassType );
                RegisterControl ( m_pPageWear );
                
            }
            
            {
                m_pPageWearEx = new CInventoryPageWearEx;
                m_pPageWearEx->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX );
                m_pPageWearEx->CreateSubControl ( nClassType );
                RegisterControl ( m_pPageWearEx );
        
                SetVisiblePage ( 0 );
            }
        }    
    
            
            
            
        
            
                
        
                
        
        m_pAcademy_Department = CreateStaticControl ( "RNCHARACTER_WINDOW_ACADEMY_DEPARTMENT_TEXT", pFont, nAlignLeft );
        
        CBasicTextBox* pTextBox = CreateStaticControl ( "RNCHARACTER_WINDOW_BRIGHT_TEXT", pFont8Shadow, nAlignLeft );
        pTextBox->AddText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC", 5), dwWhite );
    
        m_pGradeText = CreateStaticControl ( "RNCHARACTER_WINDOW_CONTRIBUTION_POINT_TEXT", pFont8Shadow, nAlignLeft );
        m_pGradeValue = CreateStaticControl ( "RNCHARACTER_WINDOW_CONTRIBUTION_POINT_VALUE", pFont8Shadow, nAlignLeft );
        
        m_pActivityPointText = CreateStaticControl ( "RNCHARACTER_WINDOW_ACTIVITY_POINT_TEXT", pFont8Shadow, nAlignLeft );
        m_pActivityPointValue = CreateStaticControl ( "RNCHARACTER_WINDOW_ACTIVITY_POINT_VALUE", pFont8Shadow, nAlignLeft );
        
        m_pBrightFrame = CreateControl ( "RNCHARACTER_WINDOW_BRIGHTBAR",CHARACTER_BIRGHTER );        
        m_pBrightSlider = CreateControl ( "RNCHARACTER_WINDOW_BRIGHTBAR_THUMB" );
    
        m_pPointTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POINT_TEXT", pFont, nAlignLeft );
        m_pPointText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POINT_VALUE", pFont, nAlignLeft );
    
        m_pPointTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_POINT"), dwWhite );
    
        m_pPowTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_TEXT", pFont6Shadow, nAlignLeft );
        m_pDexTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_TEXT", pFont6Shadow, nAlignLeft );
        m_pSpiTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_TEXT", pFont6Shadow, nAlignLeft );
        m_pStrTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_TEXT", pFont6Shadow, nAlignLeft );
        m_pStaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_TEXT", pFont6Shadow, nAlignLeft );
    
        m_pPowTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 0), dwWhite );
        m_pDexTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 1), dwWhite );
        m_pSpiTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 2), dwWhite );
        m_pStrTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 4), dwWhite );
        m_pStaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STAT_STATIC", 5), dwWhite );
    
        m_pPowText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_VALUE", pFont6Shadow, nAlignCenter );
        m_pDexText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_VALUE", pFont6Shadow, nAlignCenter );
        m_pSpiText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_VALUE", pFont6Shadow, nAlignCenter );
        m_pStrText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_VALUE", pFont6Shadow, nAlignCenter );
        m_pStaText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_VALUE", pFont6Shadow, nAlignCenter );
    
        m_pPowTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_POW_UP_VALUE", pFont6Shadow, nAlignCenter );
        m_pDexTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_DEX_UP_VALUE", pFont6Shadow, nAlignCenter );
        m_pSpiTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_SPI_UP_VALUE", pFont6Shadow, nAlignCenter );
        m_pStrTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STR_UP_VALUE", pFont6Shadow, nAlignCenter );
        m_pStaTextUp = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_1_STA_UP_VALUE", pFont6Shadow, nAlignCenter );
    
        CString    strButtonPlus[5] = 
        {
            "RNCHARACTER_WINDOW_STAT_POW_PLUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_DEX_PLUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_SPI_PLUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_STR_PLUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_STA_PLUS_BUTTON"
        };
    
        CString    strButtonMinus[5] = 
        {
            "RNCHARACTER_WINDOW_STAT_POW_MINUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_DEX_MINUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_SPI_MINUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_STR_MINUS_BUTTON",
            "RNCHARACTER_WINDOW_STAT_STA_MINUS_BUTTON"
        };
    
        for ( int i = 0; i < 5; i++ )
        {    
            m_pButtonPlus[i] = CreateTextButton24 ( strButtonPlus[i].GetString (), CHARACTER_WINDOW_STAT_POW_PLUS_BUTTON + i, "+" );
            m_pButtonMinus[i] = CreateTextButton24 ( strButtonMinus[i].GetString (), CHARACTER_WINDOW_STAT_POW_MINUS_BUTTON + i, "-" );
        }
    
        m_pButtonOk = CreateTextButton25 ( "RNCHARACTER_WINDOW_STAT_APPLY_BUTTON", CHARACTER_WINDOW_STAT_OK , ID2GAMEWORD("CHARACTER_STAT_APPLY") );
        m_pButtonCancel = CreateTextButton25 ( "RNCHARACTER_WINDOW_STAT_INIT_BUTTON", CHARACTER_WINDOW_STAT_CANCEL , ID2GAMEWORD("CHARACTER_STAT_INIT") );
    
        m_pDamageHighTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_TEXT", pFont6Shadow, nAlignLeft );
        m_pDamageLowTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_TEXT", pFont6Shadow, nAlignLeft );
        m_pDefenseTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_TEXT", pFont6Shadow, nAlignLeft );
        m_pReqPaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_TEXT", pFont6Shadow, nAlignLeft );
        m_pReqSaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_TEXT", pFont6Shadow, nAlignLeft );
        m_pReqMaTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_TEXT", pFont6Shadow, nAlignLeft );
        m_pHitRateTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_TEXT", pFont6Shadow, nAlignLeft );
        m_pAvoidRateTextv = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_TEXT", pFont6Shadow, nAlignLeft );
        m_pHPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_TEXT", pFont6Shadow, nAlignLeft );
        m_pMPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_TEXT", pFont6Shadow, nAlignLeft );
        m_pSPTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_TEXT", pFont6Shadow, nAlignLeft );
        
        m_pDamageHighTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 14), dwWhite );
        m_pDamageLowTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 15), dwWhite );
        m_pDefenseTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 3), dwWhite );
        m_pReqPaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 4), dwWhite );
        m_pReqSaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 5), dwWhite );
        m_pReqMaTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 11), dwWhite );
        m_pHitRateTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 9), dwWhite );
        m_pAvoidRateTextv->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 10), dwWhite );
        m_pHPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 16), dwWhite );
        m_pMPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 17), dwWhite );
        m_pSPTextStatic->AddText ( ID2GAMEWORD("CHARACTER_STATUS_STATIC", 18), dwWhite );
    
        m_pDamageHighText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pDamageLowText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pDefenseText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pReqPaText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pReqSaText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pReqMaText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pHitRateText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pAvoidRateText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pHPText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pMPText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
        m_pSPText  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_VALUE", pFont6Shadow, TEXT_ALIGN_RIGHT );
    
        /*m_pDamageHighTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MAX_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pDamageLowTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_ATTACK_MIN_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pDefenseTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_DEFENSE_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pReqPaTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_FIGHT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pReqSaTextUp    = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SHOOT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pReqMaTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_STAMINA_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pHitRateTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HIT_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pAvoidRateTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_AVOID_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pHPTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_HP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pMPTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_MP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );
        m_pSPTextUp  = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_2_SP_UP_VALUE", pFont8Shadow, TEXT_ALIGN_RIGHT );*/
    
        m_pFireTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_FIRE_RESIST_TEXT", pFont6Shadow, nAlignLeft );
        m_pColdTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_COLD_RESIST_TEXT", pFont6Shadow, nAlignLeft );
        m_pElectricTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_ELECTRIC_RESIST_TEXT", pFont6Shadow, nAlignLeft );
        m_pPoisonTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_POISON_RESIST_TEXT", pFont6Shadow, nAlignLeft );
        m_pSpiritTextStatic = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_SPIRIT_RESIST_TEXT", pFont6Shadow, nAlignLeft );
    
        m_pFireTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 1), dwWhite );
        m_pColdTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 2), dwWhite );
        m_pElectricTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 3), dwWhite );
        m_pPoisonTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 4), dwWhite );
        m_pSpiritTextStatic->AddText ( ID2GAMEWORD("CHARACTER_RESI_STATIC", 5), dwWhite );
    
        m_pFireText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_FIRE_RESIST_VALUE", pFont6Shadow, nAlignLeft );
        m_pColdText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_COLD_RESIST_VALUE", pFont6Shadow, nAlignLeft );
        m_pElectricText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_ELECTRIC_RESIST_VALUE", pFont6Shadow, nAlignLeft );
        m_pPoisonText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_POISON_RESIST_VALUE", pFont6Shadow, nAlignLeft );
        m_pSpiritText = CreateStaticControl ( "RNCHARACTER_WINDOW_STAT_3_SPIRIT_RESIST_VALUE", pFont6Shadow, nAlignLeft );
    
        m_pLevelText = CreateStaticControl ( "CHARACTER_LEVEL_AND_NAME_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
        m_pClubText = CreateStaticControl ( "CHARACTER_CLUB_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
    
    }
    CBasicTextButton*  CCharacterWindow::CreateTextButton ( const char* szButton, UIGUID ControlID, const char* szText )
    {
        const int nBUTTONSIZE = CBasicTextButton::SIZE23;
        CBasicTextButton* pTextButton = new CBasicTextButton;
        pTextButton->CreateSub ( this, "BASIC_TEXT_BUTTON23", UI_FLAG_XSIZE, ControlID );
        pTextButton->CreateBaseButton ( szButton, nBUTTONSIZE, CBasicButton::RADIO_FLIP, szText );
        RegisterControl ( pTextButton );
        return pTextButton;
    }
    
    void CCharacterWindow::SetGlobalPos(const D3DXVECTOR2& vPos)
    {
        CUIGroup::SetGlobalPos( vPos );
        const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();    
        
        SetBright( sCharData );
    }
    
    HRESULT CCharacterWindow::InitDeviceObjects ( LPDIRECT3DDEVICEQ pd3dDevice )
    {
        GASSERT( pd3dDevice );
        m_pd3dDevice = pd3dDevice;
    
        HRESULT hr = S_OK;
        {
            hr = CUIWindowEx::InitDeviceObjects( pd3dDevice );
            //hr = m_pd3dDevice->GetDeviceCaps ( &m_d3dCaps );
            if ( FAILED ( hr ) ) return hr;
        }
        m_CharacterNew = GLGaeaClient::GetInstance().GetCharacter();
    
        D3DXVECTOR3 m_vPos = D3DXVECTOR3(12.0f,-135.0f,400.0f);
        D3DXVECTOR3    m_vDir = m_CharacterNew->GetDirectionVector();
        D3DXVECTOR3 m_vDirOrig = m_CharacterNew->GetOrig();
    
        //D3DXMATRIX matTrans, matYRot;
        //D3DXMatrixTranslation ( &matTrans, m_vPos.x, m_vPos.y, m_vPos.z );
        //float fThetaY = DXGetThetaYFromDirection ( m_vDir, m_vDirOrig );
        //D3DXMatrixRotationY ( &matYRot, fThetaY );
    
        EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
        DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], m_pd3dDevice, TRUE );
        if ( !pSkinChar )    return E_FAIL;
    
        SAFE_DELETE( m_pSkinChar );
        m_pSkinChar = new DxSkinChar;
        m_pSkinChar->SetCharData ( pSkinChar, m_pd3dDevice, TRUE );
        UpdateSuit ();
    
        return S_OK;
    }
    BOOL CCharacterWindow::IsCurUseArm( EMSLOT emSlot )
    {
        if( IsUseArmSub() )
        {
            if( emSlot == SLOT_RHAND || emSlot == SLOT_LHAND ) return FALSE;
        }
        else
        {
    
    
    
    
            if( emSlot == SLOT_RHAND_S || emSlot == SLOT_LHAND_S ) return FALSE;
        }
    
    
        return TRUE;
    }
    
    HRESULT CCharacterWindow::UpdateSuit ()
    {
        GASSERT( m_pd3dDevice );
    
        EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
        DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().FindData ( GLCONST_CHAR::szCharSkin[emIndex] );
        if ( !pSkinChar )    return E_FAIL;
    
        
    
    
        const GLCONST_CHARCLASS &sCONST = GLCONST_CHAR::cCONSTCLASS[emIndex];
    
    
    
        if ( sCONST.dwHEADNUM > m_CharacterNew->m_wFace )
        {
            std::string strHEAD_CPS = sCONST.strHEAD_CPS[m_CharacterNew->m_wFace];
        
    
    
            PDXCHARPART pCharPart = NULL;
            pCharPart = m_pSkinChar->GetPiece(PIECE_HEAD);        //    ÇöÁ¦ ÀåÂø ½ºÅ².
    
            if ( pCharPart && strcmp(strHEAD_CPS.c_str(),pCharPart->GetFileName()) )
            {
                m_pSkinChar->SetPiece ( strHEAD_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
            }
        }
    
        if ( sCONST.dwHAIRNUM > m_CharacterNew->m_wHair )
        {
            std::string strHAIR_CPS = sCONST.strHAIR_CPS[m_CharacterNew->m_wHair];
        
    
    
            PDXCHARPART pCharPart = NULL;
            pCharPart = m_pSkinChar->GetPiece(PIECE_HAIR);        //    ÇöÁ¦ ÀåÂø ½ºÅ².
    
    
    
            if ( pCharPart && strcmp(strHAIR_CPS.c_str(),pCharPart->GetFileName()) )
            {
                m_pSkinChar->SetPiece ( strHAIR_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
            }
        }
    
    
        m_pSkinChar->SetHairColor( m_CharacterNew->m_wHairColor );
    
    
    
    
    
    
        for ( int i=0; i<SLOT_NSIZE_S_2; i++ )
        {
            // ÇöÀç ÀåÂøÁßÀÎ ¹«±â°¡ ¾Æ´Ï¸é ³Ñ¾î°£´Ù.
            if( !IsCurUseArm( EMSLOT(i) ) ) continue;
    
    
    
    
    
    
            SITEMCUSTOM &ItemClient = m_CharacterNew->m_PutOnItems[i];
    
    
    
    
    
    
            SNATIVEID nidITEM = ItemClient.nidDISGUISE;
            if ( nidITEM==SNATIVEID(false) )    nidITEM = ItemClient.sNativeID;
    
    
    
    
    
    
            /*if ( !m_bVehicle && i == SLOT_VEHICLE  ) nidITEM = SNATIVEID(false);
            else if ( i == SLOT_VEHICLE )
            {
                nidITEM = m_sVehicle.GetSkinID();
                if ( nidITEM == SNATIVEID(false) )
                {
                    m_sVehicle.m_sVehicleID = ItemClient.sNativeID;
                    nidITEM = ItemClient.sNativeID;
                }
            }*/
    
    
            if ( nidITEM == SNATIVEID(false) )
            {
                //    Note : ±âº» ½ºÅ²°ú Áö±Ý ÀåÂøµÈ ½ºÅ²ÀÌ Æ²¸± °æ¿ì.
                //    SLOT->PIECE.
                PDXSKINPIECE pSkinPiece = NULL;    //    ±âº» ½ºÅ².
                PDXCHARPART pCharPart = NULL;    //    ÇöÁ¦ ÀåÂø ½ºÅ².
    
                EMPIECECHAR emPiece = SLOT_2_PIECE(EMSLOT(i));
                if ( emPiece!=PIECE_SIZE )
                {
                    pSkinPiece = pSkinChar->GetPiece(emPiece);    //    ±âº» ½ºÅ².
                    pCharPart = m_pSkinChar->GetPiece(emPiece);    //    ÇöÁ¦ ÀåÂø ½ºÅ².
                }
    
                if ( pSkinPiece )
                {
                    if ( pCharPart && strcmp(pSkinPiece->m_szFileName,pCharPart->GetFileName()) )
                        m_pSkinChar->SetPiece ( pSkinPiece->m_szFileName, m_pd3dDevice, 0x0, 0, TRUE );
                }
                else
                {
                    if ( pCharPart )    m_pSkinChar->ResetPiece(emPiece);
                }
            }
            else
            {
                SITEM* pItem = GLItemMan::GetInstance().GetItem ( nidITEM );
                if ( pItem )
                {
                    m_pSkinChar->SetPiece ( pItem->GetWearingFile(emIndex), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
                }
            }
        }
    
        /*if( m_dwTransfromSkill != SNATIVEID::ID_NULL )
        {
    
    
    
    
    
    
            PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( m_sSKILLFACT[m_dwTransfromSkill].sNATIVEID.wMainID, m_sSKILLFACT[m_dwTransfromSkill].sNATIVEID.wSubID );
            if( pSkill ) 
            {
                for( BYTE i = 0; i < SKILL::EMTRANSFORM_NSIZE; i++ )
                {
                    if( m_CharData.wSex == 1 )
                    {                
                        m_pSkinChar->SetPiece ( pSkill->m_sSPECIAL_SKILL.strTransform_Man[i].c_str(), m_pd3dDevice, 0X0, 0, TRUE );
                    }else{
                        m_pSkinChar->SetPiece ( pSkill->m_sSPECIAL_SKILL.strTransform_Woman[i].c_str(), m_pd3dDevice, 0X0, 0, TRUE );
                    }
                }
            }
        }
    
    
    
        //    Note : ½ºÅ³ ¹öÇÁ, »óÅÂÀÌ»ó È¿°ú »ý¼º.
        FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir );
    
        if( GLCONST_CHAR::cCONSTCLASS[emIndex].strCLASS_EFFECT.size() != 0 )
        {
    
    
    
    
    
    
            DxEffcharDataMan::GetInstance().PutPassiveEffect ( m_pSkinChar, GLCONST_CHAR::cCONSTCLASS[emIndex].strCLASS_EFFECT.c_str(), &m_vDir );
        }*/
    
    
    
    
    
        return S_OK;
    }
    
    
    
    HRESULT CCharacterWindow::FrameMove ( float fTime, float fElapsedTime )
    {
        GASSERT( m_pd3dDevice );
    
        D3DXVECTOR3 vFromPt        = DxViewPort::GetInstance().GetFromPt();
        D3DXVECTOR3 vLookatPt    = DxViewPort::GetInstance().GetLookatPt();
        D3DXVECTOR3 vUpVec        = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
    
        m_pSkinChar->FrameMove( fTime,fElapsedTime );
    
        D3DXMATRIX matTrans , matYRot;
        D3DXMatrixTranslation ( &matTrans, vLookatPt.x, vLookatPt.y, vLookatPt.z );
        float fThetaY = DXGetThetaYFromDirection ( vUpVec, vFromPt );
        D3DXMatrixRotationY ( &matYRot, fThetaY );
    
        // Get D3DX to fill in the matrix values
        D3DXMATRIX matView;
        D3DXMatrixLookAtLH( &matView, &vFromPt, &vLookatPt, &vUpVec );
    
        // Set our view matrix
        //m_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
    
        m_matTrans = matTrans ;
    
        return S_OK;
    }
    
    
    HRESULT    CCharacterWindow::Render ( LPDIRECT3DDEVICEQ pd3dDevice, CLIPVOLUME &cv, BOOL bRendAABB )
    {
        GASSERT( pd3dDevice );
        CLIPVOLUME &CV = DxViewPort::GetInstance().GetClipVolume ();
    
    //    if ( m_bNeedData && !(m_dwRevData&RECEIVE_CHARDATA) )    return S_FALSE;
        if ( !m_pSkinChar )                                        return S_FALSE;
    
        if ( bRendAABB ) EDITMESHS::RENDERAABB ( pd3dDevice, m_vMax, m_vMin );    //    Å×½ºÆ®¿ë.
        if( !IsVisible() ) return S_OK;
    
    
        HRESULT hr = S_OK;
    hr = CUIWindowEx::Render ( pd3dDevice );
            if ( FAILED ( hr ) ) return hr;
    
        return S_OK;
    }
    
    void CCharacterWindow::SetArmSwapTabButton( BOOL bArmSub )
    {
        if( m_pPageWearEx )
        {
            m_pPageWearEx->SetTabButton( bArmSub );
        }
    }
    void CCharacterWindow::SetVisiblePage ( int nPage )
    {
        const EMCHARCLASS emCharClass = DxGlobalStage::GetInstance().GetGameStage()->GetCharJoinData().m_CharData2.m_emClass;
        const int nClassType = CharClassToIndex ( emCharClass );
    
        for ( int i = 0; i < nMAXPAGENEW; i++ )
        {
            m_pPageButton[i]->SetFlip ( FALSE );        
        }
        
        m_pPageWear->SetVisibleSingle ( FALSE );
        m_pPageWearEx->SetVisibleSingle ( FALSE );
        m_pVehicleWindow->SetVisibleSingle ( FALSE );
        m_pPetWindow->SetVisibleSingle ( FALSE );
        
        if ( nPage == 2 )
        {
            m_pPageButton[2]->SetFlip ( TRUE );
            m_pPetWindow->SetVisibleSingle ( TRUE );
        }
         else if ( nPage == 1 )
        {
            m_pPageButton[1]->SetFlip ( TRUE );
            m_pVehicleWindow->SetVisibleSingle ( TRUE );
        }
        else if ( nPage == 0 )
        {
            m_pPageButton[0]->SetFlip ( TRUE );
            m_pPageWear->SetVisibleSingle ( TRUE );
            m_pPageWearEx->SetVisibleSingle ( TRUE );
        }
    
    }

    CharacterWindow.h
    Code:
    #pragma    once
    
    #include "../Interface/UIWindowEx.h"
    #include "DxCharSham.h"
    #include "DxLandMan.h"
    #include "GLCharacter.h"
    #include "../../EngineLib/Meshs/DxSkinChar.h"
    
    class    CD3DFontPar;
    class    CBasicProgressBar;
    class    CBasicTextBox;
    class    CBasicTextButton;
    class    CBasicButton;
    class    CBasicLineBox;
    struct    GLCHARLOGIC;
    class    CInventoryPageWear;
    class    CInventoryPageWearEx;
    class    GLCharacter;
    class    DxCharSham;
    class    CBasicComboBox;
    class    CBasicComboBoxRollOver;
    class    DxLandMan;
    class    DxSkinCharData;
    class    CPetWindow;
    class    CVehicleWindow;
    
    class CCharacterWindow : public CUIWindowEx 
    {
    
    protected:
        enum
        {
            nMAXPAGENEW = 3
        };
        enum
        { 
            RNCHARACTER_WINDOW_CHAR_TAP = ET_CONTROL_NEXT,
            RNCHARACTER_WINDOW_VEHICLE_TAP,
            RNCHARACTER_WINDOW_PET_TAP,
            CHARACTER_BIRGHTER,
            CHARACTER_WINDOW_STAT_POW_PLUS_BUTTON,
            CHARACTER_WINDOW_STAT_DEX_PLUS_BUTTON,
            CHARACTER_WINDOW_STAT_SPI_PLUS_BUTTON,
            CHARACTER_WINDOW_STAT_STR_PLUS_BUTTON,
            CHARACTER_WINDOW_STAT_STA_PLUS_BUTTON,
            CHARACTER_WINDOW_STAT_POW_MINUS_BUTTON,
            CHARACTER_WINDOW_STAT_DEX_MINUS_BUTTON,
            CHARACTER_WINDOW_STAT_SPI_MINUS_BUTTON,
            CHARACTER_WINDOW_STAT_STR_MINUS_BUTTON,
            CHARACTER_WINDOW_STAT_STA_MINUS_BUTTON,
            CHARACTER_WINDOW_STAT_OK,
            CHARACTER_WINDOW_STAT_CANCEL,
            CHARACTER_WINDOW_INVENTORY_PAGEWEAR,
            CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX,
            CHARACTER_VEHICLEWINDOW,
            CHARACTER_PETWINDOW,
        };
    
    public:
        CCharacterWindow ();
        virtual    ~CCharacterWindow ();
    
    
    public:
    virtual HRESULT InitDeviceObjects ( LPDIRECT3DDEVICEQ pd3dDevice );
        virtual    HRESULT    Render  ( LPDIRECT3DDEVICEQ pd3dDevice, CLIPVOLUME &cv, BOOL bRendAABB );
        virtual void Update ( int x, int y, BYTE LB, BYTE MB, BYTE RB, int nScroll, float fElapsedTime, BOOL bFirstControl );
        virtual    void TranslateUIMessage ( UIGUID ControlID, DWORD dwMsg );
        virtual    void SetVisibleSingle ( BOOL bVisible );
        virtual void SetGlobalPos(const D3DXVECTOR2& vPos);
        virtual HRESULT FrameMove ( float fTime, float fElapsedTime );
        virtual HRESULT UpdateSuit ();
    
    public:
        void    CreateSubControl ();
    
        void    LoadComboData ();
        void    LoadItem ();
    
    
        GLCharacter*        m_CharacterNew;
        DxCharSham            m_NewCharSham;
        D3DCAPSQ            m_d3dCaps;
        D3DSURFACE_DESC        m_d3dsdBackBuffer;
        DxLandMan            m_LandLogin;
    
        DxSkinChar*            m_pSkinChar;
        D3DXMATRIX            m_matTrans;
        D3DXVECTOR3            m_vMaxOrg;
        D3DXVECTOR3            m_vMinOrg;
        D3DXVECTOR3            m_vDir;
        D3DXVECTOR3            m_vDirOrig;
        D3DXVECTOR3            m_vPos;
        D3DXVECTOR3            m_vMax;
        D3DXVECTOR3            m_vMin;
    
        BOOL    IsCurUseArm( EMSLOT emSlot );
        BOOL IsUseArmSub() const            { return m_CharacterNew->m_bUseArmSub; }
    private:
        CBasicTextBox*        CreateStaticControl ( char* szConatrolKeyword, CD3DFontPar* pFont, int nAlign, const UIGUID& cID = NO_ID );
        CBasicTextButton*    CreateTextButton23 ( const char* szButton, UIGUID ControlID, const char* szText );
        CBasicTextButton*    CreateTextButton24 ( const char* szButton, UIGUID ControlID, const char* szText );
        CBasicTextButton*    CreateTextButton25 ( const char* szButton, UIGUID ControlID, const char* szText );
    
    //private:
    //    void    SetPointControl ( BOOL bPointUsable );
    //
    private:    //    À̸§,Ŭ·¡½º
        void    SetName ( const GLCHARLOGIC& sCharData );
        void    SetLevel ( const GLCHARLOGIC& sCharData );
    //
    private:    //    Stat
        void    SetPow ( const GLCHARLOGIC& sCharData );
        void    SetDex ( const GLCHARLOGIC& sCharData );
        void    SetSpi ( const GLCHARLOGIC& sCharData );
        void    SetStr ( const GLCHARLOGIC& sCharData );
        void    SetSta ( const GLCHARLOGIC& sCharData );
    
        void    SetPowUp ( int num,const GLCHARLOGIC& sCharData );
        void    SetDexUp ( int num,const GLCHARLOGIC& sCharData );
        void    SetSpiUp ( int num,const GLCHARLOGIC& sCharData );
        void    SetStrUp ( int num,const GLCHARLOGIC& sCharData );
        void    SetStaUp ( int num,const GLCHARLOGIC& sCharData );
        void    SetPoint ( const GLCHARLOGIC& sCharData );
    //
    private:    //    Status
        void    SetDamage ( const GLCHARLOGIC& sCharData );
        void    SetDefense ( const GLCHARLOGIC& sCharData );
        void    SetReqPa ( const GLCHARLOGIC& sCharData );
        void    SetReqSa ( const GLCHARLOGIC& sCharData );
        void    SetReqMa ( const GLCHARLOGIC& sCharData );
        void    SetHitRate ( const GLCHARLOGIC& sCharData );
        void    SetAvoidRate ( const GLCHARLOGIC& sCharData );
        void    SetHP ( const GLCHARLOGIC& sCharData );
        void    SetMP ( const GLCHARLOGIC& sCharData );
        void    SetSP ( const GLCHARLOGIC& sCharData );
    
        void    SetFireResi ( const GLCHARLOGIC& sCharData );
        void    SetColdResi ( const GLCHARLOGIC& sCharData );
        void    SetElectricResi ( const GLCHARLOGIC& sCharData );
        void    SetPoisonResi ( const GLCHARLOGIC& sCharData );
        void    SetSpiritResi ( const GLCHARLOGIC& sCharData );
    
        void    SetBright ( const GLCHARLOGIC& sCharData );
    //    void    SetPKState ( const GLCHARLOGIC& sCharData );
        void    SetGrade ( const GLCHARLOGIC& sCharData );
        void    SetActivityPoint ( const GLCHARLOGIC& sCharData );    //    »ýȰÁ¡¼ö
        void    SetAcademy_Department ( const GLCHARLOGIC& sCharData );        //    Çб³
        void    SetNumber2 ( int nIndex, int nNumber );
        void    SetNumber3 ( int nIndex, int nNumber );
        void    ResetNumber ( int nIndex );
    
    private:
        LPDIRECT3DDEVICEQ    m_pd3dDevice;
        GLCharacter*        m_pCharacter;
        CBasicTextBox*        m_pNameText;
    
    
    private:    //    Stats
        CBasicButton*    m_pButtonPlus[5];
        CBasicButton*    m_pButtonMinus[5];
    
        CBasicButton*    m_pButtonOk;
        CBasicButton*    m_pButtonCancel;
    
        CBasicTextBox*    m_pPowText;
        CBasicTextBox*    m_pDexText;
        CBasicTextBox*    m_pSpiText;
        CBasicTextBox*    m_pIntText;
        CBasicTextBox*    m_pStrText;
        CBasicTextBox*    m_pStaText;
    
        CBasicTextBox*    m_pPowTextUp;
        CBasicTextBox*    m_pDexTextUp;
        CBasicTextBox*    m_pSpiTextUp;
        CBasicTextBox*    m_pIntTextUp;
        CBasicTextBox*    m_pStrTextUp;
        CBasicTextBox*    m_pStaTextUp;
    
        CBasicTextBox*    m_pPowTextStatic;
        CBasicTextBox*    m_pDexTextStatic;
        CBasicTextBox*    m_pSpiTextStatic;
        CBasicTextBox*    m_pIntTextStatic;
        CBasicTextBox*    m_pStrTextStatic;
        CBasicTextBox*    m_pStaTextStatic;
    
        CBasicTextBox*    m_pPointTextStatic;
        CBasicTextBox*    m_pPointText;
    
        int        m_pNewPow;
        int        m_pNewDex;
        int        m_pNewSpi;
        int        m_pNewStr;
        int        m_pNewSta;
        int        m_pNewPoint;
        int        nIndex;
    
    
        CInventoryPageWear*    m_pPageWear;
        CInventoryPageWearEx* m_pPageWearEx;
    
    private:    //    Status
        CBasicTextBox*    m_pLevelText;
        CBasicTextBox*    m_pClubText;
        CBasicTextBox*    m_pDamageHighTextStatic;
        CBasicTextBox*    m_pDamageLowTextStatic;
        CBasicTextBox*    m_pDefenseTextStatic;
        CBasicTextBox*    m_pReqPaTextStatic;
        CBasicTextBox*    m_pReqSaTextStatic;    
        CBasicTextBox*    m_pReqMaTextStatic;    
        CBasicTextBox*    m_pHitRateTextStatic;
        CBasicTextBox*    m_pAvoidRateTextv;
        CBasicTextBox*    m_pHPTextStatic;
        CBasicTextBox*    m_pMPTextStatic;
        CBasicTextBox*    m_pSPTextStatic;
    
        CBasicTextBox*    m_pDamageHighText;
        CBasicTextBox*    m_pDamageLowText;
        CBasicTextBox*    m_pDefenseText;
        CBasicTextBox*    m_pReqPaText;
        CBasicTextBox*    m_pReqSaText;    
        CBasicTextBox*    m_pReqMaText;    
        CBasicTextBox*    m_pHitRateText;
        CBasicTextBox*    m_pAvoidRateText;
        CBasicTextBox*    m_pHPText;
        CBasicTextBox*    m_pMPText;
        CBasicTextBox*    m_pSPText;
    
        CBasicTextBox*    m_pDamageHighTextUp;
        CBasicTextBox*    m_pDamageLowTextUp;
        CBasicTextBox*    m_pDefenseTextUp;
        CBasicTextBox*    m_pReqPaTextUp;
        CBasicTextBox*    m_pReqSaTextUp;    
        CBasicTextBox*    m_pReqMaTextUp;    
        CBasicTextBox*    m_pHitRateTextUp;
        CBasicTextBox*    m_pAvoidRateTextUp;
        CBasicTextBox*    m_pHPTextUp;
        CBasicTextBox*    m_pMPTextUp;
        CBasicTextBox*    m_pSPTextUp;
    
    private:    //    µéÒ¹·Ò¹
        CBasicTextBox*    m_pFireTextStatic;
        CBasicTextBox*    m_pColdTextStatic;
        CBasicTextBox*    m_pElectricTextStatic;
        CBasicTextBox*    m_pPoisonTextStatic;
        CBasicTextBox*    m_pSpiritTextStatic;
    
        CBasicTextBox*    m_pFireText;
        CBasicTextBox*    m_pColdText;
        CBasicTextBox*    m_pElectricText;
        CBasicTextBox*    m_pPoisonText;
        CBasicTextBox*    m_pSpiritText;
    
    private:    //    ÊèǹµÑÇ
        CBasicTextBox*    m_pAcademy_Department;
        CBasicTextBox*    m_pActivityPointText;
        CBasicTextBox*    m_pActivityPointValue;
        CBasicTextBox*    m_pPKStateText;
        CBasicTextBox*    m_pDepartment;
        CUIControl*        m_pBrightFrame;
        CUIControl*        m_pBrightSlider;
        CBasicTextBox*    m_pGradeText;
        CBasicTextBox*    m_pGradeValue;
        CBasicTextBox*  m_pMobileText;
    
    private: //Interface
        CUIControl*        m_bg_white;
        CBasicTextButton*    m_pPageButton[nMAXPAGENEW];
    
        CBasicLineBox*  m_pBackLine1;
        CBasicLineBox*  m_pBackLine2;
    
        CBasicLineBox*  m_pStatusLine1;
        CBasicLineBox*  m_pStatusLine2;
        CBasicLineBox*  m_pStatusLine3;
        CBasicLineBox*  m_pStatusLine4;
        CBasicLineBox*  m_pStatusLine5;
        CBasicLineBox*  m_pStatusLine6;
        CBasicLineBox*  m_pStatusLine7;
        CBasicLineBox*  m_pStatusLine8;
        CBasicLineBox*  m_pStatusLine9;
    
    private:
    CVehicleWindow*        m_pVehicleWindow;
    CPetWindow*            m_pPetWindow;
    CBasicTextButton*    CreateTextButton ( const char* szButton, UIGUID ControlID, const char* szText );
    
    public:
    
    void    SetArmSwapTabButton( BOOL bVisible );
    void    SetVisiblePage ( int nPage );
    CPetWindow*                GetPetWindow()                    { return m_pPetWindow; }
    
    };
    CharacterWindowEx.cpp
    Code:
    #include "StdAfx.h"
    #include "CharacterWindow.h"
    
    #include "../EngineUILib/GUInterface/BasicTextBox.h"
    #include "../EngineUILib/GUInterface/BasicProgressBar.h"
    #include "../EngineUILib/GUInterface/BasicButton.h"
    #include "GLGaeaClient.h"
    #include "UITextControl.h"
    #include "GameTextControl.h"
    #include "GLogicData.h"
    #include "ItemSlot.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    
    void CCharacterWindow::SetLevel ( const GLCHARLOGIC& sCharData )
    {
        const WORD& wLevel = sCharData.m_wLevel;
        const DWORD& wClub = sCharData.m_dwGuild;
    
        CString strCombine;
        strCombine.Format ( "Lv.%d ", wLevel );
        if ( m_pLevelText )
        {
            m_pLevelText->SetOneLineText ( strCombine + sCharData.m_szName, NS_UITEXTCOLOR::WHITE );
        }
        strCombine.Format ( "[%s]",wClub );
        if ( m_pClubText )
        {
            if(wClub == 0)
            {
                strCombine.Format ( "[%s]",ID2GAMEWORD("CLUB_TEXT_STATIC", 14) );
            }
            m_pClubText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::YELLOW );
        }
    }
    
    void CCharacterWindow::SetName ( const GLCHARLOGIC& sCharData )
    {
        if ( m_pNameText )
        {
            m_pNameText->SetOneLineText ( sCharData.m_szName, NS_UITEXTCOLOR::ORANGE );
        }
    }
    
    void CCharacterWindow::SetBright ( const GLCHARLOGIC& sCharData )
    {
        const int nMIN = -100;
        const int nMAX = 100;
        const int nRANGE = nMAX - nMIN;
    
        int nPercent = sCharData.GETBRIGHTPER ();
        nPercent = -(nPercent);    //    À̹ÌÁö°¡ ¹Ý´ë·Î µÚÁýÇôÀ־.
        if ( nPercent < nMIN ) nPercent = nMIN;
        if ( nPercent > nMAX ) nPercent = nMAX;
    
        nPercent += nMAX;
    
        float fPercent = static_cast<float>(nPercent) / static_cast<float>(nRANGE);
    
        const UIRECT& rcFramePos = m_pBrightFrame->GetGlobalPos ();
        const UIRECT& rcThumbPos = m_pBrightSlider->GetGlobalPos ();
    
        float fMOVE = (rcFramePos.sizeX - rcThumbPos.sizeX) * fPercent;
        float fLeft = rcFramePos.left + fMOVE;
    
        m_pBrightSlider->SetGlobalPos ( D3DXVECTOR2 ( fLeft, rcThumbPos.top ) );
    }
    
    
    void CCharacterWindow::SetGrade ( const GLCHARLOGIC& sCharData )
    {
        if ( m_pGradeText && m_pGradeValue )
        {
            CString strCombine;
            strCombine.Format ( "%d", sCharData.m_nLiving );
            m_pGradeText->SetOneLineText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC",7), NS_UITEXTCOLOR::SILVER );
            m_pGradeValue->SetOneLineText ( strCombine , NS_UITEXTCOLOR::SILVER);
        }
    }
    
    void CCharacterWindow::SetActivityPoint ( const GLCHARLOGIC& sCharData )
    {
        if ( m_pActivityPointText && m_pActivityPointValue)
        {
            CString strCombine;
            strCombine.Format ( "%d", sCharData.m_nLiving );
            m_pActivityPointText->SetOneLineText ( ID2GAMEWORD("CHARACTER_SOCIAL_STATIC",2), NS_UITEXTCOLOR::SILVER );
            m_pActivityPointValue->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
        }
    }
    
    void CCharacterWindow::SetAcademy_Department ( const GLCHARLOGIC& sCharData )
    {
        if ( m_pAcademy_Department )
        {
            CString strCombine;
            strCombine.Format ( "%s,%s", ID2GAMEWORD("ACADEMY_NAME",sCharData.m_wSchool), COMMENT::CHARCLASS[CharClassToIndex(sCharData.m_emClass)].c_str() );
            m_pAcademy_Department->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
        }
    }
    
    void CCharacterWindow::SetPoint ( const GLCHARLOGIC& sCharData )
    {
        if ( sCharData.m_wStatsPoint < 0)    return;
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_wStatsPoint );
        if ( m_pPointText ) m_pPointText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::GOLD );
    
    }
    //    Stat    
    void CCharacterWindow::SetPow ( const GLCHARLOGIC& sCharData )
    {
        m_pPowText->ClearText ();
    
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wPow );
        m_pPowText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
        
    }
    
    void CCharacterWindow::SetDex ( const GLCHARLOGIC& sCharData )
    {
        m_pDexText->ClearText ();
    
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wDex );
        m_pDexText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetSpi ( const GLCHARLOGIC& sCharData )
    {
        m_pSpiText->ClearText ();
    
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wSpi );
        m_pSpiText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    
    }
    
    void CCharacterWindow::SetStr ( const GLCHARLOGIC& sCharData )
    {
        m_pStrText->ClearText ();
    
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wStr ); 
        m_pStrText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetSta ( const GLCHARLOGIC& sCharData )
    {
        m_pStaText->ClearText ();
    
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMSTATS.wSta ); 
        m_pStaText->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    
    }
    
    
    void CCharacterWindow::SetPowUp ( int num,const GLCHARLOGIC& sCharData )
    {
        m_pPowTextUp->ClearText ();
        CString strCombine;
        strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wPow + num );
        m_pPowTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    void CCharacterWindow::SetDexUp ( int num,const GLCHARLOGIC& sCharData )
    {
        m_pDexTextUp->ClearText ();
        CString strCombine;
        strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wDex + num );
        m_pDexTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    void CCharacterWindow::SetSpiUp ( int num,const GLCHARLOGIC& sCharData )
    {
        m_pSpiTextUp->ClearText ();
        CString strCombine;
        strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wSpi + num );
        m_pSpiTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    void CCharacterWindow::SetStrUp ( int num,const GLCHARLOGIC& sCharData )
    {
        m_pStrTextUp->ClearText ();
        CString strCombine;
        strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wStr + num );
        m_pStrTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    void CCharacterWindow::SetStaUp ( int num,const GLCHARLOGIC& sCharData )
    {
        m_pStaTextUp->ClearText ();
        CString strCombine;
        strCombine.Format ( "(%d)", sCharData.m_sSUMSTATS.wSta + num );
        m_pStaTextUp->AddText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    //    Status
    void CCharacterWindow::SetDamage ( const GLCHARLOGIC& sCharData )
    {    
        const int& nLow = sCharData.GETFORCE_LOW ();
        const int& nHigh = sCharData.GETFORCE_HIGH ();
    
        CString strCombine;
        strCombine.Format ( "%d", nLow );
        if ( m_pDamageLowText ) m_pDamageLowText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    
        strCombine.Format ( "%d", nHigh );
        if ( m_pDamageHighText ) m_pDamageHighText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetDefense ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.GETDEFENSE () );
        if ( m_pDefenseText ) m_pDefenseText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetReqPa ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_wSUM_PA );
        if ( m_pReqPaText ) m_pReqPaText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetReqSa ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_wSUM_SA );
        if ( m_pReqSaText ) m_pReqSaText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetReqMa ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_wSUM_MA );
        if ( m_pReqMaText ) m_pReqMaText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetHitRate ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.GETHIT () );
        if ( m_pHitRateText ) m_pHitRateText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetHP ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.GETMAXHP () );
        if ( m_pHPText ) m_pHPText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetMP ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sMP.wHigh );
        if ( m_pMPText ) m_pMPText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetSP ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSP.wHigh );
        if ( m_pSPText ) m_pSPText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetAvoidRate ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.GETAVOID () );
        if ( m_pAvoidRateText ) m_pAvoidRateText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetFireResi ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nFire );
        if ( m_pFireText ) m_pFireText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetColdResi ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nIce );
        if ( m_pColdText ) m_pColdText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetElectricResi ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nElectric );
        if ( m_pElectricText ) m_pElectricText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetPoisonResi ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nPoison );
        if ( m_pPoisonText ) m_pPoisonText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }
    
    void CCharacterWindow::SetSpiritResi ( const GLCHARLOGIC& sCharData )
    {
        CString strCombine;
        strCombine.Format ( "%d", sCharData.m_sSUMRESIST_SKILL.nSpirit );
        if ( m_pSpiritText ) m_pSpiritText->SetOneLineText ( strCombine, NS_UITEXTCOLOR::SILVER );
    }

    CharacterWindowMsg.cpp
    Code:
    #include "StdAfx.h"
    #include "./CharacterWindow.h"
    
    #include "../G-Logic/GLGaeaClient.h"
    
    #include "../EngineUILib/GUInterface/BasicTextBox.h"
    #include "../EngineUILib/GUInterface/BasicButton.h"
    
    #include "../Interface/ModalCallerID.h"
    #include "../Interface/ModalWindow.h"
    #include "../Interface/InnerInterface.h"
    #include "../Interface/UITextControl.h"
    #include "../Interface/GameTextControl.h"
    #include "InventoryPageWear.h"
    #include "InventoryPageWearEx.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    
    void CCharacterWindow::TranslateUIMessage ( UIGUID ControlID, DWORD dwMsg )
    {
        CUIWindowEx::TranslateUIMessage ( ControlID, dwMsg );
    
        const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();
    
        const float fBUTTON_CLICK = CBasicButton::fBUTTON_CLICK;
    
        switch ( ControlID )
        {
        case ET_CONTROL_TITLE:
        case ET_CONTROL_TITLE_F:
            {
                if ( (dwMsg & UIMSG_LB_DUP) && CHECK_MOUSE_IN ( dwMsg ) )
                {
                    CInnerInterface::GetInstance().SetDefaultPosInterface( CHARACTER_WINDOW );
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_POW_PLUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( sCharData.m_wStatsPoint > 0 )
                        {
                            m_pNewPow++;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointDown();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_DEX_PLUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( sCharData.m_wStatsPoint > 0)
                        {
                            m_pNewDex++;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointDown();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_SPI_PLUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( sCharData.m_wStatsPoint > 0)
                        {
                            m_pNewSpi++;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointDown();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_STR_PLUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( sCharData.m_wStatsPoint > 0 )
                        {
                            m_pNewStr++;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointDown();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_STA_PLUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( sCharData.m_wStatsPoint > 0)
                        {
                            m_pNewSta++;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointDown();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_POW_MINUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( m_pNewPow > 0)
                        {
                            m_pNewPow--;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_DEX_MINUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( m_pNewDex > 0)
                        {
                            m_pNewDex--;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_SPI_MINUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( m_pNewSpi > 0)
                        {
                            m_pNewSpi--;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_STR_MINUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( m_pNewStr > 0)
                        {
                            m_pNewStr--;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_STA_MINUS_BUTTON:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        if ( m_pNewSta > 0)
                        {
                            m_pNewSta--;
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_OK:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_DOWN_LIKE ( dwMsg ) )
                    {
                    }
    
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {    
                        int num = m_pNewPow + m_pNewDex + m_pNewSpi + m_pNewStr + m_pNewSta;
                        for (int i = 0; i < num; i++)
                        {
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                        if ( m_pNewPow > 0)
                        {
                            for ( int i = 0; i < m_pNewPow; i++)
                            {
                                GLGaeaClient::GetInstance().GetCharacter()->ReqStatsUp ( EMPOW );
                            }
                        }
                        if ( m_pNewDex > 0)
                        {
                            for ( int i = 0; i < m_pNewDex; i++)
                            {
                                GLGaeaClient::GetInstance().GetCharacter()->ReqStatsUp ( EMDEX );
                            }
                        }
                        if ( m_pNewSpi > 0)
                        {
                            for ( int i = 0; i < m_pNewSpi; i++)
                            {
                                GLGaeaClient::GetInstance().GetCharacter()->ReqStatsUp ( EMSPI );
                            }
                        }
                        if ( m_pNewStr > 0)
                        {
                            for ( int i = 0; i < m_pNewStr; i++)
                            {
                                GLGaeaClient::GetInstance().GetCharacter()->ReqStatsUp ( EMSTR );
                            }
                        }
                        if ( m_pNewSta > 0)
                        {
                            for ( int i = 0; i < m_pNewSta; i++)
                            {
                                GLGaeaClient::GetInstance().GetCharacter()->ReqStatsUp ( EMSTA );
                            }
                        }
                        m_pNewPow = 0;
                        m_pNewDex = 0;
                        m_pNewSpi = 0;
                        m_pNewStr = 0;
                        m_pNewSta = 0;
                    }
                }
            }
            break;
        case CHARACTER_WINDOW_STAT_CANCEL:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    if ( CHECK_LB_UP_LIKE ( dwMsg ) )
                    {                    
                        int num = m_pNewPow + m_pNewDex + m_pNewSpi + m_pNewStr + m_pNewSta;
                        for (int i = 0; i < num; i++)
                        {
                            GLGaeaClient::GetInstance().GetCharacter()->SetStatusPointUp();
                        }
                        m_pNewPow = 0;
                        m_pNewDex = 0;
                        m_pNewSpi = 0;
                        m_pNewStr = 0;
                        m_pNewSta = 0;
                    }
    
                }
            }
            break;
        case CHARACTER_BIRGHTER:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    GLCharacter* pCharacter = GLGaeaClient::GetInstance().GetCharacter ();
    
                    CString strTemp;                
                    strTemp.Format ( "%d", pCharacter->m_nBright );
    
                    CInnerInterface::GetInstance().SHOW_COMMON_LINEINFO ( strTemp, NS_UITEXTCOLOR::WHITE );
                }
            }
            break;
        case CHARACTER_WINDOW_INVENTORY_PAGEWEAR:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    int nIndex = m_pPageWear->GetItemIndex ();
                    if ( nIndex < 0 ) return ;                
    
                    {
                        SITEMCUSTOM sItemCustom = m_pPageWear->GetItem ( nIndex );
                        if ( sItemCustom.sNativeID != NATIVEID_NULL () )
                        {
                            CInnerInterface::GetInstance().SHOW_ITEM_INFO ( sItemCustom, FALSE, FALSE, FALSE, USHRT_MAX, USHRT_MAX );
                        }
                    }
    
                    if ( dwMsg & UIMSG_LB_UP )
                    {
                        EMSLOT emSlot = m_pPageWear->GetItemSlot ();
                        GLGaeaClient::GetInstance().GetCharacter()->ReqSlotTo ( emSlot );
                    }        
                }
            }
            break;
        case CHARACTER_WINDOW_INVENTORY_PAGEWEAR_EX:
            {
                if ( CHECK_MOUSE_IN ( dwMsg ) )
                {
                    int nIndex = m_pPageWearEx->GetItemIndex ();
                    if ( nIndex < 0 ) return ;                
    
                    {
                        SITEMCUSTOM sItemCustom = m_pPageWearEx->GetItem ( nIndex );
                        if ( sItemCustom.sNativeID != NATIVEID_NULL () )
                        {
                            CInnerInterface::GetInstance().SHOW_ITEM_INFO ( sItemCustom, FALSE, FALSE, FALSE, USHRT_MAX, USHRT_MAX );
                        }
                    }
    
                    if ( dwMsg & UIMSG_LB_UP )
                    {
                        EMSLOT emSlot = m_pPageWearEx->GetItemSlot ();
                        GLGaeaClient::GetInstance().GetCharacter()->ReqSlotTo ( emSlot );
                    }
                }
            }
            break;
    
            case RNCHARACTER_WINDOW_CHAR_TAP: 
                {
                    if ( CHECK_MOUSEIN_LBUPLIKE ( dwMsg ) )
                        {
                            SetVisiblePage (0);
                        }
                }
            break;
    
            case RNCHARACTER_WINDOW_VEHICLE_TAP: 
                {
                    if ( CHECK_MOUSEIN_LBUPLIKE ( dwMsg ) )
                    {
                        SetVisiblePage (1);
                    }
                }
            break;
    
            case RNCHARACTER_WINDOW_PET_TAP: 
                {
                    if ( CHECK_MOUSEIN_LBUPLIKE ( dwMsg ) )
                    {
                        SetVisiblePage (2);
                    }
                }
            break;
        }
    }
    CharacterWindowUpdate.cpp
    Code:
    #include "StdAfx.h"
    #include "CharacterWindow.h"
    #include "GLGaeaClient.h"
    #include "../EngineUILib/GUInterface/BasicButton.h"
    #include "../EngineUILib/GUInterface/BasicTextBox.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    
    void CCharacterWindow::Update ( int x, int y, BYTE LB, BYTE MB, BYTE RB, int nScroll, float fElapsedTime, BOOL bFirstControl )
    {    
        const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();    
        BOOL bPointUsable = (sCharData.m_wStatsPoint)?TRUE:FALSE;
    
    //    ½ºÅÈ ÄÁÆ®·Ñ
        //SetPointControl ( bPointUsable );
    
    //    À̸§,Ŭ·¡½º    
        SetName ( sCharData );
    
    //    °æÇèÄ¡
    //    SetEXP ( sCharData );
    
    //    Stat    
        SetPow ( sCharData );
        SetDex ( sCharData );
        SetSpi ( sCharData );
        SetStr ( sCharData );
        SetSta ( sCharData );
    
        SetPowUp ( m_pNewPow,sCharData );
        SetDexUp ( m_pNewDex,sCharData );
        SetSpiUp ( m_pNewSpi,sCharData );
        SetStrUp ( m_pNewStr,sCharData );
        SetStaUp ( m_pNewSta,sCharData );
        SetPoint ( sCharData );
    //
    ////    Status
        SetLevel ( sCharData );
        SetDamage ( sCharData );
        SetDefense ( sCharData );
        SetReqPa ( sCharData );
        SetReqSa ( sCharData );    
        SetReqMa ( sCharData );    
        SetHP ( sCharData );
        SetMP ( sCharData );
        SetSP ( sCharData );
        SetHitRate ( sCharData );
        SetAvoidRate ( sCharData );
    
        SetFireResi ( sCharData );
        SetColdResi ( sCharData );
        SetElectricResi ( sCharData );
        SetPoisonResi ( sCharData );
        SetSpiritResi ( sCharData );
    
        SetAcademy_Department ( sCharData );
        SetActivityPoint ( sCharData );
        SetBright ( sCharData );
        SetGrade ( sCharData );
    
        CUIWindow::Update ( x, y, LB, MB, RB, nScroll, fElapsedTime, bFirstControl );
    
    
    }
    
    void CCharacterWindow::SetVisibleSingle ( BOOL bVisible )
    {
        CUIWindow::SetVisibleSingle( bVisible );
    
        if( bVisible )
        {
            const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();
            //SetPhoneNumber( sCharData.m_szPhoneNumber );
        }
    }
    GLCharacter.h
    Code:
    public:
        HRESULT SetPosition ( D3DXVECTOR3 vPos );
        virtual const D3DXVECTOR3 &GetPosition ()    { return m_vPos; }
        float GetDirection ();
        D3DXVECTOR3 GetDirectionVector () { return m_vDir; }
            D3DXVECTOR3 GetOrig()    { return m_vDirOrig; }
        D3DXMATRIX    GetMatrix()    { return m_matTrans; }

    NOTE : I DONT KNOW IF THIS IS COMPATIBLE WITH NEO SOURCE OR NOT..T.A.E (NOT TESTED)
    here is the results


  3. #543
    Proficient Member kopral105 is offline
    MemberRank
    Feb 2012 Join Date
    168Posts

    Re: Neo Source

    Quote Originally Posted by JerMTheSLayer View Post
    here is the results

    is that cool man .. can you share that ? i dont have VS 2003 can't download always error in instalation

  4. #544
    Salad CharlesCode is offline
    MemberRank
    Jun 2010 Join Date
    chrlz@rootLocation
    286Posts

    Re: Neo Source

    Quote Originally Posted by ultrrain View Post
    feel so sad , this code not working in neo source :'( fatal error for server files only Reditor and bugtral.dll are show up after compiling..
    Merge it,
    dont just copy paste the code.

  5. #545
    Valued Member ultrrain is offline
    MemberRank
    Nov 2013 Join Date
    104Posts

    Re: Neo Source

    im not copy paste i just try to add some code functions of sir asendure to my missing code of my source

  6. #546
    Enthusiast tapx5505 is offline
    MemberRank
    Dec 2013 Join Date
    ВашингтLocation
    47Posts

    Re: Neo Source

    Quote Originally Posted by CharlesCode View Post
    Merge it,
    dont just copy paste the code.
    i only copy pasted and it worked fine :P

  7. #547
    Dark Carnival JerMTheSLayer is offline
    MemberRank
    Jul 2013 Join Date
    316Posts

    Re: Neo Source

    this is the prob when someone is sharing ppl dont want to explore and use trial and error , and don't canll someone SELFISH cause he/she didn't share something dont spoon feed use ur eyes bunch of source code already shared in rz why not explore.

  8. #548
    Proficient Member sexual123 is offline
    MemberRank
    Aug 2011 Join Date
    178Posts

    Re: Neo Source

    Quote Originally Posted by JerMTheSLayer View Post
    this is the prob when someone is sharing ppl dont want to explore and use trial and error , and don't canll someone SELFISH cause he/she didn't share something dont spoon feed use ur eyes bunch of source code already shared in rz why not explore.
    i second emotion :)

  9. #549
    Valued Member petercrow is offline
    MemberRank
    Sep 2012 Join Date
    PhilipinoLocation
    121Posts

    Re: Neo Source

    im using Ran World New Client client and bin by ramposi but when i using Emulator have error, please tell me how to fix this, thank all
    2013-12-11_154908.png

  10. #550
    Enthusiast tapx5505 is offline
    MemberRank
    Dec 2013 Join Date
    ВашингтLocation
    47Posts

    Re: Neo Source

    ^ increase your RAM :3

  11. #551
    Valued Member petercrow is offline
    MemberRank
    Sep 2012 Join Date
    PhilipinoLocation
    121Posts

    Re: Neo Source

    Quote Originally Posted by tapx5505 View Post
    ^ increase your RAM :3
    using wn7 64 with 4gb ram. im have using so many Emulator normal, but this source have error

  12. #552
    Dark Carnival JerMTheSLayer is offline
    MemberRank
    Jul 2013 Join Date
    316Posts

    Re: Neo Source

    Gui problem at 2 weapon slots
    1.correct gui but wrong item slot

    correct gui

    wrong input


    this is the screenshot in asendure's code



    so i Fixed it

    correct gui


    correct item slot



    How to fix?
    Answer: i change something in source affecting the charwindow and 2weap slots and gui(.xml) goodluck

  13. #553
    /genchar_cn JohnArthuroo xhellin is offline
    MemberRank
    Apr 2011 Join Date
    General SantosLocation
    437Posts

    Re: Neo Source

    Quote Originally Posted by JerMTheSLayer View Post
    Gui problem at 2 weapon slots
    1.correct gui but wrong item slot

    correct gui

    wrong input


    this is the screenshot in asendure's code



    so i Fixed it

    correct gui


    correct item slot



    How to fix?
    Answer: i change something in source affecting the charwindow and 2weap slots and gui(.xml) goodluck
    mine is really working :D jk .. btw check my message in FB.

  14. #554
    Permanent Ban Eil Nahd is offline
    MemberRank
    Dec 2013 Join Date
    MysticPeak CampLocation
    347Posts

    Re: Neo Source

    Quote Originally Posted by JerMTheSLayer View Post
    Gui problem at 2 weapon slots
    1.correct gui but wrong item slot

    correct gui

    wrong input


    this is the screenshot in asendure's code



    so i Fixed it

    correct gui


    correct item slot



    How to fix?
    Answer: i change something in source affecting the charwindow and 2weap slots and gui(.xml) goodluck

    im sure ur not selfish right? can u sahre fix gui :) im begging u :P please :)

  15. #555
    Enthusiast tapx5505 is offline
    MemberRank
    Dec 2013 Join Date
    ВашингтLocation
    47Posts

    Re: Neo Source

    yeah share it hahaha lol :)



Advertisement