Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1010 lines
39 KiB
C++
1010 lines
39 KiB
C++
// HumanChrCreateLeft.cpp: implementation of the CHumanChrCreateLeft class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "ClientMain.h"
|
|
#include "FrameTimer.h"
|
|
#include "HumanChrCreateLeft.h"
|
|
#include "GUITextEdit.h"
|
|
#include "HumanGUI.h"
|
|
#include "Item\ItemMgr.h"
|
|
#include "GUIMessageBoxManager.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Construction/Destruction
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
CHumanChrCreate::CHumanChrCreate()
|
|
{
|
|
|
|
}
|
|
|
|
CHumanChrCreate::~CHumanChrCreate()
|
|
{
|
|
|
|
}
|
|
|
|
BOOL CHumanChrCreate::Init(unsigned short x, unsigned short y)
|
|
{
|
|
CSprite *lpSprite;
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22, 37, 0, 0, 226, 256, g_ClientMain.m_lpInterface->m_lstTexture[3]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22, 293, 0, 0, 226, 249, g_ClientMain.m_lpInterface->m_lstTexture[4]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(549, 37, 0, 0, 227, 256, g_ClientMain.m_lpInterface->m_lstTexture[6]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(549, 293, 0, 0, 227, 249, g_ClientMain.m_lpInterface->m_lstTexture[7]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
// +1 / Lv UP
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22 + 186, 37 + 297, 155, 212, 185, 241, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22 + 186, 37 + 332, 155, 212, 185, 241, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22 + 186, 37 + 367, 155, 212, 185, 241, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22 + 186, 37 + 402, 155, 212, 185, 241, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
lpSprite = new CSprite;
|
|
lpSprite->Create(22 + 186, 37 + 436, 155, 212, 185, 241, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
m_lstSprite.push_back(lpSprite);
|
|
|
|
// 암수 버튼
|
|
CGUIButton *lpButton;
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(123, 120, 0, 0, 32, 32, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(123, 120, 32, 0, 64, 32, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(123, 120, 64, 0, 96, 32, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(168, 120, 96, 0, 128, 32, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(168, 120, 128, 0, 160, 32, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(168, 120, 160, 0, 192, 32, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// 머리스타일
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(123, 163, 0, 32, 32, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(123, 163, 32, 32, 64, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(123, 163, 64, 32, 96, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(168, 163, 96, 32, 128, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(168, 163, 128, 32, 160, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(168, 163, 160, 32, 192, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// 얼굴타입
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(123, 206, 0, 32, 32, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(123, 206, 32, 32, 64, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(123, 206, 64, 32, 96, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(168, 206, 96, 32, 128, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(168, 206, 128, 32, 160, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(168, 206, 160, 32, 192, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// STR
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(129, 298, 192, 0, 216, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(129, 298, 192, 24, 216, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(129, 298, 192, 48, 216, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(158, 298, 216, 0, 240, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(158, 298, 216, 24, 240, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(158, 298, 216, 48, 240, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// DEX
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(129, 333, 192, 0, 216, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(129, 333, 192, 24, 216, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(129, 333, 192, 48, 216, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(158, 333, 216, 0, 240, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(158, 333, 216, 24, 240, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(158, 333, 216, 48, 240, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// CON
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(129, 368, 192, 0, 216, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(129, 368, 192, 24, 216, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(129, 368, 192, 48, 216, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(158, 368, 216, 0, 240, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(158, 368, 216, 24, 240, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(158, 368, 216, 48, 240, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// INT
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(129, 403, 192, 0, 216, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(129, 403, 192, 24, 216, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(129, 403, 192, 48, 216, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(158, 403, 216, 0, 240, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(158, 403, 216, 24, 240, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(158, 403, 216, 48, 240, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// WIS
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(129, 437, 192, 0, 216, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(129, 437, 192, 24, 216, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(129, 437, 192, 48, 216, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(158, 437, 216, 0, 240, 24, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(158, 437, 216, 24, 240, 48, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(158, 437, 216, 48, 240, 72, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(22, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// 클래스
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_CHECK;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(18, 107, 0, 0, 192, 33, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(18, 107, 0, 132, 192, 165, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(18, 107, 0, 33, 192, 66, g_ClientMain.m_lpInterface->m_lstTexture[9]);
|
|
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[118]);
|
|
lpButton->m_lpTooltip->SetAlign(DT_LEFT);
|
|
lpButton->SetMove(549, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_CHECK;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(18, 142, 0, 33, 192, 66, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(18, 142, 0, 165, 192, 198, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(18, 142, 0, 66, 192, 99, g_ClientMain.m_lpInterface->m_lstTexture[9]);
|
|
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[119]);
|
|
lpButton->m_lpTooltip->SetAlign(DT_LEFT);
|
|
lpButton->SetMove(549, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_CHECK;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(18, 177, 0, 66, 192, 99, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(18, 177, 0, 198, 192, 231, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(18, 177, 0, 99, 192, 132, g_ClientMain.m_lpInterface->m_lstTexture[9]);
|
|
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[550]);
|
|
lpButton->m_lpTooltip->SetAlign(DT_LEFT);
|
|
lpButton->SetMove(549, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_CHECK;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(18, 212, 0, 99, 192, 132, g_ClientMain.m_lpInterface->m_lstTexture[8]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(18, 212, 0, 0, 192, 33, g_ClientMain.m_lpInterface->m_lstTexture[9]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(18, 212, 0, 132, 192, 165, g_ClientMain.m_lpInterface->m_lstTexture[9]);
|
|
lpButton->SetTooltip(&m_TooltipManager, g_StringTable.m_strString[551]);
|
|
lpButton->m_lpTooltip->SetAlign(DT_LEFT);
|
|
lpButton->SetMove(549, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// 만들기 / 취소
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(26, 428, 0, 64, 86, 101, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(26, 428, 0, 101, 86, 138, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(26, 428, 0, 138, 86, 175, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(549, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(122, 428, 86, 64, 172, 101, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(122, 428, 86, 101, 172, 138, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(122, 428, 86, 138, 172, 175, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(549, 37);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// 카메라 돌기
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(294, 502, 0, 213, 51, 256, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(294, 502, 51, 213, 102, 256, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(294, 502, 102, 213, 153, 256, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(0, 0);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(454, 502, 172, 72, 223, 115, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(454, 502, 172, 115, 223, 158, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(454, 502, 172, 158, 223, 201, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(0, 0);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
// 셔츠 단추
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(268, 198, 0, 32, 32, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(268, 198, 32, 32, 64, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(268, 198, 64, 32, 96, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(0, 0);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
lpButton = new CGUIButton;
|
|
lpButton->m_nMethod = BUTTON_NORMAL;
|
|
lpButton->m_lpNormalButton = new CSprite;
|
|
lpButton->m_lpNormalButton->Create(487, 198, 96, 32, 128, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpOnMouseButton = new CSprite;
|
|
lpButton->m_lpOnMouseButton->Create(487, 198, 128, 32, 160, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->m_lpClickMouseButton = new CSprite;
|
|
lpButton->m_lpClickMouseButton->Create(487, 198, 160, 32, 192, 64, g_ClientMain.m_lpInterface->m_lstTexture[5]);
|
|
lpButton->SetTooltip(&m_TooltipManager, "");
|
|
lpButton->SetMove(0, 0);
|
|
m_ButtonManager.AddButton(lpButton);
|
|
|
|
m_dwWindowKind = WINDOW_FIX;
|
|
|
|
m_rcWindowSize.left = x; m_rcWindowSize.top = y;
|
|
m_rcWindowSize.right = x; m_rcWindowSize.bottom = y;
|
|
|
|
m_rcMoveEdge.left = x; m_rcMoveEdge.top = y;
|
|
m_rcMoveEdge.right = x; m_rcMoveEdge.bottom = y;
|
|
|
|
InitValue();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CHumanChrCreate::InitValue(void)
|
|
{
|
|
m_dwStr = 20;
|
|
m_dwDex = 20;
|
|
m_dwCon = 20;
|
|
m_dwInt = 20;
|
|
m_dwWis = 20;
|
|
m_dwIP = 5;
|
|
m_wClass = 1;
|
|
m_dwSex = 1;
|
|
m_dwFace = 1;
|
|
m_dwHair = 1;
|
|
m_dwShirt = 0;
|
|
g_TextEdit.SetFocus();
|
|
g_TextEdit.SetEditLength(15);
|
|
m_dwEndTimer = 0xFFFFFFFF;
|
|
g_ClientMain.m_bCreateChar = FALSE;
|
|
|
|
m_ButtonManager.m_lstButton[16]->m_nState = BUTTON_HOLD;
|
|
m_ButtonManager.m_lstButton[17]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[18]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[19]->m_nState = BUTTON_NONE;
|
|
|
|
/* g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr].m_lpChrModel->BeginOutfitSetting();
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr].m_lpChrModel->SetOutfitSlot("BODY", g_ItemMgr.GetEquipName(m_dwShirt + 201));
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr].m_lpChrModel->EndOutfitSetting();*/
|
|
}
|
|
|
|
BOOL CHumanChrCreate::Update(BOOL &bClick, BOOL &bEdge)
|
|
{
|
|
if(m_dwEndTimer != 0xFFFFFFFF)
|
|
{
|
|
if(CFrameTimer::GetUpdateTimer(m_dwEndTimer) >= 1.0f)
|
|
{
|
|
g_ClientMain.m_dwClientState = CHRSELECT_INITSELECT;
|
|
g_ClientMain.m_bCreateChar = FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
if(g_ClientMain.m_bCreateChar)
|
|
{
|
|
if(g_ClientMain.m_Network.GetState() == NS_NOWAITING)
|
|
{
|
|
if(!g_ClientMain.m_Network.GetError())
|
|
{
|
|
CreateCancel();
|
|
} else
|
|
{
|
|
g_ClientMain.m_bCreateChar = FALSE;
|
|
g_TextEdit.InitMessage();
|
|
g_TextEdit.SetFocus();
|
|
}
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
m_ButtonManager.Update();
|
|
m_TooltipManager.Update();
|
|
g_MessageBoxManager.Update();
|
|
|
|
if(m_ButtonManager.m_lstButton[16]->m_nState == BUTTON_OFF)
|
|
m_ButtonManager.m_lstButton[16]->m_nState = BUTTON_CLICK;
|
|
if(m_ButtonManager.m_lstButton[17]->m_nState == BUTTON_OFF)
|
|
m_ButtonManager.m_lstButton[17]->m_nState = BUTTON_CLICK;
|
|
if(m_ButtonManager.m_lstButton[18]->m_nState == BUTTON_OFF)
|
|
m_ButtonManager.m_lstButton[18]->m_nState = BUTTON_CLICK;
|
|
if(m_ButtonManager.m_lstButton[19]->m_nState == BUTTON_OFF)
|
|
m_ButtonManager.m_lstButton[19]->m_nState = BUTTON_CLICK;
|
|
|
|
if(m_ButtonManager.m_lstButton[0]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwSex != 1)
|
|
{
|
|
m_dwSex = 1;
|
|
|
|
float fDir = g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->GetDirection();
|
|
char Temp[10], Temp1[10];
|
|
sprintf(Temp, "HAIR%02d", m_dwHair);
|
|
sprintf(Temp1, "FACE%02d", m_dwFace);
|
|
|
|
for(int cCash=0;cCash<g_CharacterData.m_ChrCashList.num;cCash++)
|
|
{
|
|
if(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel==g_CharacterData.m_ChrCashList[cCash].m_lpChrModel)
|
|
{
|
|
g_ClientMain.m_lpSceneManager->DeleteCharacter(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel);
|
|
g_CharacterData.m_ChrCashList[cCash].m_lpChrModel=g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel=g_ClientMain.m_lpSceneManager->AddCharacter("PC_MAN.GCMDS", Temp1, Temp);
|
|
break;
|
|
}
|
|
}
|
|
//g_ClientMain.m_lpSceneManager->DeleteCharacter(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel);
|
|
//g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel = g_ClientMain.m_lpSceneManager->AddCharacter("PC_MAN.GCMDS", Temp1, Temp);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetPosition(g_ClientMain.m_vecCharSelectPos[g_ClientMain.m_dwSelectChr]);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetDirection(fDir);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->InitWeapon(0);
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[1]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwSex != 2)
|
|
{
|
|
m_dwSex = 2;
|
|
|
|
float fDir = g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->GetDirection();
|
|
char Temp[10], Temp1[10];
|
|
sprintf(Temp, "HAIR%02d", m_dwHair);
|
|
sprintf(Temp1, "FACE%02d", m_dwFace);
|
|
//g_ClientMain.m_lpSceneManager->DeleteCharacter(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel);
|
|
for(int cCash=0;cCash<g_CharacterData.m_ChrCashList.num;cCash++)
|
|
{
|
|
if(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel==g_CharacterData.m_ChrCashList[cCash].m_lpChrModel)
|
|
{
|
|
g_ClientMain.m_lpSceneManager->DeleteCharacter(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel);
|
|
g_CharacterData.m_ChrCashList[cCash].m_lpChrModel=g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel = g_ClientMain.m_lpSceneManager->AddCharacter("PC_WOMAN.GCMDS", Temp1, Temp);
|
|
break;
|
|
}
|
|
}
|
|
//g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel = g_ClientMain.m_lpSceneManager->AddCharacter("PC_WOMAN.GCMDS", Temp1, Temp);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetPosition(g_ClientMain.m_vecCharSelectPos[g_ClientMain.m_dwSelectChr]);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetDirection(fDir);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->InitWeapon(0);
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[2]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_dwHair++;
|
|
if(m_dwHair > 5) m_dwHair = 1;
|
|
char Temp[10];
|
|
sprintf(Temp, "HAIR%02d", m_dwHair);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetStaticSlot("HAIR", Temp);
|
|
} else if(m_ButtonManager.m_lstButton[3]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_dwHair--;
|
|
if(m_dwHair < 1) m_dwHair = 5;
|
|
char Temp[10];
|
|
sprintf(Temp, "HAIR%02d", m_dwHair);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetStaticSlot("HAIR", Temp);
|
|
} else if(m_ButtonManager.m_lstButton[4]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_dwFace++;
|
|
if(m_dwFace > 5) m_dwFace = 1;
|
|
char Temp[10];
|
|
sprintf(Temp, "FACE%02d", m_dwFace);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetStaticSlot("FACE", Temp);
|
|
} else if(m_ButtonManager.m_lstButton[5]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_dwFace--;
|
|
if(m_dwFace < 1) m_dwFace = 5;
|
|
char Temp[10];
|
|
sprintf(Temp, "FACE%02d", m_dwFace);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetStaticSlot("FACE", Temp);
|
|
} else if(m_ButtonManager.m_lstButton[6]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwIP)
|
|
{
|
|
m_dwStr++;
|
|
m_dwIP--;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[7]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwStr > 20)
|
|
{
|
|
m_dwStr--;
|
|
m_dwIP++;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[8]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwIP)
|
|
{
|
|
m_dwDex++;
|
|
m_dwIP--;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[9]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwDex > 20)
|
|
{
|
|
m_dwDex--;
|
|
m_dwIP++;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[10]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwIP)
|
|
{
|
|
m_dwCon++;
|
|
m_dwIP--;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[11]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwCon > 20)
|
|
{
|
|
m_dwCon--;
|
|
m_dwIP++;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[12]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwIP)
|
|
{
|
|
m_dwInt++;
|
|
m_dwIP--;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[13]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwInt > 20)
|
|
{
|
|
m_dwInt--;
|
|
m_dwIP++;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[14]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwIP)
|
|
{
|
|
m_dwWis++;
|
|
m_dwIP--;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[15]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwWis > 20)
|
|
{
|
|
m_dwWis--;
|
|
m_dwIP++;
|
|
}
|
|
} else if(m_ButtonManager.m_lstButton[16]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_wClass = 1;
|
|
|
|
m_ButtonManager.m_lstButton[17]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[18]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[19]->m_nState = BUTTON_NONE;
|
|
} else if(m_ButtonManager.m_lstButton[17]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_wClass = 2;
|
|
//
|
|
/* m_ButtonManager.m_lstButton[16]->m_nState = BUTTON_ON;
|
|
m_ButtonManager.m_lstButton[17]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[18]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[19]->m_nState = BUTTON_NONE;*/
|
|
m_ButtonManager.m_lstButton[16]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[18]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[19]->m_nState = BUTTON_NONE;
|
|
} else if(m_ButtonManager.m_lstButton[18]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_wClass = 3;
|
|
|
|
m_ButtonManager.m_lstButton[16]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[17]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[19]->m_nState = BUTTON_NONE;
|
|
} else if(m_ButtonManager.m_lstButton[19]->m_nState == BUTTON_CLICK)
|
|
{
|
|
m_wClass = 4;
|
|
|
|
m_ButtonManager.m_lstButton[16]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[17]->m_nState = BUTTON_NONE;
|
|
m_ButtonManager.m_lstButton[18]->m_nState = BUTTON_NONE;
|
|
} else if(m_ButtonManager.m_lstButton[20]->m_nState == BUTTON_CLICK)
|
|
{
|
|
int len = strlen(m_strName), i;
|
|
|
|
if(len == 0)
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[110]);
|
|
lpMessage->SetTimer(1000);
|
|
// 캐릭터 이름이 없습니다.
|
|
return TRUE;
|
|
} else if(len < 4)
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[111]);
|
|
lpMessage->SetTimer(1000);
|
|
// 캐릭터 이름이 짧습니다.
|
|
return TRUE;
|
|
}
|
|
|
|
if(m_dwIP)
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[112]);
|
|
lpMessage->SetTimer(1000);
|
|
// 포인트가 남았다.
|
|
return TRUE;
|
|
}
|
|
|
|
for(i = 0; i < len; i++)
|
|
{
|
|
if(m_strName[i] == ' ')
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[113]);
|
|
lpMessage->SetTimer(1000);
|
|
// 빈칸이 있습니다.
|
|
return TRUE;
|
|
}
|
|
|
|
if(m_strName[i] == 34 || m_strName[i] == 39)
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[114]);
|
|
lpMessage->SetTimer(1000);
|
|
// 이름이 따옴표가 있습니다.
|
|
return TRUE;
|
|
}
|
|
}
|
|
|
|
if(!g_ClientMain.m_bAdminMode)
|
|
{
|
|
if(!strcmp(m_strName, "Belldandy") ||
|
|
!strcmp(m_strName, "Skuld") ||
|
|
!strcmp(m_strName, "Uld") ||
|
|
!strcmp(m_strName, "베르단디") ||
|
|
!strcmp(m_strName, "스쿨드") ||
|
|
!strcmp(m_strName, "울드") ||
|
|
!strcmp(m_strName, "구우사마") ||
|
|
!strcmp(m_strName, "구우짱") ||
|
|
!strcmp(m_strName, "구우") ||
|
|
!strcmp(m_strName, "힘찬군") ||
|
|
!strcmp(m_strName, "direwolf") ||
|
|
!strcmp(m_strName, "daishi") ||
|
|
!strcmp(m_strName, "이터군") ||
|
|
!strcmp(m_strName, "아싸양") ||
|
|
!strcmp(m_strName, "쩜백") ||
|
|
!strcmp(m_strName, "쩜100") ||
|
|
!strcmp(m_strName, "DOT100") ||
|
|
!strcmp(m_strName, "jjum100") ||
|
|
!strcmp(m_strName, "ifnotall") ||
|
|
!strcmp(m_strName, "중년의로망") ||
|
|
!strcmp(m_strName, "혼군") ||
|
|
!strcmp(m_strName, "릴장군") ||
|
|
!strcmp(m_strName, "은빈나라") ||
|
|
!strcmp(m_strName, "은빈장군") ||
|
|
!strcmp(m_strName, "스컬리") ||
|
|
!strcmp(m_strName, "멀더") ||
|
|
!strcmp(m_strName, "부국장") ||
|
|
!strcmp(m_strName, "wizardbug") ||
|
|
!strcmp(m_strName, "릴넘버1") ||
|
|
!strcmp(m_strName, "윤미동기스") ||
|
|
!strcmp(m_strName, "song") ||
|
|
!strcmp(m_strName, "파우더") ||
|
|
!strcmp(m_strName, "팅커벨") ||
|
|
!strcmp(m_strName, "아프로디테") ||
|
|
!strcmp(m_strName, "칠선녀") ||
|
|
!strcmp(m_strName, "춘향이") ||
|
|
!strcmp(m_strName, "구리포에버") ||
|
|
!strcmp(m_strName, "로딘") ||
|
|
!strcmp(m_strName, "myrodin") ||
|
|
!strcmp(m_strName, "rodin") ||
|
|
!strcmp(m_strName, "네코네코") ||
|
|
!strcmp(m_strName, "루나윈드") ||
|
|
!strcmp(m_strName, "실버차임") ||
|
|
!strcmp(m_strName, "Lunarwind") ||
|
|
!strcmp(m_strName, "윤디") ||
|
|
!strcmp(m_strName, "yundi") ||
|
|
!strcmp(m_strName, "ppuchuu") ||
|
|
!strcmp(m_strName, "뿌쮸") ||
|
|
!strcmp(m_strName, "레니아") ||
|
|
!strcmp(m_strName, "라벨루") ||
|
|
!strcmp(m_strName, "라느") ||
|
|
!strcmp(m_strName, "차선미") ||
|
|
!strcmp(m_strName, "rainbow") ||
|
|
!strcmp(m_strName, "Rainbow") ||
|
|
!strcmp(m_strName, "stargazer") ||
|
|
!strcmp(m_strName, "potatoo") ||
|
|
!strcmp(m_strName, "Potatoo"))
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[115]);
|
|
lpMessage->SetTimer(1000);
|
|
// 포인트가 남았다.
|
|
return TRUE;
|
|
}/**/
|
|
}
|
|
|
|
if(g_ClientMain.m_dwInternationalCode == 0)
|
|
{
|
|
if(!CheckCharCreateName(m_strName))
|
|
{
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[116]);
|
|
lpMessage->SetTimer(1000);
|
|
// 포인트가 남았다.
|
|
return TRUE;
|
|
}// 대만용이면 이걸 막는다.
|
|
}
|
|
|
|
|
|
CHAR_CREATE CreateChrInfo;
|
|
ZeroMemory(&CreateChrInfo, sizeof(CHAR_CREATE));
|
|
memcpy(CreateChrInfo.Name, m_strName, 0x10);
|
|
g_TextEdit.InitMessage();
|
|
|
|
CreateChrInfo.Sex = m_dwSex;
|
|
CreateChrInfo.Face = m_dwFace;
|
|
CreateChrInfo.Hair = m_dwHair;
|
|
CreateChrInfo.Class = m_wClass;
|
|
CreateChrInfo.Nationality = g_ClientMain.m_dwClientNation;
|
|
|
|
CreateChrInfo.STR = m_dwStr;
|
|
CreateChrInfo.DEX = m_dwDex;
|
|
CreateChrInfo.CON = m_dwCon;
|
|
CreateChrInfo.INT = m_dwInt;
|
|
CreateChrInfo.WIS = m_dwWis;
|
|
|
|
CreateChrInfo.Equip[0] = 0;
|
|
CreateChrInfo.Equip[1] = m_dwShirt + 201;;
|
|
CreateChrInfo.Equip[2] = 0;
|
|
CreateChrInfo.Equip[3] = 0;
|
|
CreateChrInfo.Equip[4] = 0;
|
|
CreateChrInfo.Equip[5] = 601; // 가죽 부츠
|
|
CreateChrInfo.Equip[6] = 0;
|
|
CreateChrInfo.Equip[7] = 0;
|
|
CreateChrInfo.Equip[8] = 0;
|
|
CreateChrInfo.Equip[9] = 0;
|
|
CreateChrInfo.Equip[10] = 0;
|
|
switch(m_wClass)
|
|
{
|
|
case 1:
|
|
CreateChrInfo.Equip[11] = 701; // 프랙티스 소드
|
|
break;
|
|
|
|
case 2:
|
|
CreateChrInfo.Equip[11] = 1601;
|
|
break;
|
|
|
|
case 3:
|
|
CreateChrInfo.Equip[11] = 1501;
|
|
break;
|
|
|
|
case 4:
|
|
CreateChrInfo.Equip[11] = 801; // 몽둥이
|
|
break;
|
|
}
|
|
CreateChrInfo.Equip[12] = 0;
|
|
CreateChrInfo.Equip[13] = 0;
|
|
CreateChrInfo.Equip[14] = 0;
|
|
|
|
g_ClientMain.m_Network.SendCreateChar(g_ClientMain.m_dwSelectChr, CreateChrInfo);
|
|
|
|
CGUIMessageBox *lpMessage;
|
|
lpMessage = new CGUIMessageBox;
|
|
lpMessage->Create(g_StringTable.m_strString[117]);
|
|
lpMessage->SetTimer(100000);
|
|
|
|
g_ClientMain.m_bCreateChar = TRUE;
|
|
|
|
return TRUE;
|
|
} else if(m_ButtonManager.m_lstButton[21]->m_nState == BUTTON_CLICK)
|
|
{
|
|
for(int cCash=0;cCash<g_CharacterData.m_ChrCashList.num;cCash++)
|
|
{
|
|
if(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel==g_CharacterData.m_ChrCashList[cCash].m_lpChrModel)
|
|
{
|
|
g_ClientMain.m_lpSceneManager->DeleteCharacter(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel);
|
|
g_CharacterData.m_ChrCashList[cCash].m_lpChrModel=g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel = g_ClientMain.m_lpSceneManager->AddCharacter("PC_MAN.GCMDS", "FACE01", "HAIR01");
|
|
break;
|
|
}
|
|
}
|
|
//g_ClientMain.m_lpSceneManager->DeleteCharacter(g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel);
|
|
//g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel = g_ClientMain.m_lpSceneManager->AddCharacter("PC_MAN.GCMDS", "FACE01", "HAIR01");
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetPosition(g_ClientMain.m_vecCharSelectPos[g_ClientMain.m_dwSelectChr]);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetDirection(0.0f);
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->InitWeapon(0);
|
|
|
|
CreateCancel();
|
|
|
|
return TRUE;
|
|
} else if(m_ButtonManager.m_lstButton[22]->m_nState == BUTTON_PRESS)
|
|
{
|
|
float fDir = g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->GetDirection();
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetDirection(fDir + 0.05f);
|
|
} else if(m_ButtonManager.m_lstButton[23]->m_nState == BUTTON_PRESS)
|
|
{
|
|
float fDir = g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->GetDirection();
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetDirection(fDir - 0.05f);
|
|
} else if(m_ButtonManager.m_lstButton[24]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwShirt == 0) m_dwShirt = 4; else m_dwShirt--;
|
|
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->BeginOutfitSetting();
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetOutfitSlot("BODY", g_ItemMgr.GetEquipName(m_dwShirt + 201));
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->EndOutfitSetting();
|
|
} else if(m_ButtonManager.m_lstButton[25]->m_nState == BUTTON_CLICK)
|
|
{
|
|
if(m_dwShirt == 4) m_dwShirt = 0; else m_dwShirt++;
|
|
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->BeginOutfitSetting();
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->SetOutfitSlot("BODY", g_ItemMgr.GetEquipName(m_dwShirt + 201));
|
|
g_CharacterData.m_lstCharData[g_ClientMain.m_dwSelectChr]->m_lpChrModel->EndOutfitSetting();
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CHumanChrCreate::Render(LPDIRECT3DDEVICE8 lpD3DDevice)
|
|
{
|
|
if(m_dwEndTimer != 0xFFFFFFFF) return;
|
|
|
|
m_lstSprite[0]->Render(lpD3DDevice, m_cAlpha);
|
|
m_lstSprite[1]->Render(lpD3DDevice, m_cAlpha);
|
|
|
|
m_lstSprite[2]->Render(lpD3DDevice, m_cAlpha);
|
|
m_lstSprite[3]->Render(lpD3DDevice, m_cAlpha);
|
|
|
|
switch(m_wClass)
|
|
{
|
|
case 1:
|
|
m_lstSprite[4]->Render(lpD3DDevice, m_cAlpha);
|
|
m_lstSprite[6]->Render(lpD3DDevice, m_cAlpha);
|
|
break;
|
|
|
|
case 2:
|
|
m_lstSprite[4]->Render(lpD3DDevice, m_cAlpha);
|
|
m_lstSprite[5]->Render(lpD3DDevice, m_cAlpha);
|
|
break;
|
|
|
|
case 3:
|
|
m_lstSprite[5]->Render(lpD3DDevice, m_cAlpha);
|
|
m_lstSprite[7]->Render(lpD3DDevice, m_cAlpha);
|
|
break;
|
|
|
|
case 4:
|
|
m_lstSprite[6]->Render(lpD3DDevice, m_cAlpha);
|
|
m_lstSprite[8]->Render(lpD3DDevice, m_cAlpha);
|
|
break;
|
|
}
|
|
|
|
RECT rcRect;
|
|
if(g_TextEdit.IsFocus())
|
|
{
|
|
SetRect(&rcRect, 22 + 95, 37 + 79, 22 + 192, 37 + 92);
|
|
strcpy(m_strName, g_TextEdit.GetMessage());
|
|
if(g_ClientMain.m_bCursorToggle)
|
|
{
|
|
char strChat[MAX_PATH];
|
|
sprintf(strChat, "%s_", g_TextEdit.GetMessage());
|
|
g_TextEdit.DrawText(strChat, &rcRect, DT_LEFT | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, 255));
|
|
} else
|
|
{
|
|
g_TextEdit.DrawText(m_strName, &rcRect, DT_LEFT | DT_VCENTER, D3DCOLOR_RGBA(255, 255, 255, 255));
|
|
}
|
|
}
|
|
|
|
SetRect(&rcRect, 22 + 153, 37 + 265, 22 + 174, 37 + 279);
|
|
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, m_dwIP, &rcRect);
|
|
SetRect(&rcRect, 22 + 93, 37 + 303, 22 + 114, 37 + 317);
|
|
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, m_dwStr, &rcRect);
|
|
SetRect(&rcRect, 22 + 93, 37 + 338, 22 + 114, 37 + 352);
|
|
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, m_dwDex, &rcRect);
|
|
SetRect(&rcRect, 22 + 93, 37 + 373, 22 + 114, 37 + 387);
|
|
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, m_dwCon, &rcRect);
|
|
SetRect(&rcRect, 22 + 93, 37 + 408, 22 + 114, 37 + 422);
|
|
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, m_dwInt, &rcRect);
|
|
SetRect(&rcRect, 22 + 93, 37 + 442, 22 + 114, 37 + 456);
|
|
g_ClientMain.m_lpCommonInterface->RenderNum(lpD3DDevice, m_dwWis, &rcRect);
|
|
|
|
m_ButtonManager.Render(lpD3DDevice, m_cAlpha);
|
|
g_MessageBoxManager.Render(lpD3DDevice);
|
|
}
|
|
|
|
void CHumanChrCreate::CreateCancel()
|
|
{
|
|
char strCameraPath[MAX_PATH];
|
|
|
|
m_dwEndTimer = CFrameTimer::Regist(1.0f);
|
|
|
|
switch(g_ClientMain.m_dwSelectChr)
|
|
{
|
|
case 0:
|
|
sprintf(strCameraPath, "%s\\1stCSzo.zca", g_ClientMain.m_strClientPath);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->Unload();
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->Load(strCameraPath);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->SetTotalAniTime(1000.0f);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->StartPlay();
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->PlayAnimate();
|
|
break;
|
|
|
|
case 1:
|
|
sprintf(strCameraPath, "%s\\2ndCSzo.zca", g_ClientMain.m_strClientPath);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->Unload();
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->Load(strCameraPath);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->SetTotalAniTime(1000.0f);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->StartPlay();
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->PlayAnimate();
|
|
break;
|
|
|
|
case 2:
|
|
sprintf(strCameraPath, "%s\\3rdCSzo.zca", g_ClientMain.m_strClientPath);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->Unload();
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->Load(strCameraPath);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->SetTotalAniTime(1000.0f);
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->StartPlay();
|
|
g_ClientMain.m_lpSceneManager->GetCamera()->PlayAnimate();
|
|
break;
|
|
}
|
|
|
|
g_ClientMain.m_dwSelectChr = 0xFFFFFFFF;
|
|
}
|