- Joined
- Jan 18, 2014
- Messages
- 8
- Reaction score
- 0
mob_ch_01.chf what i need to add? when i run svrfield it always shown .? O.O
#include "StdAfx.h"#include "./CharacterWindow.h"
#include "DxGlobalStage.h"
#include "./GLCharClient.h"
#include "./GLFactEffect.h"
#include "./GLGaeaClient.h"
#include "./GLItemMan.h"
#include "./GLStrikeM.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 "GLChar.h"
#include "GLCharData.h"
#include "DxGameStage.h"
#include "../RanClientUILib/Interface/InnerInterface.h"
#include "../../EngineLib/DxCommon/DxShadowMap.h"
#include "../../EngineLib/DxEffect/Char/DxEffCharData.h"
#include "../../EngineLib/DxEffect/Single/DxEffGroupPlayer.h"
#include "../RanClientUILib/Interface/ItemShopIconMan.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 "DxClubMan.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_pAButton ( NULL ),
m_pALHandSlot ( NULL ),
m_pARHandSlot ( NULL ),
m_pBButton ( NULL ),
m_pBLHandSlot ( NULL ),
m_pBRHandSlot ( 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 ), //by J.A Dev for guild name
m_pBadgeText ( NULL ),
m_pSchoolText ( NULL ),
m_pCopyRightText ( NULL ),
m_pPKStateText ( 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_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),
m_vMax(6,20,6),
m_vMin(-6,0,-6),
m_fHeight(20.f)
{
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",
};
CBasicComboBox* pComboBox = NULL;
CBasicComboBoxRollOver* pComboBoxRollOver = NULL;
pComboBox = new CBasicComboBox;
pComboBox->CreateSub ( this, "BASIC_COMBOBOX", UI_FLAG_XSIZE, NICKNAME_COMBO_OPEN );
pComboBox->CreateBaseComboBox ( "NICKNAME_COMBO_OPEN" );
RegisterControl ( pComboBox );
m_pComboBoxNickNameOpen = pComboBox;
pComboBoxRollOver = new CBasicComboBoxRollOver;
pComboBoxRollOver->CreateSub ( this, "BASIC_COMBOBOX_ROLLOVER", UI_FLAG_XSIZE | UI_FLAG_YSIZE, NICKNAME_COMBO_ROLLOVER );
pComboBoxRollOver->CreateBaseComboBoxRollOver ( "NICKNAME_COMBO_ROLLOVER" );
pComboBoxRollOver->SetVisibleSingle ( FALSE );
RegisterControl ( pComboBoxRollOver );
m_pComboBoxNickNameRollOver = pComboBoxRollOver;
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 );
CreateControl ( "CHARACTER_REGIST_FIRE_ICON" );
CreateControl ( "CHARACTER_REGIST_ICE_ICON" );
CreateControl ( "CHARACTER_REGIST_ELECTRIC_ICON" );
CreateControl ( "CHARACTER_REGIST_POISON_ICON" );
CreateControl ( "CHARACTER_REGIST_SPIRIT_ICON" );
}
if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER )
{
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 );
}
else
{
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 );
}
}
else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN )
{
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 );
}
else
{
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 );
SetVisiblePage ( 0 );
}
}
else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER)
{
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 );
}
else
{
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 );
}
}
else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN )
{
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 );
}
else
{
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 );
}
}
else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME )
{
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 );
}
else
{
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 );
}
}
else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE )
{
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 );
}
else
{
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 );
}
}
else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W )
{
if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN )
{
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 );
}
else
{
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_pVehicleWindow = new CVehicleWindow;
m_pVehicleWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_VEHICLEWINDOW );
m_pVehicleWindow->CreateSubControl ();
RegisterControl ( m_pVehicleWindow );
m_pPetWindow = new CPetWindow;
m_pPetWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_PETWINDOW );
m_pPetWindow->CreateSubControl ();
RegisterControl ( m_pPetWindow );
SetVisibleSingle( 0 );
{
m_pClubMark = CreateControl ( "CLUB_WINDOW_MARK_CHARACTERWINDOW" );
m_pClubMark->SetUseRender ( TRUE );
}
m_pAcademy_Department = CreateStaticControl ( "RNCHARACTER_WINDOW_ACADEMY_DEPARTMENT_TEXT", pFont, nAlignLeft );
m_pSchoolText = CreateStaticControl ( "CHARACTER_SCHOOL_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pCopyRightText = CreateStaticControl ( "CHARACTER_COPYRIGHT_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
m_pPKStateText = CreateStaticControl ( "CHARACTER_PKSTATE_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 );
m_pBadgeText = CreateStaticControl ( "CHARACTER_BADGE_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X );
{
CUIControl TempControl;
TempControl.Create ( 1, "CHARACTER_SCHOOL_MARK" );
const UIRECT& rcLocalPos = TempControl.GetLocalPos ();
CString strSchoolMark[] =
{
"NAME_DISPLAY_SCHOOL1",
"NAME_DISPLAY_SCHOOL2",
"NAME_DISPLAY_SCHOOL3"
};
for ( int i = 0; i < nSCHOOL_MARK; ++i )
{
m_pSchoolMark[i] = CreateControl ( strSchoolMark[i].GetString() );
m_pSchoolMark[i]->SetLocalPos ( rcLocalPos );
m_pSchoolMark[i]->SetVisibleSingle ( FALSE );
}
}
}
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 );
}
void CCharacterWindow::LoadComboData()
{
m_pComboBoxNickNameRollOver->ClearText ();
for ( int i = 0; i < EMPTYITEMOPT_SIZE; i++ )
{
m_pComboBoxNickNameRollOver->SetTextAlign( TEXT_ALIGN_CENTER_X );
m_pComboBoxNickNameRollOver->AddText( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", i) );
}
}
void CCharacterWindow::LoadItem ()
{
m_pComboBoxNickNameOpen->SetTextAlign( TEXT_ALIGN_CENTER_X );
m_pComboBoxNickNameOpen->SetText ( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", nIndex) );
}
/*void CCharacterWindow::SetVisibleSingle ( BOOL bVisible )
{
CUIWindow::SetVisibleSingle( bVisible );
if( bVisible )
{
const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic ();
if( m_pPageWearEx )
{
if( GLGaeaClient::GetInstance().GetCharacter()->IsUseArmSub() )
{
m_pPageWearEx->SetTabButton( FALSE );
}
else
{
m_pPageWearEx->SetTabButton( TRUE );
}
}
}
}*/
void CCharacterWindow::SetArmSwapTabButton( BOOL bArmSub )
{
if( m_pPageWearEx )
{
m_pPageWearEx->SetTabButton( bArmSub );
}
}
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::Create ();
//{
//}
// Note : Adding : GM Glenox | 11-16-2013 | Character Render
/*HRESULT CCharacterWindow::Create (DWORD dwGaeaID, LPDIRECT3DDEVICEQ pd3dDevice )
{
GASSERT(pd3dDevice);
HRESULT hr;
m_pd3dDevice = pd3dDevice;
m_dwGaeaID = dwGaeaID;
// Note : Adding : GM Glenox | 11-16-2013 | Character Render
//
EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass );
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE(m_pSkinChar);
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE );
UpdateSuit ();
// Note : Control Hieght
m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg );
m_fHeight = m_vMaxOrg.y - m_vMinOrg.y;
// Note : Adding : GM Glenox | 11-16-2013 | Character Render
//
/* if ( pCharData->dwFLAGS & SDROP_CHAR::CHAR_GEN )
{
// if ( !IsSTATE(EM_REQ_VISIBLENONE) && !IsSTATE(EM_REQ_VISIBLEOFF) )
{
D3DXMATRIX matEffect;
D3DXMatrixTranslation ( &matEffect, m_vPos.x, m_vPos.y, m_vPos.z );
// STARGETID sTargetID(CROW_PC,pCharData->dwGaeaID,m_vPos);
DxEffGroupPlayer::GetInstance().NewEffGroup
(
GLCONST_CHAR::strREBIRTH_EFFECT.c_str(),
matEffect,
&sTargetID
);
}
}
if ( !m_pSkinChar->GETCURANIMNODE() )
{
CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->GetFileName(), m_pSkinChar->GETCURMTYPE(), m_pSkinChar->GETCURSTYPE() );
m_pSkinChar->DEFAULTANI ();
}
return S_OK;
}*/
HRESULT CCharacterWindow::SkinLoad ( LPDIRECT3DDEVICEQ pd3dDevice )
{
EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass);
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE(m_pSkinChar);
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE );
UpdateSuit();
return S_OK;
}
HRESULT CCharacterWindow::SkinLoadForTool( LPDIRECT3DDEVICEQ pd3dDevice, const char* szFile )
{
EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass);
DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( szFile, pd3dDevice, TRUE );
if ( !pSkinChar ) return E_FAIL;
SAFE_DELETE(m_pSkinChar);
m_pSkinChar = new DxSkinChar;
m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE );
// UpdateSuit( TRUE );
// Note : 1.AABB Boxธฆ ฐกมฎฟยดู. 2.ณ๔ภฬธฆ ฐ่ปEุ ณ๕ดยดู.
m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg );
m_fHeight = m_vMaxOrg.y - m_vMinOrg.y;
// Note : ฟกดฯธภฬผว รสฑโศญ.
//
if ( m_pSkinChar )
{
// m_pSkinChar->SELECTANI ( AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE );
//Added by geger009 | 11-8-2012 | add VPS and VCF code
if ( m_pSkinChar->m_pSkinVehicle )
{
m_pSkinChar->m_pSkinVehicle->SELECTANI( AN_GUARD_N , AN_SUB_NONE );
}
if ( !m_pSkinChar->GETCURANIMNODE() )
{
// CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->m_szFileName, AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE );
m_pSkinChar->DEFAULTANI ();
}
}
// Note : ฝบลณ น๖วม, ป๓ลยภฬปEศฟฐEปผบ.
// FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir );
return S_OK;
}
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 )
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;
m_pClubMark->SetVisibleSingle ( FALSE );
{
hr = CUIWindowEx::Render ( pd3dDevice );
if( FAILED ( hr ) ) return hr;
}
m_pClubMark->SetVisibleSingle ( TRUE );
GLCLUB& sCLUB = GLGaeaClient::GetInstance().GetCharacter ()->m_sCLUB;
// ฑๆตๅฟ๘ภฬ พฦดั ฐๆฟ์
if ( sCLUB.m_dwID==CLUB_NULL ) return S_OK;
int nServer = static_cast<int>(GLGaeaClient::GetInstance().GetCharacter()->m_dwServerID);
int nID = static_cast<int>(sCLUB.m_dwID);
DWORD dwVer = sCLUB.m_dwMarkVER;
//if ( !DxClubMan::GetInstance().IsValidData ( nServer, nID, dwVer ) ) return S_OK;
const DxClubMan::DXDATA& sMarkData = DxClubMan::GetInstance().GetClubData ( pd3dDevice, nServer, nID, dwVer );
//const UIRECT& rcGlobalPos = m_pClubMark->GetGlobalPos ();
//m_pClubMark->SetGlobalPos ( UIRECT ( ceil(rcGlobalPos.left), ceil(rcGlobalPos.top),
// ceil(rcGlobalPos.sizeX), ceil(rcGlobalPos.sizeY) ) );
m_pClubMark->SetTexturePos ( 0, sMarkData.vTex_1_LU );
m_pClubMark->SetTexturePos ( 1, sMarkData.vTex_2_RU );
m_pClubMark->SetTexturePos ( 3, sMarkData.vTex_3_LD );
m_pClubMark->SetTexturePos ( 2, sMarkData.vTex_4_RD );
// ธธต้พ๎พ฿วิ
m_pClubMark->SetTexture ( sMarkData.pddsTexture );
{
hr = m_pClubMark->Render ( pd3dDevice );
if( FAILED ( hr ) ) return hr;
}
return S_OK;
}
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( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) {
m_pPageWearEx->SetVisibleSingle ( FALSE ); }
else { m_pPageWear->SetVisibleSingle ( FALSE ); }
}
if ( nPage == 0 )
{
m_pPageButton[0]->SetFlip ( TRUE );
if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) {
if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) {
m_pPageWearEx->SetVisibleSingle ( TRUE ); }
else { m_pPageWear->SetVisibleSingle ( TRUE ); }
}
}
else 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 );
}
}
When i click vehicle and pet tap its bugtrap error
How to fix sir
View attachment 143961View attachment 143957View attachment 143958
Code:#include "StdAfx.h"#include "./CharacterWindow.h" #include "DxGlobalStage.h" #include "./GLCharClient.h" #include "./GLFactEffect.h" #include "./GLGaeaClient.h" #include "./GLItemMan.h" #include "./GLStrikeM.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 "GLChar.h" #include "GLCharData.h" #include "DxGameStage.h" #include "../RanClientUILib/Interface/InnerInterface.h" #include "../../EngineLib/DxCommon/DxShadowMap.h" #include "../../EngineLib/DxEffect/Char/DxEffCharData.h" #include "../../EngineLib/DxEffect/Single/DxEffGroupPlayer.h" #include "../RanClientUILib/Interface/ItemShopIconMan.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 "DxClubMan.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_pAButton ( NULL ), m_pALHandSlot ( NULL ), m_pARHandSlot ( NULL ), m_pBButton ( NULL ), m_pBLHandSlot ( NULL ), m_pBRHandSlot ( 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 ), //by J.A Dev for guild name m_pBadgeText ( NULL ), m_pSchoolText ( NULL ), m_pCopyRightText ( NULL ), m_pPKStateText ( 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_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), m_vMax(6,20,6), m_vMin(-6,0,-6), m_fHeight(20.f) { 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", }; CBasicComboBox* pComboBox = NULL; CBasicComboBoxRollOver* pComboBoxRollOver = NULL; pComboBox = new CBasicComboBox; pComboBox->CreateSub ( this, "BASIC_COMBOBOX", UI_FLAG_XSIZE, NICKNAME_COMBO_OPEN ); pComboBox->CreateBaseComboBox ( "NICKNAME_COMBO_OPEN" ); RegisterControl ( pComboBox ); m_pComboBoxNickNameOpen = pComboBox; pComboBoxRollOver = new CBasicComboBoxRollOver; pComboBoxRollOver->CreateSub ( this, "BASIC_COMBOBOX_ROLLOVER", UI_FLAG_XSIZE | UI_FLAG_YSIZE, NICKNAME_COMBO_ROLLOVER ); pComboBoxRollOver->CreateBaseComboBoxRollOver ( "NICKNAME_COMBO_ROLLOVER" ); pComboBoxRollOver->SetVisibleSingle ( FALSE ); RegisterControl ( pComboBoxRollOver ); m_pComboBoxNickNameRollOver = pComboBoxRollOver; 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 ); CreateControl ( "CHARACTER_REGIST_FIRE_ICON" ); CreateControl ( "CHARACTER_REGIST_ICE_ICON" ); CreateControl ( "CHARACTER_REGIST_ELECTRIC_ICON" ); CreateControl ( "CHARACTER_REGIST_POISON_ICON" ); CreateControl ( "CHARACTER_REGIST_SPIRIT_ICON" ); } if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) { 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 ); } else { 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 ); SetVisiblePage ( 0 ); } } else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) { 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 ); } else { 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_pVehicleWindow = new CVehicleWindow; m_pVehicleWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_VEHICLEWINDOW ); m_pVehicleWindow->CreateSubControl (); RegisterControl ( m_pVehicleWindow ); m_pPetWindow = new CPetWindow; m_pPetWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_PETWINDOW ); m_pPetWindow->CreateSubControl (); RegisterControl ( m_pPetWindow ); SetVisibleSingle( 0 ); { m_pClubMark = CreateControl ( "CLUB_WINDOW_MARK_CHARACTERWINDOW" ); m_pClubMark->SetUseRender ( TRUE ); } m_pAcademy_Department = CreateStaticControl ( "RNCHARACTER_WINDOW_ACADEMY_DEPARTMENT_TEXT", pFont, nAlignLeft ); m_pSchoolText = CreateStaticControl ( "CHARACTER_SCHOOL_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X ); m_pCopyRightText = CreateStaticControl ( "CHARACTER_COPYRIGHT_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X ); m_pPKStateText = CreateStaticControl ( "CHARACTER_PKSTATE_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 ); m_pBadgeText = CreateStaticControl ( "CHARACTER_BADGE_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X ); { CUIControl TempControl; TempControl.Create ( 1, "CHARACTER_SCHOOL_MARK" ); const UIRECT& rcLocalPos = TempControl.GetLocalPos (); CString strSchoolMark[] = { "NAME_DISPLAY_SCHOOL1", "NAME_DISPLAY_SCHOOL2", "NAME_DISPLAY_SCHOOL3" }; for ( int i = 0; i < nSCHOOL_MARK; ++i ) { m_pSchoolMark[i] = CreateControl ( strSchoolMark[i].GetString() ); m_pSchoolMark[i]->SetLocalPos ( rcLocalPos ); m_pSchoolMark[i]->SetVisibleSingle ( FALSE ); } } } 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 ); } void CCharacterWindow::LoadComboData() { m_pComboBoxNickNameRollOver->ClearText (); for ( int i = 0; i < EMPTYITEMOPT_SIZE; i++ ) { m_pComboBoxNickNameRollOver->SetTextAlign( TEXT_ALIGN_CENTER_X ); m_pComboBoxNickNameRollOver->AddText( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", i) ); } } void CCharacterWindow::LoadItem () { m_pComboBoxNickNameOpen->SetTextAlign( TEXT_ALIGN_CENTER_X ); m_pComboBoxNickNameOpen->SetText ( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", nIndex) ); } /*void CCharacterWindow::SetVisibleSingle ( BOOL bVisible ) { CUIWindow::SetVisibleSingle( bVisible ); if( bVisible ) { const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic (); if( m_pPageWearEx ) { if( GLGaeaClient::GetInstance().GetCharacter()->IsUseArmSub() ) { m_pPageWearEx->SetTabButton( FALSE ); } else { m_pPageWearEx->SetTabButton( TRUE ); } } } }*/ void CCharacterWindow::SetArmSwapTabButton( BOOL bArmSub ) { if( m_pPageWearEx ) { m_pPageWearEx->SetTabButton( bArmSub ); } } 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::Create (); //{ //} // Note : Adding : GM Glenox | 11-16-2013 | Character Render /*HRESULT CCharacterWindow::Create (DWORD dwGaeaID, LPDIRECT3DDEVICEQ pd3dDevice ) { GASSERT(pd3dDevice); HRESULT hr; m_pd3dDevice = pd3dDevice; m_dwGaeaID = dwGaeaID; // Note : Adding : GM Glenox | 11-16-2013 | Character Render // EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass ); DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE ); if ( !pSkinChar ) return E_FAIL; SAFE_DELETE(m_pSkinChar); m_pSkinChar = new DxSkinChar; m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE ); UpdateSuit (); // Note : Control Hieght m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg ); m_fHeight = m_vMaxOrg.y - m_vMinOrg.y; // Note : Adding : GM Glenox | 11-16-2013 | Character Render // /* if ( pCharData->dwFLAGS & SDROP_CHAR::CHAR_GEN ) { // if ( !IsSTATE(EM_REQ_VISIBLENONE) && !IsSTATE(EM_REQ_VISIBLEOFF) ) { D3DXMATRIX matEffect; D3DXMatrixTranslation ( &matEffect, m_vPos.x, m_vPos.y, m_vPos.z ); // STARGETID sTargetID(CROW_PC,pCharData->dwGaeaID,m_vPos); DxEffGroupPlayer::GetInstance().NewEffGroup ( GLCONST_CHAR::strREBIRTH_EFFECT.c_str(), matEffect, &sTargetID ); } } if ( !m_pSkinChar->GETCURANIMNODE() ) { CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->GetFileName(), m_pSkinChar->GETCURMTYPE(), m_pSkinChar->GETCURSTYPE() ); m_pSkinChar->DEFAULTANI (); } return S_OK; }*/ HRESULT CCharacterWindow::SkinLoad ( LPDIRECT3DDEVICEQ pd3dDevice ) { EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass); DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE ); if ( !pSkinChar ) return E_FAIL; SAFE_DELETE(m_pSkinChar); m_pSkinChar = new DxSkinChar; m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE ); UpdateSuit(); return S_OK; } HRESULT CCharacterWindow::SkinLoadForTool( LPDIRECT3DDEVICEQ pd3dDevice, const char* szFile ) { EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass); DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( szFile, pd3dDevice, TRUE ); if ( !pSkinChar ) return E_FAIL; SAFE_DELETE(m_pSkinChar); m_pSkinChar = new DxSkinChar; m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE ); // UpdateSuit( TRUE ); // Note : 1.AABB Boxธฆ ฐกมฎฟยดู. 2.ณ๔ภฬธฆ ฐ่ปEุ ณ๕ดยดู. m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg ); m_fHeight = m_vMaxOrg.y - m_vMinOrg.y; // Note : ฟกดฯธภฬผว รสฑโศญ. // if ( m_pSkinChar ) { // m_pSkinChar->SELECTANI ( AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE ); //Added by geger009 | 11-8-2012 | add VPS and VCF code if ( m_pSkinChar->m_pSkinVehicle ) { m_pSkinChar->m_pSkinVehicle->SELECTANI( AN_GUARD_N , AN_SUB_NONE ); } if ( !m_pSkinChar->GETCURANIMNODE() ) { // CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->m_szFileName, AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE ); m_pSkinChar->DEFAULTANI (); } } // Note : ฝบลณ น๖วม, ป๓ลยภฬปEศฟฐEปผบ. // FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir ); return S_OK; } 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 ) 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; m_pClubMark->SetVisibleSingle ( FALSE ); { hr = CUIWindowEx::Render ( pd3dDevice ); if( FAILED ( hr ) ) return hr; } m_pClubMark->SetVisibleSingle ( TRUE ); GLCLUB& sCLUB = GLGaeaClient::GetInstance().GetCharacter ()->m_sCLUB; // ฑๆตๅฟ๘ภฬ พฦดั ฐๆฟ์ if ( sCLUB.m_dwID==CLUB_NULL ) return S_OK; int nServer = static_cast<int>(GLGaeaClient::GetInstance().GetCharacter()->m_dwServerID); int nID = static_cast<int>(sCLUB.m_dwID); DWORD dwVer = sCLUB.m_dwMarkVER; //if ( !DxClubMan::GetInstance().IsValidData ( nServer, nID, dwVer ) ) return S_OK; const DxClubMan::DXDATA& sMarkData = DxClubMan::GetInstance().GetClubData ( pd3dDevice, nServer, nID, dwVer ); //const UIRECT& rcGlobalPos = m_pClubMark->GetGlobalPos (); //m_pClubMark->SetGlobalPos ( UIRECT ( ceil(rcGlobalPos.left), ceil(rcGlobalPos.top), // ceil(rcGlobalPos.sizeX), ceil(rcGlobalPos.sizeY) ) ); m_pClubMark->SetTexturePos ( 0, sMarkData.vTex_1_LU ); m_pClubMark->SetTexturePos ( 1, sMarkData.vTex_2_RU ); m_pClubMark->SetTexturePos ( 3, sMarkData.vTex_3_LD ); m_pClubMark->SetTexturePos ( 2, sMarkData.vTex_4_RD ); // ธธต้พ๎พ฿วิ m_pClubMark->SetTexture ( sMarkData.pddsTexture ); { hr = m_pClubMark->Render ( pd3dDevice ); if( FAILED ( hr ) ) return hr; } return S_OK; } 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( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } if ( nPage == 0 ) { m_pPageButton[0]->SetFlip ( TRUE ); if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } } else 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 ); } }
i think you nid to put code in characterwindowmsg.cpp
i think you nid to put a code in characterwindowmsg.cpp ?
#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"
#include "BasicComboBox.h"
#include "BasicComboBoxRollOver.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 NICKNAME_COMBO_OPEN:
{
if ( CHECK_MOUSE_IN ( dwMsg ) )
{
if ( dwMsg & UIMSG_LB_DOWN )
{
m_pComboBoxNickNameRollOver->SetVisibleSingle ( TRUE );
//m_pComboBoxNickNameRollOver->SetScrollPercent ( 0.0f );
}
}
}
break;
case NICKNAME_COMBO_ROLLOVER:
{
if ( CHECK_MOUSEIN_LBUPLIKE ( dwMsg ) )
{
nIndex = m_pComboBoxNickNameRollOver->GetSelectIndex ();
if ( nIndex < 0 ) return ;
LoadItem ();
m_pComboBoxNickNameRollOver->SetVisibleSingle ( FALSE );
}
}
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;
}
}
share full neo source code ready to compile with new interface and 237 skill working ep9 weapons and lightning on ups!!
Source Code
To view the content, you need to sign in or register
Client
To view the content, you need to sign in or register
Patch
To view the content, you need to sign in or register
Rcc Pass
1: 13#@$$#%#raFFy08)(4%$%$^%^%*&^*^&*^&*^@$#@$#@WED$%#$%$#
2: !@#!@#aA#!FAS$%@S%Jean$!#Mae%@#$Rose!!@#Mier!@#%#$%&%^^^$@#$
3: ea&"HS%/6WYKgUu:v-%Z+i9#tYf.s5.+1{#lf:bj6WdH~l}B1#r%j
After you put patch in the client get the xml in source code folder and find Needed files na folder
Merry Christmas XD
how to fix white backgroand anyone can help me please
how to fix white backgroand anyone can help me please
wrong data\gui or texture\gui. Read the whole thread i'm sure you can find a compatible one.
Looking for someone who can share their skill.ssf and SkillStrTable.txt
Concern: How to remove the ?????? on the inactive skills. Tried to remove the requirements to set skill active but still no luck.
Assassins: Animation and skill problem. After casting skill animation stop or not working for next skill.
Anyone got fix? Or How to?
Reply = Like
wrong data\gui or texture\gui. Read the whole thread i'm sure you can find a compatible one.
Looking for someone who can share their skill.ssf and SkillStrTable.txt
Concern: How to remove the ?????? on the inactive skills. Tried to remove the requirements to set skill active but still no luck.
Assassins: Animation and skill problem. After casting skill animation stop or not working for next skill.
Anyone got fix? Or How to?
Reply = Like
I think u didnt use raffy patch?
When i click vehicle and pet tap its bugtrap error
How to fix sir
View attachment 143961View attachment 143957View attachment 143958
Code:#include "StdAfx.h"#include "./CharacterWindow.h" #include "DxGlobalStage.h" #include "./GLCharClient.h" #include "./GLFactEffect.h" #include "./GLGaeaClient.h" #include "./GLItemMan.h" #include "./GLStrikeM.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 "GLChar.h" #include "GLCharData.h" #include "DxGameStage.h" #include "../RanClientUILib/Interface/InnerInterface.h" #include "../../EngineLib/DxCommon/DxShadowMap.h" #include "../../EngineLib/DxEffect/Char/DxEffCharData.h" #include "../../EngineLib/DxEffect/Single/DxEffGroupPlayer.h" #include "../RanClientUILib/Interface/ItemShopIconMan.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 "DxClubMan.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_pAButton ( NULL ), m_pALHandSlot ( NULL ), m_pARHandSlot ( NULL ), m_pBButton ( NULL ), m_pBLHandSlot ( NULL ), m_pBRHandSlot ( 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 ), //by J.A Dev for guild name m_pBadgeText ( NULL ), m_pSchoolText ( NULL ), m_pCopyRightText ( NULL ), m_pPKStateText ( 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_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), m_vMax(6,20,6), m_vMin(-6,0,-6), m_fHeight(20.f) { 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", }; CBasicComboBox* pComboBox = NULL; CBasicComboBoxRollOver* pComboBoxRollOver = NULL; pComboBox = new CBasicComboBox; pComboBox->CreateSub ( this, "BASIC_COMBOBOX", UI_FLAG_XSIZE, NICKNAME_COMBO_OPEN ); pComboBox->CreateBaseComboBox ( "NICKNAME_COMBO_OPEN" ); RegisterControl ( pComboBox ); m_pComboBoxNickNameOpen = pComboBox; pComboBoxRollOver = new CBasicComboBoxRollOver; pComboBoxRollOver->CreateSub ( this, "BASIC_COMBOBOX_ROLLOVER", UI_FLAG_XSIZE | UI_FLAG_YSIZE, NICKNAME_COMBO_ROLLOVER ); pComboBoxRollOver->CreateBaseComboBoxRollOver ( "NICKNAME_COMBO_ROLLOVER" ); pComboBoxRollOver->SetVisibleSingle ( FALSE ); RegisterControl ( pComboBoxRollOver ); m_pComboBoxNickNameRollOver = pComboBoxRollOver; 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 ); CreateControl ( "CHARACTER_REGIST_FIRE_ICON" ); CreateControl ( "CHARACTER_REGIST_ICE_ICON" ); CreateControl ( "CHARACTER_REGIST_ELECTRIC_ICON" ); CreateControl ( "CHARACTER_REGIST_POISON_ICON" ); CreateControl ( "CHARACTER_REGIST_SPIRIT_ICON" ); } if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) { 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 ); } else { 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 ); SetVisiblePage ( 0 ); } } else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) { 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 ); } else { 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 ); } } else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) { 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 ); } else { 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_pVehicleWindow = new CVehicleWindow; m_pVehicleWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_VEHICLEWINDOW ); m_pVehicleWindow->CreateSubControl (); RegisterControl ( m_pVehicleWindow ); m_pPetWindow = new CPetWindow; m_pPetWindow->CreateSub ( this, "RNCHARACTER_WINDOW_WEAR_WINDOW", UI_FLAG_DEFAULT, CHARACTER_PETWINDOW ); m_pPetWindow->CreateSubControl (); RegisterControl ( m_pPetWindow ); SetVisibleSingle( 0 ); { m_pClubMark = CreateControl ( "CLUB_WINDOW_MARK_CHARACTERWINDOW" ); m_pClubMark->SetUseRender ( TRUE ); } m_pAcademy_Department = CreateStaticControl ( "RNCHARACTER_WINDOW_ACADEMY_DEPARTMENT_TEXT", pFont, nAlignLeft ); m_pSchoolText = CreateStaticControl ( "CHARACTER_SCHOOL_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X ); m_pCopyRightText = CreateStaticControl ( "CHARACTER_COPYRIGHT_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X ); m_pPKStateText = CreateStaticControl ( "CHARACTER_PKSTATE_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 ); m_pBadgeText = CreateStaticControl ( "CHARACTER_BADGE_TEXT", pFont8Shadow, TEXT_ALIGN_CENTER_X ); { CUIControl TempControl; TempControl.Create ( 1, "CHARACTER_SCHOOL_MARK" ); const UIRECT& rcLocalPos = TempControl.GetLocalPos (); CString strSchoolMark[] = { "NAME_DISPLAY_SCHOOL1", "NAME_DISPLAY_SCHOOL2", "NAME_DISPLAY_SCHOOL3" }; for ( int i = 0; i < nSCHOOL_MARK; ++i ) { m_pSchoolMark[i] = CreateControl ( strSchoolMark[i].GetString() ); m_pSchoolMark[i]->SetLocalPos ( rcLocalPos ); m_pSchoolMark[i]->SetVisibleSingle ( FALSE ); } } } 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 ); } void CCharacterWindow::LoadComboData() { m_pComboBoxNickNameRollOver->ClearText (); for ( int i = 0; i < EMPTYITEMOPT_SIZE; i++ ) { m_pComboBoxNickNameRollOver->SetTextAlign( TEXT_ALIGN_CENTER_X ); m_pComboBoxNickNameRollOver->AddText( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", i) ); } } void CCharacterWindow::LoadItem () { m_pComboBoxNickNameOpen->SetTextAlign( TEXT_ALIGN_CENTER_X ); m_pComboBoxNickNameOpen->SetText ( (char*)ID2GAMEWORD("PARTY_MODAL_ITEM_OPTION", nIndex) ); } /*void CCharacterWindow::SetVisibleSingle ( BOOL bVisible ) { CUIWindow::SetVisibleSingle( bVisible ); if( bVisible ) { const GLCHARLOGIC& sCharData = GLGaeaClient::GetInstance().GetCharacterLogic (); if( m_pPageWearEx ) { if( GLGaeaClient::GetInstance().GetCharacter()->IsUseArmSub() ) { m_pPageWearEx->SetTabButton( FALSE ); } else { m_pPageWearEx->SetTabButton( TRUE ); } } } }*/ void CCharacterWindow::SetArmSwapTabButton( BOOL bArmSub ) { if( m_pPageWearEx ) { m_pPageWearEx->SetTabButton( bArmSub ); } } 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::Create (); //{ //} // Note : Adding : GM Glenox | 11-16-2013 | Character Render /*HRESULT CCharacterWindow::Create (DWORD dwGaeaID, LPDIRECT3DDEVICEQ pd3dDevice ) { GASSERT(pd3dDevice); HRESULT hr; m_pd3dDevice = pd3dDevice; m_dwGaeaID = dwGaeaID; // Note : Adding : GM Glenox | 11-16-2013 | Character Render // EMCHARINDEX emIndex = CharClassToIndex( m_CharacterNew->m_emClass ); DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE ); if ( !pSkinChar ) return E_FAIL; SAFE_DELETE(m_pSkinChar); m_pSkinChar = new DxSkinChar; m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE ); UpdateSuit (); // Note : Control Hieght m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg ); m_fHeight = m_vMaxOrg.y - m_vMinOrg.y; // Note : Adding : GM Glenox | 11-16-2013 | Character Render // /* if ( pCharData->dwFLAGS & SDROP_CHAR::CHAR_GEN ) { // if ( !IsSTATE(EM_REQ_VISIBLENONE) && !IsSTATE(EM_REQ_VISIBLEOFF) ) { D3DXMATRIX matEffect; D3DXMatrixTranslation ( &matEffect, m_vPos.x, m_vPos.y, m_vPos.z ); // STARGETID sTargetID(CROW_PC,pCharData->dwGaeaID,m_vPos); DxEffGroupPlayer::GetInstance().NewEffGroup ( GLCONST_CHAR::strREBIRTH_EFFECT.c_str(), matEffect, &sTargetID ); } } if ( !m_pSkinChar->GETCURANIMNODE() ) { CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->GetFileName(), m_pSkinChar->GETCURMTYPE(), m_pSkinChar->GETCURSTYPE() ); m_pSkinChar->DEFAULTANI (); } return S_OK; }*/ HRESULT CCharacterWindow::SkinLoad ( LPDIRECT3DDEVICEQ pd3dDevice ) { EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass); DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( GLCONST_CHAR::szCharSkin[emIndex], pd3dDevice, TRUE ); if ( !pSkinChar ) return E_FAIL; SAFE_DELETE(m_pSkinChar); m_pSkinChar = new DxSkinChar; m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE ); UpdateSuit(); return S_OK; } HRESULT CCharacterWindow::SkinLoadForTool( LPDIRECT3DDEVICEQ pd3dDevice, const char* szFile ) { EMCHARINDEX emIndex = CharClassToIndex(m_CharacterNew->m_emClass); DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( szFile, pd3dDevice, TRUE ); if ( !pSkinChar ) return E_FAIL; SAFE_DELETE(m_pSkinChar); m_pSkinChar = new DxSkinChar; m_pSkinChar->SetCharData ( pSkinChar, pd3dDevice, TRUE ); // UpdateSuit( TRUE ); // Note : 1.AABB Boxธฆ ฐกมฎฟยดู. 2.ณ๔ภฬธฆ ฐ่ปEุ ณ๕ดยดู. m_pSkinChar->GetAABBBox( m_vMaxOrg, m_vMinOrg ); m_fHeight = m_vMaxOrg.y - m_vMinOrg.y; // Note : ฟกดฯธภฬผว รสฑโศญ. // if ( m_pSkinChar ) { // m_pSkinChar->SELECTANI ( AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE ); //Added by geger009 | 11-8-2012 | add VPS and VCF code if ( m_pSkinChar->m_pSkinVehicle ) { m_pSkinChar->m_pSkinVehicle->SELECTANI( AN_GUARD_N , AN_SUB_NONE ); } if ( !m_pSkinChar->GETCURANIMNODE() ) { // CDebugSet::ToLogFile ( "ERORR : current animation node null point error [ %s ] [ M %d S %d ]", m_pSkinChar->m_szFileName, AN_SHOCK, GLCHARLOGIC::m_emANISUBTYPE ); m_pSkinChar->DEFAULTANI (); } } // Note : ฝบลณ น๖วม, ป๓ลยภฬปEศฟฐEปผบ. // FACTEFF::ReNewEffect ( STARGETID(CROW_PC,m_dwGaeaID,m_vPos), m_pSkinChar, m_sSKILLFACT, m_sSTATEBLOWS, m_matTrans, m_vDir ); return S_OK; } 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 ) 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; m_pClubMark->SetVisibleSingle ( FALSE ); { hr = CUIWindowEx::Render ( pd3dDevice ); if( FAILED ( hr ) ) return hr; } m_pClubMark->SetVisibleSingle ( TRUE ); GLCLUB& sCLUB = GLGaeaClient::GetInstance().GetCharacter ()->m_sCLUB; // ฑๆตๅฟ๘ภฬ พฦดั ฐๆฟ์ if ( sCLUB.m_dwID==CLUB_NULL ) return S_OK; int nServer = static_cast<int>(GLGaeaClient::GetInstance().GetCharacter()->m_dwServerID); int nID = static_cast<int>(sCLUB.m_dwID); DWORD dwVer = sCLUB.m_dwMarkVER; //if ( !DxClubMan::GetInstance().IsValidData ( nServer, nID, dwVer ) ) return S_OK; const DxClubMan::DXDATA& sMarkData = DxClubMan::GetInstance().GetClubData ( pd3dDevice, nServer, nID, dwVer ); //const UIRECT& rcGlobalPos = m_pClubMark->GetGlobalPos (); //m_pClubMark->SetGlobalPos ( UIRECT ( ceil(rcGlobalPos.left), ceil(rcGlobalPos.top), // ceil(rcGlobalPos.sizeX), ceil(rcGlobalPos.sizeY) ) ); m_pClubMark->SetTexturePos ( 0, sMarkData.vTex_1_LU ); m_pClubMark->SetTexturePos ( 1, sMarkData.vTex_2_RU ); m_pClubMark->SetTexturePos ( 3, sMarkData.vTex_3_LD ); m_pClubMark->SetTexturePos ( 2, sMarkData.vTex_4_RD ); // ธธต้พ๎พ฿วิ m_pClubMark->SetTexture ( sMarkData.pddsTexture ); { hr = m_pClubMark->Render ( pd3dDevice ); if( FAILED ( hr ) ) return hr; } return S_OK; } 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( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) { m_pPageWearEx->SetVisibleSingle ( FALSE ); } else { m_pPageWear->SetVisibleSingle ( FALSE ); } } if ( nPage == 0 ) { m_pPageButton[0]->SetFlip ( TRUE ); if( nClassType == GLCI_FIGHTER_M || nClassType == GLCI_FIGHTER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_BRAWLER ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_ARMS_M || nClassType == GLCI_ARMS_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SWORDSMAN ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_ARCHER_M || nClassType == GLCI_ARCHER_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ARCHER) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_SPIRIT_M || nClassType == GLCI_SPIRIT_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SHAMMAN ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_EXTREME_M || nClassType == GLCI_EXTREME_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_EXTREME ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_SCIENCE_M || nClassType == GLCI_SCIENCE_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_SCIENCE ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } else if( nClassType == GLCI_ASSASSIN_M || nClassType == GLCI_ASSASSIN_W ) { if (GLCONST_CHAR::bDUAL_WEAPON_ASSASSIN ) { m_pPageWearEx->SetVisibleSingle ( TRUE ); } else { m_pPageWear->SetVisibleSingle ( TRUE ); } } } else 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 ); } }
This source pet dual skill not working right?
The source shared by raffy dont have pet and vehicle tap included u must add it by ur own![]()
bro Can u tell me how to add it.
-----------------------------------------------
ERROR REPORT
-----------------------------------------------
Execution time : 2014-03-06 23:38:55
[2014-03-06 23:38:59] 117,15, IN_117_015 : À߸øµÈ apply numÀÔ´Ï´Ù.
[2014-03-06 23:38:59] 117,19, IN_117_019 : À߸øµÈ apply numÀÔ´Ï´Ù.
[2014-03-06 23:39:00] ERROR : SaleInvenLoadFile(), inven_Premium_3.crowsale
[2014-03-06 23:39:00] ERROR : SaleInvenLoadFile(), inven_SP_blueEvil_3.crowsale
[2014-03-06 23:39:04] file read error : C:\Users\testran\Ran World New Client\Data\Animation\a_m_safezone.bin
comment.ini already inside in 1logic.rcc but error still in client only.
in server site or application all works.