Files
Client/GameTools/NeoRylClient/HumanChrCreateLeft.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

1010 lines
39 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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);
// <20>ϼ<EFBFBD> <20><>ư
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);
// <20>Ӹ<EFBFBD><D3B8><EFBFBD>Ÿ<EFBFBD><C5B8>
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);
// <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
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);
// Ŭ<><C5AC><EFBFBD><EFBFBD>
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);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD>
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);
// ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
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);
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
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);
// ij<><C4B3><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
return TRUE;
} else if(len < 4)
{
CGUIMessageBox *lpMessage;
lpMessage = new CGUIMessageBox;
lpMessage->Create(g_StringTable.m_strString[111]);
lpMessage->SetTimer(1000);
// ij<><C4B3><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> ª<><C2AA><EFBFBD>ϴ<EFBFBD>.
return TRUE;
}
if(m_dwIP)
{
CGUIMessageBox *lpMessage;
lpMessage = new CGUIMessageBox;
lpMessage->Create(g_StringTable.m_strString[112]);
lpMessage->SetTimer(1000);
// <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>Ҵ<EFBFBD>.
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);
// <20><>ĭ<EFBFBD><C4AD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
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);
// <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
return TRUE;
}
}
if(!g_ClientMain.m_bAdminMode)
{
if(!strcmp(m_strName, "Belldandy") ||
!strcmp(m_strName, "Skuld") ||
!strcmp(m_strName, "Uld") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¯") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "direwolf") ||
!strcmp(m_strName, "daishi") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD>ƽξ<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD>100") ||
!strcmp(m_strName, "DOT100") ||
!strcmp(m_strName, "jjum100") ||
!strcmp(m_strName, "ifnotall") ||
!strcmp(m_strName, "<EFBFBD>߳<EFBFBD><EFBFBD>Ƿθ<EFBFBD>") ||
!strcmp(m_strName, "ȥ<EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>󳪶<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD>ִ<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD>α<EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "wizardbug") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD>1") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "song") ||
!strcmp(m_strName, "<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD>ε<EFBFBD>") ||
!strcmp(m_strName, "myrodin") ||
!strcmp(m_strName, "rodin") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD>ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "Lunarwind") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "yundi") ||
!strcmp(m_strName, "ppuchuu") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD>󺧷<EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!strcmp(m_strName, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") ||
!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);
// <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>Ҵ<EFBFBD>.
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);
// <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>Ҵ<EFBFBD>.
return TRUE;
}// <09><EFBFBD><EBB8B8><EFBFBD≯<EFBFBD> <20>̰<EFBFBD> <20><><EFBFBD>´<EFBFBD>.
}
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; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
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; // <20><><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC> <20>ҵ<EFBFBD>
break;
case 2:
CreateChrInfo.Equip[11] = 1601;
break;
case 3:
CreateChrInfo.Equip[11] = 1501;
break;
case 4:
CreateChrInfo.Equip[11] = 801; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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;
}