int CColoredButton::OnToolHitTest( CPoint point, TOOLINFO* pTI ) const { UBYTE ubR, ubG, ubB; UBYTE ubH, ubS, ubV, ubA; ubH = m_ubComponents[0][0]; ubS = m_ubComponents[0][1]; ubV = m_ubComponents[0][2]; ubA = m_ubComponents[0][3]; ubR = m_ubComponents[1][0]; ubG = m_ubComponents[1][1]; ubB = m_ubComponents[1][2]; CTString strColor; if( m_bMixedColor) { strColor.PrintF( "Mixed color"); } else { strColor.PrintF( "HSV=(%d,%d,%d), RGB=(%d,%d,%d), Alpha=%d", ubH, ubS, ubV, ubR, ubG, ubB, ubA); } pTI->lpszText = (char *)malloc( strlen(strColor)+1); strcpy( pTI->lpszText, strColor); RECT rectToolTip; rectToolTip.left = 50; rectToolTip.right = 60; rectToolTip.top = 50; rectToolTip.bottom = 60; pTI->hwnd = GetParent()->m_hWnd; pTI->uId = (UINT) m_hWnd; pTI->rect = rectToolTip; pTI->uFlags = TTF_IDISHWND; return 1; }
void CUIPortal::Create_SiegeDungeon_HuntingCtr_MsgBox(int nCurFree) { CUIManager* pUIManager = CUIManager::getSingleton(); if( pUIManager->DoesMessageBoxExist(MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL) ) pUIManager->CloseMessageBox(MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL); CTString strMessage; CUIMsgBox_Info MsgBoxInfo; MsgBoxInfo.SetMsgBoxInfo( _S(3935, "던전 수렵세율 조정" ), UMBS_OKCANCEL | UMBS_SPINBUTTON , UI_PORTAL, MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL, 300 ); MsgBoxInfo.AddString( _S(3936, "던전 내의 몬스터가 드롭하는 나스 중 수렵세율만큼의 나스가 성주길드의 세금으로 지급됩니다.") ); MsgBoxInfo.AddString( _S(3937, "던전의 수렵세율을 설정해주세요.") ); CTString strMsg; strMsg.PrintF(_S(3938, "현재 수렵세율은 %d%%입니다."), nCurFree); MsgBoxInfo.AddString(strMsg); ++MsgBoxInfo.m_nMaxRow; MsgBoxInfo.SetSpinButton(MsgBoxInfo.m_nMaxRow, 1, -1, _S(3939, "수렵세율%") + _s(" ")); pUIManager->CreateMessageBox( MsgBoxInfo ); for(int i=0; i<5; ++i) { CTString strData; strData.PrintF("%d", i*5); pUIManager->GetMessageBox(MSGCMD_SIEGE_DUNGEON_HUNTING_FEE_CONTROL)->GetSpinButton().AddData(strData); } }
void CUIPortal::Create_SiegeDungeon_AdmissionCtr_MsgBox(int nCurFree) { CUIManager* pUIManager = CUIManager::getSingleton(); if( pUIManager->DoesMessageBoxExist(MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL) ) pUIManager->CloseMessageBox(MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL); CTString strMessage; CUIMsgBox_Info MsgBoxInfo; MsgBoxInfo.SetMsgBoxInfo( _S(3931, "던전 입장료 조정" ), UMBS_OKCANCEL | UMBS_SPINBUTTON , UI_PORTAL, MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL, 300 ); MsgBoxInfo.AddString( _S(3932, "던전의 입장료 세율을 설정해주세요.") ); CTString strMsg; strMsg.PrintF(_S(3933, "현재 입장료 세율은 %d%%입니다."), nCurFree); MsgBoxInfo.AddString(strMsg); ++MsgBoxInfo.m_nMaxRow; MsgBoxInfo.SetSpinButton(MsgBoxInfo.m_nMaxRow, 1, -1, _S(3934, "입장료 세율%") + _s(" ")); pUIManager->CreateMessageBox( MsgBoxInfo ); for(int i=0; i<17; ++i) { CTString strData; strData.PrintF("%d", 70+i*5); pUIManager->GetMessageBox(MSGCMD_SIEGE_DUNGEON_ADMISSION_FEE_CONTROL)->GetSpinButton().AddData(strData); } }
void CWorld::loadSetItemData() { CTString fnTemp; CTString strFullPath = _fnmApplicationPath.FileDir(); static BOOL bSetItemLoad = TRUE; //[ttos_2009_5_22]: 세트 아이템 적용 if (m_bLoad == FALSE && !_bWorldEditorApp && bSetItemLoad) { CallProgressHook_t(0.0f); CTString tSetItemDataLoc; switch( g_iCountry ) { case THAILAND: tSetItemDataLoc.PrintF("data\\setItemALL_th.lod"); break; default: tSetItemDataLoc.PrintF("data\\setItemALL.lod"); break; } fnTemp = strFullPath + tSetItemDataLoc; if(CSetItemData::loadSetItemEx(fnTemp) == false) { MessageBox(NULL, "SetItem file is not correct", "Error!", MB_OK); _pGameState->Running() = FALSE; _pGameState->QuitScreen() = FALSE; } CallProgressHook_t(1.0f); LoadStringItemSet(); bSetItemLoad = FALSE; } }
void CWorld::loadBigpet() { CTString fnTemp; CTString strFullPath = _fnmApplicationPath.FileDir(); static BOOL bAPetdata = TRUE; if (m_bLoad == FALSE && !_bWorldEditorApp && bAPetdata) { CallProgressHook_t(0.0f); CTString tWildPetDataLoc; switch( g_iCountry ) { case THAILAND: tWildPetDataLoc.PrintF("data\\bigpet_th.lod"); break; default: tWildPetDataLoc.PrintF("data\\bigpet.lod"); break; } fnTemp = strFullPath + tWildPetDataLoc; if(CWildPetData::loadEx(fnTemp) == false) { MessageBox(NULL, "Apet file is not correct", "Error!", MB_OK); _pGameState->Running() = FALSE; _pGameState->QuitScreen() = FALSE; } bAPetdata = FALSE; CallProgressHook_t(1.0f); } }
void CUIQuestBook::OpenTutorialWindow() { CUIManager* pUIManager = CUIManager::getSingleton(); // If this is alreay exist. if( pUIManager->DoesMessageBoxLExist( MSGLCMD_QUEST_TUTORIAL_OPEN ) ) return; pUIManager->CloseMessageBox(MSGCMD_QUEST_TUTORIAL_START); pUIManager->CloseMessageBox(MSGCMD_QUEST_TUTORIAL_CANCEL); // Create refine message box. pUIManager->CreateMessageBoxL( _S( 928,"튜토리얼" ), UI_QUESTBOOK_LIST, MSGLCMD_QUEST_TUTORIAL_OPEN ); pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, TRUE, _S( 928, "튜토리얼" ), -1, 0xE18600FF ); pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, TRUE, _S( 5039, "라스트카오스에 오신것을 환영합니다.\n이곳은 처음 접속하시는 유저분들을 위해\n기본 조작 방법을 안내하는 곳입니다.\n\n앞에 있는 문을 열고 통로를 따라가시면 각종\n몬스터가 등장하고, 통로 끝에 존재하는 몬스터를\n사냥하면 쥬노 란돌 마을로 이동하실 수 있습니다." ), -1, 0xA3A1A3FF ); CTString strMessage; // accept strMessage.PrintF( _S( 5040, "확인 (튜토리얼을 진행합니다.)" ) ); pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, FALSE, strMessage, RESPONSE_OK ); // cancel. strMessage.PrintF( _S( 5041, "나가기 (튜토리얼을 진행하지 않습니다.)") ); pUIManager->AddMessageBoxLString( MSGLCMD_QUEST_TUTORIAL_OPEN, FALSE, strMessage, RESPONSE_CALCEL ); }
void CWorld::loadCombo() { CTString fnTemp; CTString strFullPath = _fnmApplicationPath.FileDir(); static BOOL bComboData = TRUE; if (m_bLoad == FALSE && !_bWorldEditorApp && bComboData) { CallProgressHook_t(0.0f); CTString tMissionCaseLoc; switch( g_iCountry ) { case THAILAND: tMissionCaseLoc.PrintF("data\\combo_th.lod"); break; default: tMissionCaseLoc.PrintF("data\\combo.lod"); break; } fnTemp = strFullPath + tMissionCaseLoc; if(CMissionCase::loadEx(fnTemp) == false) { MessageBox(NULL, "combo file is not correct", "Error!", MB_OK); _pGameState->Running() = FALSE; _pGameState->QuitScreen() = FALSE; } CallProgressHook_t(1.0f); LoadStringCombo(); bComboData = FALSE; } }
void CWorld::loadMob() { CTString fnTemp; CTString strFullPath = _fnmApplicationPath.FileDir(); CTString fnZoneFlag = strFullPath + "data\\ZoneFlag.lod"; static BOOL bLoadMobData = TRUE; const BOOL bWETestGame = (_bWorldEditorApp && _bInTestGame); if ((bLoadMobData && !_bWorldEditorApp) || bWETestGame) { CTString fnMobData; if( ( _pGameState && _pGameState->GetGameMode() != CGameState::GM_NONE ) || bWETestGame ) { CallProgressHook_t(0.0f); switch( g_iCountry ) { case THAILAND: fnMobData.PrintF("data\\mobAll_th.lod"); break; default: fnMobData.PrintF("data\\mobAll.lod"); break; } fnTemp = strFullPath + fnMobData; if(CMobData::loadEx(fnTemp) == false) { MessageBox(NULL, "Npc file is not correct", "Error!", MB_OK); _pGameState->Running() = FALSE; _pGameState->QuitScreen() = FALSE; } if(CMobData::LoadZoneData(fnZoneFlag) == false) { MessageBox(NULL, "zoneFlag file is not correct", "Error!", MB_OK); _pGameState->Running() = FALSE; _pGameState->QuitScreen() = FALSE; } fnTemp = strFullPath + "data\\npc_channel.bin"; CMobData::LoadChannelData(fnTemp); CallProgressHook_t(1.0f); LoadStringNPCName(); bLoadMobData = FALSE; } } }
void CUIQuestBook::AddQuestListToMessageBoxL(const int& iMessageBoxType) { CUIManager* pUIManager = CUIManager::getSingleton(); Quest* pQuest = GAMEDATAMGR()->GetQuest(); if (pQuest == NULL) return; int iQuestIndex = -1; CTString strQuestTitle; int count; count = pQuest->GetCompleteQuestCount(); for( int iComplete = 0; iComplete < count; ++iComplete ) { iQuestIndex = pQuest->GetCompleteQuestIndex(iComplete); CQuestDynamicData qdd(CQuestSystem::Instance().GetStaticData(iQuestIndex)); strQuestTitle = qdd.GetName(); if( 0 == strQuestTitle.Length() ) { if (_pNetwork->m_ubGMLevel > 1) strQuestTitle.PrintF("Index : %d", iQuestIndex); else continue; } pUIManager->AddMessageBoxLString( iMessageBoxType, FALSE, strQuestTitle, ciQuestClassifier + iQuestIndex, 0xF2F200FF, CTString("A") ); } count = pQuest->GetProceedQuestCount(); for( int iNew = 0; iNew < count; ++iNew ) { iQuestIndex = pQuest->GetProceedQuestIndex(iNew); CQuestDynamicData qdd(CQuestSystem::Instance().GetStaticData(iQuestIndex)); strQuestTitle = qdd.GetName(); if( 0 == strQuestTitle.Length() ) { if (_pNetwork->m_ubGMLevel > 1) strQuestTitle.PrintF("Index : %d", iQuestIndex); else continue; } pUIManager->AddMessageBoxLString( iMessageBoxType, FALSE, strQuestTitle, ciQuestClassifier + iQuestIndex, 0xF2F200FF, CTString("Q") ); } }
// make description for a given resolution static CTString GetResolutionDescription(CDisplayMode &dm) { CTString str; // if dual head if (dm.IsDualHead()) { str.PrintF(TRANS("%dx%d double"), dm.dm_pixSizeI / 2, dm.dm_pixSizeJ); // if widescreen } else if (dm.IsWideScreen()) { str.PrintF(TRANS("%dx%d wide"), dm.dm_pixSizeI, dm.dm_pixSizeJ); // otherwise it is normal } else { str.PrintF("%dx%d", dm.dm_pixSizeI, dm.dm_pixSizeJ); } return str; }
CDlgSelectMode::CDlgSelectMode( CDisplayMode &dm, enum GfxAPIType &gfxAPI, CWnd* pParent /*=NULL*/) : CDialog( CDlgSelectMode::IDD, pParent) { // obtain all available modes m_pdmAvailableModes = _pGfx->EnumDisplayModes(m_ctAvailableDisplayModes); // remember initial mode reference m_pdm = &dm; m_pGfxAPI = &gfxAPI; //{{AFX_DATA_INIT(CDlgSelectMode) m_strCurrentMode = _T(""); m_strCurrentDriver = _T(""); m_iColor = -1; //}}AFX_DATA_INIT // set current mode and driver strings CTString str; str.PrintF( "%d x %d x %s", dm.dm_pixSizeI, dm.dm_pixSizeJ, dm.DepthString()); m_strCurrentMode = str; switch(gfxAPI) { case GAT_OGL: m_strCurrentDriver = "OpenGL"; break; #ifdef SE1_D3D case GAT_D3D: m_strCurrentDriver = "Direct3D"; break; #endif // SE1_D3D default: m_strCurrentDriver = "none"; break; } }
WMSG_RESULT CUISpinControl::OnCharMessage( MSG* pMsg ) { extern UBYTE _abKeysPressed[256]; // If editbox is not focused if( !IsFocused() || m_InValidEditBox ) return WMSG_FAIL; if(m_bOnlyInteger && (pMsg->wParam < 48 || pMsg->wParam > 57)) { return WMSG_SUCCESS; } InsertChar(m_nCursorIndex, pMsg->wParam); if (_atoi64(GetString()) > m_llMax) { CTString strTmp; strTmp.PrintF("%I64d", m_llMax); SetString(strTmp.str_String); } return WMSG_SUCCESS; }
void CDlgCreateSpecularTexture::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); if( !pDX->m_bSaveAndValidate) { INDEX iExponent = DEFAULT_EXPONENT_POS; if( IsWindow( m_sliderSpecularExponent.m_hWnd)) { iExponent = m_sliderSpecularExponent.GetPos(); } CTString strNumericalExponent; strNumericalExponent.PrintF( "Value: %.1f", GetFactorForPercentage(iExponent)); m_strNumericalExponent = strNumericalExponent; } //{{AFX_DATA_MAP(CDlgCreateSpecularTexture) DDX_Control(pDX, IDC_SPECULAR_EXPONENT, m_sliderSpecularExponent); DDX_Control(pDX, IDC_SPECULAR_COLOR, m_colorSpecular); DDX_Control(pDX, IDC_SIZE_IN_PIXELS, m_comboSizeInPixels); DDX_Control(pDX, IDC_LIGHT_COLOR, m_colorLight); DDX_Control(pDX, IDC_AMBIENT_COLOR, m_colorAmbient); DDX_Text(pDX, IDC_NUMERIC_EXPONENT_T, m_strNumericalExponent); DDX_Check(pDX, IDC_AUTO_ROTATE, m_bAutoRotate); //}}AFX_DATA_MAP if( (pDX->m_bSaveAndValidate) && IsWindow( m_sliderSpecularExponent.m_hWnd) ) { INDEX iSlider = m_sliderSpecularExponent.GetPos(); CreateTexture( CTString("temp\\SpecularTemp.tex"), GetFactorForPercentage( iSlider)); CTextureData *pTD = (CTextureData *) m_moModel.mo_toSpecular.GetData(); if( pTD != NULL) pTD->Reload(); Invalidate( FALSE); } }
void ExecScript(const CTString &str) { CPrintF("Executing: '%s'\n", str); CTString strCmd; strCmd.PrintF("include \"%s\"", str); _pShell->Execute(strCmd); }
//------------------------------------------------------------------------------ // CUISiegeWarfareDoc::SetTimeRep // Explain: // Date : 2005-07-07,Author: Lee Ki-hwan //------------------------------------------------------------------------------ void CUISiegeWarfareDoc::SetTimeRep( int nMonth, int nDay, int nHour, int nMin ) { CTString strMessage; strMessage.PrintF(_S(2147 , "공성 시간이 %d월 %d일 %d시로 설정되었습니다." ), nMonth, nDay, nHour ); CUIManager::getSingleton()->GetSiegeWarfare()->Message( MSGCMD_SIEGE_WARFARE_INFO, strMessage, UMBS_OK ); }
// get generic socket error info string about last error CTString CCommunicationInterface::GetSocketError(INDEX iError) { CTString strError; strError.PrintF(TRANSV("Socket %d, Error %d (%s)"), cci_hSocket, iError, ErrorDescription(&SocketErrors, iError)); return strError; };
void CUICharacterCreateNew::SetArrayList(CUIArray* pArray) { CUIArrayItem* pArrayItem = NULL; if (pArray == NULL) return; int count = pArray->GetArrayChildCount(); CUIText* pText; for (int i = 0; i < count; i++) { pArrayItem = pArray->GetArrayItem(i); if ( pArrayItem == NULL ) continue; pText = (CUIText*)pArrayItem->findUI("str_number"); if (pText != NULL) { CTString strNum = ""; strNum.PrintF( "%d", i+1 ); pText->SetText(strNum); } } }
void JoinNetworkGame(void) { // _pGame->gm_MenuSplitScreenCfg = (enum CGame::SplitScreenCfg) mgSplitScreenCfg.mg_iSelected; _pGame->gm_StartSplitScreenCfg = _pGame->gm_MenuSplitScreenCfg; _pGame->gm_aiStartLocalPlayers[0] = _pGame->gm_aiMenuLocalPlayers[0]; _pGame->gm_aiStartLocalPlayers[1] = _pGame->gm_aiMenuLocalPlayers[1]; _pGame->gm_aiStartLocalPlayers[2] = _pGame->gm_aiMenuLocalPlayers[2]; _pGame->gm_aiStartLocalPlayers[3] = _pGame->gm_aiMenuLocalPlayers[3]; _pGame->gm_strNetworkProvider = "TCP/IP Client"; if (_pGame->JoinGame(CNetworkSession(_pGame->gam_strJoinAddress))) { StopMenus(); _gmRunningGameMode = GM_NETWORK; } else { if (_pNetwork->ga_strRequiredMod != "") { extern CTFileName _fnmModToLoad; extern CTString _strModServerJoin; char strModName[256] = { 0 }; char strModURL[256] = { 0 }; _pNetwork->ga_strRequiredMod.ScanF("%250[^\\]\\%s", &strModName, &strModURL); _fnmModSelected = CTString(strModName); _strModURLSelected = strModURL; if (_strModURLSelected = "") { _strModURLSelected = "http://www.croteam.com/mods/Old"; } _strModServerSelected.PrintF("%s:%s", _pGame->gam_strJoinAddress, _pShell->GetValue("net_iPort")); extern void ModConnectConfirm(void); ModConnectConfirm(); } _gmRunningGameMode = GM_NONE; } }
void CStageGamePlay::Run() { CUIManager* pUIManager = CUIManager::getSingleton(); if (_pGameState->IsRestartGame() && m_bSendRestart == false) { DWORD tmpTime = _pTimer->GetHighPrecisionTimer().GetMilliseconds(); DWORD IntervalTime = 0; int iShowTime = 0; CTString strtime; IntervalTime = tmpTime - pUIManager->GetSystemMenu()->GetRestartTime(); iShowTime = m_dwRemainTime - (IntervalTime / 1000); strtime.PrintF(_S(4201,"%d 초 후에 접속종료됩니다."), iShowTime); if (m_dwRemainTime > 0) _UIAutoHelp->SetGMNotice(strtime); if (IntervalTime >= (m_dwRemainTime * 1000)) // 15초 15000 -> 10초로 수정 { // 재시작 _UIAutoHelp->ClearGMNNotice(); pUIManager->GetSystemMenu()->ResetRestartTime(); pUIManager->GetSystemMenu()->ReStartNow(); m_bSendRestart = true; } } }
BOOL CDlgAutTexturize::OnInitDialog() { CDialog::OnInitDialog(); m_ctrPretenderTextureSize.ResetContent(); // add all available frictions for(INDEX iW=0; iW<10; iW++) { CTString strSize; strSize.PrintF("%dx%d pixels", 1<<iW, 1<<iW); m_ctrPretenderTextureSize.AddString( CString(strSize)); } INDEX iSelected=6; iSelected=AfxGetApp()->GetProfileInt( L"World editor", L"Pretender resolution", iSelected); m_ctrPretenderTextureSize.SetCurSel(iSelected); m_ctrlPretenderTextureStyle.ResetContent(); m_ctrlPretenderTextureStyle.AddString( L"Front view only"); m_ctrlPretenderTextureStyle.AddString( L"Cylindrical view (FRBL)"); m_ctrlPretenderTextureStyle.AddString( L"Boxed view (FRBLUD)"); iSelected=1; iSelected=AfxGetApp()->GetProfileInt( L"World editor", L"Pretender style", iSelected); m_ctrlPretenderTextureStyle.SetCurSel(iSelected); return TRUE; }
// print title void PrintTitle(CDrawPort *pdp) { SetFont2(pdp); CTString strTitle; strTitle.PrintF(TRANS("NETRICSA v2.01 - personal version for: %s"), _ppenPlayer->GetPlayerName()); pdp->PutText( strTitle, _pixMarginI*3, _pixMarginJ-2*_fScaling2+1, _colMedium); }
CTString FillRateString(void) { CTString str; str.PrintF( "%s, %s, %s ", _bTexture ? (_bMultiTexture ? "multitexture" : "texture") : "no texture", _bBlend ? "blending" : "no blending", _bDepth ? "z-buffer:" : "no z-buffer:"); return str; }
COLOR GetColorFromProfile( CTString strVarName, COLOR colDefault) { CTString strDefault; strDefault.PrintF("0x%08x", colDefault); CTString strTemp = theApp.GetProfileString( "Modeler prefs", strVarName, strDefault); COLOR colValue; sscanf( strTemp, "0x%08x", &colValue); return colValue; };
INDEX GetIndexFromProfile( CTString strVarName, INDEX iDefault) { CTString strDefault; strDefault.PrintF("%d", iDefault); CTString strTemp = theApp.GetProfileString( "Modeler prefs", strVarName, strDefault); INDEX iValue; sscanf( strTemp, "%d", &iValue); return iValue; };
// convert only one animation in animset BOOL CSeriousSkaStudioApp::ConvertAnimationInAnimSet(CAnimSet *pas,Animation *pan) { DisableRendering(); CTFileName fnTemp = (CTString)"Temp/animset"; // try to save model instance CTString strAnimSet; CTString strCustomSpeed; CTString strCompresion = "FALSE"; if(pan->an_bCompresed) strCompresion = "TRUE"; if(pan->an_bCustomSpeed) strCustomSpeed.PrintF(" ANIMSPEED %g;",pan->an_fSecPerFrame); strAnimSet.PrintF("ANIMSETLIST\n{\n TRESHOLD %g;\n COMPRESION %s;\n%s\n #INCLUDE \"%s\"\n}\n", pan->an_fTreshold,(const char*)strCompresion,(const char*)strCustomSpeed,(const char*)pan->an_fnSourceFile); try { strAnimSet.Save_t(fnTemp + ".aal"); if(!ConvertAnimSet(fnTemp + ".aal")) { EnableRendering(); return FALSE; } CAnimSet as; // load new animset as.Load_t(fnTemp + ".ba"); if(as.as_Anims.Count()>0) { Animation &anNew = as.as_Anims[0]; // overwrite old animation with new one *pan = anNew; } // clear new animset as.Clear(); } catch(char *strErr) { ErrorMessage(strErr); EnableRendering(); return FALSE; } EnableRendering(); return TRUE; }
//------------------------------------------------------------------------------ // CUISiegeWarfareDoc::RemainFiledTime // Explain: 야전전투가 종료되기 5분전부터 1분 간격으로 공성에 참여한 유저에게 전체공지 // Date : 2005-07-06,Author: Lee Ki-hwan //------------------------------------------------------------------------------ void CUISiegeWarfareDoc::RemainFiledTime( int nZoneIndex, int nRemainSec ) { m_nZoneIndex = nZoneIndex; SetLeftTime( nRemainSec ); CTString strMessage; strMessage.PrintF(_S( 2016, "[%s]지역 [야전전투]가 %d분 남았습니다." ), CZoneInfo::getSingleton()->GetZoneName( nZoneIndex ), (m_lLeftTime) / 60); // [2012/06/04 : Sora] ITS 8986 공성시작전 공성시작 지점으로 이동 시 캐릭터 이동불가 상태 발생 수정 // 공성 메시지 출력하면서 해당 UI를 활성화 시켜주어햐 한다. 공성 메시지 출력 방식 변경 CUIManager::getSingleton()->GetSiegeWarfare()->SetNotice( strMessage ); }
//------------------------------------------------------------------------------ // CUISiegeWarfareDoc::RemainStartTime // Explain: 공성 시작 까지 남은 시간을 시작 10분전부터 1분간격으로 공지 // Date : 2005-07-06,Author: Lee Ki-hwan //------------------------------------------------------------------------------ void CUISiegeWarfareDoc::RemainStartTime( int nZoneIndex, int nMin ) { m_nZoneIndex = nZoneIndex; CTString strMessage; strMessage.PrintF( _S( 2018, "[%s]지역 [%s]공성이 %d분 남았습니다." ), CZoneInfo::getSingleton()->GetZoneName( nZoneIndex ), GetCastleName( nZoneIndex ), nMin ); // [2012/06/04 : Sora] ITS 8986 공성시작전 공성시작 지점으로 이동 시 캐릭터 이동불가 상태 발생 수정 // 공성 메시지 출력하면서 해당 UI를 활성화 시켜주어햐 한다. 공성 메시지 출력 방식 변경 CUIManager::getSingleton()->GetSiegeWarfare()->SetNotice( strMessage ); }
//------------------------------------------------------------------------------ // CUISiegeWarfareDoc::TimeConfirm // Explain: 공성 시간 확정 알림(공지) // Date : 2005-07-06,Author: Lee Ki-hwan //------------------------------------------------------------------------------ void CUISiegeWarfareDoc::TimeConfirm( int nZoneIndex, int nMonth, int nDay, int nHour, int nMin ) { m_nZoneIndex = nZoneIndex; CTString strMessage; strMessage.PrintF( _S( 2017, "[%s]지역 [%s]공성이 %d월 %d일 %d시로 예정되었습니다." ), CZoneInfo::getSingleton()->GetZoneName( nZoneIndex ), GetCastleName( nZoneIndex ), nMonth, nDay, nHour ); // [2012/06/04 : Sora] ITS 8986 공성시작전 공성시작 지점으로 이동 시 캐릭터 이동불가 상태 발생 수정 // 공성 메시지 출력하면서 해당 UI를 활성화 시켜주어햐 한다. 공성 메시지 출력 방식 변경 CUIManager::getSingleton()->GetSiegeWarfare()->SetNotice( strMessage ); }
void PetStash::_PetErrorSystemMessage( int nErrorCode ) { CTString strMessage; switch(nErrorCode) { case ERROR_PET_STASH_KEEP_FAIL_ALREADY_EQ_PET: //펫을 착용중이다. { strMessage.PrintF( _S( 825, "장착하고 있는 아이템은 보관할 수 없습니다.") ); } break; case ERROR_PET_STASH_KEEP_FAIL_PET_SEAL: //펫이 봉인상태이다. { strMessage.PrintF( _S( 5952, "봉인 된 펫은 보관 하실 수 없습니다.") ); } break; case ERROR_PET_STASH_FAIL_ETC: //알수 없는 오류 { strMessage.PrintF( _S( 16, "알수 없는 오류가 발생했습니다.") ); } break; case ERROR_PET_STASH_KEEP_FAIL_NOT_EXIST_PET: //펫이 존재하지 않음 { strMessage.PrintF( _S( 6071, "펫이 존재 하지 않습니다.") ); } break; case ERROR_PET_STASH_KEEP_FAIL_TERMINATION_ITEM: //펫 등록 아이템 사용기간 만료 { strMessage.PrintF( _S( 6072, "펫 창고 이용권 사용기간이 만료 되었습니다.") ); } break; case ERROR_PET_STASH_KEEP_FAIL_FULL: //펫 창고가 가득 참. { strMessage.PrintF( _S( 6073, "펫 창고에 공간이 부족 합니다.") ); } break; case ERROR_PET_STASH_TAKE_FAIL: //펫 찾기 실패 { strMessage.PrintF( _S( 2850, "인벤토리가 가득 찼습니다.") ); } break; case ERROR_PET_STASH_ERROR_NOT_USE_SYSTEM: //펫 창고 시스템을 사용할 수 없습니다. { strMessage.PrintF( _S( 6075, "펫 창고 시스템을 사용할 수 없습니다.") ); } break; default: return; } _pNetwork->ClientSystemMessage(strMessage, SYSMSG_ERROR); }
void CUIQuestBook::GiveUpPress() { if (m_nSelectQuestIdx <= 0) return; CQuestStaticData* pQuestDD = CQuestStaticData::getData(m_nSelectQuestIdx); if (pQuestDD == NULL) return; CUIManager* pUIManager = CUIManager::getSingleton(); pUIManager->CloseMessageBox(MSGCMD_QUEST_GIVEUP); CTString strMessage; CUIMsgBox_Info MsgBoxInfo; MsgBoxInfo.SetMsgBoxInfo( _S( 99, "퀘스트" ), UMBS_OKCANCEL, UI_QUESTBOOK_LIST, MSGCMD_QUEST_GIVEUP); strMessage.PrintF( "%s", pQuestDD->GetTitle() ); MsgBoxInfo.AddString( strMessage ); strMessage.PrintF( _S( 7002, "퀘스트를 포기 하시겠습니까?" )); MsgBoxInfo.AddString( strMessage ); pUIManager->CreateMessageBox( MsgBoxInfo ); m_bLockQuestList = TRUE; }