📄 kh_menu.cpp
字号:
{
g_Menu_Variable.m_pRune = new CRuneMenu;
}
else
{
g_Menu_Variable.m_pRune->m_nQuestStep = 0;
g_Menu_Variable.m_pRune->m_nSelectRune = 0;
}
CallServer( CMD_GET_GHOST_QUEST_INFO );
count = 0;
SubMenu->nField[3].m_lpTemp= NULL;
}
SubMenu->nField[j].nSHideNomalCount = SCharacterData.m_nQuestStep+1;
g_Menu_Variable.m_pRune->m_nQuestStep = SubMenu->nField[j].nSHideNomalStart;
int step = g_Menu_Variable.m_pRune->m_nQuestStep;
int rune_count = SCharacterData.m_nSelectRune;
if( step == SCharacterData.m_nQuestStep )
{
if( rune_count == 24 ) // 菜 谩阑 版快
{
int effect_def[] = { RUNE_EFFECT1, RUNE_EFFECT2, RUNE_EFFECT3, RUNE_EFFECT4 };
FieldTypeNomalPut( SMenu[i].x, SMenu[i].y, 48, 163, 64, RUNE_IMG ); // 华魄 嘛绢 林扁
int x = SubMenu->x+163;
int y = SubMenu->y+250;
static count1[] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5 };
static count2[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10 };
if( count < 10 && count1[count] < 5 )
{
Spr *s = GetSprOfMenu( RUNE_EFFECT_DEFAULT, count1[count] );
if( s && s->img )
{
PutCompressedImageFX( x, y, s, 17, 2 );
count ++;
}
else count = 10;
}
else if( count2[count-10] < 10 )
{
Spr *s = GetSprOfMenu( effect_def[step], count2[count-10] );
if( s && s->img )
{
PutCompressedImageFX( x, y, s, 17, 2 );
count++;
}
}
else
{
// 付瘤阜 巴父 嘛绢 霖促.
Spr *s = GetSprOfMenu( effect_def[step], 9 );
if( s && s->img )
{
PutCompressedImageFX( x, y, s, 17, 2 );
}
}
g_Menu_Variable.m_pRune->m_nSelectRune = 0;
}
else
{
for( int a=1; a<=rune_count; a++ )
{
FieldTypeNomalPut( SMenu[i].x, SMenu[i].y,
g_Menu_Variable.m_pRune->m_stRune[a].x,
g_Menu_Variable.m_pRune->m_stRune[a].y,
g_Menu_Variable.m_pRune->m_stRune[a].m_nLeftRuneImage,
RUNE_IMG );
}
}
}
if( step < SCharacterData.m_nQuestStep )
{
for( int a=1; a<MAX_RUNE; a++ )
{
FieldTypeNomalPut( SMenu[i].x, SMenu[i].y,
g_Menu_Variable.m_pRune->m_stRune[a].x,
g_Menu_Variable.m_pRune->m_stRune[a].y,
g_Menu_Variable.m_pRune->m_stRune[a].m_nLeftRuneImage,
RUNE_IMG );
}
}
int step2image[] = { 0, 61, 62, 63 };
if( step2image[step] )
{
FieldTypeNomalPut( SMenu[i].x, SMenu[i].y, 133, 105, step2image[step], RUNE_IMG );
}
break;
}
case FT_VIEW_RUNE_RIGHT :
{
int step = g_Menu_Variable.m_pRune->m_nQuestStep;
int &rune = g_Menu_Variable.m_pRune->m_nSelectRune;
static int old_step = step;
if( old_step != step )
{
if( step == SCharacterData.m_nQuestStep )
rune =SCharacterData.m_nSelectRune;
else
rune = 24;
old_step = step;
}
if( !g_Menu_Variable.m_clsRuneExplain )
g_Menu_Variable.m_clsRuneExplain = new CRuneExplain;
char *lpszText = (char*)SMenu[i].nField[3].m_lpTemp;
static char *old_point = lpszText;
if( old_point != SMenu[i].nField[3].m_lpTemp )
{
old_point = lpszText;
int nWidth = SMenu[i].nField[3].nRectImage;
if( lpszText )
{
int &page_status = SMenu[i].work;
int line = SMenu[i].key;
WORD page;
WORD page_max;
GetWORDOfDWORD( (DWORD)page_status, page, page_max );
page = 0;
int line_max = GetLineRectTextPut( nWidth, lpszText );
if( line )
{
page_max = (line_max-1) / line + 1;
}
else page_max = 1;
page_status = (int )MAKELONG( page, page_max );
}
}
if( rune )
{
FieldTypeNomalPut( SMenu[i].x, SMenu[i].y,
SMenu[i].nField[j].x,SMenu[i].nField[j].y,
g_Menu_Variable.m_pRune->m_stRune[rune].m_nRightRuneImage,
RUNE_IMG );
SubMenu->nField[3].m_lpTemp= g_Menu_Variable.m_clsRuneExplain->m_szExplain[step][rune];
Hcolor( FONT_COLOR_YELLOW );
SetHangulFont(4);
Hprint2( SMenu[i].x+SMenu[i].nField[j].x+50, SMenu[i].y+SMenu[i].nField[j].y+23,
NULL, g_Menu_Variable.m_clsRuneExplain->m_szTitle[step][rune] );
SetHangulFont(2);
}
else if( step == SCharacterData.m_nQuestStep && SCharacterData.m_nSelectRune == 24 )
{
FieldTypeNomalPut( SMenu[i].x, SMenu[i].y,
SMenu[i].nField[j].x,SMenu[i].nField[j].y, step+25, // 烽 捞固瘤 锅龋绰 28锅何磐
RUNE_IMG );
g_Menu_Variable.m_clsRuneExplain->LoadLuneText2( step );
SubMenu->nField[3].m_lpTemp = (void *)g_Menu_Variable.m_clsRuneExplain->GetTitleExplain( step );
Hcolor( FONT_COLOR_YELLOW );
SetHangulFont(4);
Hprint2( SMenu[i].x+SMenu[i].nField[j].x+50, SMenu[i].y+SMenu[i].nField[j].y+23,
NULL, g_Menu_Variable.m_clsRuneExplain->m_szTitle[step][rune] );
SetHangulFont(2);
}
else
{
SubMenu->nField[3].m_lpTemp = 0;
}
break;
}
default: break;
}
}
bool DoButtonCheckOfMenu_kh( int i, int j ) // 滚瓢 努腐矫
{
switch( SMenu[i].nField[j].nType )
{
case FT_QUEST_SCROLL : {
;
int type = SMenu[i].nField[j].nWillDo;
if( type ) // right
{
SMenu[i].work++;
if( SMenu[i].work > QUEST_COUNT-1 )
{
SMenu[i].work = QUEST_COUNT-1;
MP3( SN_WARNING );
}
// max 贸府甫 秦拎具 茄促. 其捞瘤 梅 蔼捞 绝栏搁 涅胶飘 夸没
}
else // left
{
SMenu[i].work--;
if( SMenu[i].work < 0 )
{
SMenu[i].work = 0;
MP3( SN_WARNING );
}
}
break;
}
case FT_QUEST_OK : {
CallSmallMenu(MN_QUEST_INDEX);
SendReqQuestIndex( 0 );
break;
}
case FT_QUEST_INDEX_SCROLL : {
;
int page = SMenu[i].work;
int max_quest_one_page = SMenu[i].key;
int type = SMenu[i].nField[j].nWillDo;
int PGCT = max_quest_one_page*page; // 阿 其捞瘤 贸澜..
if( QUEST_COUNT-1 <= SMenu[i].work) break;
if( type ) // right
{
SMenu[i].work++;
// max 贸府
if( SMenu[i].work > (QUEST_COUNT-1) / max_quest_one_page ) {
SMenu[i].work = (QUEST_COUNT-1) / max_quest_one_page ;
MP3( SN_WARNING );
}
if((PGCT/SMenu[i].key) == (QUEST_COUNT-1)/SMenu[i].key){
SendReqQuestIndex( SMenu[i].work ); //涅胶飘 何福扁 // 第肺 倒啡促啊 菊栏肺 哎锭, // 0810 YGI
}
}
else // left
{
SMenu[i].work--;
if( SMenu[i].work < 0 )
{
SMenu[i].work = 0;
MP3( SN_WARNING );
}
}
break;
}
case FT_QUEST_INDEX : {
int PGCT = SMenu[i].work*SMenu[i].key; // 阿 其捞瘤 贸澜..
int clickY = ( g_pointMouseY - ( SMenu[i].y+ 40 ) ) / QUEST_TEXT_DEVISION;
// 付快胶 穿弗 镑狼蔼捞 逞绢 柯促.
//GetLineRectTextPut( )
int willdo = SMenu[i].nField[j].nWillDo;
if( willdo == 0 )
{
if( QUEST_COUNT > clickY+PGCT){
SMenu[MN_QUEST].bActive = true;
SMenu[MN_QUEST].work = clickY+PGCT;
SMenu[MN_QUEST].nTemp = MN_QUEST_INDEX;
SMenu[MN_QUEST_INDEX].bActive = false;
y_MenuFocus = MN_QUEST;
}
}
else
{
if( QUEST_COUNT > clickY+3+PGCT){
SMenu[MN_QUEST].bActive = true;
SMenu[MN_QUEST].work = clickY+(SMenu[i].key/2)+PGCT;
SMenu[MN_QUEST].nTemp = MN_QUEST_INDEX;
SMenu[MN_QUEST_INDEX].bActive = false;
y_MenuFocus = MN_QUEST;
}
}
break;
}
case FT_COLOR_CHANGE_GAUGE :
{
break;
}
case FT_VIEW_RUNE_LEFT :
{
int step = g_Menu_Variable.m_pRune->m_nQuestStep;
int rune_count = SCharacterData.m_nSelectRune;
RECT rect;
if( step == SCharacterData.m_nQuestStep && rune_count == 24 ) break;
for( int a=1; a<=rune_count; a++ )
{
SetRect( &rect, g_Menu_Variable.m_pRune->m_stRune[a].x, g_Menu_Variable.m_pRune->m_stRune[a].y,
g_Menu_Variable.m_pRune->m_stRune[a].x+38, g_Menu_Variable.m_pRune->m_stRune[a].y+37 );
if( MouseInRectCheak( SMenu[i].x, SMenu[i].y, rect ) )
{
g_Menu_Variable.m_pRune->m_nSelectRune = a;
break;
}
}
break;
}
default:
return false;
break;
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -