Neo Source

Page 39 of 76 FirstFirst ... 29313233343536373839404142434445464749 ... LastLast
Results 571 to 585 of 1135
  1. #571
    MR Explorer daplin2007 is offline
    MemberRank
    Oct 2009 Join Date
    /f444Location
    433Posts

    Re: Neo Source

    Quote Originally Posted by tapx5505 View Post
    why I can't install this application? need a front page server extensions.


    Sent from my WM-8880-MID using Tapatalk

  2. #572
    Account Upgraded | Title Enabled! mochi is offline
    MemberRank
    Sep 2008 Join Date
    244Posts

    Re: Neo Source

    Quote Originally Posted by wrongteousOne View Post
    Everything in here was shared already,,ALL you have to do is attach``attach and attach..

    Compile error?Specific your error bro if you want to fix it..

    if i am not mistaken``you ask for the complete source with nothing to fix`` Com`on BRO`` we are not kids anymore..

    Better to ask some tips and guide than asking a clean one``

    Just add little time/focus/review in this thread and you will get what you want..

    IM not and expert``but i really believe on what i said that this message will guide me to become an expert someday like AssenDURE
    Sorry. i can make private server ,I can use tool tool tool and tools , I read read read .... and read but i'm not c++ programmer.

  3. #573
    Proficient Member sexual123 is offline
    MemberRank
    Aug 2011 Join Date
    178Posts

    Re: Neo Source

    Any idea guys on how to disable letter "L" for vehicle and letter "N" for pet ?
    Last edited by sexual123; 12-12-13 at 09:43 AM.

  4. #574
    Member ghotlider is offline
    MemberRank
    Apr 2009 Join Date
    Бангкок,Location
    59Posts

    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)
    I want to change the source code.

  5. #575
    Proficient Member sexual123 is offline
    MemberRank
    Aug 2011 Join Date
    178Posts

    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)

    TRIED AND TESTED 100% WORKING ON NEO SOURCE

    SS

  6. #576
    Ì lövê ¥öµ! Fusion7 is offline
    MemberRank
    Jun 2009 Join Date
    MalaysiaLocation
    1,923Posts

    Re: Neo Source

    as u wish..this for dual slot weapon/pet/vehicle gui..good luck
    XenURL - PWBXOl
    Last edited by Fusion7; 12-12-13 at 12:12 PM.

  7. #577
    Infraction Banned crossbows is offline
    MemberRank
    Aug 2011 Join Date
    Havoc ServerLocation
    577Posts

    Re: Neo Source

    Quote Originally Posted by Fusion7 View Post
    as u wish..this for dual slot weapon/pet/vehicle gui..good luck
    XenURL - PWBXOl
    Thanks I try this

  8. #578
    Infraction Banned crossbows is offline
    MemberRank
    Aug 2011 Join Date
    Havoc ServerLocation
    577Posts

    Re: Neo Source

    Fusion bro how I can input credits like a copyright
    in Character Ui
    How I can do it in source and what folder?? how to add thanks for answering my Question:-)

  9. #579
    Ì lövê ¥öµ! Fusion7 is offline
    MemberRank
    Jun 2009 Join Date
    MalaysiaLocation
    1,923Posts

    Re: Neo Source

    Quote Originally Posted by crossbows View Post
    Fusion bro how I can input credits like a copyright
    in Character Ui
    How I can do it in source and what folder?? how to add thanks for answering my Question:-)
    check on page 14

  10. #580
    Proficient Member kopral105 is offline
    MemberRank
    Feb 2012 Join Date
    168Posts

    Re: Neo Source

    gamsahabnida thankss...

  11. #581
    Infraction Banned crossbows is offline
    MemberRank
    Aug 2011 Join Date
    Havoc ServerLocation
    577Posts

    Re: Neo Source

    Quote Originally Posted by Fusion7 View Post
    check on page 14
    Bro can I ask?
    can I do change only the copyright Name in Gui its working bro

    1. uiinnercfg01.xml
    Code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <INTERFACE>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW">
    <WINDOW_POS X="42" Y="0" W="162" H="57" />
    <TEXTURE SizeX="512" SizeY="512">Interface_Main.dds</
    TEXTURE>
    <TEXTURE_POS X="84" Y="163" W="162" H="57" />
    </CONTROL>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW_HP">
    <WINDOW_POS X="31" Y="1" W="130" H="13" />
    </CONTROL>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW_HP_OVERIMAGE">
    <WINDOW_POS X="0" Y="0" W="130" H="13" />
    <TEXTURE SizeX="512" SizeY="512">Interface_Main.dds</
    TEXTURE>
    <TEXTURE_POS X="84" Y="221" W="130" H="13" />
    </CONTROL>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW_MP">
    <WINDOW_POS X="31" Y="15" W="130" H="13" />
    </CONTROL>
    2. gameword.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <TEXT>
    <SENTENSE Ver="1" Id="COPYRIGHT_COMPANY">
    <VALUE Lang="pe">Copyright 2013 420 - Transalvania Ran Online.</VALUE>
    <VALUE Lang="pe">Copyright 2013 FiveHearts Development - Transalvania Ran
    Online.</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="COPYRIGHT_COMPANY_LOAD">
    <VALUE Lang="pe">Copyright(C) 2013 FiveHearts Development</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="DISCOURAGES">
    <VALUE Lang="pe">Non-recommended</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="GATE_ALARM">
    <VALUE Lang="pe">You are now moving to another map.</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="STORAGE_TIMELEFT">
    <VALUE Lang="pe">%d Years %d Months %d Days</VALUE>
    <VALUE Lang="pe">%d Hours %d Minutes Left</VALUE>
    </SENTENSE>
    <WORD Ver="1" Id="ACADEMY_NAME">


    What line I need to change CopyRight

  12. #582
    Ì lövê ¥öµ! Fusion7 is offline
    MemberRank
    Jun 2009 Join Date
    MalaysiaLocation
    1,923Posts

    Re: Neo Source

    Quote Originally Posted by crossbows View Post
    Bro can I ask?
    can I do change only the copyright Name in Gui its working bro

    1. uiinnercfg01.xml
    Code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <INTERFACE>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW">
    <WINDOW_POS X="42" Y="0" W="162" H="57" />
    <TEXTURE SizeX="512" SizeY="512">Interface_Main.dds</
    TEXTURE>
    <TEXTURE_POS X="84" Y="163" W="162" H="57" />
    </CONTROL>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW_HP">
    <WINDOW_POS X="31" Y="1" W="130" H="13" />
    </CONTROL>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW_HP_OVERIMAGE">
    <WINDOW_POS X="0" Y="0" W="130" H="13" />
    <TEXTURE SizeX="512" SizeY="512">Interface_Main.dds</
    TEXTURE>
    <TEXTURE_POS X="84" Y="221" W="130" H="13" />
    </CONTROL>
    <CONTROL Local="Common" Id="BASIC_INFO_VIEW_MP">
    <WINDOW_POS X="31" Y="15" W="130" H="13" />
    </CONTROL>
    2. gameword.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <TEXT>
    <SENTENSE Ver="1" Id="COPYRIGHT_COMPANY">
    <VALUE Lang="pe">Copyright 2013 420 - Transalvania Ran Online.</VALUE>
    <VALUE Lang="pe">Copyright 2013 FiveHearts Development - Transalvania Ran
    Online.</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="COPYRIGHT_COMPANY_LOAD">
    <VALUE Lang="pe">Copyright(C) 2013 FiveHearts Development</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="DISCOURAGES">
    <VALUE Lang="pe">Non-recommended</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="GATE_ALARM">
    <VALUE Lang="pe">You are now moving to another map.</VALUE>
    </SENTENSE>
    <SENTENSE Ver="1" Id="STORAGE_TIMELEFT">
    <VALUE Lang="pe">%d Years %d Months %d Days</VALUE>
    <VALUE Lang="pe">%d Hours %d Minutes Left</VALUE>
    </SENTENSE>
    <WORD Ver="1" Id="ACADEMY_NAME">


    What line I need to change CopyRight
    check on gametext xml

  13. #583
    The Project GIGABIT is offline
    MemberRank
    Feb 2012 Join Date
    The GameLocation
    771Posts

    Re: Neo Source

    how to change log in screen what is the main files of data-map?
    this neo source i cant see the main files name to change log in screen"

  14. #584
    Infraction Banned crossbows is offline
    MemberRank
    Aug 2011 Join Date
    Havoc ServerLocation
    577Posts

    Re: Neo Source

    Quote Originally Posted by Fusion7 View Post
    check on gametext xml
    CopyRight In Character Window Bro

  15. #585
    Ì lövê ¥öµ! Fusion7 is offline
    MemberRank
    Jun 2009 Join Date
    MalaysiaLocation
    1,923Posts

    Re: Neo Source

    Quote Originally Posted by crossbows View Post
    CopyRight In Character Window Bro
    I already said check page 14..there got code for copyright

    Sent from my GT-I9300 using Tapatalk 2



Advertisement