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

📄 menuset.h

📁 完整龙族的无错反外挂登陆器,b编译后直接直接就可以放在客户端下运行
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef __MENUSET_H__
#define __MENUSET_H__

#include "menunetwork.h"		//021030 YGI

#define DUR_RATIO		.70		// repair俊辑 荤侩且 duration 厚啦
#define RARE_DUR_RATIO	.50	//020505 lsw 饭绢 俊辑 荤侩凳

#define RED_COLOR		RGB(255,0,0)
#define YELLOW_COLOR	RGB( 255, 255, 0 )
#define BLUE_COLOR		RGB( 0, 0, 255 )
#define GREEN_COLOR		RGB( 0, 255, 0 )
#define GRAY_COLOR		RGB( 100, 100, 100 )

extern const int MAX_START;//020815-2 lsw

extern int GetItemMuchByMuchItem( int item_no );		// 荐樊捞 乐绰 酒捞袍狼 肮荐 颇厩窍扁

#define SCRIPT_IS_READ_NATION_BBS		46
////////////////////////////////////
#define MAX_BUY_ITEM	50
extern void MenuSet();
extern void SmallMenuSet();
extern bool	g_MagicMenuOn;
extern bool	g_explain_skill_on;
extern int	g_explain_skill;
extern bool	g_explain_magic_on;
extern int	g_explain_magic;
extern bool	g_explain_menu_on;
extern char	g_explain_menu[MAX_STRING];
extern int	magic_plus[MAX_MAGIC];		// 郴啊 荤侩茄 概流 穿利
extern int	magic_plus_count;			// 醚 肮荐
extern int	magic_plus_start;			// 嘛阑 捞固瘤 start何盒
extern bool recv_learn_item;
extern int	danger_by_hunter;
extern int	man_to_man_start;
extern int	fight_map_stop;

extern int before_skill_no;

extern char explain_tactics[13][20];


extern Spr open_spr[75];
extern Spr spr_alphabet[36];

extern Spr	ch_armor_image_after[7][80];
extern Spr	ch_body_image_after[7][80];
extern Spr	ch_line_image_after[7][80];
extern Spr	ch_armor_image_after_b[7][80];
extern Spr	ch_body_image_after_b[7][80];
extern Spr	ch_line_image_after_b[7][80];

extern Spr	skill_spr[MAX_SKILL];

extern	BOOL LButtonDown;       
extern	POINT StateMousePoint;	
extern	SHN SHideNomal[MAX_SHN][MAX_SHN_FIELD];   
extern	SCharacter SCharacterData;
extern	CHARACTERLIST g_CharacterList;
extern	char y_temp[20];           

extern bool	no_active_box_yet;				// 辑滚俊辑 蔼阑 傈价 罐栏搁 false set.
extern	int cDiceCount;			
extern	int y_delay;			
extern	int y_MenuFocus;		
								
extern	char sId[30];		
extern	char sPassword[30];
extern	SMENU SMenu[MAX_MENU];

extern	BOOL	RButtonDown;
extern	BOOL	MouseDrag;
extern	int		LButtonCount;		

extern	int		y_PutBarSize;       
extern	int		id_password;  
extern	bool	MessageOn;
extern	char	Message[MAX_STRING];

extern	RECT	rScreenRect;      
extern	int		YouGotItemFlag;

extern	int		MouseItemInRectOn;	
extern	POINT	MouseItemInRect;

extern	int		cRMoveMenu;       
extern	int		cLMoveMenu;       
extern	int		fRMoveMenu;   
extern	int		fLMoveMenu;	

extern	int		nPartyOther;
extern	int		nPartyState;
extern	int		nPartyShow;	

extern	struct InterfaceFlag	main_interface;

extern	int RectImageOn;		
extern	int nBankTemp;			

extern	int WearAble[9];
extern	int HandBackUp;
extern	int HandBackUptype;
extern	int HandItemOn;

extern	int aMagicItem[3][4][3][5];
extern	ItemAttr	aItemInventoryFull;		
extern	int SkillInventory[2][2][4];
extern	int Skill_Know_Inv[3][3];
extern	int aSellBuyItemPos[MAX_BUY_ITEM*3*5];
extern	int aSellBuyItemMax;

extern	bool	LeftShiftOn; 

extern	int		AbilityToInt[20];
extern	ItemAttr aSellBuyItemAttr[MAX_BUY_ITEM*3*5];
extern	int		storelistindex ;

extern	bool	is_buymenu_On;
extern	int		motherSkillImageNo[2];
extern	int		motherSkillImageType[2];  // 胶懦 硅快扁俊辑 力格魄 捞固瘤 鸥涝
extern	int		SkillInventory[2][2][4];

extern	Spr		ch_armor_image_after[7][80];
extern	Spr		ch_body_image_after[7][80];
extern	Spr		ch_line_image_after[7][80];
extern	Spr		ch_armor_image_after_b[7][80];
extern	Spr		ch_body_image_after_b[7][80];
extern	Spr		ch_line_image_after_b[7][80];
extern	Spr		spr2[MAX_IMAGE2];	

extern	int		nItemOther;
extern	K_ITEM	i_DivideItem;		// 酒捞袍狼 加己客 困摹啊 乐促.
extern	const int y_ItemSubMenu[];//021014 lsw

extern	int		memorize[12];

extern void PutMapBright2( LPVOID dest, LPVOID alpha);
//===================================================================================================================================
extern void kein_TextPut(int x, int y, char *sSource);
extern void FieldTypeTextPut(int mx,int my,int x,int y,char *temp);  
extern void LoadMenuData(int nNum);                 
extern void FreeMenuData(int nNum);                 
extern void PutImageCenter(int mx, int my, int x, int y, int nImageNumber);
extern inline BOOL MouseInRectCheak(int x, int y, RECT Box, BOOL flag = TRUE );
extern void SetCharacterData();  
extern void SetRect(RECT &rect,int left, int top, int right, int bottom);
extern void MoveTextPut(int x, int y, char *sSource, int type=0);

extern void SendBankInfo(int type,  DWORD money );
extern void RecvBankDeposit(DWORD);
extern void RecvBankRepayment(DWORD, DWORD, DWORD);
extern int	YesOrNo( char *s, char *title );
extern char	SpaceBarPress();
extern	void	CountingByKeyboard( int input_key, int &count, int plus );

extern void		ItemRead();
extern void		PutItemIcon(int x, int y, int item_number, int delay=0, int effect = 2, int is_not_equip = 0);
extern void		PutItemIconAni(int x, int y, int item_number);
extern int		GetItemAttr(int item_id, int attr);
extern char		*GetItemName( int item );

extern void		SendMoveItem( int item_no, POS s, POS t, bool sound = true);
extern void		GetItemAnimationNumber(int num, int &a, int &b, int &c, int &d, int &e, int &f, int &g);

extern bool		ReadSkillTable( );
extern bool		ReadHouseTable();
extern bool		LoadItemJoinTable();

extern void		PutMagicIcon( int x, int y, int num, int flag=0, int type=2 );
extern void		PutSkillIcon( int x, int y, int num, int flag=0, int flag2=2 );
extern void		ChangeSkillMenuInventory( int x );

extern	BOOL	MenuFocus(int menu);
extern	inline void RightClose();
extern	bool	IsLeftWindowOpen( );
extern	bool	IsRightWindowOpen();
extern	void	AbilityOpenWhenLevelUp();
extern	void	SetPartyMenu( int type );

extern	void	ChangeItem( int start );	// 烙矫 酒捞袍 官操扁 
extern	void	ItemSound( int item );
extern	void	EquipSound( int item_no );

extern	int		GetItemValueBuy( int item_id );
extern	int		GetItemValueSell( ItemAttr item );

extern	void	GetLearnSkillInv( int type, int start = 0 );
extern	void	GetLearnKnowlageInv( int start = 0 );
extern	int		mother[32][2];
extern	bool	IsLearnSkill( int m );
extern	void	MagicSetting();

extern	int		CalcTextToPage( int width, int height, char *source );
extern	void	BbsTextPut( int x, int y, int width, int height, char *source, int page );
extern	void	BbsTextPut2( int x, int y, int width, int max_line, char *source, int page );
//extern	void	CallOkCancelMessageBox( int menu, int x, int y, char *source, bool ok_cancel=true, int param = 0 );
extern	void	CallItemMessageBox( int menu, int item_num, char *source );
extern	void	MenuButtonRightExplain( int x, int y, int &count, char * title );
extern	void	MenuButtonLeftExplain( int x, int y, int &count, char * title );
extern	void	LeftMenuClose();
extern	int		dw_TotalImageSize;
extern	void	LoofSetHeroAbility( int ability[] );

//extern	void	SendReCallItemFromServer( int type );

extern	void	FreeChImage();
extern	void	FreeOpenningSpr( BYTE **buf );

extern	void	SetItemMakeOk( ItemAttr item );

extern	int		UseItemByRbutton(POS pos_s, ItemAttr &item_attr);						// 酒捞袍阑 坷弗率 滚瓢栏肺 努腐沁阑 锭

extern  int		Call_GM_2ND_Skill_Menu();//021014 lsw
extern  int		Call_Skill_Master_Menu();//021111 lsw
extern  int		Call_MERCHANT_REGISTER_Menu();//021126 lsw
extern  int		Call_EXCHANGE_BOND_MONEY_Menu();

extern	void	SetLearnItemData( int menu, ItemJoinSelect list[]);	//酒捞袍 硅快扁 府胶飘 硅凯 悸泼
extern	int		GetResultItemBySkill( int skill, int item[10] );	// 弊 胶懦肺 父甸荐 乐绰 酒捞袍 格废 啊廉坷扁 
extern	bool	FindLearnItem( int item );							// 郴啊 硅款 酒捞袍牢瘤 魄窜
extern	ItemAttr *GetItemByPos( POS item );
extern	bool	DivideItem( K_ITEM *item, int much );
extern	int		NotNeededMouseLButtonClick( void );		// 付快胶啊 劝己拳等 皋春 救俊 乐绰瘤甫 眉农
extern	int		GetWeight( ItemAttr item );
extern	int		SearchLearnItem( int item );			// 郴啊 硅款 酒捞袍困摹 茫扁
extern	void	PrintTextOnMenu2();
extern	void	PrintTextOnMenu();


extern Spr	openhouse[MAX_HOUSE];
extern Spr	closehouse[MAX_HOUSE];
extern void LoadHouseImage( int is_open );
extern void FreeHouseImage( );
extern void PutHouseImage( int x, int y, int num, bool is_open );
extern void LoadHouse( );


///  概流 硅快扁 侩 皋家靛甸...

extern int SearchNextMagicNumByClass( int num, int cls );		// 绢恫 概流 促澜狼 鞍篮 拌凯狼 付过阑 茫绰促.
extern int GetMagicMaxByClass( int cls );						// 弊拌凯狼 醚 概流 荐甫 备茄促.
extern int GetLearnableMagicMaxByClass( int cls );				// 弊 拌凯俊辑 郴啊 硅匡 荐 乐绰  付过 荐甫 备茄促. (捞固 硅款 付过 器窃 )
extern bool CanLearnMagic( int num );							// 弊 付过阑 硅匡荐 乐唱?

extern MagicByClass	magic_by_class;
extern void GetDivedeMagicByClass( );			// 拌凯寸 硅匡荐 乐绰 付过... 悸

extern void ServerConnectMenuClose();	// 辑滚客 包访捞 乐绰 皋春甫 摧阑 锭..

extern DWORD GetMoneyByItem( );		// 牢亥配府 芒俊 乐绰 捣 拌魂
extern DWORD GetNewMoneyByItem( );
extern int SearchCoinItem( int &a, int &b, int &c);
extern int SearchNewCoinItem( int &a, int &b, int &c);
extern int SearchItemPosByNumber(ItemAttr *item, int &a, int &b, int &c);
extern int SubtractMoney( DWORD money );
extern int AddMoney( DWORD money );
extern void SetMemorizeArray( int num );


extern int DoMemorize( int magic_num );
extern void InitMemorize( );	// 皋葛扼捞令 檬扁拳

extern int MemorizeYet( int magic_num );
extern int GetNoLearnMagic( int cls, int &magic_num );	// 给硅快绰 付过 捞抚苞 弊 捞蜡甫 舅酒坷绰 窃荐	// magic_num栏肺 付过 锅龋甫 逞败 霖促.
extern void CheckPartyFace( );		// 颇萍盔甸捞 乐绰 瘤甫 眉农秦辑 拳搁俊 谎妨霖促.
extern void SetExistMeOfParty( );		// 颇萍盔吝 唱绰 亲惑 炼牢茄 惑怕促..

extern int SearchMyPartyOfMySight( LpCharacterParty party );	// 郴 矫具俊 颇萍盔捞 乐蠢衬?
extern void SetHangulFont( int type );
extern void ViewSmallMapCheck();

//extern	K_ITEM give_item;	// 背券侩 酒捞袍吝 郴啊 林绰 酒捞袍
//extern	K_ITEM recv_item;	// 背券侩 酒捞袍吝 郴啊 罐绰 酒捞袍 

extern inline int CheckMouseInMenu( int i );
extern void DropItemSound( int item );		// 酒捞袍 顶俊 冻绢飘府绰 家府
extern inline void LeftClose(); // 哭率 芒 葛滴 摧扁

extern int dexDefenseCor( int dex );
extern void MenucheckWhenHeroDie( );	// 磷菌阑锭 皋春眉欧
extern void SendSmileFace( int smileno );
extern bool g_bMagicSelect;
extern int isCrashSmallMapByOther();
extern void CheckFocusMenu();
extern void GrobalValueSeet();
extern int CanLearnMagicByCount( int num );
extern void InitPartyState( );

extern void LoadSmallMenuImage2( int num );		// 眠啊 皋春 捞固瘤 肺爹棺 秦力..
extern void FreeSmallMenuImage2( );

extern void FreeMagicIcon( );

extern int GetBelieveGodByMenu( int menu, char *God );		// 脚傈 皋春俊辑 瓜绰 脚栏肺...
extern void CallGodMenuMessage( char *msg, int believe );
extern inline int GetMenuNumByBelieveGod( int god );
extern void PutSmallmenuImage(int mx, int my, int x,int y, int image_number, int type);
extern void FreeSmallMenuETC();
extern int QuickKey( int menu, HWND active_hwnd = NULL);


extern bool bCallGodMeetingMenu;
extern Spr *GetSprOfMenu( int type, int imagenumber );
extern int GetHourToRate( int h );

extern void PrintQuickKey( char *text);
extern int GetMoveMenuDefineByMenuNumber( int menu, int is_open );
extern void CheckAutoDivideMoney( ItemAttr *item );

extern int LoadMagicName( );

//extern int GetAbilityMax( int ability_type );

extern void OpenRecvEarMessageMenu();
extern void CloseRecvEarMessageMenu();

extern int ExistBox( DWORD box_id );
extern int GetItemAttrWeapon( int item );		// 厘馒啊瓷茄 巴吝俊 沥富 厘馒捞 啊瓷茄瘤 犬牢窍绰 巴.
//extern int ExplainItemBySelectItemAfter( int x, int y, int item_number, char explain[5][40] );
extern void GetSupperItem( int god );
extern int ViewSmallMap2( int x, int y);
extern void SetSmallMapMenu( );
extern void PrintNoteMeeting( int g_Note_Meeting );
extern void CheckErrorMessage( LPSTR str );
extern int OnlyAlphabet( char *str, int len );
extern int OnlyNumber( char *str, int len );
extern void PutDot( int x, int y, WORD color );

extern int ExplainBackView( int &x, int &y, int count );	// 嘛阑 谅钎甫 啊廉埃促.
extern void ShowExplain();							// 阿辆 汲疙巩 焊咯林扁 

extern void CheckMagicExplain( int magic_no );			// 概流 汲疙
extern void CheckSkillExplain( int skill_no );			// 胶懦 汲疙

extern int ItemExplainAfterMenuDisplay( int prev );			// 唱吝俊 汲疙阑 剁款促.
extern void SetMenuExplain( int type, int menu, int start_field );

extern void ExplainMenuSet( char *temp );
extern int InsertIntArray( int node, int *int_array, int &curr_count, int array_max );
extern int DeleteIntArray( int node, int *int_array, int &curr_count, int array_max );
extern int IsJustViewMenuWhenDead( int dest_menu );
extern void PutMagicIconAll();
extern int QuickKeyFirst( int menu );
extern int IsExistNodeToArray( int node, int *int_array, int curr_count );
extern void SetLearnItem();
extern int ConvStoreListToMenu( int prev, bool is_store );

extern void lsw_menu_set( );//010830 lsw

extern bool CanLearnItemByNeedSkill( int join_no );

extern void SmallMapClose();
extern void GetTatics();
extern int SetQuickSkill( int *index, int start, int type );

extern void LoadFilterWord( );
extern bool CheckNumber( char *text, int len );		// 箭磊 捞寇狼 蔼捞 乐绰瘤甫 眉农茄促.	乐栏搁 true 绝栏搁 false
extern void kh_menu_set( );
extern void ItemSoundOfDropItem( int item_no );
extern void StopWaveOfMenu();
extern void GetNationBBS( char *filename );
extern void OpenFightMapSignMenuOpen( int tema[] );
extern int	IsSameNation( int type, LpCharacterParty lpParty );
extern void LoadTextDefault( char *filename, char *text, int text_max );
extern int CheckRegistCandidate( );
extern void CallMessageBox(BOOL bBig, int x, int y, char *source, BOOL bType=FALSE);
extern void MessagePut();

extern void	LottoMenuSet(); //soto-030425
extern void	LuckyMenuSet();	//soto-030429
extern void	LuckyEventSet(); //soto-030502

extern void	LuckyMenuOpen();//soto-030429
extern void	LottoMenuOpen();//soto-030429
extern void	WinnerMenu();//soto-030502

//020530 lsw
#define MAX_MAGIC_MEMORY	8//020420 lsw
#define QM_MAGIC			1//QM_ QuickMemory
#define QM_SKILL			2
#define QM_COMBATSKILL		3
typedef struct QUICKMEMORY
{
	char OwnerName[21];//020701 lsw
	int iType;// 1 付过 2 胶懦 3 傈捧胶懦
	int iNo;//角龙 逞滚
	int iBuffer;
	void SetQuickMemory(const char* name ,const int iTypeValue,const int iTypeNo)
	{
		if(name)
		{ 
			const int iLen = strlen(name);
			if(21 < iLen|| 0 >= iLen )
			{
				Clear();
				return;
			}
			strcpy(OwnerName, name);
			iType = iTypeValue;
			iNo = iTypeNo;
		}
		else
		{
			Clear();
		}
		return;
	}
	void Clear()
	{
		iType	= 0;
		iNo		= 0;
	}
}t_QuickMemory,*LPQUICKMEMORY;

extern t_QuickMemory SaveMemory[MAX_MAGIC_MEMORY];		// 窜绵虐肺 扁撅矫难敌 格废 //020530 lsw
extern t_QuickMemory HotKeyMemory;	// 滚瓢 茄俺肺 荤侩 窍绰 Ram 鞍篮 函荐
extern void ClearQuickMemory();
extern void DisplayQuickMemory(const int iType, const int iTargetNo, const int iX, const int iY);
extern void SetQuickMemoryByKeyInput(const int iType, const int iNo, const int iBuffer = 0);

extern int ViewTipsFlag;
extern void ExplainItem2( int x, int y, ItemAttr *olg_item );
extern void LoadManList();
extern int GetItemExplainLine( ItemAttr *olg_item );
extern void GetWORDOfDWORD( DWORD dword, WORD &word1, WORD &word2 );

extern int bar1_r, bar1_g, bar1_b;
extern int bar2_r, bar2_g, bar2_b;
extern int g_RecvLoanInfo;


extern int g_BattleStatusView;
extern char g_szMoneyName[];//021014 lsw

/////////////////////////////////////////////
#define AT_JOIN_COLOSSUS		1// 妮肺辑胶 曼咯俊 悼狼茄促.
struct k_assent		// 蜡历啊 购啊俊 悼狼且锭甫 措厚茄 历厘 函荐
{
	int		type;
	DWORD	time;		// 矫埃

	union 
	{
		char	data[512];
		WORD	default_word;
	}u;

	k_assent()
	{
		type = 0;
	}
};

/////////////////////////////////////////////
class CGuildItem
{
public :
	int m_Max;
	int old_page;
	DWORD *m_pIndex;
	ItemAttr *m_pItem;
	DWORD	m_BoxMoney;

public :
	CGuildItem()
	{
		m_pIndex = 0;
		m_pItem = 0;
		clear();
	}
	int clear()
	{
		m_Max = 0;
		if( m_pIndex ) delete m_pIndex;
		if( m_pItem ) delete m_pItem;
		m_pIndex = 0;
		m_pItem = 0;
		old_page = 0;
		m_BoxMoney = -1;		// -1老订 啊廉坷扁 风凭阑 角青矫虐瘤 臼绰促.

		return 1;
	}
	int clear( int ct )
	{
		memset( &m_pItem[ct], 0, sizeof( ItemAttr ) );
		m_pIndex[ct] = 0;
		return 1;
	}
	~CGuildItem()
	{
		clear();
	}
	DWORD GetIndex( int ct )		// 牢郸胶蔼 啊廉坷扁
	{
		if( !m_pIndex ) return 0;
		if( ct > m_Max ) return 0;
		return m_pIndex[ct];
	}
	int InsertItem( int ct, int index, ItemAttr *item )	// 酒捞袍 火涝
	{
		if( !m_pIndex ) return 0;
		if( ct > m_Max ) return 0;
		m_pIndex[ct] = index;
		m_pItem[ct] = *item;
		return 1;
	}
	int SerchFirstIndex( int find_index )	// 漂沥 牢郸胶蔼阑 啊瘤绊 乐绰 锅龋甫 茫绰促.
	{
		if( !m_pIndex ) return -1;
		for( int i=0; i<m_Max; i++ )
		{
			if( m_pIndex[i] >= find_index ) return i;
		}
		return -1;
	}
	ItemAttr *GetItemByParm( int ct )		// 颇扼皋磐肺 酒捞袍 啊廉坷扁
	{
		if( !m_pIndex ) return 0;
		if( ct > m_Max ) return 0;
		return &m_pItem[ct]; 
	}
	int GetMax() { return m_Max; }
};

/////////////////////////////////////////////
#define MAX_POTAL_MAP 40

class CPotalMenuUnit
{
public :
	char map_name[50];
	int map_number;
	int money;
	int type;
	int img_type;

⌨️ 快捷键说明

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