⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tool.cpp

📁 国内著名网络游戏dragon的客户端登陆用完整源码 配套一起上传的服务端部分可开服 无说明文档
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	case WM_INITDIALOG:	mx = Mox / TILE_SIZE; 
		my = Moy / TILE_SIZE; 
		sprintf (temp, "%d", ReturnEventNo( mx, my ) );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT1 ), temp);
		return TRUE;	
		
	case WM_PAINT:		
		break;			
		
	case WM_COMMAND:	
		switch( LOWORD( wParam )) 
		{		
		case IDOK     : Edit_GetText( GetDlgItem(hDlg, IDC_EDIT1), temp, 9);
			ChangeEventNo( mx, my, atoi (temp) );
			;
			return (TRUE);
			
		case IDCANCEL :	EndDialog(hDlg, LOWORD(wParam));	
			;
			return (TRUE);
		}		
		break;		
	}				
	
	return FALSE;	
}					

void InputEventNo( HWND hwnd, HINSTANCE hInstance)
{	
	DialogBox( hInstance, MAKEINTRESOURCE( IDD_INPUT_EVENT_NO ), NULL, (DLGPROC)InputEventNoProc );
}					



////////////////////////////////////////////////////////////////////////////////


#define MAPOBJECT_PUTOFFXY	 { 	sprintf( temp, "%d", mo->offx ); Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OFFSETX ), temp); sprintf( temp, "%d", mo->offy );	Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OFFSETY ), temp);	}
#define MAPOBJECT_PUTXY	 { sprintf( temp, "%d", mo->x );	Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_X ), temp); sprintf( temp, "%d", mo->y );	Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_Y ), temp); }


int tool_MapObject_IDC_ALL_AFFECT = IDC_ALL_AFFECT;


void ModifyMapObjectSort( LPMAPOBJECT mo, int cmd, int gap)
{
	int i;
	
	for( i = 0 ; i < 	TotalMapObject  ; i ++)
	{
		if( mo->id == Mo[i].id )
		{
			switch( cmd )
			{
			case IDC_BUTTON_SORTL_U	: Mo[i].dy0[ mo->curframe ]-=gap;break;
			case IDC_BUTTON_SORTL_D	: Mo[i].dy0[ mo->curframe ]+=gap;break;
			case IDC_BUTTON_SORTL_L	: Mo[i].dx0[ mo->curframe ]-=gap;break;
			case IDC_BUTTON_SORTL_R	: Mo[i].dx0[ mo->curframe ]+=gap;break;
			case IDC_BUTTON_SORTR_U	: Mo[i].dy1[ mo->curframe ]-=gap;break;
			case IDC_BUTTON_SORTR_D	: Mo[i].dy1[ mo->curframe ]+=gap;break;
			case IDC_BUTTON_SORTR_L	: Mo[i].dx1[ mo->curframe ]-=gap;break;
			case IDC_BUTTON_SORTR_R	: Mo[i].dx1[ mo->curframe ]+=gap;break;
			}
			Mo[i].attr2 = mo->attr2;
		}
	}
	
}


void ModifyMapObjectDontBox(  LPMAPOBJECT mo, int cmd, int gap)
{
	int i;
	
	for( i = 0 ; i < 	TotalMapObject  ; i ++)
	{
		if( mo->id == Mo[i].id )
		{
			
			//	0109 ItemDontBox
			//			switch( cmd )
			//			{
			//				case IDC_DONTBOX_L1	:	Mo[i].dtx0 -=gap;break;
			//				case IDC_DONTBOX_U1	:	Mo[i].dty0 -=gap;break;	
			//				case IDC_DONTBOX_R1	:	Mo[i].dtx0 -=gap;break;
			//				case IDC_DONTBOX_D1	:	Mo[i].dty0 -=gap;break;
			//				case IDC_DONTBOX_L2	:	Mo[i].dtx1 -=gap;break;
			//				case IDC_DONTBOX_U2	:	Mo[i].dty1 -=gap;break;
			//				case IDC_DONTBOX_R2	:	Mo[i].dtx1 -=gap;break;
			//				case IDC_DONTBOX_D2	:	Mo[i].dty1 -=gap;break;
			//				case IDC_DONTBOX_L3	:	Mo[i].dtx2 -=gap;break;
			//				case IDC_DONTBOX_U3	:	Mo[i].dty2 -=gap;break;
			//				case IDC_DONTBOX_R3	:	Mo[i].dtx2 -=gap;break;
			//				case IDC_DONTBOX_D3	:	Mo[i].dty2 -=gap;break;
			//				case IDC_DONTBOX_L4	:	Mo[i].dtx3 -=gap;break;
			//				case IDC_DONTBOX_U4	:	Mo[i].dty3 -=gap;break;
			//				case IDC_DONTBOX_R4	:	Mo[i].dtx3 -=gap;break;
			//				case IDC_DONTBOX_D4	:	Mo[i].dty3 -=gap;break;
			//			}
		}
	}
}



void ModifyMapObjectSound( LPMAPOBJECT mo )
{
	int i;
	
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < 	TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].soundno	 = mo->soundno;
				Mo[i].soundframe = mo->soundframe;
				Mo[i].sounddelay = mo->sounddelay;
			}
		}
	}
}



void ModifyMapObjectOrItem( LPMAPOBJECT mo )
{
	int i;
	
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < 	TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].objectoritem = mo->objectoritem;
			}
		}
	}
}

void MapObjectAniTypeChange( LPMAPOBJECT mo, int anitype )
{
	int i;
	
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].animationType = mo->animationType;
			}
		}
	}
}
void MapObjectAttr1Change( LPMAPOBJECT mo, int attr1 )
{
	int i;
	
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].attr1 = mo->attr1;
			}
		}
	}
}

void MapObjectAttrChange( LPMAPOBJECT mo, int attr )
{
	int i;
	
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].attr = mo->attr;
			}
		}
	}
}

void MapObjectLightChange( LPMAPOBJECT mo )
{
	int i;
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].light		= mo->light	;
				Mo[i].lightx	= mo->lightx;
				Mo[i].lighty	= mo->lighty;
			}
		}
	}
}





void XYModify( LPMAPOBJECT mo, int x, int y, int offx, int offy )
{
	int i;
	if( tool_MapObject_IDC_ALL_AFFECT == IDC_ALL_AFFECT )
	{
		for( i = 0 ; i < TotalMapObject  ; i ++)
		{
			if( mo->id == Mo[i].id )
			{
				Mo[i].x		+= x;
				Mo[i].y		+= y;
				Mo[i].offx 	+= offx;
				Mo[i].offy 	+= offy;
			}
		}
	}
	else
	{
		mo->x		+= x;
		mo->y		+= y;
		mo->offx 	+= offx;
		mo->offy 	+= offy;
	}
}

///////////////////////// SoundUp lkh 荐沥 /////////////////////////////
BOOL CALLBACK ViewMapObjectInfoProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam)
{
	LPMAPOBJECT mo;	
	int t;
	RECT rect, grect;
	static  int  curMapObject;
	int al;	
	int iteminbox;
	int	rate_Play=0;
	
	
	char temp[FILENAME_MAX];
	switch(Message)	
	{
	case WM_INITDIALOG:	curMapObject = IDCheckedMapObject;
		mo = &Mo[ IDCheckedMapObject];
		//						IDCheckedMapObject = -1;
		sprintf( temp, "%d", mo->id );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_ID ), temp);
		sprintf( temp, "%d", mo->x );	Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_X ), temp);
		sprintf( temp, "%d", mo->y );	Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_Y ), temp);
		sprintf( temp, "%d", mo->offx );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OFFSETX ), temp);
		sprintf( temp, "%d", mo->offy );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OFFSETY ), temp);
		
		sprintf( temp, "%d", mo->animationType );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_ANITYPE_), temp);
		
		sprintf( temp, "%d / %d", mo->curframe+1, MoImage[ mo->id-1].nFrameCount );
		Edit_SetText (GetDlgItem(hDlg, IDC_CURFRAME ), temp);
		
		al = mo->attr1 >> 3 ;
		sprintf( temp, "%d", al );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_ALPHA ), temp);
		
		sprintf( temp, "%d", mo->dum );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_ITEM_IN_BOX ), temp);
		
		//						ComboBox_SetCurSel(GetDlgItem(hDlg, IDC_COMBO_ALPHA ), al);
		
		//						sprintf( temp, "%d", mo->animationOrder );
		//						Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OUT_ ), temp);
		//						sprintf( temp, "%d", mo->spriteType );
		//						Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_SPRITE_ ), temp);
		//						sprintf( temp, "%d", mo->light );
		//						Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_LIGHT_ ), temp);
		
		switch( mo->animationType )
		{
		case 0						 :  mo->animationType = OBJECTANI_NO;
		case OBJECTANI_NO			 :	t = IDC__ANI6; break;
		case OBJECTANI_RETURNLOOP	 : 	t = IDC__ANI7; break;
		case OBJECTANI_LOOP			 :	t = IDC__ANI8; break;
		case OBJECTANI_1_RETURNLOOP	 :	t = IDC__ANI9; break;
		case OBJECTANI_1_LOOP		 :	t = IDC__ANI10; break;
		case OBJECTANI_TOGGLE_ANI	 : 	t = IDC__ANI11; break;
		}
		CheckRadioButton( hDlg, IDC__ANI6, IDC__ANI11, t );
		
		switch( mo->attr )
		{
		case OBJECTATTR_BACK_ABOVE	:	t = IDC_RADIO_OUT0;		break;
		case OBJECTATTR_BACK_BELOW	:	t = IDC_RADIO_OUT1;		break;
		case OBJECTATTR_FRONT_ABOVE	:	t = IDC_RADIO_OUT2;		break;
		case OBJECTATTR_FRONT_BELOW	:	t = IDC_RADIO_OUT3;		break;
		}
		CheckRadioButton( hDlg, IDC_RADIO_OUT0, IDC_RADIO_OUT3, t );
		
		/**/	
		switch( mo->attr1 & 0x0003 )
		{
		case OBJECTSPRITE_NORMAL :  t = IDC_RADIO_SPRITE0; break;
		case OBJECTSPRITE_TRANS	 :  t = IDC_RADIO_SPRITE1; break;
		case OBJECTSPRITE_ALPHA  :  t = IDC_RADIO_SPRITE2; break;
		}
		CheckRadioButton( hDlg, IDC_RADIO_SPRITE0, IDC_RADIO_SPRITE2, t );
		
		// mo->light...
		switch( mo->light )
		{
		case 0 :  t = IDC_RADIO_LIGHT_0; break;
		case 1 :  t = IDC_RADIO_LIGHT_1; break;
		case 2 :  t = IDC_RADIO_LIGHT_2; break;
		case 3 :  t = IDC_RADIO_LIGHT_3; break;
		case 4 :  t = IDC_RADIO_LIGHT_4; break;
		case 5 :  t = IDC_RADIO_LIGHT_5; break;
		case 6 :  t = IDC_RADIO_LIGHT_6; break;
		case 7 :  t = IDC_RADIO_LIGHT_7; break;
		case 8 :  t = IDC_RADIO_LIGHT_8; break;
		case 9 :  t = IDC_RADIO_LIGHT_9; break;
		case 10:  t = IDC_RADIO_LIGHT_10; break;
		case 11:  t = IDC_RADIO_LIGHT_11; break;
		case 12:  t = IDC_RADIO_LIGHT_12; break;
		case 13:  t = IDC_RADIO_LIGHT_13; break;
		case 14:  t = IDC_RADIO_LIGHT_14; break;
		case 15:  t = IDC_RADIO_LIGHT_15; break;
		case 16:  t = IDC_RADIO_LIGHT_16; break;
		case 17:  t = IDC_RADIO_LIGHT_17; break;
		}
		CheckRadioButton( hDlg, IDC_RADIO_LIGHT_0, IDC_RADIO_LIGHT_17, t );
		
		switch( mo->attr2 )
		{
		case 0 :  t = IDC_SORT_M; break;
		case 1 :  t = IDC_SORT_L; break;
		case 2 :  t = IDC_SORT_R; break;
		}
		
		CheckRadioButton( hDlg, IDC_SORT_L, IDC_SORT_R, t );
		if( t == IDC_SORT_L || t == IDC_SORT_R )
		{
			sprintf( temp, "%d", mo->dx0[ mo->curframe ] ); Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_SORTL_X), temp);
			sprintf( temp, "%d", mo->dy0[ mo->curframe ] ); Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_SORTL_Y), temp);
			sprintf( temp, "%d", mo->dx1[ mo->curframe ] ); Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_SORTR_X), temp);
			sprintf( temp, "%d", mo->dy1[ mo->curframe ] ); Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_SORTR_Y), temp);
		}
		
		switch( mo->objectoritem )
		{
		case ITEMTYPE_NORMAL		:	t = IDC_ITEM_NORMAL4	;					break;
		case ITEMTYPE_CHAIR			:	t = IDC_ITEM_CHAIR4		;					break;
		case ITEMTYPE_TABLE			:	t = IDC_ITEM_TABLE4		;					break;
		case ITEMTYPE_DOOR			:	t = IDC_ITEM_DOOR4		;					break;
		case ITEMTYPE_BOX			:	t = IDC_ITEM_BOX4		;					break;
		case ITEMTYPE_SIGNBOARD		:	t = IDC_ITEM_SIGNBOARD4	;					break;
		case ITEMTYPE_DIRECTBOARD	:	t = IDC_ITEM_DIRECTBOARD4;					break;
			
		case ITEMTYPE_WORKTABLE_MINING		:	t = IDC_ITEM_WORKTABLE_MINING4;		break;		// 累诀措 侩堡肺(71)
		case ITEMTYPE_WORKTABLE_BATTLE      :	t = IDC_ITEM_WORKTABLE_BATTLE4;		break;      // 累诀措 硅撇
		case ITEMTYPE_WORKTABLE_SUNBAN		:   t = IDC_ITEM_WORKTABLE_SUNBAN4;		break;		// 累诀措 急馆
		case ITEMTYPE_WORKTABLE_MORU		:	t = IDC_ITEM_WORKTABLE_MORU4;		break;		// 累诀措 葛风
		case ITEMTYPE_WORKTABLE_HWADUK		: 	t = IDC_ITEM_WORKTABLE_HWADUK4;		break;		// 累诀措 拳傣
		case ITEMTYPE_WORKTABLE_SIHUMKWAN	:   t = IDC_ITEM_WORKTABLE_SIHUMKWAN4;	break;		// 累诀措 矫氰包幅
		case ITEMTYPE_WORKTABLE_MULAE		: 	t = IDC_ITEM_WORKTABLE_MULAE4;		break;		// 累诀措 拱饭
		case ITEMTYPE_WORKTABLE_BULDAE		: 	t = IDC_ITEM_WORKTABLE_BULDAE4;		break;		// 累诀措 阂措 
			
		case ITEMTYPE_SEAL_NOR				: 	t = IDC_ITEM_SEAL_NOR				;	break;		// 累诀措 阂措 
		case ITEMTYPE_SEAL_SPC				: 	t = IDC_ITEM_SEAL_SPC				;	break;		// 累诀措 阂措 
		case ITEMTYPE_HP_UP					: 	t = IDC_ITEM_HP_UP					;	break;		// 累诀措 阂措 
		case ITEMTYPE_MP_UP					: 	t = IDC_ITEM_MP_UP					;	break;		// 累诀措 阂措 
		case ITEMTYPE_SCALE					: 	t = IDC_ITEM_SP_UP					;	break;		// 累诀措 阂措	// 010614 khs
		case ITEMTYPE_NATION_STONE			: 	t = IDC_ITEM_NATION_STONE			;	break;		// 累诀措 阂措 
		case ITEMTYPE_GUILD_STONE			: 	t = IDC_ITEM_GUILD_STONE			;	break;		// 累诀措 阂措 
		case ITEMTYPE_SENARIO_STONE			: 	t = IDC_ITEM_SENARIO_STONE			;	break;		// 累诀措 阂措 
		case ITEMTYPE_COLOSSUS_STONE		: 	t = IDC_ITEM_COLOSSUS_STONE			;	break;		// 累诀措 阂措 
			
			
		}
		CheckRadioButton( hDlg, IDC_ITEM_NORMAL4, IDC_ITEM_COLOSSUS_STONE, t );
		
		CheckRadioButton( hDlg, IDC_ALL_AFFECT, IDC_ALL_AFFECT_NO, tool_MapObject_IDC_ALL_AFFECT );
		
		sprintf( temp, "%d", MoImage[ mo->id-1].nFrameCount );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OBJECT_FRAME ), temp);
		
		// Sound.
		sprintf( temp, "%d", mo->soundno );			//10000窜困 捞惑篮 掉饭捞甫 困茄 墨款飘 函荐侩
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OBJECT_SOUND_NO ), temp);
		sprintf( temp, "%d", mo->soundframe );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OBJECT_SOUND_FRAME ), temp);
		sprintf( temp, "%d", mo->sounddelay );
		Edit_SetText (GetDlgItem(hDlg, IDC_EDIT_OBJECT_SOUND_DEALY ), temp);
		
		
		GetWindowRect( hDlg, &rect );// 拳搁 坷弗率捞 嘿绢唱坷霸 窍妨绊 茄扒单 ... 绢痘霸 秦具 且瘤..
		GetWindowRect( g_hwndMain, &grect );// 拳搁 坷弗率捞 嘿绢唱坷霸 窍妨绊 茄扒单 ... 绢痘霸 秦具 且瘤..
		MoveWindow( hDlg, grect.right+1, 0, rect.right, rect.bottom, true);
		
		//						CheckRadioButton( hDlg, IDC_ALL_AFFECT, IDC_ALL_AFFECT_NO, tool_MapObject_IDC_ALL_AFFECT );
		
		return TRUE;	
		
		case WM_PAINT:		
			break;			
			
			
		case WM_COMMAND:	
			mo = &Mo[ curMapObject];
			
			
			switch( LOWORD( wParam )) 
			{		
			case ID_SOUND_PLAY  :   
				{
					int tempno;
					Edit_GetText (GetDlgItem(hDlg, IDC_EDIT_OBJECT_SOUND_NO ), temp, 9);
					tempno	= atoi( temp );
					tempno	= tempno%1000;
					PlayListAutoSounds( tempno, 0,0,0 ); break;
				}
				
				
			case IDC_ALL_AFFECT :		tool_MapObject_IDC_ALL_AFFECT = IDC_ALL_AFFECT;		break;
			case IDC_ALL_AFFECT_NO :	tool_MapObject_IDC_ALL_AFFECT = IDC_ALL_AFFECT_NO;	break;
				
			case IDC_BUTTON_OFF_LEFT	: XYModify( mo,  0,  0, -1,  0 ); MAPOBJECT_PUTOFFXY; ;GameTestProc( &g_DirectDrawInfo ); break;
			case IDC_BUTTON_OFF_RIGHT	: XYModify( mo,  0,  0,  1,  0 ); MAPOBJECT_PUTOFFXY; ;GameTestProc( &g_DirectDrawInfo ); break;
			case IDC_BUTTON_OFF_DOWN	: XYModify( mo,  0,  0,  0,  1 ); MAPOBJECT_PUTOFFXY; ;GameTestProc( &g_DirectDrawInfo ); break;
			case IDC_BUTTON_OFF_UP		: XYModify( mo,  0,  0,  0, -1 ); MAPOBJECT_PUTOFFXY; ;GameTestProc( &g_DirectDrawInfo ); break;
			case IDC_Y_U : { XYModify( mo,  0, -1,  0,  0 ); ;GameTestProc( &g_DirectDrawInfo ); MAPOBJECT_PUTXY } break;
			case IDC_Y_D : { XYModify( mo,  0,  1,  0,  0 ); ;GameTestProc( &g_DirectDrawInfo ); MAPOBJECT_PUTXY } break;
			case IDC_X_L : { XYModify( mo, -1,  0,  0,  0 ); ;GameTestProc( &g_DirectDrawInfo ); MAPOBJECT_PUTXY } break;
			case IDC_X_R : { XYModify( mo,  1,  0,  0,  0 ); ;GameTestProc( &g_DirectDrawInfo ); MAPOBJECT_PUTXY } break;
			case IDC_Y_U2: { XYModify( mo,  0,-10,  0,  0 ); ;GameTestProc( &g_D

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -