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

📄 kh_menuset.cpp

📁 国内著名网络游戏dragon的客户端登陆用完整源码 配套一起上传的服务端部分可开服 无说明文档
💻 CPP
📖 第 1 页 / 共 5 页
字号:
#include "stdafx.h"
#include <ddraw.h>
#include "Hangul.h"
#include "dragon.h"
#include "Menu.h"
#include "Hong_Sprite.h"
#include "SmallMenuSet.h"
#include "stdio.h"
#include "directsound.h"
#include "directinput.h"
#include "Char.h"
#include "SmallMenu.h"
#include "Hong_Sub.h"
#include "Effect.h"
#include "map.h"
#include "tool.h"
#include "MenuSet.h"
#include "skill.h"
#include "MenuNetwork.h"
#include "MouseCursor.h"
#include "CharDataTable.h"
#include "gameproc.h"
#include "kh_cpp.h"
#include "NationSys.h"
#include "NationSupport.h"
#include "menudef2.h"
#include "skill_lsw.h"
#include "LineCommand.h"
#include "MagicSys.h"
#include "CombatSys.h"
#include "chat.h"
#include "TextOutMgr.h"
#include "auction.h"
#include "HunterSystem.h"
#include "ExchangeMgr.h"
#include "CReadArgument.h"
#include "MailMgr.h"
#include "ArenaManager.h"

extern void SWD_LOGON_Clicked(const int nMenuIndex);
const int HPMPBarHeight = 91;//HP MP 阜措狼 辨捞
const int SPBarWidth	= 118;//HP MP 阜措狼 辨捞
const int EXPBarWidth	= 223;//EXP 阜措狼 辨捞

extern int refresh_magery_time;
extern int g_LocalWarBegin;			// 011215 LTS
extern bool g_bWarBegin;			// 011215 LTS
extern int g_iScenarioOn;
void DisplayTacGauge(SMENU *SubMenu,int j, const int x, const int y, const int iMax, const int iNow, const int iLv,int refresh,int first_exp);
void CallWisperList(const bool bOpen);
void ExplainAuctionItem( int x, int y, ItemAttr *olg_item ,const bool bIsDurDraw);//020821-2 lsw
extern MakeItem make_item_result;
extern void SendNationPacket(int type);//010730 lsw
extern bool isNationWarfieldServer();
extern int CheckNationStatus(int StatusNo);
extern int WarResultAniCount;
extern RareMain Soksungattr_gm;
extern MakeItem gm_make_item_result;
extern int gm_make_item_result_needitem[2];
extern MakeItem gm_make_item_list[MAX_UPGRADE_RARE];
extern bool DoButtonCheckOfMenu_lsw(int i , int j);
static int iClickPointX=g_pointMouseX, iClickPointY = g_pointMouseY;
extern SMENU SMenu[MAX_MENU];
extern SHN SHideNomal[MAX_SHN][MAX_SHN_FIELD];
extern Spr		god_spr[GOD_MENU_IMG_MAX];		// 脚傈 皋春 
extern void ::SetRect(RECT &rect,int left, int top, int right, int bottom);    
extern void JustMsg( const char *s, ... );
extern void DisplayMailIconExplain(const int iX, const int iY,const int iMailType);
int WarResultAniCount = 0;


DWORD Convert16to32(const WORD wColor)
{
	return RGB( (wColor>>11 & 0x1f) << 3, 
				(wColor>>6  & 0x1f) << 3,
				(wColor     & 0x1f) << 3);
}

void SMenuReg(int iMainType,int x, int y , int iImageType,int iImageNumber, int iFieldCount,int iCheakType,int iTemp,int iWork,int iKey )
{
	if( iMainType <= 0 || iMainType >= MAX_MENU)
	{
		JustMsg("InitMenu Failed");
		return;
	} 
	SMENU *pMenu = &SMenu[iMainType];
	pMenu->x			=	x;
	pMenu->y			=	y;
	pMenu->nImageNumber	=	iImageNumber;
	pMenu->nImageType	=	iImageType;
	pMenu->nFieldCount	=	iFieldCount;
	pMenu->CheakType	=	iCheakType;
	pMenu->nTemp		=	iTemp;				//傈 窜拌 皋春 锅龋甫 啊瘤绊 乐促.
	pMenu->work			=	iWork;				//咯矾 老阑 且 烙矫 函荐
	pMenu->key			=	iKey;				//窜绵虐 开且阑 且...
}

void SMenuFTReg(const int iMainType,const int iFieldNo,const int iButtonType,const int iSpecailWillDo,
						const int iX, const int iY,const int iWidth, const int iHeight,
						const int iImageType, const int iRectImage, const int iImageNumber,const int iWillDo)
{
	if( iMainType <= 0 || iMainType >= MAX_MENU)
	{
		JustMsg("InitMenu Failed");
		return;
	} 
	SMENU *pMenu	= &SMenu[iMainType];
	if( iFieldNo >= pMenu->nFieldCount)
	{
		JustMsg("Field Reg Failed %d %d",iMainType,iFieldNo);
		return;
	}
	SFIELD *pField	= &pMenu->nField[iFieldNo];

	pField->nType = iButtonType;
	pField->nSpecialWillDo=iSpecailWillDo;
	pField->x = iX;
	pField->y = iY;
	pField->nRectImage = iRectImage;
	pField->nImageNumber = iImageNumber;
	pField->nImageType = iImageType;
	pField->nWillDo = iWillDo;
	::SetRect(pField->rCheakBox, iX, iY, iX+iWidth, iY+iHeight);
	
	return;
}

void lsw_menu_set()
{
///////////////////////////////////////////////////////////////////////////////////////////	
//010708 lsw 010730 
//傈里 包府家
	{
	::SMenuReg(MN_NATION_BATTLE_BBS,CENTER_X, 100,NATION_BATTLE_BBS_IMG,0,10);

	//傈里汲疙 NATION_NOW			OK		汲疙芒 剁快磊.
	SMenu[MN_NATION_BATTLE_BBS].nField[0].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[0].nSpecialWillDo=SWD_NATION_DECSRIPT;
	SMenu[MN_NATION_BATTLE_BBS].nField[0].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[0].y = 54;
	SMenu[MN_NATION_BATTLE_BBS].nField[0].nRectImage = 12;
	SMenu[MN_NATION_BATTLE_BBS].nField[0].nImageNumber = 11;
	SMenu[MN_NATION_BATTLE_BBS].nField[0].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[0].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[0].x,SMenu[MN_NATION_BATTLE_BBS].nField[0].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[0].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[0].y+30);

	//傈里惑炔 NATION_NOW			OK
	SMenu[MN_NATION_BATTLE_BBS].nField[2].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].nSpecialWillDo=SWD_NATION_NOW;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].nWillDo=MN_NATION_NOW;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].y = 84;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].nRectImage = 10;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].nImageNumber = 9;
	SMenu[MN_NATION_BATTLE_BBS].nField[2].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[2].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[2].x,SMenu[MN_NATION_BATTLE_BBS].nField[2].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[2].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[2].y+30);

	//傈里曼咯 NATION JOIN				OK
	SMenu[MN_NATION_BATTLE_BBS].nField[3].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].nSpecialWillDo=SWD_NATION_JOIN;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].nWillDo=MN_NATION_JOIN;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].y = 114;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].nRectImage = 14;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].nImageNumber = 13;
	SMenu[MN_NATION_BATTLE_BBS].nField[3].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[3].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[3].x,SMenu[MN_NATION_BATTLE_BBS].nField[3].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[3].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[3].y+30);

	//何措 NATION BUDAE					OK
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nSpecialWillDo=SWD_NATION_BUDAE;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nWillDo=MN_NATION_BUDAE;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].y = 144;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nRectImage = 4;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nImageNumber = 3;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[4].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[4].x,SMenu[MN_NATION_BATTLE_BBS].nField[4].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[4].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[4].y+30);

	//侩捍			OK
	SMenu[MN_NATION_BATTLE_BBS].nField[5].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].nSpecialWillDo=SWD_NATION_GUEST;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].nWillDo=MN_NATION_GUEST;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].y = 174;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].nRectImage = 6;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].nImageNumber = 5;
	SMenu[MN_NATION_BATTLE_BBS].nField[5].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[5].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[5].x,SMenu[MN_NATION_BATTLE_BBS].nField[5].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[5].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[5].y+30);

	//傈里磐 捞悼			OK
	SMenu[MN_NATION_BATTLE_BBS].nField[6].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].nSpecialWillDo=SWD_NATION_GOTO_WAR_MAP;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].nWillDo=MN_NATION_GOTO_WAR_MAP;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].y = 234;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].nRectImage = 16;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].nImageNumber = 15;
	SMenu[MN_NATION_BATTLE_BBS].nField[6].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[6].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[6].x,SMenu[MN_NATION_BATTLE_BBS].nField[6].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[6].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[6].y+30);

	//傈里 扁充包			
	SMenu[MN_NATION_BATTLE_BBS].nField[7].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].nSpecialWillDo=SWD_NATION_LADDER;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].nWillDo=MN_NATION_LADDER;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].y = 264;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].nRectImage = 8;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].nImageNumber = 7;
	SMenu[MN_NATION_BATTLE_BBS].nField[7].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[7].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[7].x,SMenu[MN_NATION_BATTLE_BBS].nField[7].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[7].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[7].y+30);

	//exit 滚瓢
	SMenu[MN_NATION_BATTLE_BBS].nField[8].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[8].nSpecialWillDo=SWD_SMALLMENU_END;
	SMenu[MN_NATION_BATTLE_BBS].nField[8].x = 69;
	SMenu[MN_NATION_BATTLE_BBS].nField[8].y =307;
	SMenu[MN_NATION_BATTLE_BBS].nField[8].nRectImage = 18;
	SMenu[MN_NATION_BATTLE_BBS].nField[8].nImageNumber = 17;
	SMenu[MN_NATION_BATTLE_BBS].nField[8].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[8].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[8].x,SMenu[MN_NATION_BATTLE_BBS].nField[8].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[8].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[8].y+30);

	//傈里 公扁 备涝
	SMenu[MN_NATION_BATTLE_BBS].nField[9].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[9].nSpecialWillDo=SWD_NATION_WEAPON_BUY;
	SMenu[MN_NATION_BATTLE_BBS].nField[9].x = 42;
	SMenu[MN_NATION_BATTLE_BBS].nField[9].y =204;
	SMenu[MN_NATION_BATTLE_BBS].nField[9].nRectImage = 2;
	SMenu[MN_NATION_BATTLE_BBS].nField[9].nImageNumber = 1;
	SMenu[MN_NATION_BATTLE_BBS].nField[9].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[9].rCheakBox,
	SMenu[MN_NATION_BATTLE_BBS].nField[9].x,SMenu[MN_NATION_BATTLE_BBS].nField[9].y,
	SMenu[MN_NATION_BATTLE_BBS].nField[9].x+110,SMenu[MN_NATION_BATTLE_BBS].nField[9].y+30);


	/*	//傈里磐 沥焊 NATION_INFO
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nSpecialWillDo=SWD_NATION_INFO;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nWillDo=MN_NATION_INFO;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].x = 20;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].y = 70;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nRectImage = 9;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nImageNumber = 10;
	SMenu[MN_NATION_BATTLE_BBS].nField[4].nImageType = NATION_BATTLE_BBS_IMG;
	::SetRect(SMenu[MN_NATION_BATTLE_BBS].nField[4].rCheakBox,

⌨️ 快捷键说明

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