📄 gmtoolmanager.cpp
字号:
else
{
GetDlgItemText( m_hWndSub[eMenu_Notice], IDC_GMNOTICE_CMB_MAP, bufMap, MAX_NAME_LENGTH+1 );
msg.wData = GetMapNumForName(bufMap);
}
NETWORK->Send( &msg, msg.GetMsgLength() );
SetWindowText( GetDlgItem( m_hWndSub[eMenu_Notice], IDC_GMNOTICE_EDT_NOTICE ), "" );
SetFocus( GetDlgItem( m_hWndSub[eMenu_Notice], IDC_GMNOTICE_EDT_NOTICE ) );
return TRUE;
}
BOOL CGMToolManager::OnEventCommand()
{
if( !m_hWndSub[eMenu_Notice] ) return FALSE;
SetFocus( _g_hWnd );
//沥焊 佬绢 坷扁
int nEvent = SendDlgItemMessage( m_hWndSub[eMenu_Event], IDC_GMEVENT_CMB_EVENT, CB_GETCURSEL, 0, 0 )+1;
BOOL rt;
int nRatio = GetDlgItemInt( m_hWndSub[eMenu_Event], IDC_GMEVENT_EDT_RATE, &rt, TRUE );
MSG_WORD2 msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_EVENT_SYN;
msg.dwObjectID = HEROID;
msg.wData1 = nEvent;
msg.wData2 = nRatio;
NETWORK->Send( &msg, sizeof(msg) );
CHATMGR->AddMsg( CTC_SYSMSG, "Event Applied!" );
return TRUE;
}
void CGMToolManager::Login( BOOL bLogin, int nGMPower )
{
static char power_str[3][16] = { "Master", "Monitor", "Patroller" };
char buf[128];
if( bLogin )
{
wsprintf( buf, "< GM Power : %s >", power_str[nGMPower] );
MessageBox( m_hWndLoginDlg, buf, "Login OK!", MB_OK );
m_bLogin = TRUE;
m_nPower = nGMPower;
ShowWindow( m_hWndLoginDlg, SW_HIDE );
}
else
{
if( nGMPower == 1) //nGMPower = error code : if bLogin == FALSE
{
MessageBox( m_hWndLoginDlg, "Invalid ID/PW", "Login Failed!", MB_OK );
}
else
{
MessageBox( m_hWndLoginDlg, "Error!", "Login Failed!", MB_OK );
}
}
}
INT_PTR CALLBACK GMLoginDlgProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_INITDIALOG:
{
RECT rcGame;
RECT rcDlg;
POINT pt;
GetClientRect( hWnd, &rcDlg );
GetClientRect( _g_hWnd, &rcGame );
pt.x = rcGame.left;
pt.y = rcGame.top;
ClientToScreen( _g_hWnd, &pt );
int x = ( ( 1024 - ( rcDlg.right - rcDlg.left ) ) / 2 ) + pt.x;
int y = ( ( 768 - ( rcDlg.bottom - rcDlg.top ) ) / 2 ) + pt.y;
SetWindowPos( hWnd, NULL, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER );
SendMessage( GetDlgItem( hWnd, IDC_GMLOGIN_EDT_ID ), EM_LIMITTEXT, MAX_NAME_LENGTH+1, 0 );
SendMessage( GetDlgItem( hWnd, IDC_GMLOGIN_EDT_PW ), EM_LIMITTEXT, MAX_NAME_LENGTH+1, 0 );
}
return TRUE;
case WM_COMMAND:
{
if( HIWORD( wParam ) == BN_CLICKED )
{
if( LOWORD( wParam ) == IDC_GMLOGIN_BTN_CONNECT )
{
char strID[MAX_NAME_LENGTH+1];
char strPW[MAX_NAME_LENGTH+1];
GetWindowText( GetDlgItem(hWnd, IDC_GMLOGIN_EDT_ID), strID, MAX_NAME_LENGTH+1 );
GetWindowText( GetDlgItem(hWnd, IDC_GMLOGIN_EDT_PW), strPW, MAX_NAME_LENGTH+1 );
if( strID[0] == 0 || strPW[0] == 0 )
{
MessageBox( hWnd, "Input ID/PW", "Error", MB_OK );
return TRUE;
}
MSG_NAME2 msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_GM_LOGIN_SYN;
msg.dwObjectID = HEROID;
SafeStrCpy( msg.str1, strID, MAX_NAME_LENGTH+1 );
SafeStrCpy( msg.str2, strPW, MAX_NAME_LENGTH+1 );
NETWORK->Send( &msg, sizeof(msg) );
SetWindowText( GetDlgItem(hWnd, IDC_GMLOGIN_EDT_ID), "" );
SetWindowText( GetDlgItem(hWnd, IDC_GMLOGIN_EDT_PW), "" );
}
else if( LOWORD( wParam ) == IDC_GMLOGIN_BTN_CANCEL )
{
ShowWindow( hWnd, SW_HIDE );
SetWindowText( GetDlgItem(hWnd, IDC_GMLOGIN_EDT_ID), "" );
SetWindowText( GetDlgItem(hWnd, IDC_GMLOGIN_EDT_PW), "" );
}
}
}
return TRUE;
}
return FALSE;
}
INT_PTR CALLBACK GMDlgProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_INITDIALOG:
{
CheckDlgButton( hWnd, IDC_GM_MNBTN_NONE, BST_CHECKED );
//#ifdef TAIWAN_LOCAL //吝惫篮 捞亥飘 劝己拳 救凳
// EnableWindow( GetDlgItem( hWnd, IDC_GM_MNBTN_EVENT ), FALSE );
//#endif
}
return FALSE; //not active
case WM_NCHITTEST:
case WM_RBUTTONDOWN:
case WM_LBUTTONDOWN:
{
SetFocus( _g_hWnd );
}
break;
case WM_COMMAND:
{
if( HIWORD( wParam ) == BN_CLICKED )
{
/*
if( LOWORD( wParam ) == IDC_GM_MNBTN_EVENT1_ON )
{
MSG_WORD2 msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_EVENT_SYN;
msg.dwObjectID = HEROID;
msg.wData1 = 1; //event1
msg.wData2 = 200; //on
NETWORK->Send( &msg, sizeof(msg) );
CHATMGR->AddMsg( CTC_SYSMSG, "Event On!" );
}
else if( LOWORD( wParam ) == IDC_GM_MNBTN_EVENT1_OFF )
{
MSG_WORD2 msg;
msg.Category = MP_CHEAT;
msg.Protocol = MP_CHEAT_EVENT_SYN;
msg.dwObjectID = HEROID;
msg.wData1 = 1; //event1
msg.wData2 = 100; //off
NETWORK->Send( &msg, sizeof(msg) );
CHATMGR->AddMsg( CTC_SYSMSG, "Event Off!" );
}
else
*/
{
GMTOOLMGR->OnClickMenu( LOWORD( wParam ) - IDC_GM_MNBTN_MOVE );
}
}
}
return TRUE;
case WM_MOVE:
{
GMTOOLMGR->SetPositionSubDlg();
}
break;
case WM_CLOSE:
{
// GMTOOLMGR->DestroyGMDialog();
GMTOOLMGR->ShowGMDialog( FALSE, TRUE );
}
return TRUE;
}
return FALSE;
}
INT_PTR CALLBACK GMSubMoveDlgProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_INITDIALOG:
{
CheckRadioButton( hWnd, IDC_GMMOVE_BTN_ME, IDC_GMMOVE_BTN_USER, IDC_GMMOVE_BTN_ME );
CheckRadioButton( hWnd, IDC_GMMOVE_BTN_XY, IDC_GMMOVE_BTN_MAP, IDC_GMMOVE_BTN_XY );
//SetDlgItemInt( hWnd, IDC_GMMOVE_EDT_X, 0, TRUE );
//SetDlgItemInt( hWnd, IDC_GMMOVE_EDT_Y, 0, TRUE );
}
return FALSE; //not active
case WM_COMMAND:
{
if( HIWORD( wParam ) == BN_CLICKED )
{
switch( LOWORD( wParam ) )
{
case IDC_GMMOVE_OK: //Do Move
{
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_XY ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
{
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_ME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
GMTOOLMGR->OnGMMoveCommand( 0 );
else
GMTOOLMGR->OnUserMoveCommand( 0 );
}
else if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_NAME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
{
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_ME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
GMTOOLMGR->OnGMMoveCommand( 1 );
else
GMTOOLMGR->OnUserMoveCommand( 1 );
}
else if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_MAP ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
{
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_ME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
GMTOOLMGR->OnGMMoveCommand( 2 );
else
GMTOOLMGR->OnUserMoveCommand( 2 );
}
}
break;
case IDC_GMMOVE_CANCEL:
{
GMTOOLMGR->OnClickMenu( eMenu_Count );
SetFocus( _g_hWnd );
}
break;
case IDC_GMMOVE_BTN_ME:
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_USER ), FALSE );
// SetDlgItemText( hWnd, IDC_GMMOVE_EDT_USER, "" );
// if( HERO )
// SetDlgItemText( hWnd, IDC_GMMOVE_EDT_USER, HERO->GetObjectName() );
//IDC_GMMOVE_BTN_NAME捞 眉农登绢 乐绊
//IDC_GMMOVE_EDT_NAME啊 disable捞搁 enable肺
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_NAME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ), TRUE );
}
SetWindowText( GetDlgItem( hWnd, IDC_GMMOVE_BTN_NAME ), "Character" );
}
break;
case IDC_GMMOVE_BTN_USER:
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_USER ), TRUE );
CObject* pObject = OBJECTMGR->GetSelectedObject();
if( pObject )
if( pObject->GetObjectKind() == eObjectKind_Player )
{
SetDlgItemText( hWnd, IDC_GMMOVE_EDT_USER, pObject->GetObjectName() );
}
SetFocus( GetDlgItem( hWnd, IDC_GMMOVE_EDT_USER ) );
//IDC_GMMOVE_BTN_NAME捞 眉农登绢 乐绊
//IDC_GMMOVE_EDT_NAME啊 enable捞搁 disable肺
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_NAME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ), FALSE );
}
SetWindowText( GetDlgItem( hWnd, IDC_GMMOVE_BTN_NAME ), "To GM" );
//character臂揪甫 To GM 栏肺?
}
break;
case IDC_GMMOVE_BTN_XY:
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_X ), TRUE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_Y ), TRUE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ), FALSE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_MAP ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_CMB_MAP ), FALSE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_CHANNEL ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_CMB_CHANNEL ), FALSE );
SetFocus( GetDlgItem( hWnd, IDC_GMMOVE_EDT_X ) );
}
break;
case IDC_GMMOVE_BTN_NAME:
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_X ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_Y ), FALSE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ), TRUE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_MAP ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_CMB_MAP ), FALSE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_CHANNEL ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_CMB_CHANNEL ), FALSE );
if( SendMessage( GetDlgItem( hWnd, IDC_GMMOVE_BTN_ME ), BM_GETCHECK, 0, 0 ) == BST_CHECKED )
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ), TRUE );
CObject* pObject = OBJECTMGR->GetSelectedObject();
if( pObject )
if( pObject->GetObjectKind() == eObjectKind_Player )
{
SetDlgItemText( hWnd, IDC_GMMOVE_EDT_NAME, pObject->GetObjectName() );
}
SetFocus( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ) );
}
}
break;
case IDC_GMMOVE_BTN_MAP:
{
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_X ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_Y ), FALSE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_NAME ), FALSE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_MAP ), TRUE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_CMB_MAP ), TRUE );
//EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_EDT_CHANNEL ), TRUE );
EnableWindow( GetDlgItem( hWnd, IDC_GMMOVE_CMB_CHANNEL ), TRUE );
//SetFocus( GetDlgItem( hWnd, IDC_GMMOVE_EDT_MAP ) );
SetFocus( GetDlgItem( hWnd, IDC_GMMOVE_CMB_MAP ) );
}
break;
}
}
}
return TRUE;
case WM_SETFOCUS:
{
#ifdef TAIWAN_LOCAL
HIMC hIMC = ImmGetContext( _g_hWnd );
ImmSetOpenStatus( hIMC, TRUE );
ImmReleaseContext( _g_hWnd, hIMC );
HWND hWndIme = ImmGetDefaultIMEWnd( _g_hWnd );
SendMessage( hWndIme, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0 );
#endif
}
break;
case WM_KILLFOCUS:
{
#ifdef TAIWAN_LOCAL
HIMC hIMC = ImmGetContext( _g_hWnd );
ImmSetOpenStatus( hIMC, FALSE );
ImmNotifyIME( hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0 );
ImmNotifyIME( hIMC, NI_CLOSECANDIDATE, 0, 0 );
ImmReleaseContext( _g_hWnd, hIMC );
HWND hWndIme = ImmGetDefaultIMEWnd( _g_hWnd );
SendMessage( hWndIme, WM_IME_CONTROL, IMC_CLOSESTATUSWINDOW, 0 );
#endif
}
break;
}
return FALSE;
}
INT_PTR CALLBACK GMSubChatDlgProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_INITDIALOG:
{
CheckRadioButton( hWnd, IDC_GMCHAT_BTN_USER, IDC_GMCHAT_BTN_MAP, IDC_GMCHAT_BTN_USER );
CheckRadioButton( hWnd, IDC_GMCHAT_BTN_NOCHAT, IDC_GMCHAT_BTN_ALLOW, IDC_GMCHAT_BTN_NOCHAT );
/// CheckRadioButton( hWnd, IDC_GMCHAT_BTN_AUTO, IDC_GMCHAT_BTN_MANUAL, IDC_GMCHAT_BTN_AUTO );
}
return FALSE; //not acitve
case WM_COMMAND:
{
if( HIWORD( wParam ) == BN_CLICKED )
{
switch( LOWORD( wParam ) )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -